@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
@@ -0,0 +1,444 @@
1
+ import { IFill } from '../../fill/IFill';
2
+ import { IStroke } from '../../fill/IStroke';
3
+ import { ChartModel } from '../model/ChartModel';
4
+ import { HistogramBin } from '../math/Histogram';
5
+ import { BoxStats, QuartileMethod } from '../math/BoxStats';
6
+ import { TrendlineFit, TrendlineTextRun, TrendlineType } from '../math/Trendlines';
7
+ /**
8
+ * A chart with every property concrete: what it states, else its style's, else Excel's default.
9
+ * Every color is concrete CSS (`#RRGGBB` or `rgba()`, `PaintUtils.toConcreteCSS`), in the fills and
10
+ * lines the model states: a gradient keeps its stops and a pattern its two colors. Lengths and font
11
+ * sizes are points, and labels are text.
12
+ *
13
+ * @remarks
14
+ * The input of layout. Values come from the model's caches.
15
+ */
16
+ export interface ResolvedChart {
17
+ /** The chart's type, by Office Scripts' names: what `IChart.getChartType` answers. */
18
+ chartType: string;
19
+ /** A 2016 chart (`cx:chartSpace`): its chrome is that style's, not a classic chart's. */
20
+ chartEx?: boolean;
21
+ /** The chart's own text font: what text with no font of its own is drawn in. */
22
+ font: ResolvedChart.Font;
23
+ /** `cornerRadius` in points: 0 for square corners. */
24
+ chartArea: {
25
+ fill: IFill.JSON | null;
26
+ border: ResolvedChart.Stroke | null;
27
+ cornerRadius: number;
28
+ };
29
+ title: ResolvedChart.Text | null;
30
+ plotArea: {
31
+ fill: IFill.JSON | null;
32
+ border: ResolvedChart.Stroke | null;
33
+ };
34
+ /** In the chart's order. */
35
+ axes: ResolvedChart.Axis[];
36
+ /** In the chart's order. */
37
+ groups: ResolvedChart.Group[];
38
+ legend: ResolvedChart.Legend | null;
39
+ /** Dates are serials of the 1904 system. */
40
+ date1904: boolean;
41
+ /** Whether a line is drawn across a blank point rather than broken at it (`dispBlanksAs span`). */
42
+ spanBlanks: boolean;
43
+ }
44
+ export declare namespace ResolvedChart {
45
+ interface Font {
46
+ family: string;
47
+ /** In pt. */
48
+ size: number;
49
+ bold: boolean;
50
+ italic: boolean;
51
+ /** What the text is filled with: a solid color, or a gradient. */
52
+ color: IFill.JSON;
53
+ }
54
+ /** A line as the model states it, with its fill concrete and its width (in pt) stated. */
55
+ type Stroke = IStroke.JSON & {
56
+ fill: IFill.JSON;
57
+ width: number;
58
+ };
59
+ interface Text {
60
+ text: string;
61
+ font: Font;
62
+ fill: IFill.JSON | null;
63
+ border: Stroke | null;
64
+ overlay: boolean;
65
+ /** The text's angle in degrees counterclockwise: 90 reads up, as an axis title up a side does. */
66
+ rotation?: number;
67
+ }
68
+ /** Where a data label sits by its point: DrawingML's `dLblPos`. */
69
+ type LabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
70
+ /** The label of one point. */
71
+ interface DataLabel {
72
+ /** Its lines joined by `
73
+ `. */
74
+ text: string;
75
+ position: LabelPosition;
76
+ font: Font;
77
+ fill: IFill.JSON | null;
78
+ border: Stroke | null;
79
+ }
80
+ interface Axis {
81
+ id: number;
82
+ crossAx: number;
83
+ type: ChartModel.AxisType;
84
+ position: 'b' | 'l' | 'r' | 't';
85
+ deleted: boolean;
86
+ line: Stroke | null;
87
+ majorGridlines: Stroke | null;
88
+ minorGridlines: Stroke | null;
89
+ majorTickMark: ChartModel.TickMark;
90
+ minorTickMark: ChartModel.TickMark;
91
+ tickLblPos: 'high' | 'low' | 'nextTo' | 'none';
92
+ labelFont: Font;
93
+ /** The labels' stated angle, in degrees counterclockwise; absent when Excel chooses. */
94
+ labelRotation?: number;
95
+ /** A category axis: the stated interval between labels (`tickLblSkip`); absent when Excel chooses. */
96
+ labelSkip?: number;
97
+ /**
98
+ * A category axis over multi-level categories draws each level (`noMultiLvlLbl` off), rather
99
+ * than one label of all of a category's levels.
100
+ */
101
+ multiLevel: boolean;
102
+ /** The format the labels are written in: the axis's own, or its data's when linked to source. */
103
+ formatCode: string;
104
+ orientation: 'minMax' | 'maxMin';
105
+ /** Stated bounds and units; absent ones are automatic. */
106
+ min?: number;
107
+ max?: number;
108
+ majorUnit?: number;
109
+ minorUnit?: number;
110
+ logBase?: number;
111
+ /** A date axis: the stated unit of its slots, and the stated units of its major and minor ticks. */
112
+ baseTimeUnit?: ChartModel.TimeUnit;
113
+ majorTimeUnit?: ChartModel.TimeUnit;
114
+ minorTimeUnit?: ChartModel.TimeUnit;
115
+ crosses: 'autoZero' | 'max' | 'min';
116
+ crossesAt?: number;
117
+ /** A value axis: whether the axis crossing it lays its categories out between ticks or on them. */
118
+ crossBetween: 'between' | 'midCat';
119
+ /** A built-in unit's name or a divisor. */
120
+ displayUnit?: string | number;
121
+ /** The display unit's label, shown beside the axis; `null` when the values are not shown in a unit or it is hidden. */
122
+ displayUnitLabel: Text | null;
123
+ /** A category axis's `lblOffset`: the labels' distance from the axis as a percentage of the default, 100. */
124
+ labelOffset: number;
125
+ /** The labels are stacked letter over letter (`a:bodyPr vert="wordArtVert"`). */
126
+ labelVertical: boolean;
127
+ title: Text | null;
128
+ }
129
+ interface Marker {
130
+ symbol: 'circle' | 'square' | 'diamond' | 'triangle' | 'x' | 'star' | 'plus' | 'dot' | 'dash';
131
+ /** In pt. */
132
+ size: number;
133
+ fill: IFill.JSON | null;
134
+ stroke: Stroke | null;
135
+ }
136
+ interface Series {
137
+ /**
138
+ * `s` and the key the chart names the series by: its `idx`, or `#` and its place among the
139
+ * chart's series where it states none (a 2016 chart's).
140
+ */
141
+ id: string;
142
+ idx: number;
143
+ order: number;
144
+ name: string;
145
+ /** By point; `null` is blank. */
146
+ values: (number | null)[];
147
+ /** Scatter groups: the x of each point, `1..n` when the series states none. */
148
+ xValues?: (number | null)[];
149
+ /** Bubble groups: each point's bubble size; `null` is blank. */
150
+ bubbleSizes?: (number | null)[];
151
+ /** By point, as text: the innermost level of multi-level categories. */
152
+ categories: string[];
153
+ /**
154
+ * Multi-level categories: by level, the innermost first, each by point with `''` for a blank (a
155
+ * blank in an outer level continues the group before it). Absent for categories of one level.
156
+ */
157
+ categoryLevels?: string[][];
158
+ /** By point, as numbers, where the categories are numbers (dates): what a date axis places them by. */
159
+ categoryValues?: (number | null)[];
160
+ /** The values' format: the cache's. */
161
+ formatCode: string;
162
+ fill: IFill.JSON | null;
163
+ stroke: Stroke | null;
164
+ marker: Marker | null;
165
+ smooth: boolean;
166
+ /**
167
+ * Pie, doughnut, of-pie and waterfall groups: how each point is drawn, by point; an of-pie's has
168
+ * one more, its slice for the points of the second plot (Excel's "Other").
169
+ */
170
+ points?: PointStyle[];
171
+ /** By point, the label drawn by it; `null` for a point without one. Absent when no point has one. */
172
+ labels?: (DataLabel | null)[];
173
+ /** The marker's size in pt, stated or Excel's 5, whether or not a marker is drawn: a label keeps clear of it. */
174
+ markerSize: number;
175
+ /** The series' trendlines, in the order it lists them. Absent when it has none. */
176
+ trendlines?: Trendline[];
177
+ /** The series' error bars, in the order it lists them. Absent when it has none. */
178
+ errorBars?: ErrorBars[];
179
+ /** Histogram groups: the values as read, which the group's bins index, before they were counted into `values`. */
180
+ raw?: (number | null)[];
181
+ /** Box and whisker groups: by category, the statistics of the series' values there; `null` for a category with none. */
182
+ boxes?: (BoxStats | null)[];
183
+ /** Box and whisker groups: what of each box is drawn, and the line it is drawn with. */
184
+ box?: BoxOptions;
185
+ }
186
+ /** How a box and whisker series draws its boxes (DESIGN-CHART §4.17). */
187
+ interface BoxOptions {
188
+ quartileMethod: QuartileMethod;
189
+ /** An x at each box's mean. */
190
+ meanMarker: boolean;
191
+ /** A line from each box's mean to the next's. */
192
+ meanLine: boolean;
193
+ /** A dot at each value beyond the whiskers. */
194
+ outliers: boolean;
195
+ /** A dot at each value within the whiskers. */
196
+ innerPoints: boolean;
197
+ /** The box's outline, its median, its whiskers and its marks: the fill's darker shade. */
198
+ line: Stroke;
199
+ }
200
+ /** A series' error bars: a bar about each point, of an amount below and above. */
201
+ interface ErrorBars {
202
+ /** Which of the points' values the bars are of: `y`, along the value axis, or a scatter's `x`. */
203
+ direction: 'x' | 'y';
204
+ /** What the bars are about: each point's value, or (standard deviations) the series' mean. */
205
+ about: 'point' | number;
206
+ /** By point, how far below and above the bar runs; `null` for a point with no bar. */
207
+ amounts: ({
208
+ minus: number;
209
+ plus: number;
210
+ } | null)[];
211
+ /** The bar's far ends are capped: an end of no amount is not. */
212
+ cap: boolean;
213
+ stroke: Stroke | null;
214
+ }
215
+ /** A trendline of a series, fitted to the series' points. */
216
+ interface Trendline {
217
+ /** Its entry in the legend. */
218
+ name: string;
219
+ type: TrendlineType;
220
+ /** The fit; `null` for a moving average, or where the points allow none (nothing is drawn). */
221
+ fit: TrendlineFit | null;
222
+ /** A moving average's points, in the series' x. */
223
+ average?: {
224
+ x: number;
225
+ y: number;
226
+ }[];
227
+ /**
228
+ * The x the line runs over: the series' first and last point's, `backward` before and
229
+ * `forward` past them. On a category axis x is the category's number, from 1.
230
+ */
231
+ from: number;
232
+ to: number;
233
+ /** How far past the last point it runs: on a category axis, the categories it adds. */
234
+ forward: number;
235
+ stroke: Stroke | null;
236
+ label: TrendlineLabel | null;
237
+ }
238
+ /** A trendline's label: its equation and R², a line each. */
239
+ interface TrendlineLabel {
240
+ /** Each line's runs, an exponent raised. */
241
+ lines: TrendlineTextRun[][];
242
+ /**
243
+ * Where it was moved by hand (`c:manualLayout`): a fraction of the chart's width and height, by
244
+ * which it is moved from its own place (`factor`), or its position from the chart's top left
245
+ * (`edge`). Absent where it sits in its own place.
246
+ */
247
+ moved?: {
248
+ x: number;
249
+ y: number;
250
+ xEdge: boolean;
251
+ yEdge: boolean;
252
+ };
253
+ font: Font;
254
+ fill: IFill.JSON | null;
255
+ border: Stroke | null;
256
+ }
257
+ /** One point of a pie, doughnut or of-pie. */
258
+ interface PointStyle {
259
+ fill: IFill.JSON | null;
260
+ stroke: Stroke | null;
261
+ /** How far the slice is pulled out, as a percentage of the radius. */
262
+ explosion: number;
263
+ /** A waterfall's point that is a total: its bar runs from zero to its value, which the steps after it start from. */
264
+ total?: boolean;
265
+ }
266
+ interface Group {
267
+ type: ChartModel.GroupType;
268
+ /** A custom group's kind and options, as the model states them. */
269
+ custom?: ChartModel.CustomGroup;
270
+ barDir: 'bar' | 'col';
271
+ grouping: 'clustered' | 'stacked' | 'percentStacked' | 'standard';
272
+ /** Percent of a bar's width. */
273
+ gapWidth: number;
274
+ /** -100..100. */
275
+ overlap: number;
276
+ varyColors: boolean;
277
+ /** Pie and doughnut: where the first slice starts, in degrees clockwise from 12 o'clock. */
278
+ firstSliceAng: number;
279
+ /** Doughnut: the hole, as a percentage of the radius. */
280
+ holeSize: number;
281
+ axIds: number[];
282
+ /** In plot order. */
283
+ series: Series[];
284
+ /** Line and stock groups: a bar in each category from the first series' value to the last's. */
285
+ upDownBars?: UpDownBars;
286
+ /** Line and stock groups: a line in each category from its lowest value to its highest. */
287
+ hiLowLines?: Stroke | null;
288
+ /** Line, area and stock groups: a line from each category's values to the category axis. */
289
+ dropLines?: Stroke | null;
290
+ /** Stacked bar groups: a line joining each series' ends in neighboring categories; an of-pie's lines to its second plot. */
291
+ seriesLines?: Stroke | null;
292
+ /** Of-pie groups: the second plot and the points it takes. */
293
+ ofPie?: OfPie;
294
+ /** Surface groups: the value bands they are drawn in. */
295
+ surface?: Surface;
296
+ /** Radar groups: lines and markers, or filled. */
297
+ radarStyle?: 'standard' | 'marker' | 'filled';
298
+ /** Bubble groups: how the bubbles are sized. */
299
+ bubble?: Bubble;
300
+ /** Waterfall groups: how steps up, steps down and totals are drawn, and the lines between bars. */
301
+ waterfall?: Waterfall;
302
+ /** Sunburst and treemap groups: the colors of the hierarchy's branches and the line between its segments. */
303
+ hierarchy?: Hierarchy;
304
+ /** Histogram groups: the bins the values were counted in, and a pareto's line. */
305
+ histogram?: Histogram;
306
+ /** Treemap groups: how the top-level categories are labeled, the font their names are in, and a banner's fill. */
307
+ treemap?: {
308
+ parentLabels: 'none' | 'banner' | 'overlapping';
309
+ font: Font;
310
+ bannerFill: IFill.JSON | null;
311
+ };
312
+ }
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
+ interface Histogram {
319
+ /** The first series' bins, each with the indexes of its `raw` values. */
320
+ bins: HistogramBin[];
321
+ intervalClosed: 'l' | 'r';
322
+ /** The values were summed by category (`aggregation`) rather than binned. */
323
+ byCategory: boolean;
324
+ /** A pareto's line: the series the chart lists it as, the axis it is drawn against, and its line. */
325
+ cumulative?: {
326
+ id: string;
327
+ name: string;
328
+ axisId: number;
329
+ stroke: Stroke | null;
330
+ };
331
+ }
332
+ /**
333
+ * How a hierarchy (a sunburst) is drawn: each top-level category, a branch, with everything under
334
+ * it in the branch's fill; every segment outlined in `border`.
335
+ */
336
+ interface Hierarchy {
337
+ branches: {
338
+ name: string;
339
+ fill: IFill.JSON | null;
340
+ }[];
341
+ border: Stroke | null;
342
+ }
343
+ /**
344
+ * How a waterfall draws its bars: a step up (a positive value), a step down (a negative one) and a
345
+ * total, each where the series and its points state nothing; the lines from each bar's end to the
346
+ * next bar, `null` where they are hidden.
347
+ */
348
+ interface Waterfall {
349
+ increase: {
350
+ fill: IFill.JSON | null;
351
+ stroke: Stroke | null;
352
+ };
353
+ decrease: {
354
+ fill: IFill.JSON | null;
355
+ stroke: Stroke | null;
356
+ };
357
+ total: {
358
+ fill: IFill.JSON | null;
359
+ stroke: Stroke | null;
360
+ };
361
+ connectorLines: Stroke | null;
362
+ }
363
+ /** How a bubble group sizes its bubbles. */
364
+ interface Bubble {
365
+ /** The largest bubble's size, as a percentage of Excel's default: 0 to 300. */
366
+ scale: number;
367
+ /** A bubble's size is its area's (`area`) or its width's (`w`). */
368
+ sizeRepresents: 'area' | 'w';
369
+ /** A negative size draws a bubble of its size's magnitude; else none. */
370
+ showNegative: boolean;
371
+ }
372
+ /**
373
+ * A surface's value bands: one between each major tick of its value axis and the next, each drawn in
374
+ * its own color, or its own line for a wireframe.
375
+ */
376
+ interface Surface {
377
+ wireframe: boolean;
378
+ /** A 3-D surface, which Excel draws in perspective; drawn flat from above. */
379
+ flat: boolean;
380
+ /** The value axis's scale. */
381
+ min: number;
382
+ max: number;
383
+ majorUnit: number;
384
+ bands: {
385
+ from: number;
386
+ to: number;
387
+ text: string;
388
+ fill: IFill.JSON | null;
389
+ stroke: Stroke | null;
390
+ }[];
391
+ }
392
+ /** A pie of pie or bar of pie's second plot. */
393
+ interface OfPie {
394
+ of: 'pie' | 'bar';
395
+ /** How the points of the second plot are chosen, and by what. */
396
+ splitType: 'auto' | 'cust' | 'percent' | 'pos' | 'val';
397
+ splitPos?: number;
398
+ /** `cust`: the indexes of the points in the second plot. */
399
+ custSplit: number[];
400
+ /** The second plot's size, as a percentage of the first pie's. */
401
+ secondSize: number;
402
+ }
403
+ /** A line or stock group's up/down bars. */
404
+ interface UpDownBars {
405
+ /** Percent of a bar's width. */
406
+ gapWidth: number;
407
+ /** Where the last series' value is above the first's. */
408
+ up: {
409
+ fill: IFill.JSON | null;
410
+ stroke: Stroke | null;
411
+ };
412
+ /** Where it is not: below or equal. */
413
+ down: {
414
+ fill: IFill.JSON | null;
415
+ stroke: Stroke | null;
416
+ };
417
+ }
418
+ interface LegendEntry {
419
+ seriesId: string;
420
+ /** An entry for one point of the series (a pie's slice), rather than for the series. */
421
+ pointIndex?: number;
422
+ /** An entry for the series' trendline of this index, rather than for the series. */
423
+ trendlineIndex?: number;
424
+ /** An entry for a surface's value band of this index, rather than for a series. */
425
+ bandIndex?: number;
426
+ text: string;
427
+ /** The kind of key the entry shows. */
428
+ key: 'bar' | 'line';
429
+ /** The key's colors, where they are not its series' (a waterfall's increase, decrease and total). */
430
+ swatch?: {
431
+ fill: IFill.JSON | null;
432
+ stroke: Stroke | null;
433
+ };
434
+ }
435
+ interface Legend {
436
+ position: 'b' | 'tr' | 'l' | 'r' | 't';
437
+ overlay: boolean;
438
+ font: Font;
439
+ fill: IFill.JSON | null;
440
+ border: Stroke | null;
441
+ entries: LegendEntry[];
442
+ }
443
+ }
444
+ //# sourceMappingURL=_ResolvedChart.d.ts.map
@@ -4,26 +4,43 @@ import { RangeCoordValue, RangeCoords } from '@sheetxl/utils';
4
4
  *
