@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
@@ -15,12 +15,6 @@ export interface ChartTheme {
15
15
  }
16
16
  /** The theme of a workbook's styles. */
17
17
  export declare function chartThemeOf(styles: IStyleCollection): ChartTheme;
18
- /**
19
- * What the cells a chart plots hold now, asked for each reference of the model (DESIGN-CHART
20
- * §3.3). Each read answers `null` where the cells cannot be read - the reference is not one plain
21
- * range of this workbook, its cells are deleted, or the chart is outside a workbook - and the
22
- * reference's cache answers then.
23
- */
24
18
  export interface ChartDataReader {
25
19
  /** The numbers the reference names, by point; `null` is a blank. */
26
20
  values(reference: ChartModel.DataReference): (number | null)[] | null;
@@ -38,13 +32,10 @@ export interface ChartDataReader {
38
32
  }
39
33
  /** Formats `value` in `formatCode` the way cells are formatted. */
40
34
  export declare const formatValue: (formatCode: string, value: number, date1904: boolean) => string;
41
- /**
42
- * Where a type puts its data labels when they state no position (measured 2026-10-17,
43
- * `probe-chart-labels.ps1` D01-D15; Excel states no `dLblPos` for these): outside the end of a
44
- * clustered bar, the center of a stacked bar, an area or a doughnut's slice, right of a line's or a
45
- * scatter's point, best fit on a pie. A bubble's and a radar's are believed.
46
- */
47
35
  export declare const defaultLabelPosition: (group: Pick<ChartModel.Group, "type" | "grouping">) => ResolvedChart.LabelPosition;
36
+ export declare const labelPositionsOf: (group: Pick<ChartModel.Group, "type" | "grouping" | "is3D">) => readonly ResolvedChart.LabelPosition[] | null;
37
+ /** Where a group's labels sit: the stated position where the type offers it, else the type's default. */
38
+ export declare const labelPositionOf: (group: Pick<ChartModel.Group, "type" | "grouping" | "is3D">, stated: ResolvedChart.LabelPosition | undefined) => ResolvedChart.LabelPosition;
48
39
  /** A series' automatic color, `#RRGGBB`: what it is drawn in where it states no color (the legacy style's, S3). */
49
40
  export declare function automaticSeriesColor(model: ChartModel.ChartSpace, theme: ChartTheme, idx: number): string;
50
41
  export declare function resolveChart(model: ChartModel.ChartSpace, theme: ChartTheme, data?: ChartDataReader | null): ResolvedChart;
@@ -20,9 +20,12 @@ export interface ResolvedChart {
20
20
  chartEx?: boolean;
21
21
  /** The chart's own text font: what text with no font of its own is drawn in. */
22
22
  font: ResolvedChart.Font;
23
- /** `cornerRadius` in points: 0 for square corners. */
23
+ /**
24
+ * `fill` is `undefined` where the chart states none: it is drawn in the background of where it is
25
+ * drawn. `cornerRadius` in points: 0 for square corners.
26
+ */
24
27
  chartArea: {
25
- fill: IFill.JSON | null;
28
+ fill: IFill.JSON | null | undefined;
26
29
  border: ResolvedChart.Stroke | null;
27
30
  cornerRadius: number;
28
31
  };
@@ -183,7 +186,6 @@ export declare namespace ResolvedChart {
183
186
  /** Box and whisker groups: what of each box is drawn, and the line it is drawn with. */
184
187
  box?: BoxOptions;
185
188
  }
186
- /** How a box and whisker series draws its boxes (DESIGN-CHART §4.17). */
187
189
  interface BoxOptions {
188
190
  quartileMethod: QuartileMethod;
189
191
  /** An x at each box's mean. */
@@ -310,11 +312,6 @@ export declare namespace ResolvedChart {
310
312
  bannerFill: IFill.JSON | null;
311
313
  };
312
314
  }
313
- /**
314
- * How a histogram's values were counted (DESIGN-CHART §4.16): each series' `values` are its
315
- * counts by bin and its `categories` the bins' labels; a pareto's are its sums by category,
316
- * largest first, with a line of the running share on an axis of its own.
317
- */
318
315
  interface Histogram {
319
316
  /** The first series' bins, each with the indexes of its `raw` values. */
320
317
  bins: HistogramBin[];
@@ -43,8 +43,8 @@ export declare namespace ISparseGrid {
43
43
  */
44
44
  type RunIteratorResult<T = any> = IteratorResult<ISparseGrid.RunEntry<T>>;
45
45
  /**
46
- * Run Iterator extends {@link IReadableList.IteratorOptions} but removes support for
47
- * processSkip and downcasts reuseResult.
46
+ * Options for {@link ISparseGrid.getRuns}. Runs always follow the grid's own axis, in order;
47
+ * there is no reverse or skip.
48
48
  */
49
49
  interface RunIteratorOptions {
50
50
  /**
@@ -65,6 +65,15 @@ export declare namespace ISparseGrid {
65
65
  * This is used as a performance optimization for iterators that are reading gaps. (fillEmpty)
66
66
  */
67
67
  overflowRun?: boolean;
68
+ /**
69
+ * Returns the same iterator result from every `next`, with its entry rewritten.
70
+ *
71
+ * `true` reuses one result per iterator; an object reuses that object. This avoids an
72
+ * allocation per run, but a result must be read before the next call to `next`.
73
+ *
74
+ * @defaultValue false
75
+ */
76
+ reuseResult?: boolean | ISparseGrid.RunIteratorResult<any>;
68
77
  }
69
78
  }
70
79
  //# sourceMappingURL=ISparseGrid.d.ts.map
@@ -2,8 +2,8 @@ import { IList, IListLike } from './IList';
2
2
  /**
3
3
  * An immutable run of mixed scalar values in ONE `ArrayBuffer` or `SharedArrayBuffer`.
4
4
  *
5
- * Numbers, booleans and blanks are stored natively; strings and errors as `int32` ids that a
6
- * {@link MixedTypedArrayList.Codec} resolves. The buffer is the whole list: another thread that
5
+ * Numbers, booleans and blanks are stored natively; strings, errors and rich values as `int32`
6
+ * ids that a {@link MixedTypedArrayList.Codec} resolves. The buffer is the whole list: another thread that
7
7
  * receives its {@link MixedTypedArrayList.Handle} (and has the same codec) reads it without a copy.
8
8
  *
9
9
  * @remarks
@@ -150,6 +150,12 @@ export declare namespace MixedTypedArrayList {
150
150
  encodeError(value: T): number;
151
151
  /** The error for a code. */
152
152
  decodeError(code: number): T;
153
+ /** Whether `value` is a rich value {@link encodeRich} stores. Omitted, none is. */
154
+ isRich?(value: object): boolean;
155
+ /** The id of a rich value. */
156
+ encodeRich?(value: T): number;
157
+ /** The rich value an id names. */
158
+ decodeRich?(id: number): T;
153
159
  }
154
160
  /**
155
161
  * What rebuilds a list over its buffer. Passes through `structuredClone` and `postMessage`.
@@ -1,4 +1,4 @@
1
- import { CellCoords, Direction, RangeAxis, RangeCoords } from '@sheetxl/utils';
1
+ import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
2
2
  import { Tuple } from './Tuple';
3
3
  import { IReadableList } from './IReadableList';
4
4
  import { IGrid } from './IGrid';
@@ -20,13 +20,7 @@ export declare class SparseGrid<T = any> implements ISparseGrid<T> {
20
20
  private _isShared;
21
21
  private _createRun;
22
22
  constructor(options?: SparseGrid.ConstructorOptions);
23
- /**
24
- * Returns an IterableIterator over all the runs in the sparse grid.
25
- * Each run is a contiguous list of values in the grid.
26
- *
27
- * @returns An iterator that yields [majorIndex, minorIndex, IReadableList] entries
28
- */
29
- /** {@inheritDoc ISparseGrid.getMaxCoords} */
23
+ /** {@inheritDoc ISparseGrid.getRuns} */
30
24
  getRuns(options?: ISparseGrid.RunIteratorOptions): ISparseGrid.RunIterableIterator<T>;
31
25
  /** {@inheritDoc IGrid.getAxis} */
32
26
  getAxis(): RangeAxis;
@@ -36,6 +30,7 @@ export declare class SparseGrid<T = any> implements ISparseGrid<T> {
36
30
  values(options?: IGrid.IteratorOptions): IGrid.ValueIterator;
37
31
  /** {@inheritDoc IGrid.keys} */
38
32
  keys(options?: IGrid.IteratorOptions): IGrid.KeyIterator;
33
+ private _entriesPrivateResult;
39
34
  private _updateMajorSpan;
40
35
  /** {@inheritDoc IGrid.setValues} */
41
36
  setValues(values: Tuple.GridTuple<T>): this;
@@ -267,15 +267,5 @@ export declare function translateTupleBounds<T = any>(boundedTuples: Tuple.Regio
267
267
  * * Allows for reusable ranges.
268
268
  */
269
269
  export declare function createConflatingRangeValue<T = any>(isColumn?: boolean, canMerge?: (a: T, b: T, isColumn: boolean) => T | undefined, combine?: (previous: T, next: T) => T): ISpatialMap.IConflatingEntries<T>;
270
- /**
271
- * A grid's runs as grid tuples, in the grid's own axis: one major tuple per major that holds a
272
- * run, the runs shared by reference.
273
- *
274
- * @remarks
275
- * This is the seam the values half of a seed crosses (DESIGN-CALC-SERVICE §6.6): what a grid
276
- * holds becomes the tuples another grid is loaded from. Runs are immutable lists, so sharing them
277
- * is what the load already does when it hands one set of tuples to the sheet and its grid.
278
- * @internal
279
- */
280
270
  export declare function gridToTuples<T = Scalar>(grid: ISparseGrid<T>): Tuple.GridTuple<T>;
281
271
  //# sourceMappingURL=_GridUtils.d.ts.map
@@ -3,21 +3,6 @@ import { Bounds } from '@sheetxl/utils';
3
3
  import { IMovable } from '../movable';
4
4
  import { IWorksheet } from '../sheet';
5
5
  import { Movable } from '../movable/Movable';
6
- /**
7
- * Where a note's box goes when nothing has moved it, and how a note stores where its box is.
8
- *
9
- * @remarks
10
- * The default is Excel's, probed with hidden COM on a 96-DPI machine (2026-09-30): a 144×79 px
11
- * box hung 15 px right of its cell and 10 px above its top, flipped to the other side when it
12
- * would pass the sheet's last column or row. A note on a merged cell hangs beside the merge
13
- * (probed 2026-10-20). It is pixel geometry first and the cells those
14
- * pixels fall on second, so tall, narrow and hidden rows and columns need no rule of their own.
15
- *
16
- * A note stores its box's anchor with the cells counted from the note's own, so a note copied
17
- * to another cell keeps its box beside it. The box itself is an ordinary movable anchored to the
18
- * sheet's cells; these functions convert between the two.
19
- * @internal
20
- */
21
6
  /** The width of a default box, in pixels. */
22
7
  export declare const NOTE_DEFAULT_WIDTH = 144;
23
8
  /** The height of a default box, in pixels. */
@@ -16,7 +16,7 @@ import * as _ConditionUtils from '../condition/_ConditionUtils';
16
16
  * Implementation of {@link IDataValidation}.
17
17
  */
18
18
  export declare abstract class AnchoredConditional<STATE extends AnchoredConditional.State, EVENTS extends ICondition.Events = ICondition.Events, JSON = any> extends AbstractAnchored<STATE, EVENTS> implements IAnchored, ITransaction.ITransactional, IListener.ISource<IAnchored> {
19
- protected _rangeListener: ICellRange.Listener | null;
19
+ protected _rangeListener: ICellRange.Listener<ICellRanges> | null;
20
20
  protected _getValueGrid: () => ISparseGrid<Scalar>;
21
21
  /**
22
22
  * One registered watch per formula the condition asked for, keyed by the formula: its remove, and
@@ -86,7 +86,7 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
86
86
  * cluster: one calc pass notifies each rule it intersects, and a burst of deliveries would
87
87
  * otherwise start a burst of evaluations for the newest one to win. Coalescing on a microtask
88
88
  * rather than a commit hook is deliberate: the calc-results path notifies AFTER its transaction
89
- * commits (`trigger: 'calc'`), so a commit hook never sees the most frequent trigger.
89
+ * commits (a `'data'` event with no commit), so a commit hook never sees the most frequent trigger.
90
90
  *
91
91
  * Two same-tick marks widen to the whole rule rather than accumulating a range list — the
92
92
  * subclasses evaluate per whole range anyway, and a rule's ranges are small.
@@ -222,29 +222,7 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
222
222
  * @internal
223
223
  */
224
224
  protected _rebaseConditionFormulas(json: any, from: IRange.CellCoords, to: IRange.CellCoords): boolean | null;
225
- /**
226
- * The extend half of a paste: fold the pasted `ranges` into THIS live rule — coalescing
227
- * into one clean rectangle — rather than minting a duplicate.
228
- *
229
- * @param ranges The pasted images of the rule's marked areas (already tiled/clipped).
230
- * @param jsonAtMark `JSON.stringify` of the rule's `toJSON()` at mark time.
231
- * @returns `false` when this rule cannot absorb the paste — deleted, its definition changed
232
- * since the mark, or the union would move the anchor — and the caller must clone instead.
233
- *
234
- * @remarks
235
- * Merging is provenance-keyed: only THE rule the areas were copied from extends, which is
236
- * what keeps manually authored duplicates separate.
237
- *
238
- * On top of provenance, a paste merges only when the union is a single rectangle whose
239
- * top-left is still the rule's anchor. That is Excel's rule (desktop and online alike): a
240
- * paste flush below or to the right of the applies-to merges into it, while one above, to
241
- * the left, or with a gap mints a separate rule at top priority. The shape of it is that
242
- * PASTE NEVER MOVES THE ANCHOR — growing down or right leaves the stored formula's frame
243
- * alone, whereas growing up or left forces a rebase, which Excel is only willing to do for
244
- * autofill. Hence fill merges in all four directions and paste in two.
245
- * @internal
246
- */
247
- _extendPastedRanges(ranges: readonly IRange.Coords[], jsonAtMark: string): boolean;
225
+ _extendPastedRanges(ranges: readonly IRange.Coords[], jsonAtMark: string, isCut?: boolean): boolean;
248
226
  /**
249
227
  * Re-anchors a freshly pasted CLONE, whose formulas still carry the SOURCE rule's frame, to
250
228
  * its own anchor — the shift Excel applies when a copied rule lands as a new rule (copying
@@ -40,58 +40,9 @@ export declare abstract class AbstractOperator<P> implements ICondition.IOperato
40
40
  getDescription(): string | null;
41
41
  /** {@inheritDoc ICondition.doBatch} */
42
42
  doBatch(keys: Set<any>, param: P, ctx: ICondition.IContext): MaybePromise<IRange<boolean> | null>;
43
- /**
44
- * Resolves a comparison operand that may be formula-valued — an {@link ICalculation.IFormula}, or
45
- * a string param with a leading `=` — into a per-cell {@link OperandReader}.
46
- *
47
- * @returns The reader, or `null` when the operand is a formula with nothing to read (no engine,
48
- * an empty expression) — the caller returns a `null` predicate and the condition is inert
49
- * rather than throwing.
50
- *
51
- * @remarks
52
- * A literal operand costs nothing: the reader is a constant. A formula operand is declared
53
- * through {@link ICondition.IContext.watchFormula}, so a long-lived owner keeps it fresh and a
54
- * one-shot evaluation answers it on the spot. Values arrive as a block anchored at
55
- * `ctx.getCoords()`: an absolute operand broadcasts and a relative one varies per cell on the
56
- * same code path.
57
- *
58
- * A per-cell value that is an ERROR is returned as the error — comparisons must treat it as
59
- * no-match, never a throw — and warns once per predicate build. A reference operand reads its
60
- * top-left: Excel does NOT implicitly intersect here (`$E$5:$F$6>10` tested `E5` for every cell;
61
- * measured 2026-08-21), which is the watch's `arrayFirstCell` evaluation.
62
- */
63
43
  protected _resolveOperand(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext): Promise<OperandReader | null>;
64
- /**
65
- * Whether a comparison operand has not been given: absent, or blank text.
66
- *
67
- * @remarks
68
- * A comparison missing an operand is inert, never a comparison against 0. Excel reads a rule
69
- * whose `<formula>` is absent or empty that way — a validation flags nothing, a format paints
70
- * nothing (measured, `probe-dv-operands` and `probe-cf-operands`) — and its dialogs refuse to
71
- * author one.
72
- */
73
44
  protected _isMissingOperand(param: Scalar | ICalculation.IFormula | undefined): boolean;
74
- /**
75
- * The first problem with a comparison operand under `lhsSelector`, as a message key, or `null`.
76
- *
77
- * @param allowEmptyText Whether `''` is an operand (equal to empty text) rather than one not given.
78
- *
79
- * @remarks
80
- * The rules Excel's dialogs refuse on (measured, `probe-dv-operands`): an operand is required; a
81
- * whole-number rule takes an integer, a text-length rule a non-negative integer, a date a serial
82
- * from 0, a time a serial in [0, 1); text where a number belongs is refused; a formula must parse.
83
- * With no selector (a format's Cell Value rule) any scalar is an operand — Excel accepts text there.
84
- */
85
45
  protected _validateOperand(param: Scalar | ICalculation.IFormula | undefined, lhsSelector: ICondition.ISelector | null | undefined, allowEmptyText?: boolean): string | null;
86
- /**
87
- * The shared predicate shape of the ordered comparisons (`greaterThan` … `before`): resolve the
88
- * operand (formula or literal — see {@link _resolveOperand}), then compare per cell. An ERROR
89
- * operand never matches; a `null` return means the operand is missing
90
- * ({@link _isMissingOperand}) or could not resolve, and the condition is inert.
91
- *
92
- * An empty cell arrives as `null` and compares as 0, which is how Excel judges one (measured,
93
- * `probe-dv-blank`).
94
- */
95
46
  protected _createComparePredicate(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext, compare: (value: number, operand: number) => boolean): Promise<ICondition.Predicate | null>;
96
47
  /**
97
48
  * An operand as a rule's text reads it: a date or time serial as the date or time it is,
@@ -2,16 +2,6 @@ import { Scalar } from '@sheetxl/primitives';
2
2
  import { MaybePromise } from '@sheetxl/utils';
3
3
  import { ICondition } from '../ICondition';
4
4
  import { BaseSelector } from './BaseSelector';
5
- /**
6
- * DisplaySelector:
7
- *
8
- * The text a cell shows. Every cell is in its domain; the reading is the displayed text under a
9
- * filter (`$1` for a cell holding 1 under `$0`), and the value's own text under a format or a
10
- * validation, where nothing is shown at evaluation. Excel's filter `equal` and its values list
11
- * compare this way (DESIGN-FILTER §3.2, P10), which is where the xlsx reader sets it. The text
12
- * family (contains, starts with) stays under no selector: Excel's reads the raw text of a text
13
- * cell and never a number's display.
14
- */
15
5
  export declare class DisplaySelector extends BaseSelector<string, Scalar> {
16
6
  constructor();
17
7
  /** {@inheritDoc ICondition.ISelector.createTransformer} */
@@ -172,8 +172,8 @@ export declare namespace ICondition {
172
172
  /**
173
173
  * The text a cell SHOWS: under a filter the displayed text, so `$1` is a cell holding 1 under
174
174
  * `$0`; under a format or a validation, where nothing is shown at evaluation, the value's own
175
- * text. Type text. Excel's filter `equal` and its values list compare this way
176
- * (DESIGN-FILTER §3.2, MODEL-CONDITIONS §4); `equalTo` under no selector is value equality.
175
+ * text. Type text. Excel's filter `equal` and its values list compare this way;
176
+ * `equalTo` under no selector is value equality.
177
177
  */
178
178
  readonly Display: "display";
179
179
  readonly Number: "number";
@@ -152,30 +152,13 @@ export declare class UnresolvedCondition<P = any> implements ICondition<P> {
152
152
  * of an exception that costs the caller the entire rule.
153
153
  */
154
154
  export declare function fromJSON<P = any>(json: ICondition.JSON<P> | null | undefined): ICondition<P> | null;
155
- /**
156
- * A combinator's reading of a value through a child's selector, as the driver reads one for the
157
- * root: the transformer gates and projects a value, and a blank (`null`, which reaches a
158
- * predicate only with Ignore Blank off) is read by no selector. It passes on as it is, for the
159
- * operator to judge as Excel judges an empty cell (0 under a number rule, "" under a text one;
160
- * P7, DESIGN-DV §5). Display in particular must not turn it into the empty text it shows.
161
- */
162
155
  export declare function readThroughSelector(transformer: ICondition.Transformer<any, any> | null | undefined, value: Scalar, ctx: ICondition.IContext): Scalar | typeof ICondition.NotApplicable;
163
156
  /**
164
157
  * The condition's answer for the BLANK cells of a range, asked per cell — lazily, by the caller,
165
158
  * for the cells it actually reads. Blank cells are never visited by the engine.
166
159
  */
167
160
  export type BlankResolver = (rowIndex: number, colIndex: number) => boolean;
168
- /**
169
- * Whether a value is blank by Excel's AutoFilter rule (`LEN(TRIM(x))=0`, DESIGN-FILTER.md §3.3):
170
- * nothing, an empty string, or a string of only U+0020 spaces. A tab, a non-breaking space, `0`
171
- * and an error are values.
172
- */
173
161
  export declare function isBlankValue(value: Scalar): boolean;
174
- /**
175
- * The calc engine's blank: an empty cell, or the `""` a formula returns (`=A1=""` is TRUE for
176
- * both). A string of spaces is a string. The filter's rule for a value-shaped level
177
- * (DESIGN-FILTER §3.3); {@link isBlankValue} is the display rule.
178
- */
179
162
  export declare function isBlankByValue(value: Scalar): boolean;
180
163
  /** Whether a selector, by name or instance, is {@link ICondition.BuiltInSelectorNames.Display}. */
181
164
  export declare function isDisplaySelector(selector: unknown): boolean;
@@ -275,18 +258,6 @@ export interface DoRunRangeConditionsOptions extends ICondition.RangeOptions {
275
258
  * Shared by `ICellRange.filter` and `ITable.filter`, so a bare input means the same to both.
276
259
  */
277
260
  export declare function normalizeFilterInput(condition: ICondition.Input | ICondition.RangeOptions | null | undefined): ICondition.RangeOptions;
278
- /**
279
- * Evaluates `conditions[]` in array order against the row (or column) axis, ANDing each condition
280
- * into a running visibility mask — Excel's own AutoFilter model (DESIGN-FILTER.md §2): a dynamic
281
- * condition (Average, Top N) only ever sees the rows/columns still visible under the mask
282
- * accumulated by the conditions *before* it. Each condition carries its column (or row) via
283
- * `IndexedProperties.index`, defaulting to its position in `conditions[]` when omitted — mirrors
284
- * `ISort.Options.index ?? level`.
285
- *
286
- * @remarks
287
- * Backs `ICellRange.filter` / `ITable.filter` (`_SheetFilterUtils.doFilter`). Data Validation and
288
- * Conditional Formatting keep using the single-condition {@link evalConditions}.
289
- */
290
261
  export declare function evalRangeConditions(options: DoRunRangeConditionsOptions): Promise<void>;
291
262
  export interface DoRunConditionsOptions extends ICondition.RangeOptions {
292
263
  runtime: IRuntime;
@@ -330,15 +301,6 @@ export interface DoRunConditionsOptions extends ICondition.RangeOptions {
330
301
  * FALSE in others, and the formula's own block evaluation already holds each one.
331
302
  */
332
303
  onBlank?: (resolve: BlankResolver) => void;
333
- /**
334
- * Whether a stored value that is blank by Excel's AutoFilter rule ({@link isBlankValue}: a
335
- * `""` result, a string of only spaces) is answered as the blank cell it shows as, never shown
336
- * to the selector or the operator. Conditional Formatting sets it (`containsBlanks` is
337
- * `LEN(TRIM(x))=0`); Data Validation does not, since there a blank is an empty cell and a
338
- * `""` result is judged (DESIGN-DV §5). The filter driver decides per level: a display-shaped
339
- * one ({@link isDisplayShaped}) takes this rule, any other the calc engine's, where only `""`
340
- * is blank (DESIGN-FILTER §3.3).
341
- */
342
304
  spacesAreBlank?: boolean;
343
305
  }
344
306
  //# sourceMappingURL=_ConditionUtils.d.ts.map
@@ -111,24 +111,9 @@ export declare class ExternalBookCollection extends AbstractCollection<IExternal
111
111
  _refresh(bookId: string): Promise<IExternalBook.RefreshResult>;
112
112
  /** Excel's record of a refresh that could not complete: `refreshError` on each cached sheet. */
113
113
  protected _markRefreshError(bookId: string): void;
114
- /**
115
- * The value pass in front of a removal: every cell block that cites the book becomes its current
116
- * values — the WHOLE formula, as Excel does, not only the external operand.
117
- *
118
- * @remarks
119
- * A dependent that is a NAME (its scope is the name's virtual grid, not a sheet) is left as it
120
- * is. Its citation then images as `#REF!` once the slot goes, which is one of the three outcomes
121
- * DESIGN-EXTERNAL-LINKS §6 item 8 lists for Excel; the measurement that picks between them has
122
- * not been taken, and a name has no computed value to write back until phase D in any case.
123
- */
124
114
  protected _breakDependents(book: IExternalBook): void;
125
115
  /** @internal Backs {@link IExternalBook.getDependents}; empty without an engine to ask. */
126
116
  _getDependents(bookId: string): readonly IRange.Coords[];
127
- /**
128
- * @internal
129
- * Records a sheet name a formula cited on a book that did not list it — the authoring half of
130
- * the bind rule (DESIGN-EXTERNAL-LINKS §5 step 13). Returns the sheet's index in the book.
131
- */
132
117
  _addSheetName(bookId: string, sheetName: string): number;
133
118
  toJSON(): (IExternalBook.JSON | null)[] | null;
134
119
  /** {@inheritDoc IListener.ISource.addListeners} */
@@ -48,7 +48,7 @@ export declare function externalBookFileName(book: IExternalBook): string;
48
48
  *
49
49
  * @remarks
50
50
  * This is the form Excel's own formula bar shows for a book it cannot see, which is the state every
51
- * book is in until a resolver opens one (DESIGN-EXTERNAL-LINKS §4B). The caller quotes it —
51
+ * book is in until a resolver opens one. The caller quotes it —
52
52
  * `sheetNameToString` does, since a path carries separators no sheet name may.
53
53
  *
54
54
  * The directory is the first source that carries one: a book Excel recorded by a RELATIVE path
@@ -70,8 +70,7 @@ export declare const EXTERNAL_LINK_PATH_REL_TYPE = "http://schemas.openxmlformat
70
70
  *
71
71
  * @remarks
72
72
  * A Windows path becomes a `file:///` URI with forward slashes and percent-encoding, a UNC path a
73
- * `file://server/share/…` one, and a URL or a bare relative name is kept verbatim — the three
74
- * target shapes measured in the corpus (DESIGN-EXTERNAL-LINKS §2.2).
73
+ * `file://server/share/…` one, and a URL or a bare relative name is kept verbatim.
75
74
  */
76
75
  export declare function sourceEntryFromPath(path: string): IExternalBook.SourceEntry;
77
76
  /**
@@ -1,14 +1,12 @@
1
- import { IRange } from '@sheetxl/primitives';
1
+ import { IRange, Scalar } from '@sheetxl/primitives';
2
2
  import { Tuple } from '../collections';
3
- import { ICell } from '../cell';
4
3
  import { ITransaction } from '../transaction';
5
4
  /**
6
5
  * A cached snapshot of another workbook, referenced from a formula as `[n]Sheet1!$A$1`.
7
6
  *
8
7
  * @remarks
9
8
  * Excel's external link is not a live reference — it is the cache plus enough to go re-fetch the
10
- * source. See the design doc for the full model:
11
- * `private-assets/design/calc/DESIGN-EXTERNAL-LINKS.md`.
9
+ * source.
12
10
  *
13
11
  * Two members read as "which book is this", and they answer different questions:
14
12
  *
@@ -68,8 +66,8 @@ export interface IExternalBook {
68
66
  *
69
67
  * @remarks
70
68
  * **Sparse.** A cell the cache does not hold — and a sheet it holds nothing for — reads as a
71
- * BLANK cell, which is what Excel computes with the source closed (design doc §6 items 1/2).
72
- * Values only — no format, no style, no comment; a cached date is a plain serial (§2.5).
69
+ * BLANK cell, which is what Excel computes with the source closed. Values only — no format, no
70
+ * style, no comment; a cached date is a plain serial.
73
71
  *
74
72
  * @param sheetIndex Position in {@link getSheetNames}, matching the XML's `sheetId` (0-based).
75
73
  */
@@ -91,8 +89,8 @@ export interface IExternalBook {
91
89
  * (`[Budget.xlsx]Sheet1`) once a resolver holds it.
92
90
  *
93
91
  * @remarks
94
- * A readout of the book's state, not a preference — see DESIGN-EXTERNAL-LINKS §4B. Until phase E
95
- * there is no resolver, so this is always the closed form. The caller quotes it.
92
+ * A readout of the book's state, not a preference: without a resolver this is always the closed
93
+ * form. The caller quotes it.
96
94
  *
97
95
  * @param sheetName Omitted for the book-scoped `[1]!Name` form.
98
96
  */
@@ -137,8 +135,8 @@ export interface IExternalBook {
137
135
  * @remarks
138
136
  * Needs a resolver (`ICellContainerOptions.externalBookResolver`, given when the workbook is
139
137
  * built); without one every book is `'unavailable'` and nothing changes, which is the state a
140
- * workbook is in until a host supplies one (DESIGN-EXTERNAL-LINKS §4D). A replaced cache is one undoable step, and every formula
141
- * citing the book reads the new values. A resolver that throws leaves the cache as it was and
138
+ * workbook is in until a host supplies one. A replaced cache is one undoable step, and every
139
+ * formula citing the book reads the new values. A resolver that throws leaves the cache as it was and
142
140
  * marks each cached sheet `refreshError`, as Excel records a refresh it could not complete.
143
141
  */
144
142
  refresh(): Promise<IExternalBook.RefreshResult>;
@@ -167,8 +165,8 @@ export declare namespace IExternalBook {
167
165
  * the book is opened from, `absoluteUrl` its 2021 cloud-URL companion.
168
166
  *
169
167
  * @remarks
170
- * Not derivable from {@link type} — the two can carry the SAME relationship type (measured on
171
- * task 40234, where a relative and an absolute `externalLinkPath` sit on one part). Absent for
168
+ * Not derivable from {@link type} — the two can carry the SAME relationship type (a relative
169
+ * and an absolute `externalLinkPath` can sit on one part). Absent for
172
170
  * an entry nothing points at, which is a real shape too: an `xlPathMissing` or
173
171
  * `externalLinkLongPath` rel rides along on the part without being referenced from it.
174
172
  */
@@ -207,10 +205,10 @@ export declare namespace IExternalBook {
207
205
  * Opens a book's source and answers its current contents, or declines.
208
206
  *
209
207
  * @remarks
210
- * DESIGN-EXTERNAL-LINKS §4D: the default one (phase E) is `WorkbookIO.read` with
208
+ * A resolver for a workbook file should read it with `WorkbookIO.read` and
211
209
  * `calcOnLoad: 'none'`, taking the source's own cached values and never evaluating it — that is
212
- * what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl. An extension
213
- * point for a source that is not a workbook file. WHETHER a source may be opened at all — an
210
+ * what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl. A source that
211
+ * is not a workbook file can be resolved too. WHETHER a source may be opened at all — an
214
212
  * untrusted file naming an arbitrary path or URL — is the host's decision, made before this is
215
213
  * asked; a resolver never fetches on its own initiative, only on {@link IExternalBook.refresh}.
216
214
  */
@@ -226,11 +224,11 @@ export declare namespace IExternalBook {
226
224
  /** `<sheetData refreshError="1">` — Excel could not refresh this sheet's cache last time it tried. */
227
225
  refreshError?: boolean;
228
226
  /**
229
- * Sparse cell values — the same encoding `IWorksheet.JSON.data` uses (`ICell.JSON` is already just
227
+ * Sparse cell values — the same encoding `IWorksheet.JSON.data` uses (`Scalar.JSON` is already just
230
228
  * the value+type pair; style/formula live in sibling fields there, none of which apply to a
231
- * values-only cache — design doc §2.5).
229
+ * values-only cache).
232
230
  */
233
- data: Tuple.GridTuple<ICell.JSON>;
231
+ data: Tuple.GridTuple<Scalar.JSON>;
234
232
  }
235
233
  interface JSON {
236
234
  /**
@@ -0,0 +1,15 @@
1
+ import { IFetcher } from './IFetcher';
2
+ /**
3
+ * The default {@link IFetcher}: `http:` and `https:` through the global `fetch`, and whatever
4
+ * else is registered.
5
+ */
6
+ export declare class Fetcher implements IFetcher {
7
+ private readonly _handlers;
8
+ /** {@inheritDoc IFetcher.fetch} */
9
+ fetch(input: string, init?: RequestInit): Promise<Response>;
10
+ /** {@inheritDoc IFetcher.register} */
11
+ register(scheme: string, handler: IFetcher.Handler): () => void;
12
+ /** {@inheritDoc IFetcher.isIFetcher} */
13
+ get isIFetcher(): true;
14
+ }
15
+ //# sourceMappingURL=Fetcher.d.ts.map
@@ -0,0 +1,48 @@
1
+ /**
2
+ * How a workbook reaches what lives outside it: the picture an `IMAGE` names, a web service's
3
+ * answer. A handler per URL scheme; a host registers its own to add authentication, or to serve a
4
+ * scheme of its own.
5
+ *
6
+ * @remarks
7
+ * Each workbook has one, given as `IWorkbook.ConstructorOptions.fetcher`, or a default that
8
+ * answers `http:` and `https:` with the global `fetch`.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const fetcher = new Fetcher();
13
+ * fetcher.register('https', (url, init) => fetch(url, {
14
+ * ...init,
15
+ * headers: { ...init?.headers, Authorization: `Bearer ${token}` }
16
+ * }));
17
+ * const workbook = new Workbook({ fetcher });
18
+ * ```
19
+ */
20
+ export interface IFetcher {
21
+ /**
22
+ * Fetches `input` with the handler registered for its scheme. A URL without a scheme goes to
23
+ * the `https` handler.
24
+ *
25
+ * @returns The response; rejects with a `TypeError` when no handler serves the scheme, as
26
+ * `fetch` does for a URL it cannot reach. In a browser the default handlers reject with a
27
+ * `FormulaError.Blocked` when the site responded but does not allow web pages to read it.
28
+ */
29
+ fetch(input: string, init?: RequestInit): Promise<Response>;
30
+ /**
31
+ * Serves a URL scheme with `handler`, replacing the handler it had.
32
+ *
33
+ * @param scheme The scheme, with or without its colon: `'https'`, `'resource:'`.
34
+ * @returns A function that removes the registration.
35
+ */
36
+ register(scheme: string, handler: IFetcher.Handler): () => void;
37
+ /**
38
+ * For runtime type checking.
39
+ */
40
+ readonly isIFetcher: true;
41
+ }
42
+ export declare namespace IFetcher {
43
+ /**
44
+ * Answers a fetch for one scheme, with the signature of the standard `fetch`.
45
+ */
46
+ type Handler = (url: string, init?: RequestInit) => Promise<Response>;
47
+ }
48
+ //# sourceMappingURL=IFetcher.d.ts.map
@@ -0,0 +1,43 @@
1
+ import { IResource } from '../resource/IResource';
2
+ import { IResourceCollection } from '../resource/IResourceCollection';
3
+ import { IFetcher } from './IFetcher';
4
+ /**
5
+ * A workbook's fetch: its {@link IFetcher}, in front of the workbook's resources. A resource that
6
+ * says where it was fetched from is the workbook's copy of that URL, and a fetch of the URL answers
7
+ * from it without a request. Any other successful answer that is not a picture is cached while the
8
+ * workbook is open and never saved. Plain GETs of one URL in flight together share one request. A
9
+ * response whose bytes are a picture says what they are, whatever the server called them.
10
+ *
11
+ * It saves nothing itself: what holds a picture adds it as a resource (`IMAGE` through
12
+ * `IDeferContext.addResource`), and the workbook saves a resource while a value holds it.
13
+ *
14
+ * @internal
15
+ */
16
+ export declare class WorkbookFetch {
17
+ private readonly _resources;
18
+ private readonly _fetcher;
19
+ private readonly _kept;
20
+ /** Answers that are not pictures, by URL: a cache for the session, not saved. */
21
+ private readonly _cached;
22
+ private readonly _inFlight;
23
+ constructor(resources: IResourceCollection, fetcher: IFetcher);
24
+ /** The fetcher behind this: what the host registered. */
25
+ getFetcher(): IFetcher;
26
+ /** {@inheritDoc IWorkbook.fetch} */
27
+ fetch(input: string, init?: RequestInit): Promise<Response>;
28
+ /**
29
+ * Keeps every resource that says where it was fetched from as that URL's picture: what a file
30
+ * carried. Called once the workbook's resources are loaded.
31
+ */
32
+ adopt(resources: readonly IResource[]): void;
33
+ /**
34
+ * Keeps `resource` as the bytes of `uri`. A fetch of `uri` answers from it without asking the
35
+ * fetcher.
36
+ */
37
+ keep(uri: string, resource: IResource): void;
38
+ /** A resource added under `uri` since the last load, kept now that it is asked for. */
39
+ private _findHeld;
40
+ private _fromKept;
41
+ private _request;
42
+ }
43
+ //# sourceMappingURL=_WorkbookFetch.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './IFetcher';
2
+ export * from './Fetcher';
3
+ //# sourceMappingURL=index.d.ts.map