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

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 (480) hide show
  1. package/README.md +1 -1
  2. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  3. package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → BFagR2JeWs74iAG3.mjs} +1 -1
  4. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  5. package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → BLoUBId2xZpXAK_H.mjs} +110 -261
  6. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  7. package/browser/esm/{o8MFgcVXns987D6_.mjs → BVDiOXGMc5_FMGfy.mjs} +6 -6
  8. package/browser/esm/{BzLfNyc6OOShIErH.mjs → BjkCiv5Jz6WYKZeu.mjs} +2 -2
  9. package/browser/esm/{De175LygU7ot4nQm.mjs → BkBhLS0l6z8sxI6D.mjs} +2 -2
  10. package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → BnG31I6Oj_HEtSPS.mjs} +1 -1
  11. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  12. package/browser/esm/{CYyv6uGjo10ig5FP.mjs → BpgskG1Er_lGQ_yS.mjs} +1 -1
  13. package/browser/esm/{C9B0djuUarfNdoj0.mjs → BtvLTTfSBdAKplVG.mjs} +1 -1
  14. package/browser/esm/{zqJOaweiXE9D8RY1.mjs → C16ycKja6zG0crV_.mjs} +27687 -38788
  15. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  16. package/browser/esm/{Btg43M1Bf-ENDreu.mjs → C4MqfLn9Dm-l3OIk.mjs} +1 -1
  17. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  18. package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → CHU6iu_WGlm7fLET.mjs} +1 -1
  19. package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → CQYjO777cmAznUzK.mjs} +1 -1
  20. package/browser/esm/{D4uVlrG0xEFctsSM.mjs → CU3DmJ-YnVVrC1_k.mjs} +285 -67
  21. package/browser/esm/{ClB5ix51roQOpZEr.mjs → CV5EGEjG5_-CPpP0.mjs} +2877 -2067
  22. package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  23. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  24. package/browser/esm/{CZ5oa92wZEAXebgk.mjs → ClPfI4lODvCece29.mjs} +32 -22
  25. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  26. package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → Ctjb0SsxV4K4MMqG.mjs} +2 -2
  27. package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → D5np__Jb1euAyaLw.mjs} +2 -2
  28. package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → DEiPS3Dr-s4fPbVZ.mjs} +1 -1
  29. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  30. package/browser/esm/{BqskM7wA8oPfFQue.mjs → DWNzqw7DUKwoxjri.mjs} +2 -2
  31. package/browser/esm/{BEAY9XgKNx-bakXW.mjs → Dlmig06rIo7cInRk.mjs} +1 -1
  32. package/browser/esm/DvAaxH6z_tGvrRzl.mjs +5132 -0
  33. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  34. package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → PcHFjNzQsE54POri.mjs} +1 -1
  35. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  36. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  37. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  38. package/browser/esm/index.mjs +999 -850
  39. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  40. package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → zlLuW405RSguy4Kn.mjs} +34 -34
  41. package/licenses/dependencies.txt +75 -75
  42. package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → 2Kihw_-5lVTEnwMa.mjs} +285 -64
  43. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  44. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  45. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  46. package/node/esm/{CImNvdz1iP-lUlro.mjs → BIRq1kT7lLRzns9t.mjs} +181 -181
  47. package/node/esm/{CD9wbvufChVYYkrI.mjs → BIwObuhTJYf0jpUa.mjs} +2 -2
  48. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  49. package/node/esm/{B6D7sSetrcOWLsKj.mjs → BqiexuA89caYnAPz.mjs} +1 -1
  50. package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BrCKGFRsX_ezFJ4B.mjs} +151 -302
  51. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  52. package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  53. package/node/esm/{DCplLG93GfTs1vNw.mjs → CGp6VZL-gZa9Uezx.mjs} +1 -1
  54. package/node/esm/{B9ljpEIZg6wOTzRE.mjs → CNCNJNg890KdgkWh.mjs} +1 -1
  55. package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CZICGK_ss0HoGHCP.mjs} +2 -2
  56. package/node/esm/{D7MfcID2Wf6l6VpC.mjs → CZiqiay42tFTrLI4.mjs} +1 -1
  57. package/node/esm/{Bsx9uijd4X_SKV3L.mjs → CdJHUJSBRHZoryPe.mjs} +41 -41
  58. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  59. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  60. package/node/esm/{CUUoseJmFsCf82bb.mjs → CzXT00vrQa1_gvW9.mjs} +1 -1
  61. package/node/esm/{C6ZXsNyLXI6zA63X.mjs → D1TKBVmoKGAXf37B.mjs} +9 -9
  62. package/node/esm/{BN9j8V9gCExMjVtJ.mjs → D2KBymQJd1XhpeQD.mjs} +1 -1
  63. package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → D6e2z7eZpxOJXHc7.mjs} +1 -1
  64. package/node/esm/{BtuY37FumvLE7EBo.mjs → D8zEN-6ZdDqDvTxM.mjs} +156 -146
  65. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  66. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  67. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  68. package/node/esm/{DMD12JUh7HJw2-jl.mjs → D_t5AUxSm7_icjzq.mjs} +1 -1
  69. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  70. package/node/esm/{CUQi5ZtMO02nhG0W.mjs → De2IONBxQhz-Qbyh.mjs} +1 -1
  71. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  72. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  73. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  74. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  75. package/node/esm/{DefYISWfdZJFx57m.mjs → cGwrLA1RCE-WhJ7w.mjs} +1 -1
  76. package/node/esm/index.mjs +2657 -65664
  77. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  78. package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → yavzZOiZW_EjG9lE.mjs} +1 -1
  79. package/package.json +6 -7
  80. package/resources/contents.json +120 -0
  81. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  82. package/resources/fonts/arial-bold-italic.metrics.json +13 -13
  83. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  84. package/resources/fonts/arial-bold.hinted.json +125 -0
  85. package/resources/fonts/arial-bold.metrics.json +12 -12
  86. package/resources/fonts/arial-bold.rows.json +9 -0
  87. package/resources/fonts/arial-italic.hinted.json +125 -0
  88. package/resources/fonts/arial-italic.metrics.json +13 -13
  89. package/resources/fonts/arial-italic.rows.json +9 -0
  90. package/resources/fonts/arial-regular.hinted.json +125 -0
  91. package/resources/fonts/arial-regular.metrics.json +12 -12
  92. package/resources/fonts/arial-regular.rows.json +9 -0
  93. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  94. package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
  95. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  96. package/resources/fonts/calibri-bold.hinted.json +122 -0
  97. package/resources/fonts/calibri-bold.metrics.json +1 -1
  98. package/resources/fonts/calibri-bold.rows.json +9 -0
  99. package/resources/fonts/calibri-italic.hinted.json +121 -0
  100. package/resources/fonts/calibri-italic.metrics.json +2 -2
  101. package/resources/fonts/calibri-italic.rows.json +9 -0
  102. package/resources/fonts/calibri-regular.hinted.json +121 -0
  103. package/resources/fonts/calibri-regular.metrics.json +1 -1
  104. package/resources/fonts/calibri-regular.rows.json +9 -0
  105. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  106. package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
  107. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  108. package/resources/fonts/cambria-bold.hinted.json +108 -0
  109. package/resources/fonts/cambria-bold.metrics.json +19 -19
  110. package/resources/fonts/cambria-bold.rows.json +9 -0
  111. package/resources/fonts/cambria-italic.hinted.json +102 -0
  112. package/resources/fonts/cambria-italic.metrics.json +23 -23
  113. package/resources/fonts/cambria-italic.rows.json +9 -0
  114. package/resources/fonts/cambria-regular.hinted.json +110 -0
  115. package/resources/fonts/cambria-regular.metrics.json +18 -18
  116. package/resources/fonts/cambria-regular.rows.json +9 -0
  117. package/resources/fonts/contents.json +280 -0
  118. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  119. package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
  120. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  121. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  122. package/resources/fonts/courier-new-bold.metrics.json +12 -12
  123. package/resources/fonts/courier-new-bold.rows.json +9 -0
  124. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  125. package/resources/fonts/courier-new-italic.metrics.json +12 -12
  126. package/resources/fonts/courier-new-italic.rows.json +9 -0
  127. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  128. package/resources/fonts/courier-new-regular.metrics.json +12 -12
  129. package/resources/fonts/courier-new-regular.rows.json +9 -0
  130. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  131. package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
  132. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  133. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  134. package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
  135. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  136. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  137. package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
  138. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  139. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  140. package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
  141. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  142. package/resources/locales/de/model.msg.json +87 -9
  143. package/resources/locales/en/model.msg.json +88 -10
  144. package/types/scripting-api.json +10636 -8021
  145. package/types/scripting-enums.json +181 -43
  146. package/types/scripting.d.ts +15886 -8459
  147. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  148. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  149. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  150. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  151. package/types/src/address/AddressUtils.d.ts +10 -1
  152. package/types/src/address/_StructuredAddress.d.ts +58 -0
  153. package/types/src/border/IBorders.d.ts +16 -0
  154. package/types/src/calculation/Calculation.d.ts +93 -363
  155. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  156. package/types/src/calculation/FormulaText.d.ts +18 -2
  157. package/types/src/calculation/ICalculation.d.ts +37 -9
  158. package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
  159. package/types/src/calculation/NamedFormulaCollection.d.ts +190 -15
  160. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  161. package/types/src/calculation/_TableExtent.d.ts +60 -0
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
  163. package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
  164. package/types/src/calculation/compiler/Types.d.ts +1 -1
  165. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  166. package/types/src/calculation/engine/index.d.ts +10 -0
  167. package/types/src/calculation/executor/CalcExecutor.d.ts +21 -2
  168. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +6 -0
  169. package/types/src/calculation/formula/Formula.d.ts +9 -0
  170. package/types/src/calculation/formula/FormulaBlock.d.ts +6 -0
  171. package/types/src/calculation/formula/IFormulaBlock.d.ts +16 -0
  172. package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
  173. package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
  174. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  175. package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
  176. package/types/src/calculation/grid/CalcGrid.d.ts +40 -4
  177. package/types/src/calculation/grid/CalcGridBackend.d.ts +30 -0
  178. package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
  179. package/types/src/calculation/grid/CalcGridUtils.d.ts +8 -1
  180. package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
  181. package/types/src/calculation/grid/ICalcGrid.d.ts +35 -6
  182. package/types/src/calculation/grid/_CalcRequest.d.ts +11 -1
  183. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  184. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +27 -2
  185. package/types/src/calculation/state/CalcScope.d.ts +15 -6
  186. package/types/src/calculation/state/CalcState.d.ts +10 -0
  187. package/types/src/calculation/state/CalculationContext.d.ts +2 -2
  188. package/types/src/calculation/state/IContextContainer.d.ts +12 -0
  189. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  190. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  191. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  192. package/types/src/calculation/toolkit/index.d.ts +12 -0
  193. package/types/src/cell/ICell.d.ts +256 -7
  194. package/types/src/cell/ICellHeader.d.ts +7 -6
  195. package/types/src/cell/ICellProtection.d.ts +1 -1
  196. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  197. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  198. package/types/src/cellRange/ICellRange.d.ts +322 -55
  199. package/types/src/cellRange/ICellRanges.d.ts +8 -3
  200. package/types/src/chart/Chart.d.ts +217 -15
  201. package/types/src/chart/ChartCollection.d.ts +7 -2
  202. package/types/src/chart/IChart.d.ts +1921 -35
  203. package/types/src/chart/IChartCollection.d.ts +27 -2
  204. package/types/src/chart/_ChartParts.d.ts +1066 -0
  205. package/types/src/chart/_ChartSource.d.ts +47 -0
  206. package/types/src/chart/createChart.d.ts +26 -0
  207. package/types/src/chart/index.d.ts +4 -0
  208. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  209. package/types/src/chart/kinds/_Area.d.ts +3 -0
  210. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  211. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  212. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  213. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  214. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  215. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  216. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  217. package/types/src/chart/kinds/_Line.d.ts +4 -0
  218. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  219. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  220. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  221. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  222. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  223. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  224. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  225. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  226. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  227. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  228. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  229. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  230. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  231. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  232. package/types/src/chart/layout/_Layout.d.ts +25 -0
  233. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  234. package/types/src/chart/math/BoxStats.d.ts +35 -0
  235. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  236. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  237. package/types/src/chart/math/Histogram.d.ts +48 -0
  238. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  239. package/types/src/chart/math/Treemap.d.ts +28 -0
  240. package/types/src/chart/math/Trendlines.d.ts +71 -0
  241. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  242. package/types/src/chart/model/ChartModel.d.ts +681 -0
  243. package/types/src/chart/model/_ChartType.d.ts +14 -0
  244. package/types/src/chart/model/_Edits.d.ts +489 -0
  245. package/types/src/chart/model/_Grouping.d.ts +83 -0
  246. package/types/src/chart/model/_Inference.d.ts +52 -0
  247. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  248. package/types/src/chart/model/_NewChart.d.ts +208 -0
  249. package/types/src/chart/model/_OfPie.d.ts +18 -0
  250. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  251. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  252. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  253. package/types/src/collections/RTree.d.ts +116 -36
  254. package/types/src/collections/SparseGrid.d.ts +6 -3
  255. package/types/src/collections/SpatialMap.d.ts +2 -8
  256. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  257. package/types/src/collections/index.d.ts +1 -1
  258. package/types/src/comment/Comment.d.ts +32 -9
  259. package/types/src/comment/IComment.d.ts +41 -4
  260. package/types/src/comment/_NoteBox.d.ts +19 -2
  261. package/types/src/condition/AnchoredConditional.d.ts +28 -2
  262. package/types/src/condition/ICondition.d.ts +3 -2
  263. package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
  264. package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
  265. package/types/src/dataTable/DataTable.d.ts +67 -0
  266. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  267. package/types/src/dataTable/IDataTable.d.ts +99 -0
  268. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  269. package/types/src/dataTable/index.d.ts +6 -0
  270. package/types/src/dataValidation/DataValidation.d.ts +1 -1
  271. package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
  272. package/types/src/dataValidation/IDataValidation.d.ts +1 -1
  273. package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
  274. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  275. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  276. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  277. package/types/src/documentProperties/index.d.ts +3 -0
  278. package/types/src/externalBook/IExternalBook.d.ts +1 -1
  279. package/types/src/fill/IFill.d.ts +7 -0
  280. package/types/src/fill/IFillable.d.ts +47 -0
  281. package/types/src/fill/IStroke.d.ts +15 -1
  282. package/types/src/fill/PaintUtils.d.ts +22 -0
  283. package/types/src/fill/index.d.ts +2 -0
  284. package/types/src/font/AdvanceBuilder.d.ts +34 -0
  285. package/types/src/font/AdvanceTable.d.ts +128 -14
  286. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  287. package/types/src/font/FontCapture.d.ts +4 -0
  288. package/types/src/font/FontCollection.d.ts +53 -2
  289. package/types/src/font/FontPlatform.d.ts +20 -0
  290. package/types/src/font/FontUtils.d.ts +5 -0
  291. package/types/src/font/IFont.d.ts +191 -61
  292. package/types/src/font/IFontCollection.d.ts +20 -14
  293. package/types/src/font/IFontStyle.d.ts +207 -0
  294. package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
  295. package/types/src/font/_FontUtils.d.ts +11 -4
  296. package/types/src/font/_FontsVersion.d.ts +7 -0
  297. package/types/src/font/index.d.ts +1 -3
  298. package/types/src/font/platform.browser.d.ts +15 -0
  299. package/types/src/font/platform.node.d.ts +5 -0
  300. package/types/src/group/Group.d.ts +5 -0
  301. package/types/src/group/GroupMovableCollection.d.ts +4 -0
  302. package/types/src/history/IHistory.d.ts +19 -2
  303. package/types/src/hyperlink/IHyperlink.d.ts +7 -1
  304. package/types/src/index.d.ts +3 -0
  305. package/types/src/license/LicenseManager.d.ts +21 -0
  306. package/types/src/license/_Utils.d.ts +18 -1
  307. package/types/src/license/runtime.browser.d.ts +5 -0
  308. package/types/src/license/runtime.node.d.ts +10 -0
  309. package/types/src/listener/IListener.d.ts +14 -2
  310. package/types/src/listener/ListenerEmitter.d.ts +11 -3
  311. package/types/src/movable/IMovable.d.ts +28 -15
  312. package/types/src/movable/IMovableCollection.d.ts +1 -1
  313. package/types/src/movable/Movable.d.ts +12 -1
  314. package/types/src/movable/MovableCollection.d.ts +7 -3
  315. package/types/src/movable/_InsertableCollection.d.ts +16 -5
  316. package/types/src/named/INamed.d.ts +30 -0
  317. package/types/src/named/INamedCollection.d.ts +2 -2
  318. package/types/src/named/NamedCollection.d.ts +16 -4
  319. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  320. package/types/src/outline/IOutline.d.ts +1 -1
  321. package/types/src/outline/Outline.d.ts +2 -2
  322. package/types/src/picture/IPicture.d.ts +98 -1
  323. package/types/src/picture/Picture.d.ts +15 -7
  324. package/types/src/pivot/IPivotTable.d.ts +2 -2
  325. package/types/src/pivot/PivotTable.d.ts +5 -5
  326. package/types/src/primitives/ReferenceRange.d.ts +2 -2
  327. package/types/src/print/IPageLayout.d.ts +635 -0
  328. package/types/src/print/PageLayout.d.ts +258 -0
  329. package/types/src/print/index.d.ts +1 -1
  330. package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
  331. package/types/src/protection/IProtection.d.ts +6 -0
  332. package/types/src/protection/PasswordHasher.d.ts +13 -0
  333. package/types/src/richData/IRichDataKind.d.ts +22 -0
  334. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  335. package/types/src/richData/RichText.d.ts +59 -0
  336. package/types/src/richData/index.d.ts +3 -0
  337. package/types/src/scripting/IModule.d.ts +3 -3
  338. package/types/src/scripting/IScript.d.ts +2 -2
  339. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  340. package/types/src/scripting/declarations.d.ts +3 -0
  341. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  342. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  343. package/types/src/selection/IItemSelection.d.ts +131 -0
  344. package/types/src/selection/IMovableSelection.d.ts +6 -34
  345. package/types/src/selection/IRangeSelection.d.ts +4 -4
  346. package/types/src/selection/ItemSelection.d.ts +49 -0
  347. package/types/src/selection/MovableSelection.d.ts +11 -30
  348. package/types/src/selection/RangeSelection.d.ts +4 -4
  349. package/types/src/selection/index.d.ts +3 -0
  350. package/types/src/shape/IShape.d.ts +2 -1
  351. package/types/src/shape/IShapeStyle.d.ts +5 -31
  352. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  353. package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
  354. package/types/src/shape/_Connectors.d.ts +9 -9
  355. package/types/src/shape/_ShapeStyle.d.ts +9 -0
  356. package/types/src/shape/index.d.ts +1 -0
  357. package/types/src/sheet/CellRegion.d.ts +37 -3
  358. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  359. package/types/src/sheet/ISheet.d.ts +81 -1078
  360. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  361. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
  362. package/types/src/sheet/NamedCellRange.d.ts +2 -2
  363. package/types/src/sheet/NamedRange.d.ts +2 -2
  364. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  365. package/types/src/sheet/SheetCell.d.ts +24 -27
  366. package/types/src/sheet/SheetRange.d.ts +42 -11
  367. package/types/src/sheet/SheetRanges.d.ts +12 -10
  368. package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +510 -144
  369. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  370. package/types/src/sheet/_Anomalies.d.ts +109 -0
  371. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  372. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  373. package/types/src/sheet/_CellBuffer.d.ts +11 -1
  374. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  375. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  376. package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
  377. package/types/src/sheet/_Kinds.d.ts +34 -0
  378. package/types/src/sheet/_Labels.d.ts +38 -0
  379. package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
  380. package/types/src/sheet/_ScalarListFactory.d.ts +1 -1
  381. package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
  382. package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
  383. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  384. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  385. package/types/src/sheet/_SheetEvents.d.ts +1 -1
  386. package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
  387. package/types/src/sheet/_SheetIntents.d.ts +32 -14
  388. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  389. package/types/src/sheet/_SheetMutations.d.ts +7 -8
  390. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  391. package/types/src/sheet/_SheetStateReader.d.ts +18 -0
  392. package/types/src/sheet/_SheetStateTypes.d.ts +60 -1
  393. package/types/src/sheet/_SheetUtils.d.ts +20 -19
  394. package/types/src/sheet/_WatchAnchor.d.ts +15 -2
  395. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  396. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  397. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  398. package/types/src/sheet/index.d.ts +5 -2
  399. package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
  400. package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
  401. package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
  402. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  403. package/types/src/sheet/style/_Resolvers.d.ts +3 -2
  404. package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
  405. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
  406. package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
  407. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  408. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  409. package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
  410. package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
  411. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
  412. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  413. package/types/src/sheetProtection/index.d.ts +1 -1
  414. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
  415. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  416. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  417. package/types/src/sheetView/index.d.ts +1 -1
  418. package/types/src/slicer/ISlicer.d.ts +2 -2
  419. package/types/src/sort/ISort.d.ts +35 -5
  420. package/types/src/style/ICellStyle.d.ts +56 -44
  421. package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
  422. package/types/src/table/AnchoredTable.d.ts +23 -7
  423. package/types/src/table/AutoTable.d.ts +1 -1
  424. package/types/src/table/ITable.d.ts +32 -19
  425. package/types/src/table/_NamedTable.d.ts +3 -3
  426. package/types/src/table/_NamedTableSource.d.ts +2 -2
  427. package/types/src/text/IText.d.ts +4 -51
  428. package/types/src/text/TextEngine.d.ts +34 -0
  429. package/types/src/text/TextFrame.d.ts +4 -2
  430. package/types/src/text/TextRun.d.ts +3 -2
  431. package/types/src/text/TextWrapper.d.ts +32 -26
  432. package/types/src/text/_TextUtils.d.ts +5 -5
  433. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  434. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  435. package/types/src/text/richtext/IRichText.d.ts +16 -2
  436. package/types/src/text/richtext/index.d.ts +0 -1
  437. package/types/src/theme/ITheme.d.ts +108 -7
  438. package/types/src/theme/ThemeCollection.d.ts +5 -0
  439. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  440. package/types/src/transaction/ITransaction.d.ts +20 -1
  441. package/types/src/transaction/Transaction.d.ts +8 -1
  442. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  443. package/types/src/type/AbstractCollection.d.ts +4 -13
  444. package/types/src/type/ICollection.d.ts +17 -4
  445. package/types/src/type/IProperties.d.ts +1 -1
  446. package/types/src/utils/_CSSUtils.d.ts +1 -1
  447. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  448. package/types/src/wasm/_sdkWasm.d.ts +1 -1
  449. package/types/src/wasm/fontsWasm.d.ts +32 -0
  450. package/types/src/wasm/index.d.ts +1 -0
  451. package/types/src/wasm/loader.browser.d.ts +9 -0
  452. package/types/src/wasm/loader.node.d.ts +9 -0
  453. package/types/src/wasm/sdkWasm.d.ts +6 -3
  454. package/types/src/workbook/IWorkbook.d.ts +229 -38
  455. package/types/src/workbook/Workbook.d.ts +77 -22
  456. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  457. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  458. package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
  459. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  460. package/types/src/workbookView/IWorkbookView.d.ts +82 -0
  461. package/types/src/workbookView/WorkbookView.d.ts +21 -0
  462. package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
  463. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
  464. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
  465. package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
  466. package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
  467. package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
  468. package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
  469. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
  470. package/types/src/chart/_ChartXml.d.ts +0 -70
  471. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
  472. package/types/src/collections/_RangeSweep.d.ts +0 -97
  473. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  474. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  475. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  476. package/types/src/print/IPrint.d.ts +0 -212
  477. package/types/src/sheet/SheetCollection.d.ts +0 -29
  478. package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
  479. package/types/src/sheetView/SheetView.d.ts +0 -122
  480. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