5
5
  * Use this to answer "which items overlap this region?" without a linear scan.
6
6
  *
7
- * @typeParam T must extend `RangeCoordValue` (carries `colStart/rowStart/colEnd/rowEnd`)
7
+ * {@link clone} is O(1): the copies share every node, and a change to either copies only the
8
+ * nodes on its path from the root, so each keeps the version it had.
9
+ *
10
+ * Items are returned by identity: {@link search} and {@link all} return the objects that were
11
+ * inserted. An item's coordinates must not change while it is in the tree.
8
12
  *
9
- * @TODO See RTree-REDESIGN.md for planned structural changes.
13
+ * @typeParam T must extend `RangeCoordValue` (carries `colStart/rowStart/colEnd/rowEnd`)
10
14
  */
11
15
  export declare class RTree<T extends RangeCoordValue> {
12
16
  protected _maxEntries: number;
13
17
  protected _minEntries: number;
14
- protected _data: Node<T>;
18
+ /** The nodes and items, shared with every clone of this tree. */
19
+ protected _arena: Arena<T>;
20
+ /** The id carried by the arena nodes this tree may write in place. */
21
+ protected _owner: number;
22
+ protected _root: number;
23
+ protected _size: number;
24
+ /** The nodes reachable from the root; the arena holding many more is what triggers a compaction. */
25
+ protected _nodes: number;
26
+ protected _colStart: number;
27
+ protected _rowStart: number;
28
+ protected _colEnd: number;
29
+ protected _rowEnd: number;
15
30
  /**
16
31
  * Constructs an `RTree`, a high-performance 2D spatial index for points and
17
32
  * rectangles. Based on an optimized __R-tree__ data structure with
18
33
  * __bulk-insertion__ support.
19
34
  *
20
35
  * @param maxEntries An optional argument to RTree defines the maximum
21
- * number of entries in a tree node. `9` (used by default)
22
- * is a reasonable choice for most applications. Higher
23
- * value means faster insertion and slower search, and
24
- * vice versa.
36
+ * number of entries in a tree node, from `4` to `12`. `9`
37
+ * (used by default) is a reasonable choice for most
38
+ * applications. Higher value means faster insertion and
39
+ * slower search, and vice versa.
25
40
  */
26
41
  constructor(maxEntries?: number);
42
+ /** Returns the number of items in the tree. */
43
+ size(): number;
27
44
  /** Returns all items contained in the tree. */
28
45
  all(result?: T[]): T[];
29
46
  /**
@@ -64,6 +81,10 @@ export declare class RTree<T extends RangeCoordValue> {
64
81
  * Removes all items.
65
82
  */
66
83
  clear(): RTree<T>;
84
+ /**
85
+ * Returns a copy that shares this tree's nodes; changing either leaves the other as it was.
86
+ */
87
+ clone(): this;
67
88
  /**
68
89
  * Inserts an item. To insert many items at once, use `load()`.
69
90
  */
@@ -73,39 +94,98 @@ export declare class RTree<T extends RangeCoordValue> {
73
94
  * Pass `equals` to compare by value instead.
74
95
  */
75
96
  remove(item: T, equals?: (a: T, b: T) => boolean): RTree<T>;
76
- protected _all(node: Node<T>, result: T[]): T[];
77
- protected _build(items: T[], left: number, right: number, height: number): Node<T>;
78
- protected _chooseSubtree(coords: RangeCoordValue, node: Node<T>, level: number, path: Node<T>[]): Node<T>;
79
- protected _insert(node: Node<T>, level: number): void;
80
- protected _split(insertPath: Node<T>[], level: number): void;
81
- protected _splitRoot(node: Node<T>, newNode: Node<T>): void;
82
- protected _chooseSplitIndex(node: Node<T>, min: number, length: number): number;
83
- protected _chooseSplitAxis(node: Node<T>, min: number, length: number): void;
84
- protected _allDistMargin(node: Node<T>, min: number, length: number, compare: (a: Node<T>, b: Node<T>) => number): number;
97
+ protected _rootIntersects(coords: RangeCoords): boolean;
98
+ protected _setRootBox(): void;
99
+ /** The arena, created on the first write: an empty tree holds none. */
100
+ protected _writableArena(): Arena<T>;
101
+ /** `node` if this tree owns it, otherwise an owned copy of it that nothing points at yet. */
102
+ protected _ownDetached(node: number): number;
103
+ /**
104
+ * `node` if this tree owns it, otherwise an owned copy put in its place: in slot `slot` of
105
+ * `parent` (which this tree must own), or as the root when `parent` is `NONE`.
106
+ */
107
+ protected _own(node: number, parent: number, slot: number): number;
108
+ protected _all(node: number, result: T[]): T[];
109
+ /**
110
+ * Builds a subtree over `order[left..right]` (indices into `itemBoxes`, four numbers an item,
111
+ * and into the payload from `first`) and returns its node, leaving its box in `_bx0`..`_bx3` and
112
+ * its height in `_BuiltHeight`. The same overlap-minimizing tiling as rbush's bulk load.
113
+ */
114
+ protected _build(order: Int32Array, itemBoxes: Float64Array, first: number, left: number, right: number, height: number): number;
115
+ /**
116
+ * Adds `child` (an item's payload index when `height` is `0`, otherwise a node of height
117
+ * `height - 1`) to a node of height `height`, copying the shared nodes on the way down and
118
+ * splitting full ones on the way up.
119
+ */
120
+ protected _insertEntry(child: number, colStart: number, rowStart: number, colEnd: number, rowEnd: number, height: number): void;
121
+ /**
122
+ * Adds an entry to an owned node; when the node is full, splits it and returns the new sibling
123
+ * (for the caller to add to the parent), otherwise `NONE`.
124
+ */
125
+ protected _addEntry(node: number, child: number, colStart: number, rowStart: number, colEnd: number, rowEnd: number): number;
126
+ /** Grows the tree by a level: a new root over the old root and `sibling`, of the same height. */
127
+ protected _splitRoot(sibling: number): void;
128
+ /**
129
+ * Finds `item` under `node` as `remove` does: a leaf's items are compared, a node whose children
130
+ * are leaves has every leaf searched, a deeper node only the children that contain the item. On
131
+ * a match, records the path in `_RemovePath`/`_RemoveSlots` and the item's slot in `_RemoveSlot`.
132
+ *
133
+ * The path is written only on the way back up, after the last call to `equals`, so an `equals`
134
+ * that uses another tree cannot disturb it.
135
+ */
136
+ protected _findItem(node: number, depth: number, item: T, equals: ((a: T, b: T) => boolean) | undefined): boolean;
137
+ /**
138
+ * Removes every item under `node` that `isRemove` matches, visiting only children that intersect
139
+ * the given box. A node is written only when something under it is removed, and copied first
140
+ * when it is shared, so a subtree with nothing to remove is never copied.
141
+ *
142
+ * @returns `UNCHANGED`, `EMPTY` (the node should be removed from its parent), or the node to keep
143
+ * in its place (a copy when it was shared).
144
+ */
145
+ protected _removeWithin(node: number, isRemove: (item: T) => boolean, colStart: number, rowStart: number, colEnd: number, rowEnd: number): number;
146
+ /**
147
+ * Compacts when the arena holds much more than this tree reaches: the nodes and items other
148
+ * versions still use, and the ones no version does. A compaction copies the tree's nodes and
149
+ * items, so it waits until the unreached nodes outnumber both, which keeps its cost per write
150
+ * constant.
151
+ */
152
+ protected _maybeCompact(): void;
153
+ /**
154
+ * Moves this tree into an arena of its own, copying what it reaches depth first so a parent is
155
+ * next to its first child. Other versions keep the old arena, which is freed with the last of them.
156
+ */
157
+ protected _detach(): void;
158
+ /**
159
+ * Throws if the tree is inconsistent: heights, boxes, counts, the size and the node count. For
160
+ * tests.
161
+ */
162
+ protected _validate(): void;
85
163
  }
86
164
  /**
87
- * Internal R-tree node.
165
+ * The storage of a tree and every clone of it.
88
166
  *
89
- * - Leaf nodes: `children === null`, `range` is a cast of the user item (`T`), `height === 0`.
90
- * - Internal nodes: `children` is an array of child nodes, `range` is the mutable aggregate
91
- * bounding box of all descendants, `height >= 1`.
167
+ * Nodes are appended and never freed or rewritten once another version can reach them: a tree
168
+ * writes a node in place only when the node carries the tree's owner id, and {@link RTree.clone}
169
+ * gives both trees new ids, so no existing node carries either. That is what makes a clone free
170
+ * and an old version immutable. The garbage collects as a whole: a tree that reaches much less
171
+ * than its arena holds moves to a new one ({@link RTree._detach}), and the old one goes when the
172
+ * last version using it does.
92
173
  */
93
- interface Node<T> {
94
- range: RangeCoordValue<T>;
95
- children: Node<T>[] | null;
96
- height: number;
174
+ declare class Arena<T> {
175
+ boxes: Float64Array;
176
+ meta: Int32Array;
177
+ /** The number of nodes allocated. */
178
+ top: number;
179
+ /** Item by payload index. */
180
+ payload: T[];
181
+ /** The last owner id handed out. */
182
+ owners: number;
183
+ constructor(capacity: number);
184
+ /** A new node carrying `owner`; may replace `boxes` and `meta`, so neither is held across it. */
185
+ alloc(owner: number): number;
186
+ /** Grows the arrays to hold at least `capacity` nodes; replaces `boxes` and `meta` when it does. */
187
+ reserve(capacity: number): void;
188
+ nextOwner(): number;
97
189
  }
98
- /**
99
- * Rearranges items so that all items in the [left, k] are the smallest.
100
- * The k-th element will have the (k - left + 1)-th smallest value in [left, right].
101
- *
102
- * @template T
103
- * @param arr the array to partially sort (in place)
104
- * @param k middle index for partial sorting (as defined above)
105
- * @param left left index of the range to sort
106
- * @param right right index
107
- * @param compare compare function
108
- */
109
- export declare function quickSelect<T>(arr: T[], k: number, left?: number | undefined, right?: number | undefined, compare?: ((a: T, b: T) => number) | undefined): void;
110
190
  export {};
111
191
  //# sourceMappingURL=RTree.d.ts.map
@@ -3,6 +3,7 @@ import { Tuple } from './Tuple';
3
3
  import { IReadableList } from './IReadableList';
4
4
  import { IGrid } from './IGrid';
5
5
  import { ISparseGrid } from './ISparseGrid';
6
+ import { IListLike } from './IList';
6
7
  /**
7
8
  * Implementation of {@link IGrid} that uses a ISparseList of ISparseList.
8
9
  */
@@ -89,11 +90,13 @@ export declare namespace SparseGrid {
89
90
  */
90
91
  axis?: RangeAxis;
91
92
  /**
92
- * Hook to allow for custom storing of contiguous values.
93
+ * Makes the list a run of contiguous values is stored as: the one place a value enters this
94
+ * grid, so a grid with a policy about what it holds applies it here, once per run.
93
95
  *
94
- * @param values The values to wrap in a List.
96
+ * @param values The run's values: a writer's array, or a list another grid already held.
97
+ * @defaultValue wraps the values as they are
95
98
  */
96
- createRun?: (values: T[]) => IReadableList<T>;
99
+ createRun?: (values: IListLike<T> | T[]) => IReadableList<T>;
97
100
  }
98
101
  }
99
102
  //# sourceMappingURL=SparseGrid.d.ts.map