@@ -5,7 +5,6 @@ import { ISpatialMap } from './ISpatialMap';
5
5
  * The default implementation for {@link ISpatialMap}
6
6
  */
7
7
  export declare class SpatialMap<T = any> implements ISpatialMap<T> {
8
- protected _shared: SharedRecord<T> | null;
9
8
  protected _rTree: FilterRTree<T>;
10
9
  protected _cloneKey: any;
11
10
  protected _options: ISpatialMap.ConstructorOptions<T> | undefined;
@@ -60,13 +59,12 @@ export declare class SpatialMap<T = any> implements ISpatialMap<T> {
60
59
  delete(coords: RangeCoords | null): this;
61
60
  /** {@inheritDoc ISpatialMap.clone} */
62
61
  clone(cloneKey?: any): this;
63
- protected _copy(source: SharedRecord<T>, entries?: ReadonlyArray<ISpatialMap.Entry<T>>): SharedRecord<T>;
64
62
  protected _updateNodes(nodesInsert: ISpatialMap.Entry<T>[], nodesRemove?: ISpatialMap.Entry<T>[], onUpdates?: (nodesInsert: ISpatialMap.Entry<T>[], nodesRemove: ISpatialMap.Entry<T>[], map: ISpatialMap<T>) => void): void;
65
63
  protected _mergeNodes(range: RangeCoords, fullyContained?: boolean): ISpatialMap.Entry<T>[];
66
64
  protected _getReadTree(): FilterRTree<T>;
67
- protected _ensureWritable(entries?: ReadonlyArray<ISpatialMap.Entry<T>>): void;
68
65
  /**
69
- * entries is a special performance optimization to allow a single bulk load.
66
+ * The tree, with the search caches invalidated for a write; loads `entries` into it first if
67
+ * given.
70
68
  */
71
69
  protected _getWritableTree(entries?: ReadonlyArray<ISpatialMap.Entry<T>>): FilterRTree<T>;
72
70
  /**
@@ -78,10 +76,6 @@ export declare class SpatialMap<T = any> implements ISpatialMap<T> {
78
76
  */
79
77
  protected _createClone(options: ISpatialMap.ConstructorOptions<T> | undefined): this;
80
78
  }
81
- interface SharedRecord<T> {
82
- refCount: number;
83
- rTree: FilterRTree<T>;
84
- }
85
79
  /**
86
80
  * Internal class that extends RTree to support Filters.
87
81
  * is needed — the default passthrough in RTree works directly.
@@ -11,6 +11,8 @@ import { ISpatialMap3D } from './ISpatialMap3D';
11
11
  */
12
12
  export declare class SpatialMap3D<T = any> implements ISpatialMap3D<T> {
13
13
  protected _mapScopeTo2Ds: Map<string, ISpatialMap<T>>;
14
+ /** The key this map was cloned under, if any - see {@link clone}. */
15
+ protected _cloneKey: any;
14
16
  protected _last2DKey: string | null | undefined;
15
17
  protected _last2DMap: ISpatialMap<T> | undefined;
16
18
  protected _options: SpatialMap3D.ConstructorOptions<T> | undefined;
@@ -9,7 +9,7 @@ export * from './ISpatialMap3D';
9
9
  export * as IteratorUtils from './IteratorUtils';
10
10
  export * from './ImmutableList';
11
11
  export * from './IList';
12
- export * from './OverlappingRangeIterator';
12
+ export { OverlappingRange } from '@sheetxl/utils';
13
13
  export * from './SortedMap';
14
14
  export * from './SparseGrid';
15
15
  export * from './ScalarGrid';
@@ -1,11 +1,15 @@
1
1
  import { IRange } from '@sheetxl/primitives';
2
+ import { Bounds } from '@sheetxl/utils';
2
3
  import { IListener } from '../listener';
3
4
  import { ITransaction } from '../transaction';
4
5
  import { ICellRange, ICellRanges } from '../cellRange';
5
- import { ISheet } from '../sheet';
6
+ import { IWorksheet } from '../sheet';
6
7
  import { IPerson, IPersonCollection } from '../person';
7
8
  import { IMovable } from '../movable';
8
9
  import { IRichText } from '../text';
10
+ import { IFill, IStroke } from '../fill';
11
+ import { IStyleCollection } from '../style';
12
+ import { IShapeStyle } from '../shape';
9
13
  import { Anchored } from '../anchored/Anchored';
10
14
  import { AbstractAnchored } from '../anchored/AbstractAnchored';
11
15
  import { IComment } from './IComment';
@@ -31,6 +35,7 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
31
35
  * brings the same one back, and a note made again from a thread is given a new one.
32
36
  */
33
37
  private _boxes;
38
+ private _style;
34
39
  /** @internal */
35
40
  protected _initialize(options: Comment.ConstructorOptions): void;
36
41
  /** @internal */
@@ -54,8 +59,8 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
54
59
  * never asks the model for it, so this is free to answer the way Office Scripts does.
55
60
  */
56
61
  getId(): string;
57
- /** {@inheritDoc IComment.getSheet} */
58
- getSheet(): ISheet;
62
+ /** {@inheritDoc IComment.getWorksheet} */
63
+ getWorksheet(): IWorksheet;
59
64
  /** {@inheritDoc IComment.getRange} */
60
65
  getRange(options?: ICellRange.GetRangeOptions): ICellRange;
61
66
  /** {@inheritDoc IComment.getContent} */
@@ -94,17 +99,19 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
94
99
  setDescription(description: string | null): this;
95
100
  /** {@inheritDoc IComment.getMovable} */
96
101
  getMovable(): IMovable | null;
102
+ /** {@inheritDoc IComment.getStyle} */
103
+ getStyle(): IShapeStyle | null;
97
104
  /**
98
105
  * The live box, if there is one.
99
106
  * @internal
100
107
  */
101
108
  protected _getBox(): NoteMovable | null;
102
109
  /**
103
- * Asks the sheet for a box: at `anchor`, its cells counted from this comment's, or where Excel
104
- * puts a new note's. A comment with no sheet to place one on has no box.
110
+ * Asks the sheet for a box: at `placement`, or where Excel puts a new note's. A comment with no
111
+ * sheet to place one on has no box.
105
112
  * @internal
106
113
  */
107
- protected _placeBox(anchor: IMovable.AnchorOffset | null, hidden: boolean): void;
114
+ protected _placeBox(placement: Comment.BoxPlacement | null, hidden: boolean): void;
108
115
  /**
109
116
  * The note is gone, or is a thread now: its box goes with it.
110
117
  * @internal
@@ -182,7 +189,20 @@ export declare namespace Comment {
182
189
  * What places a note's box. A comment given none has no movable.
183
190
  */
184
191
  boxes?: Comment.Boxes;
192
+ /**
193
+ * The workbook's styles, for resolving a note's colors. Lazy, as {@link getPeople} is.
194
+ */
195
+ getStyles?: () => IStyleCollection | null;
185
196
  }
197
+ /**
198
+ * Where a note's box is placed: by its cells counted from the note's, or by pixels from the
199
+ * sheet's top-left (see {@link IComment.BoxJSON.bounds}).
200
+ */
201
+ type BoxPlacement = {
202
+ anchor: IMovable.AnchorOffset;
203
+ } | {
204
+ bounds: Bounds;
205
+ };
186
206
  /**
187
207
  * What a note's box needs of the sheet it is on: to be placed, and to know whether it is where
188
208
  * a new note's goes.
@@ -192,11 +212,10 @@ export declare namespace Comment {
192
212
  * Places a note's box among the sheet's movables, with the note as its content.
193
213
  *
194
214
  * @param comment The note.
195
- * @param anchor Where the box is, its cells counted from the note's; `null` for where Excel
196
- * puts a new note's.
215
+ * @param placement Where the box is; `null` for where Excel puts a new note's.
197
216
  * @param hidden Whether the box appears only while its cell is pointed at.
198
217
  */
199
- add(comment: Comment, anchor: IMovable.AnchorOffset | null, hidden: boolean): NoteMovable;
218
+ add(comment: Comment, placement: BoxPlacement | null, hidden: boolean): NoteMovable;
200
219
  /**
201
220
  * Whether a box is where a new note's goes, which a note saves nothing for.
202
221
  */
@@ -218,6 +237,10 @@ interface State extends AbstractAnchored.State {
218
237
  description: string | null;
219
238
  /** How a note's box is drawn when not the default: markup a file's writer replays. */
220
239
  boxXml: string | null;
240
+ /** The fill a note's box states. */
241
+ boxFill: IFill.JSON | null;
242
+ /** The line a note's box states. */
243
+ boxStroke: IStroke.JSON | null;
221
244
  }
222
245
  export {};
223
246
  //# sourceMappingURL=Comment.d.ts.map
@@ -1,11 +1,14 @@
1
+ import { Bounds } from '@sheetxl/utils';
1
2
  import { IAnchored } from '../anchored';
2
3
  import { ICellRange } from '../cellRange';
3
4
  import { IListener } from '../listener';
4
5
  import { ITransaction } from '../transaction';
5
6
  import { IPerson } from '../person';
6
- import { ISheet } from '../sheet';
7
+ import { IWorksheet } from '../sheet';
7
8
  import { IMovable } from '../movable';
8
9
  import { IRichText } from '../text';
10
+ import { IFill, IStroke } from '../fill';
11
+ import { IShapeStyle } from '../shape';
9
12
  /**
10
13
  * A comment on a cell: the root of a thread, with its replies, or a note.
11
14
  *
@@ -54,6 +57,22 @@ export interface IComment extends IAnchored, IMovable.IContent {
54
57
  * ```
55
58
  */
56
59
  getMovable(): IMovable | null;
60
+ /**
61
+ * The fill and line of a note's box, or `null` for a threaded comment, which has no box.
62
+ *
63
+ * @remarks
64
+ * A note that states neither draws Excel's default: the system tooltip background
65
+ * ({@link IColor.Named.InfoBk}) and a thin line in the tooltip text color. Excel takes only
66
+ * literal colors here; a theme color is written to a file as the color it resolves to.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const note = sheet.getComments().add('B2', 'Check this', { asNote: true });
71
+ * note.getStyle()!.setFill('#ccffcc');
72
+ * note.getStyle()!.getStroke().setWidth(2.25);
73
+ * ```
74
+ */
75
+ getStyle(): IShapeStyle | null;
57
76
  /**
58
77
  * Deletes the comment: its replies with it, or a note's box.
59
78
  */
@@ -61,7 +80,7 @@ export interface IComment extends IAnchored, IMovable.IContent {
61
80
  /**
62
81
  * The sheet the comment is on.
63
82
  */
64
- getSheet(): ISheet;
83
+ getWorksheet(): IWorksheet;
65
84
  /**
66
85
  * The cell the comment is on.
67
86
  *
@@ -339,8 +358,26 @@ export declare namespace IComment {
339
358
  */
340
359
  anchor?: IMovable.AnchorOffset;
341
360
  /**
342
- * How the box is drawn when that is not Excel's default, held as it was read: the VML
343
- * `<v:shape>` without its id, its position or its cell.
361
+ * Where the box is in pixels from the sheet's top-left, for a box placed by position rather
362
+ * than by cells. Used only when there is no {@link anchor}; once loaded, the box is anchored
363
+ * to the cells under it and saves an `anchor`.
364
+ *
365
+ * @remarks
366
+ * A VML note shape with no `<x:Anchor>` (openpyxl writes them) is placed this way in Excel,
367
+ * literally, wherever its note's cell is.
368
+ */
369
+ bounds?: Bounds;
370
+ /**
371
+ * The box's fill, where it states one. Absent draws Excel's default.
372
+ */
373
+ fill?: IFill.JSON;
374
+ /**
375
+ * The box's line, where it states one. Absent draws Excel's default.
376
+ */
377
+ stroke?: IStroke.JSON;
378
+ /**
379
+ * The rest of how the box is drawn when that is not Excel's default, held as it was read: the
380
+ * VML `<v:shape>` without its id, its position, its cell, its fill or its line.
344
381
  */
345
382
  xml?: string;
346
383
  }
@@ -1,6 +1,7 @@
1
1
  import { IRange } from '@sheetxl/primitives';
2
2
  import { Bounds } from '@sheetxl/utils';
3
3
  import { IMovable } from '../movable';
4
+ import { IWorksheet } from '../sheet';
4
5
  import { Movable } from '../movable/Movable';
5
6
  /**
6
7
  * Where a note's box goes when nothing has moved it, and how a note stores where its box is.
@@ -8,7 +9,8 @@ import { Movable } from '../movable/Movable';
8
9
  * @remarks
9
10
  * The default is Excel's, probed with hidden COM on a 96-DPI machine (2026-09-30): a 144×79 px
10
11
  * box hung 15 px right of its cell and 10 px above its top, flipped to the other side when it
11
- * would pass the sheet's last column or row. It is pixel geometry first and the cells those
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
12
14
  * pixels fall on second, so tall, narrow and hidden rows and columns need no rule of their own.
13
15
  *
14
16
  * A note stores its box's anchor with the cells counted from the note's own, so a note copied
@@ -24,10 +26,25 @@ export declare const NOTE_DEFAULT_HEIGHT = 79;
24
26
  * The cell geometry placing a box needs: the same three a movable is built with.
25
27
  */
26
28
  export type NoteLayout = Required<Pick<Movable.ConstructorOptions, 'getBoundsAtCoords' | 'getCoordsAtBounds' | 'getMaxBounds'>>;
29
+ /** The merge a cell is in, or `null` when it is in none. */
30
+ export type MergeAt = (cell: IRange.CellCoords) => IRange.Coords | null;
31
+ /** {@link MergeAt} through a sheet's cells, for once it has loaded. */
32
+ export declare const sheetMergeAt: (sheet: IWorksheet) => MergeAt;
33
+ /**
34
+ * The cells a note's box hangs beside: the note's cell, or the merge it anchors.
35
+ */
36
+ export declare function noteBoxTarget(mergeAt: MergeAt, cell: IRange.CellCoords): IRange.Coords;
27
37
  /**
28
38
  * The bounds of a note's box when nothing has moved or resized it.
39
+ *
40
+ * @param target The cells the box hangs beside, from {@link noteBoxTarget}.
41
+ */
42
+ export declare function defaultNoteBounds(target: IRange.Coords, layout: NoteLayout): Bounds;
43
+ /**
44
+ * Bounds measured from the sheet's top-left (as a file's VML `style` places a box with no anchor)
45
+ * in the layout's coordinates.
29
46
  */
30
- export declare function defaultNoteBounds(cell: IRange.CellCoords, layout: NoteLayout): Bounds;
47
+ export declare function sheetNoteBounds(bounds: Bounds, layout: NoteLayout): Bounds;
31
48
  /**
32
49
  * The cells and offsets a box's corners fall on, as a movable is loaded from.
33
50
  */
@@ -4,6 +4,7 @@ import { IListener } from '../listener';
4
4
  import { ITransaction } from '../transaction';
5
5
  import { Tuple, ISparseGrid } from '../collections';
6
6
  import { ICalculation } from '../calculation';
7
+ import { FormulaHost } from '../calculation/grid';
7
8
  import { ICellRange, ICellRanges } from '../cellRange';
8
9
  import { ICondition } from '../condition';
9
10
  import { ConditionFormulaBinding } from '../condition/_ConditionFormula';
@@ -45,8 +46,29 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
45
46
  protected abstract _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
46
47
  /** @internal */
47
48
  protected abstract _getType(): string;
48
- /** @internal */
49
- protected abstract _processValueUpdates(range: ICellRange | null): void;
49
+ /**
50
+ * Re-judges the rule after a change.
51
+ *
52
+ * @returns What the re-judging awaits, when it does: counted as calculation in flight until it
53
+ * settles (see `ICalculation.waitUntil`).
54
+ * @internal
55
+ */
56
+ protected abstract _processValueUpdates(range: ICellRange | null): void | Promise<void>;
57
+ /**
58
+ * Whether this rule's formula watches evaluate a blank region the answer of which depends on
59
+ * the position only where the rule is read (`WatchAnchor.Options.paged`): a cell not read yet
60
+ * has no answer and judges as no match until its tile is delivered. Right for a rule read a
61
+ * window at a time - a format, painted where it is on screen - and not for one whose every
62
+ * answer is wanted at once.
63
+ * @internal
64
+ */
65
+ protected _pagesWatches(): boolean;
66
+ /**
67
+ * Whether every formula watch of this rule holds its answer at a cell of the area at
68
+ * `areaIndex`, asking for the cell where one does not (see `FormulaHost.request`).
69
+ * @internal
70
+ */
71
+ protected _requestWatchedCell(areaIndex: number, row: number, column: number): boolean;
50
72
  /** @internal */
51
73
  protected abstract _fromJSON(json: JSON | undefined, options?: ITransaction.OperationOptions): void;
52
74
  /** @internal */
@@ -309,9 +331,13 @@ export declare class AreaResultCollector {
309
331
  */
310
332
  interface WatchEntry {
311
333
  remove: IListener.Remove;
334
+ /** The areas the watch was registered over, as an address: a rule reshaped since asks again. */
335
+ areas: string;
312
336
  values: (IRange | null)[];
313
337
  /** Resolvers waiting on an area's first delivery — a LIST: passes overlap, and each has its own. */
314
338
  pending: (((values: IRange | null) => void)[])[];
339
+ /** Each area's host, once registered: what a paged watch is asked for cells through. */
340
+ hosts: (FormulaHost | undefined)[];
315
341
  }
316
342
  /**
317
343
  * Tables are designed to be instantiated as both standalone and anchored items that represent a table of data on a sheet.
@@ -389,9 +389,10 @@ export declare namespace ICondition {
389
389
  */
390
390
  cellColor?: boolean;
391
391
  /**
392
- * If filtered then the id.
392
+ * The format to match: its fill when {@link ICondition.ColorOption.cellColor} is `true`,
393
+ * otherwise its font color.
393
394
  */
394
- styleId?: number;
395
+ style?: ICellStyle.Properties;
395
396
  }
396
397
  /**
397
398
  * Types of time-periods.
@@ -4,7 +4,7 @@ import { ITransaction } from '../transaction';
4
4
  import { IListener } from '../listener';
5
5
  import { ICellRange, ICellRanges } from '../cellRange';
6
6
  import { ICellStyle, IStyleCollection } from '../style';
7
- import { ISheet } from '../sheet';
7
+ import { IWorksheet } from '../sheet';
8
8
  import { ISparseGrid, ISpatialMap } from '../collections';
9
9
  import { ICalculation } from '../calculation';
10
10
  import { BlankResolver } from '../condition/_ConditionUtils';
@@ -61,12 +61,18 @@ export declare class ConditionalFormat extends AnchoredConditional<State, ICondi
61
61
  protected _initialize(options: ConditionalFormat.ConstructorOptions): void;
62
62
  /** @internal */
63
63
  protected _getType(): string;
64
+ /**
65
+ * A format is read where it is painted, so a whole-column rule whose answer depends on the row
66
+ * (`ISODD(ROW())`) is evaluated a window at a time rather than a million cells at once.
67
+ * @internal
68
+ */
69
+ protected _pagesWatches(): boolean;
64
70
  /** @internal */
65
71
  protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
66
72
  /** @internal */
67
73
  protected _getDefaultState(options: ConditionalFormat.ConstructorOptions): Readonly<State>;
68
74
  /** @internal */
69
- protected _processValueUpdates(_range?: ICellRange | null): void;
75
+ protected _processValueUpdates(_range?: ICellRange | null): Promise<void>;
70
76
  /**
71
77
  * Resolves every stop to the number it stands for, in the order they were authored.
72
78
  *
@@ -168,7 +174,7 @@ export declare class ConditionalFormat extends AnchoredConditional<State, ICondi
168
174
  }
169
175
  export declare namespace ConditionalFormat {
170
176
  interface ConstructorOptions extends AnchoredConditional.ConstructorOptions<IConditionalFormat.JSON> {
171
- sheet?: ISheet;
177
+ sheet?: IWorksheet;
172
178
  }
173
179
  }
174
180
  interface State extends AnchoredConditional.State {
@@ -26,7 +26,7 @@ export interface IConditionalFormat extends IAnchored, ICondition.Stateful, IPro
26
26
  /**
27
27
  * Re-anchors this rule to `address`, REPLACING every range it currently covers.
28
28
  *
29
- * @param address The range or ranges to cover — anything `ISheet.getRanges` accepts
29
+ * @param address The range or ranges to cover — anything `IWorksheet.getRanges` accepts
30
30
  * (`'A1:C20'`, `'A1:A5, C1:C5'`, coords). Resolved against this rule's own sheet.
31
31
  * @param options Transaction options; `description` names the entry in undo history.
32
32
  *
@@ -281,7 +281,7 @@ export declare namespace IConditionalFormat {
281
281
  interface DataBar {
282
282
  type: typeof IConditionalFormat.ScaleType.DataBar;
283
283
  /**
284
- * The lower and upper bound of the bar. Always two.
284
+ * The lower and upper bound of the bar. Always two; a missing bound is `min` / `max`.
285
285
  */
286
286
  stops: IConditionalFormat.Stop[];
287
287
  /**
@@ -332,7 +332,8 @@ export declare namespace IConditionalFormat {
332
332
  interface IconSet {
333
333
  type: typeof IConditionalFormat.ScaleType.IconSet;
334
334
  /**
335
- * Where each icon's band starts. One per icon in the set.
335
+ * Where each icon's band starts. One per icon in the set. With fewer than two, the bands are
336
+ * even percents of the range (`0/33/67` for three icons).
336
337
  */
337
338
  stops: IConditionalFormat.Stop[];
338
339
  /**
@@ -0,0 +1,67 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { Anchored } from '../anchored/Anchored';
3
+ import { AbstractAnchored } from '../anchored/AbstractAnchored';
4
+ import { AbstractMovableContent } from '../movable/AbstractMovableContent';
5
+ import { IDataTable } from './IDataTable';
6
+ interface State extends AbstractAnchored.State {
7
+ anchorCoords: IRange.Coords;
8
+ }
9
+ /**
10
+ * Implementation for {@link IDataTable}: anchored on its result cells, its input cells held in the
11
+ * engine as references.
12
+ *
13
+ * @remarks
14
+ * Excel's rules, from `openpy-parity/probe-data-table.ps1` (2026-10-18): the results move whole or
15
+ * go whole ({@link _processContainerShift}), and the input cells follow their cells, a deleted
16
+ * one keeping its last address.
17
+ */
18
+ export declare class DataTable extends AbstractAnchored<State, IDataTable.Events> implements IDataTable {
19
+ private _rowInput;
20
+ private _columnInput;
21
+ private _calculateAlways;
22
+ private _removeWatches;
23
+ constructor(options: DataTable.ConstructorOptions);
24
+ protected _initialize(options: DataTable.ConstructorOptions): void;
25
+ /** {@inheritDoc IDataTable.getRowInput} */
26
+ getRowInput(): string | null;
27
+ /** {@inheritDoc IDataTable.getColumnInput} */
28
+ getColumnInput(): string | null;
29
+ /** {@inheritDoc IDataTable.isRowInputDeleted} */
30
+ isRowInputDeleted(): boolean;
31
+ /** {@inheritDoc IDataTable.isColumnInputDeleted} */
32
+ isColumnInputDeleted(): boolean;
33
+ /** {@inheritDoc IDataTable.toJSON} */
34
+ toJSON(): IDataTable.JSON | null;
35
+ /**
36
+ * Excel's "Can't change part of a data table": an insert or delete through the results, or one
37
+ * that moves part of them, is refused before anything of the edit commits. An edit before them
38
+ * moves them whole; one taking all of them deletes the table.
39
+ * @internal
40
+ */
41
+ protected _processContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
42
+ /**
43
+ * The results may no longer be what the table calculates: has Excel recalculate it on open.
44
+ * TODO - goes when the engine evaluates `TABLE`; see `Sheet._markDataTablesStale`.
45
+ * @internal
46
+ */
47
+ _markStale(): void;
48
+ /**
49
+ * Lets go of the input cells' references.
50
+ * @internal
51
+ */
52
+ _releaseWatches(): void;
53
+ /** @internal */
54
+ protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
55
+ /** {@inheritDoc IDataTable.isIDataTable} */
56
+ get isIDataTable(): true;
57
+ }
58
+ export declare namespace DataTable {
59
+ interface ConstructorOptions extends Anchored.ConstructorOptions<IDataTable.JSON> {
60
+ /**
61
+ * Holds an input cell's reference in the engine. Without it the inputs are kept as read.
62
+ */
63
+ addWatch?: AbstractMovableContent.AddWatch;
64
+ }
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=DataTable.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { AbstractCollection } from '../type';
2
+ import { IDataTable } from './IDataTable';
3
+ import { IDataTableCollection } from './IDataTableCollection';
4
+ /**
5
+ * Implementation for {@link IDataTableCollection}: a front over the sheet's anchored map. Nothing
6
+ * edits a data table yet, so there is nothing to announce.
7
+ */
8
+ export declare class DataTableCollection extends AbstractCollection<IDataTable> implements IDataTableCollection {
9
+ private _getItemsDelegate;
10
+ /**
11
+ * @param getItems Returns the tables, as an array the caller may keep.
12
+ */
13
+ constructor(getItems: () => IDataTable[]);
14
+ /** {@inheritDoc AbstractCollection._getItems} */
15
+ protected _getItems(): IDataTable[];
16
+ /** {@inheritDoc IDataTableCollection.isIDataTableCollection} */
17
+ get isIDataTableCollection(): true;
18
+ }
19
+ //# sourceMappingURL=DataTableCollection.d.ts.map
@@ -0,0 +1,99 @@
1
+ import { ICellRange } from '../cellRange';
2
+ import { IAnchored } from '../anchored';
3
+ /**
4
+ * A what-if data table (Excel's **What-If Analysis > Data Table**): a block of result cells, each
5
+ * the table's formula evaluated with its row and column values put in the input cells.
6
+ *
7
+ * @remarks
8
+ * The table is carried, not calculated: its results are the values the file held, and nothing
9
+ * recalculates them. Excel recalculates it when it opens the file (when the calculation mode and
10
+ * {@link IDataTable.JSON.calculateAlways} allow).
11
+ *
12
+ * The anchor is the result cells; the formula, the row values above them and the column values to
13
+ * their left are ordinary cells. As in Excel, an edit to part of the results is refused, and one
14
+ * that clears or deletes all of them deletes the table.
15
+ */
16
+ export interface IDataTable extends IAnchored {
17
+ toJSON(): IDataTable.JSON | null;
18
+ /**
19
+ * Returns the result cells.
20
+ *
21
+ * @remarks
22
+ * An insert or delete before them moves them, one taking all of them deletes the table
23
+ * ({@link IAnchored.isDeleted}), and one that would move part of them is refused.
24
+ */
25
+ getRange(options?: ICellRange.GetRangeOptions): ICellRange;
26
+ /**
27
+ * Returns the input cell the row values are put in, as an A1 address on this sheet, or `null`
28
+ * when the table has none (a one-input table down a column).
29
+ *
30
+ * @remarks
31
+ * Follows the cell through inserts, deletes and moves. Once the cell is deleted this is the last
32
+ * address it had, and {@link isRowInputDeleted} is `true`.
33
+ */
34
+ getRowInput(): string | null;
35
+ /**
36
+ * Returns the input cell the column values are put in, as an A1 address on this sheet, or `null`
37
+ * when the table has none (a one-input table along a row).
38
+ *
39
+ * @remarks
40
+ * Follows the cell as {@link getRowInput} does.
41
+ */
42
+ getColumnInput(): string | null;
43
+ /**
44
+ * Returns whether the row input cell was deleted. The table's results are then `#REF!` in Excel.
45
+ */
46
+ isRowInputDeleted(): boolean;
47
+ /**
48
+ * Returns whether the column input cell was deleted.
49
+ */
50
+ isColumnInputDeleted(): boolean;
51
+ /** For runtime type checking. */
52
+ readonly isIDataTable: true;
53
+ }
54
+ export declare namespace IDataTable {
55
+ /**
56
+ * JSON representation of a data table.
57
+ *
58
+ * @remarks
59
+ * A table has a row input, a column input, or both (a two-input table).
60
+ */
61
+ interface JSON {
62
+ /**
63
+ * The result cells, as an A1 range.
64
+ */
65
+ ref: string;
66
+ /**
67
+ * The input cell the row values are put in, as an A1 address on the same sheet.
68
+ */
69
+ rowInput?: string;
70
+ /**
71
+ * The input cell the column values are put in, as an A1 address on the same sheet.
72
+ */
73
+ columnInput?: string;
74
+ /**
75
+ * Whether the row input cell was deleted; {@link rowInput} is then its last address.
76
+ */
77
+ rowInputDeleted?: boolean;
78
+ /**
79
+ * Whether the column input cell was deleted; {@link columnInput} is then its last address.
80
+ */
81
+ columnInputDeleted?: boolean;
82
+ /**
83
+ * Whether Excel recalculates the table when it opens the file. Without it, Excel shows the
84
+ * results as saved until something recalculates the table.
85
+ *
86
+ * @remarks
87
+ * Kept as read until the workbook's cell data is edited, on any sheet. Then it is set on every
88
+ * table, because nothing here recalculates the results and they may no longer be right. It stays
89
+ * set when the edit is undone.
90
+ */
91
+ calculateAlways?: boolean;
92
+ }
93
+ /**
94
+ * `Events` for {@link IDataTable}.
95
+ */
96
+ interface Events extends IAnchored.Events<IDataTable> {
97
+ }
98
+ }
99
+ //# sourceMappingURL=IDataTable.d.ts.map
@@ -0,0 +1,18 @@
1
+ import { ICollection } from '../type';
2
+ import { IDataTable } from './IDataTable';
3
+ /**
4
+ * Holds a sheet's {@link IDataTable | data tables}.
5
+ *
6
+ * @remarks
7
+ * Read-only for now: a table is carried as it was read and written back. Creating one and
8
+ * calculating it wait on the engine evaluating `TABLE`.
9
+ */
10
+ export interface IDataTableCollection extends ICollection<IDataTable> {
11
+ /**
12
+ * Returns the data tables, in the order they were read.
13
+ */
14
+ getItems(options?: ICollection.GetItemsOptions): IDataTable[];
15
+ /** For runtime type checking. */
16
+ readonly isIDataTableCollection: true;
17
+ }
18
+ //# sourceMappingURL=IDataTableCollection.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export * from './IDataTable';
5
+ export * from './IDataTableCollection';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -52,7 +52,7 @@ export declare class DataValidation extends AnchoredConditional<State, IDataVali
52
52
  /** @internal */
53
53
  protected _getDefaultState(options: DataValidation.ConstructorOptions): Readonly<State>;
54
54
  /** @internal */
55
- protected _processValueUpdates(_range?: ICellRange | null): void;
55
+ protected _processValueUpdates(_range?: ICellRange | null): void | Promise<void>;
56
56
  /** Swaps in one evaluation's answers; everything derived from the previous ones goes with them. */
57
57
  protected _setResults(results: IGrid<boolean> | null, blankAreas: BlankArea[] | null, blankPerCell?: boolean): void;
58
58
  /** Whether an EMPTY cell of `areas` fails. Every area covering the cell has a say, as for values. */