@sheetxl/sdk 0.8.0-beta.1 → 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 (775) hide show
  1. package/README.md +1 -1
  2. package/THIRD-PARTY-NOTICES.md +1 -1
  3. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  4. package/browser/esm/BFagR2JeWs74iAG3.mjs +171 -0
  5. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  6. package/browser/esm/BLoUBId2xZpXAK_H.mjs +698 -0
  7. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  8. package/browser/esm/BVDiOXGMc5_FMGfy.mjs +400 -0
  9. package/browser/esm/BjkCiv5Jz6WYKZeu.mjs +598 -0
  10. package/browser/esm/BkBhLS0l6z8sxI6D.mjs +441 -0
  11. package/browser/esm/BnG31I6Oj_HEtSPS.mjs +167 -0
  12. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  13. package/browser/esm/BpgskG1Er_lGQ_yS.mjs +142 -0
  14. package/browser/esm/BtvLTTfSBdAKplVG.mjs +466 -0
  15. package/browser/esm/C16ycKja6zG0crV_.mjs +55580 -0
  16. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  17. package/browser/esm/C4MqfLn9Dm-l3OIk.mjs +540 -0
  18. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  19. package/browser/esm/CHU6iu_WGlm7fLET.mjs +1001 -0
  20. package/browser/esm/CQYjO777cmAznUzK.mjs +527 -0
  21. package/browser/esm/CU3DmJ-YnVVrC1_k.mjs +1123 -0
  22. package/browser/esm/CV5EGEjG5_-CPpP0.mjs +8212 -0
  23. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  24. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  25. package/browser/esm/ClPfI4lODvCece29.mjs +632 -0
  26. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  27. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Ctjb0SsxV4K4MMqG.mjs} +179 -202
  28. package/browser/esm/D5np__Jb1euAyaLw.mjs +7 -0
  29. package/browser/esm/DEiPS3Dr-s4fPbVZ.mjs +607 -0
  30. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  31. package/browser/esm/DWNzqw7DUKwoxjri.mjs +20 -0
  32. package/browser/esm/{B0HS42a7lga1k1U_.mjs → Dlmig06rIo7cInRk.mjs} +2 -2
  33. package/browser/esm/{f2G3QRgEbvFJcoa2.mjs → DvAaxH6z_tGvrRzl.mjs} +1704 -1008
  34. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  35. package/browser/esm/PcHFjNzQsE54POri.mjs +1141 -0
  36. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  37. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  38. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  39. package/browser/esm/index.mjs +1759 -1161
  40. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  41. package/browser/esm/zlLuW405RSguy4Kn.mjs +357 -0
  42. package/licenses/dependencies.txt +141 -141
  43. package/node/esm/2Kihw_-5lVTEnwMa.mjs +1132 -0
  44. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  45. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  46. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  47. package/node/esm/BIRq1kT7lLRzns9t.mjs +610 -0
  48. package/node/esm/BIwObuhTJYf0jpUa.mjs +451 -0
  49. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  50. package/node/esm/BqiexuA89caYnAPz.mjs +1135 -0
  51. package/node/esm/BrCKGFRsX_ezFJ4B.mjs +811 -0
  52. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  53. package/node/esm/{Cku7XiUvw1xrRasi.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  54. package/node/esm/CGp6VZL-gZa9Uezx.mjs +1860 -0
  55. package/node/esm/CNCNJNg890KdgkWh.mjs +142 -0
  56. package/node/esm/CZICGK_ss0HoGHCP.mjs +7 -0
  57. package/node/esm/CZiqiay42tFTrLI4.mjs +171 -0
  58. package/node/esm/CdJHUJSBRHZoryPe.mjs +360 -0
  59. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  60. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  61. package/node/esm/CzXT00vrQa1_gvW9.mjs +28 -0
  62. package/node/esm/D1TKBVmoKGAXf37B.mjs +402 -0
  63. package/node/esm/D2KBymQJd1XhpeQD.mjs +540 -0
  64. package/node/esm/D6e2z7eZpxOJXHc7.mjs +1783 -0
  65. package/node/esm/D8zEN-6ZdDqDvTxM.mjs +639 -0
  66. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  67. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  68. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  69. package/node/esm/D_t5AUxSm7_icjzq.mjs +638 -0
  70. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  71. package/node/esm/De2IONBxQhz-Qbyh.mjs +596 -0
  72. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  73. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  74. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  75. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  76. package/node/esm/cGwrLA1RCE-WhJ7w.mjs +255 -0
  77. package/node/esm/index.mjs +2873 -53929
  78. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  79. package/node/esm/yavzZOiZW_EjG9lE.mjs +15 -0
  80. package/package.json +15 -17
  81. package/resources/contents.json +184 -0
  82. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  83. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  84. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  85. package/resources/fonts/arial-bold.hinted.json +125 -0
  86. package/resources/fonts/arial-bold.metrics.json +139 -0
  87. package/resources/fonts/arial-bold.rows.json +9 -0
  88. package/resources/fonts/arial-italic.hinted.json +125 -0
  89. package/resources/fonts/arial-italic.metrics.json +139 -0
  90. package/resources/fonts/arial-italic.rows.json +9 -0
  91. package/resources/fonts/arial-regular.hinted.json +125 -0
  92. package/resources/fonts/arial-regular.metrics.json +139 -0
  93. package/resources/fonts/arial-regular.rows.json +9 -0
  94. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  95. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  96. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  97. package/resources/fonts/calibri-bold.hinted.json +122 -0
  98. package/resources/fonts/calibri-bold.metrics.json +137 -0
  99. package/resources/fonts/calibri-bold.rows.json +9 -0
  100. package/resources/fonts/calibri-italic.hinted.json +121 -0
  101. package/resources/fonts/calibri-italic.metrics.json +137 -0
  102. package/resources/fonts/calibri-italic.rows.json +9 -0
  103. package/resources/fonts/calibri-regular.hinted.json +121 -0
  104. package/resources/fonts/calibri-regular.metrics.json +137 -0
  105. package/resources/fonts/calibri-regular.rows.json +9 -0
  106. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  107. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  108. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  109. package/resources/fonts/cambria-bold.hinted.json +108 -0
  110. package/resources/fonts/cambria-bold.metrics.json +66 -0
  111. package/resources/fonts/cambria-bold.rows.json +9 -0
  112. package/resources/fonts/cambria-italic.hinted.json +102 -0
  113. package/resources/fonts/cambria-italic.metrics.json +66 -0
  114. package/resources/fonts/cambria-italic.rows.json +9 -0
  115. package/resources/fonts/cambria-regular.hinted.json +110 -0
  116. package/resources/fonts/cambria-regular.metrics.json +66 -0
  117. package/resources/fonts/cambria-regular.rows.json +9 -0
  118. package/resources/fonts/contents.json +406 -0
  119. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  120. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  121. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  122. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  123. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  124. package/resources/fonts/courier-new-bold.rows.json +9 -0
  125. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  126. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  127. package/resources/fonts/courier-new-italic.rows.json +9 -0
  128. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  129. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  130. package/resources/fonts/courier-new-regular.rows.json +9 -0
  131. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  132. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  133. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  134. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  135. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  136. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  137. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  138. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  139. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  140. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  141. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  142. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  143. package/resources/locales/de/model.msg.json +199 -21
  144. package/resources/locales/en/model.msg.json +207 -23
  145. package/types/scripting-api.json +10663 -0
  146. package/types/scripting-enums.json +435 -130
  147. package/types/scripting.d.ts +33010 -15730
  148. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  149. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  150. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  151. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  152. package/types/src/address/AddressUtils.d.ts +10 -1
  153. package/types/src/address/_StructuredAddress.d.ts +58 -0
  154. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  155. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  156. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  157. package/types/src/autoFill/AutoFill.d.ts +316 -32
  158. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  159. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +58 -41
  160. package/types/src/border/index.d.ts +1 -1
  161. package/types/src/calculation/Calculation.d.ts +584 -149
  162. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  163. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  164. package/types/src/calculation/FormulaText.d.ts +98 -0
  165. package/types/src/calculation/ICalculation.d.ts +353 -88
  166. package/types/src/calculation/INamedFormulasCollection.d.ts +9 -8
  167. package/types/src/calculation/NamedFormulaCollection.d.ts +322 -115
  168. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  169. package/types/src/calculation/TokenType.d.ts +9 -0
  170. package/types/src/calculation/Types.d.ts +83 -2
  171. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  172. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  173. package/types/src/calculation/_TableExtent.d.ts +60 -0
  174. package/types/src/calculation/_TableRename.d.ts +13 -0
  175. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  176. package/types/src/calculation/compiler/CompilerUtils.d.ts +152 -44
  177. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  178. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  179. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  180. package/types/src/calculation/compiler/ParserUtils.d.ts +42 -1
  181. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  182. package/types/src/calculation/compiler/Types.d.ts +79 -9
  183. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  184. package/types/src/calculation/engine/index.d.ts +10 -0
  185. package/types/src/calculation/executor/CalcExecutor.d.ts +331 -33
  186. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +49 -2
  187. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  188. package/types/src/calculation/formula/Formula.d.ts +67 -21
  189. package/types/src/calculation/formula/FormulaBlock.d.ts +131 -23
  190. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  191. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  192. package/types/src/calculation/formula/IFormulaBlock.d.ts +277 -67
  193. package/types/src/calculation/formula/LambdaValue.d.ts +51 -26
  194. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  195. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  196. package/types/src/calculation/formula/index.d.ts +1 -0
  197. package/types/src/calculation/functions/FunctionDeclarations.d.ts +35 -0
  198. package/types/src/calculation/functions/Operators.d.ts +8 -0
  199. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  200. package/types/src/calculation/functions/initializeFunctions.d.ts +3 -2
  201. package/types/src/calculation/grid/CalcGrid.d.ts +443 -158
  202. package/types/src/calculation/grid/CalcGridBackend.d.ts +523 -0
  203. package/types/src/calculation/grid/CalcGridProxy.d.ts +135 -0
  204. package/types/src/calculation/grid/CalcGridUtils.d.ts +69 -12
  205. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  206. package/types/src/calculation/grid/FormulaHost.d.ts +284 -0
  207. package/types/src/calculation/grid/ICalcGrid.d.ts +528 -141
  208. package/types/src/calculation/grid/_CalcRequest.d.ts +299 -0
  209. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  210. package/types/src/calculation/grid/index.d.ts +4 -0
  211. package/types/src/calculation/index.d.ts +2 -0
  212. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  213. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +364 -11
  214. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  215. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  216. package/types/src/calculation/spatial/index.d.ts +1 -0
  217. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  218. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  219. package/types/src/calculation/state/CalcScope.d.ts +46 -0
  220. package/types/src/calculation/state/CalcState.d.ts +32 -1
  221. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  222. package/types/src/calculation/state/IContextContainer.d.ts +141 -27
  223. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  224. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  225. package/types/src/calculation/state/index.d.ts +1 -0
  226. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  227. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  228. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  229. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  230. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  231. package/types/src/calculation/symbol/index.d.ts +3 -2
  232. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  233. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  234. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  235. package/types/src/calculation/toolkit/index.d.ts +12 -0
  236. package/types/src/cell/ICell.d.ts +357 -33
  237. package/types/src/cell/ICellHeader.d.ts +31 -8
  238. package/types/src/cell/ICellProtection.d.ts +50 -10
  239. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  240. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  241. package/types/src/cellRange/ICellRange.d.ts +737 -130
  242. package/types/src/cellRange/ICellRanges.d.ts +31 -24
  243. package/types/src/chart/Chart.d.ts +246 -16
  244. package/types/src/chart/ChartCollection.d.ts +31 -0
  245. package/types/src/chart/IChart.d.ts +2058 -18
  246. package/types/src/chart/IChartCollection.d.ts +50 -0
  247. package/types/src/chart/_ChartParts.d.ts +1066 -0
  248. package/types/src/chart/_ChartSource.d.ts +47 -0
  249. package/types/src/chart/createChart.d.ts +26 -0
  250. package/types/src/chart/index.d.ts +5 -3
  251. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  252. package/types/src/chart/kinds/_Area.d.ts +3 -0
  253. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  254. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  255. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  256. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  257. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  258. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  259. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  260. package/types/src/chart/kinds/_Line.d.ts +4 -0
  261. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  262. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  263. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  264. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  265. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  266. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  267. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  268. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  269. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  270. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  271. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  272. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  273. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  274. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  275. package/types/src/chart/layout/_Layout.d.ts +25 -0
  276. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  277. package/types/src/chart/math/BoxStats.d.ts +35 -0
  278. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  279. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  280. package/types/src/chart/math/Histogram.d.ts +48 -0
  281. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  282. package/types/src/chart/math/Treemap.d.ts +28 -0
  283. package/types/src/chart/math/Trendlines.d.ts +71 -0
  284. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  285. package/types/src/chart/model/ChartModel.d.ts +681 -0
  286. package/types/src/chart/model/_ChartType.d.ts +14 -0
  287. package/types/src/chart/model/_Edits.d.ts +489 -0
  288. package/types/src/chart/model/_Grouping.d.ts +83 -0
  289. package/types/src/chart/model/_Inference.d.ts +52 -0
  290. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  291. package/types/src/chart/model/_NewChart.d.ts +208 -0
  292. package/types/src/chart/model/_OfPie.d.ts +18 -0
  293. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  294. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  295. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  296. package/types/src/collections/ArraysGrid.d.ts +1 -1
  297. package/types/src/collections/IGrid.d.ts +1 -1
  298. package/types/src/collections/ISparseGrid.d.ts +9 -0
  299. package/types/src/collections/ISpatialMap.d.ts +59 -21
  300. package/types/src/collections/ImmutableList.d.ts +28 -0
  301. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  302. package/types/src/collections/RTree.d.ts +116 -36
  303. package/types/src/collections/RepeatingList.d.ts +7 -0
  304. package/types/src/collections/ScalarGrid.d.ts +50 -0
  305. package/types/src/collections/SparseGrid.d.ts +7 -4
  306. package/types/src/collections/SpatialMap.d.ts +15 -29
  307. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  308. package/types/src/collections/Tuple.d.ts +128 -16
  309. package/types/src/collections/_GridUtils.d.ts +19 -6
  310. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  311. package/types/src/collections/index.d.ts +2 -1
  312. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  313. package/types/src/comment/Comment.d.ts +246 -0
  314. package/types/src/comment/CommentCollection.d.ts +40 -0
  315. package/types/src/comment/IComment.d.ts +377 -50
  316. package/types/src/comment/ICommentCollection.d.ts +90 -0
  317. package/types/src/comment/NoteMovable.d.ts +26 -0
  318. package/types/src/comment/_CommentUtils.d.ts +50 -0
  319. package/types/src/comment/_NoteBox.d.ts +67 -0
  320. package/types/src/comment/index.d.ts +1 -0
  321. package/types/src/condition/AnchoredConditional.d.ts +110 -19
  322. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  323. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  324. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  325. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  326. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  327. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  328. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  329. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  330. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  331. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  332. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  333. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  334. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  335. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  336. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  337. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  338. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  339. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  340. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  341. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  342. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  343. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  344. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  345. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  346. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  347. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  348. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  349. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  350. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  351. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  352. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  353. package/types/src/condition/Condition.d.ts +19 -1
  354. package/types/src/condition/ICondition.d.ts +296 -75
  355. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  356. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  357. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  358. package/types/src/conditionalFormat/ConditionalFormat.d.ts +34 -17
  359. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  360. package/types/src/conditionalFormat/IConditionalFormat.d.ts +16 -13
  361. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  362. package/types/src/dataTable/DataTable.d.ts +67 -0
  363. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  364. package/types/src/dataTable/IDataTable.d.ts +99 -0
  365. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  366. package/types/src/dataTable/index.d.ts +6 -0
  367. package/types/src/dataValidation/DataValidation.d.ts +70 -4
  368. package/types/src/dataValidation/DataValidationCollection.d.ts +23 -9
  369. package/types/src/dataValidation/IDataValidation.d.ts +150 -31
  370. package/types/src/dataValidation/IDataValidationCollection.d.ts +34 -2
  371. package/types/src/date/DateUtils.d.ts +20 -0
  372. package/types/src/date/_DateUtils.d.ts +91 -7
  373. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  374. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  375. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  376. package/types/src/documentProperties/index.d.ts +3 -0
  377. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  378. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  379. package/types/src/externalBook/IExternalBook.d.ts +171 -19
  380. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  381. package/types/src/externalBook/index.d.ts +1 -0
  382. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  383. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  384. package/types/src/fill/IEffect.d.ts +5 -5
  385. package/types/src/fill/IFill.d.ts +129 -77
  386. package/types/src/fill/IFillable.d.ts +47 -0
  387. package/types/src/fill/IStroke.d.ts +204 -64
  388. package/types/src/fill/PaintUtils.d.ts +22 -0
  389. package/types/src/fill/RectAlignment.d.ts +20 -0
  390. package/types/src/fill/_Fills.d.ts +187 -0
  391. package/types/src/fill/_Stroke.d.ts +89 -0
  392. package/types/src/fill/index.d.ts +3 -0
  393. package/types/src/filter/IFilter.d.ts +188 -5
  394. package/types/src/font/AdvanceBuilder.d.ts +59 -0
  395. package/types/src/font/AdvanceTable.d.ts +228 -0
  396. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  397. package/types/src/font/FontCapture.d.ts +4 -0
  398. package/types/src/font/FontCollection.d.ts +108 -0
  399. package/types/src/font/FontPlatform.d.ts +20 -0
  400. package/types/src/font/FontUtils.d.ts +5 -0
  401. package/types/src/font/IFont.d.ts +208 -61
  402. package/types/src/font/IFontCollection.d.ts +126 -22
  403. package/types/src/font/IFontStyle.d.ts +207 -0
  404. package/types/src/font/TableFileAdvanceBuilder.d.ts +36 -0
  405. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  406. package/types/src/font/_FontUtils.d.ts +11 -4
  407. package/types/src/font/_FontsVersion.d.ts +7 -0
  408. package/types/src/font/index.d.ts +2 -1
  409. package/types/src/font/platform.browser.d.ts +15 -0
  410. package/types/src/font/platform.node.d.ts +5 -0
  411. package/types/src/group/Group.d.ts +141 -0
  412. package/types/src/group/GroupMovableCollection.d.ts +41 -0
  413. package/types/src/group/IGroup.d.ts +129 -0
  414. package/types/src/group/index.d.ts +2 -0
  415. package/types/src/history/IHistory.d.ts +21 -3
  416. package/types/src/hyperlink/IHyperlink.d.ts +20 -1
  417. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  418. package/types/src/i18n/LanguagePack.d.ts +12 -4
  419. package/types/src/index.d.ts +8 -0
  420. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  421. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  422. package/types/src/io/EmbeddedPart.d.ts +20 -0
  423. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  424. package/types/src/io/IWorkbookIO.d.ts +185 -18
  425. package/types/src/io/WorkbookIO.d.ts +9 -0
  426. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  427. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  428. package/types/src/io/_XmlFragment.d.ts +49 -0
  429. package/types/src/io/index.d.ts +1 -0
  430. package/types/src/license/LicenseDetails.d.ts +1 -0
  431. package/types/src/license/LicenseManager.d.ts +25 -1
  432. package/types/src/license/Types.d.ts +38 -0
  433. package/types/src/license/_Utils.d.ts +39 -0
  434. package/types/src/license/details.d.ts +24 -0
  435. package/types/src/license/license-key.d.ts +49 -2
  436. package/types/src/license/runtime.browser.d.ts +46 -0
  437. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +19 -12
  438. package/types/src/listener/IListener.d.ts +23 -6
  439. package/types/src/listener/ListenerEmitter.d.ts +55 -6
  440. package/types/src/model/AbstractModel.d.ts +14 -5
  441. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  442. package/types/src/movable/CustomElement.d.ts +4 -5
  443. package/types/src/movable/ErrorContent.d.ts +49 -0
  444. package/types/src/movable/FormControl.d.ts +285 -0
  445. package/types/src/movable/GroupMember.d.ts +87 -0
  446. package/types/src/movable/ICustomElement.d.ts +7 -2
  447. package/types/src/movable/IErrorContent.d.ts +23 -0
  448. package/types/src/movable/IFormControl.d.ts +455 -0
  449. package/types/src/movable/IMovable.d.ts +405 -60
  450. package/types/src/movable/IMovableCollection.d.ts +64 -4
  451. package/types/src/movable/Movable.d.ts +161 -50
  452. package/types/src/movable/MovableCollection.d.ts +21 -10
  453. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  454. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  455. package/types/src/movable/_ContentFactory.d.ts +35 -0
  456. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  457. package/types/src/movable/_InsertableCollection.d.ts +39 -0
  458. package/types/src/movable/_MovableUtils.d.ts +5 -0
  459. package/types/src/movable/_PendingContent.d.ts +25 -0
  460. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  461. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  462. package/types/src/movable/index.d.ts +7 -1
  463. package/types/src/named/AbstractNamed.d.ts +1 -1
  464. package/types/src/named/INamed.d.ts +34 -1
  465. package/types/src/named/INamedCollection.d.ts +28 -2
  466. package/types/src/named/NamedCollection.d.ts +32 -19
  467. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  468. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  469. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  470. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  471. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  472. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  473. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  474. package/types/src/outline/IOutline.d.ts +186 -0
  475. package/types/src/outline/Outline.d.ts +157 -0
  476. package/types/src/outline/index.d.ts +2 -0
  477. package/types/src/person/IPerson.d.ts +99 -0
  478. package/types/src/person/IPersonCollection.d.ts +51 -0
  479. package/types/src/person/Person.d.ts +32 -0
  480. package/types/src/person/PersonCollection.d.ts +49 -0
  481. package/types/src/person/index.d.ts +4 -0
  482. package/types/src/picture/IPicture.d.ts +131 -4
  483. package/types/src/picture/Picture.d.ts +42 -14
  484. package/types/src/pivot/IPivotTable.d.ts +72 -0
  485. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  486. package/types/src/pivot/PivotCache.d.ts +34 -0
  487. package/types/src/pivot/PivotTable.d.ts +61 -0
  488. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  489. package/types/src/pivot/_PivotXml.d.ts +24 -0
  490. package/types/src/pivot/index.d.ts +6 -0
  491. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  492. package/types/src/primitives/Criteria.d.ts +1 -1
  493. package/types/src/primitives/Grouping.d.ts +65 -0
  494. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  495. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  496. package/types/src/primitives/Range.d.ts +133 -25
  497. package/types/src/primitives/RangeStats.d.ts +30 -2
  498. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  499. package/types/src/primitives/Runtime.d.ts +15 -2
  500. package/types/src/primitives/environment.browser.d.ts +9 -0
  501. package/types/src/primitives/environment.node.d.ts +10 -0
  502. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  503. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  504. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  505. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  506. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  507. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  508. package/types/src/primitives/stats/index.d.ts +1 -0
  509. package/types/src/print/IPageLayout.d.ts +635 -0
  510. package/types/src/print/PageLayout.d.ts +258 -0
  511. package/types/src/print/index.d.ts +1 -1
  512. package/types/src/protectedRange/IProtectedRange.d.ts +6 -2
  513. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  514. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  515. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  516. package/types/src/protection/DefaultProtection.d.ts +12 -1
  517. package/types/src/protection/IProtection.d.ts +42 -2
  518. package/types/src/protection/PasswordHasher.d.ts +13 -0
  519. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  520. package/types/src/reference/index.d.ts +2 -0
  521. package/types/src/resource/IResource.d.ts +21 -1
  522. package/types/src/resource/IResourceCollection.d.ts +9 -1
  523. package/types/src/resource/ResourceCollection.d.ts +6 -6
  524. package/types/src/richData/IRichDataKind.d.ts +22 -0
  525. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  526. package/types/src/richData/RichText.d.ts +59 -0
  527. package/types/src/richData/index.d.ts +3 -0
  528. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  529. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  530. package/types/src/scripting/IModule.d.ts +25 -0
  531. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  532. package/types/src/scripting/IScript.d.ts +30 -28
  533. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  534. package/types/src/scripting/Module.d.ts +34 -6
  535. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  536. package/types/src/scripting/Runtime.d.ts +15 -0
  537. package/types/src/scripting/Scripts.d.ts +3 -7
  538. package/types/src/scripting/TypedFunction.d.ts +154 -18
  539. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  540. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  541. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  542. package/types/src/scripting/declarations.browser.d.ts +10 -0
  543. package/types/src/scripting/declarations.d.ts +52 -0
  544. package/types/src/scripting/declarations.node.d.ts +9 -0
  545. package/types/src/scripting/index.d.ts +3 -0
  546. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  547. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  548. package/types/src/selection/IItemSelection.d.ts +131 -0
  549. package/types/src/selection/IMovableSelection.d.ts +120 -0
  550. package/types/src/selection/IRangeSelection.d.ts +13 -8
  551. package/types/src/selection/ItemSelection.d.ts +49 -0
  552. package/types/src/selection/MovableSelection.d.ts +29 -0
  553. package/types/src/selection/RangeSelection.d.ts +19 -4
  554. package/types/src/selection/index.d.ts +4 -0
  555. package/types/src/shape/GeometryPreset.d.ts +197 -0
  556. package/types/src/shape/IGeometry.d.ts +380 -0
  557. package/types/src/shape/IShape.d.ts +342 -194
  558. package/types/src/shape/IShapeStyle.d.ts +109 -0
  559. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  560. package/types/src/shape/Shape.d.ts +107 -21
  561. package/types/src/shape/ShapeStyleUtils.d.ts +66 -0
  562. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  563. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  564. package/types/src/shape/_Connectors.d.ts +108 -0
  565. package/types/src/shape/_Geometry.d.ts +14 -0
  566. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  567. package/types/src/shape/_ShapeStyle.d.ts +79 -0
  568. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  569. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  570. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  571. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  572. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  573. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  574. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  575. package/types/src/shape/_builtIn/math.d.ts +6 -0
  576. package/types/src/shape/_builtIn/other.d.ts +6 -0
  577. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  578. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  579. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  580. package/types/src/shape/geometry/format.d.ts +3 -0
  581. package/types/src/shape/geometry/geometry.d.ts +85 -0
  582. package/types/src/shape/geometry/guides.d.ts +54 -0
  583. package/types/src/shape/geometry/handles.d.ts +14 -0
  584. package/types/src/shape/geometry/index.d.ts +7 -0
  585. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  586. package/types/src/shape/geometry/paths.d.ts +35 -0
  587. package/types/src/shape/geometry/segments.d.ts +114 -0
  588. package/types/src/shape/index.d.ts +4 -0
  589. package/types/src/sheet/CellRegion.d.ts +43 -3
  590. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  591. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  592. package/types/src/sheet/ISheet.d.ts +81 -931
  593. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  594. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +38 -16
  595. package/types/src/sheet/NamedCellRange.d.ts +17 -8
  596. package/types/src/sheet/NamedRange.d.ts +10 -2
  597. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  598. package/types/src/sheet/SheetCell.d.ts +96 -39
  599. package/types/src/sheet/SheetRange.d.ts +130 -27
  600. package/types/src/sheet/SheetRanges.d.ts +33 -18
  601. package/types/src/sheet/Worksheet.d.ts +2250 -0
  602. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  603. package/types/src/sheet/_Anomalies.d.ts +109 -0
  604. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  605. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  606. package/types/src/sheet/_CellBuffer.d.ts +224 -0
  607. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  608. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  609. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  610. package/types/src/sheet/_InvalidSheetRange.d.ts +10 -9
  611. package/types/src/sheet/_Kinds.d.ts +34 -0
  612. package/types/src/sheet/_Labels.d.ts +38 -0
  613. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  614. package/types/src/sheet/_RangeStateSweep.d.ts +15 -0
  615. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  616. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  617. package/types/src/sheet/_SheetAutoFitUtils.d.ts +5 -5
  618. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  619. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  620. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  621. package/types/src/sheet/_SheetFilterUtils.d.ts +51 -3
  622. package/types/src/sheet/_SheetIntents.d.ts +314 -0
  623. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  624. package/types/src/sheet/_SheetMutations.d.ts +185 -66
  625. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  626. package/types/src/sheet/_SheetStateReader.d.ts +35 -11
  627. package/types/src/sheet/_SheetStateTypes.d.ts +143 -79
  628. package/types/src/sheet/_SheetUtils.d.ts +59 -41
  629. package/types/src/sheet/_WatchAnchor.d.ts +106 -0
  630. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  631. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  632. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  633. package/types/src/sheet/index.d.ts +5 -2
  634. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  635. package/types/src/sheet/spatial/index.d.ts +1 -0
  636. package/types/src/sheet/style/SheetCellStyle.d.ts +223 -337
  637. package/types/src/sheet/style/SheetDirectStyle.d.ts +31 -20
  638. package/types/src/sheet/style/SheetNamedStyle.d.ts +19 -17
  639. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  640. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  641. package/types/src/sheet/style/_Resolvers.d.ts +17 -10
  642. package/types/src/sheet/style/_StyleUtils.d.ts +34 -40
  643. package/types/src/sheetHeader/ISheetHeader.d.ts +96 -55
  644. package/types/src/sheetHeader/SheetCellHeader.d.ts +6 -0
  645. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  646. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  647. package/types/src/sheetHeader/SheetHeader.d.ts +48 -27
  648. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  649. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -4
  650. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +64 -30
  651. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  652. package/types/src/sheetProtection/index.d.ts +1 -1
  653. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +230 -69
  654. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  655. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  656. package/types/src/sheetView/index.d.ts +1 -1
  657. package/types/src/slicer/ISlicer.d.ts +304 -17
  658. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  659. package/types/src/slicer/Slicer.d.ts +128 -13
  660. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  661. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  662. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  663. package/types/src/slicer/index.d.ts +1 -0
  664. package/types/src/sort/ISort.d.ts +39 -7
  665. package/types/src/string/IStringCollection.d.ts +5 -0
  666. package/types/src/string/StringCollection.d.ts +6 -6
  667. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +117 -85
  668. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  669. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  670. package/types/src/style/IStyleCollection.d.ts +91 -60
  671. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  672. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  673. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  674. package/types/src/style/StyleCollection.d.ts +81 -26
  675. package/types/src/style/TableStyleCollection.d.ts +49 -0
  676. package/types/src/style/_BuiltInStyleDefs.d.ts +9 -8
  677. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  678. package/types/src/style/index.d.ts +7 -1
  679. package/types/src/table/AnchoredTable.d.ts +723 -78
  680. package/types/src/table/AutoTable.d.ts +8 -6
  681. package/types/src/table/ITable.d.ts +289 -49
  682. package/types/src/table/ITableCollection.d.ts +12 -0
  683. package/types/src/table/ITableStyle.d.ts +37 -37
  684. package/types/src/table/TableCollection.d.ts +19 -8
  685. package/types/src/table/_FilterField.d.ts +19 -6
  686. package/types/src/table/_NamedTable.d.ts +20 -4
  687. package/types/src/table/_NamedTableSource.d.ts +3 -2
  688. package/types/src/table/_SortField.d.ts +2 -0
  689. package/types/src/table/_TableColumn.d.ts +13 -2
  690. package/types/src/table/_TableMessages.d.ts +1 -0
  691. package/types/src/table/_TableUtils.d.ts +40 -0
  692. package/types/src/text/Bullet.d.ts +4 -0
  693. package/types/src/text/IText.d.ts +150 -15
  694. package/types/src/text/ITextFrame.d.ts +110 -1
  695. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  696. package/types/src/text/TextEngine.d.ts +34 -0
  697. package/types/src/text/TextFrame.d.ts +8 -2
  698. package/types/src/text/TextLine.d.ts +4 -0
  699. package/types/src/text/TextParagraph.d.ts +4 -0
  700. package/types/src/text/TextRotation.d.ts +3 -3
  701. package/types/src/text/TextRun.d.ts +12 -2
  702. package/types/src/text/TextStacked.d.ts +83 -0
  703. package/types/src/text/TextWrapper.d.ts +32 -26
  704. package/types/src/text/_TextUtils.d.ts +5 -5
  705. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  706. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  707. package/types/src/text/index.d.ts +1 -0
  708. package/types/src/text/richtext/IRichText.d.ts +50 -0
  709. package/types/src/text/richtext/index.d.ts +1 -1
  710. package/types/src/theme/ITheme.d.ts +153 -11
  711. package/types/src/theme/IThemeCollection.d.ts +2 -0
  712. package/types/src/theme/ThemeCollection.d.ts +16 -7
  713. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  714. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  715. package/types/src/transaction/ITransaction.d.ts +277 -45
  716. package/types/src/transaction/Transaction.d.ts +108 -11
  717. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  718. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  719. package/types/src/type/AbstractCollection.d.ts +92 -0
  720. package/types/src/type/ICollection.d.ts +131 -1
  721. package/types/src/type/IProperties.d.ts +1 -1
  722. package/types/src/type/ITypes.d.ts +9 -7
  723. package/types/src/type/index.d.ts +1 -0
  724. package/types/src/utils/_CSSUtils.d.ts +4 -4
  725. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  726. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  727. package/types/src/wasm/fontsWasm.d.ts +32 -0
  728. package/types/src/wasm/index.d.ts +3 -0
  729. package/types/src/wasm/loader.browser.d.ts +9 -0
  730. package/types/src/wasm/loader.node.d.ts +9 -0
  731. package/types/src/wasm/sdkWasm.d.ts +32 -0
  732. package/types/src/workbook/IWorkbook.d.ts +404 -73
  733. package/types/src/workbook/Workbook.d.ts +196 -28
  734. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  735. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  736. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  737. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  738. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  739. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  740. package/types/src/workbookView/IWorkbookView.d.ts +94 -0
  741. package/types/src/workbookView/WorkbookView.d.ts +26 -0
  742. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  743. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  744. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  745. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  746. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  747. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  748. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  749. package/browser/cjs/index.cjs +0 -3
  750. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  751. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  752. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  753. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  754. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  755. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  756. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -91
  757. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  758. package/types/src/dataValidation/_Utils.d.ts +0 -10
  759. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  760. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  761. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  762. package/types/src/lib/utils/_Utils.d.ts +0 -27
  763. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  764. package/types/src/movable/IGroup.d.ts +0 -30
  765. package/types/src/movable/IMovableSelection.d.ts +0 -49
  766. package/types/src/print/IPrint.d.ts +0 -234
  767. package/types/src/sheet/Sheet.d.ts +0 -1107
  768. package/types/src/sheet/SheetCollection.d.ts +0 -18
  769. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  770. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  771. package/types/src/sheet/listener/index.d.ts +0 -3
  772. package/types/src/sheetProtection/SheetProtection.d.ts +0 -39
  773. package/types/src/sheetView/SheetView.d.ts +0 -113
  774. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
  775. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -1,140 +1,200 @@
1
- import { IListLike } from './IList';
1
+ import { IList, IListLike } from './IList';
2
2
  /**
3
- * Stores mixed value types in an ArrayBuffer or a SharedArrayBuffer.
3
+ * An immutable run of mixed scalar values in ONE `ArrayBuffer` or `SharedArrayBuffer`.
4
4
  *
5
- * Enable more efficient storage of mixed types in a single array.
6
- * Supports fully shared between threads without copy.
5
+ * Numbers, booleans and blanks are stored natively; strings and errors as `int32` ids that a
6
+ * {@link MixedTypedArrayList.Codec} resolves. The buffer is the whole list: another thread that
7
+ * receives its {@link MixedTypedArrayList.Handle} (and has the same codec) reads it without a copy.
7
8
  *
8
9
  * @remarks
9
- * * Implements {@link IListLike} — expects all values to be immutable.
10
- * * Supports numbers (int32, float32, float64, bigint), booleans, null, and undefined natively.
11
- * * Strings and errors are stored as ordinal references; provide `getCoercedValue` to resolve them.
12
- * * Custom types (128–255) are supported via `getCoercedKey` / `getCoercedValue` callbacks.
10
+ * Layout, for `length` values at `width` 4 or 8 bytes:
11
+ * - the value slots, `length * width` bytes, absent when no value needs one (booleans and blanks);
12
+ * - then one type byte per value, absent when every value is of one type.
13
+ *
14
+ * The width is 4 when no value is a non-int32 number, else 8. At width 8 an `int32` (int, string
15
+ * id, error code) lives in the low word of its slot and a double in the whole slot.
16
+ *
17
+ * Implements {@link IListLike}: `at` answers `undefined` past the end and `null` for a blank.
18
+ * Slicing and concatenation are `ImmutableList`'s, logically, over any list.
19
+ *
20
+ * Create with {@link MixedTypedArrayList.fromArray}; rebuild from a handle with the constructor.
13
21
  */
14
- export declare class MixedTypedArrayList<T = any> implements IListLike<T> {
15
- private _l;
16
- private _at;
17
- private _dt;
18
- private _a32;
19
- private _a64;
20
- private _cv;
21
- private _vt;
22
- private _vi32;
23
- private _vi64;
24
- private _vf32;
25
- private _vf64;
26
- constructor(options: MixTypedArrayListConstructorOptions);
22
+ export declare class MixedTypedArrayList<T = any> implements IList<T> {
23
+ private readonly _l;
24
+ private readonly _w;
25
+ /** `0` at width 4, `1` at width 8: the int32 index is `(i << _sh) + _lo`. */
26
+ private readonly _sh;
27
+ /** The word an int32 occupies at width 8: `0` little-endian, `1` big-endian. */
28
+ private readonly _lo;
29
+ private readonly _dt;
30
+ private readonly _m;
31
+ private readonly _buf;
32
+ private readonly _vi;
33
+ private readonly _vf;
34
+ private readonly _t;
35
+ private readonly _c;
36
+ private _v;
27
37
  /**
28
- * Returns constructor options that can used to recreate the MixedTypedArrayList.
38
+ * Rebuilds a list over a handle's buffer, without copying it.
39
+ *
40
+ * @param handle The handle, from {@link getHandle} or from another thread.
41
+ * @param codec Required when the run holds strings or errors.
29
42
  */
30
- getConstructorOptions(): MixTypedArrayListConstructorOptions;
43
+ constructor(handle: MixedTypedArrayList.Handle, codec?: MixedTypedArrayList.Codec<T> | null);
31
44
  /** {@inheritDoc IListLike.at} */
32
45
  at(index: number): T | undefined;
33
- /** {@inheritDoc IListLike.toArray} */
34
- toArray(maxLength: number): T[];
46
+ /**
47
+ * The type code of the value at `index` (see {@link MixedTypedArrayList.Type}), or `-1` past
48
+ * the end.
49
+ */
50
+ typeAt(index: number): number;
51
+ /**
52
+ * The types the list may hold, as a bitmask of `1 << Type`. It never omits a type a value
53
+ * holds, so a missing bit answers "none here" without a scan; a set bit may name a type no
54
+ * value holds.
55
+ */
56
+ get typeMask(): number;
57
+ /**
58
+ * The typed arrays under the list, for a loop over a stretch of it without `at`: the type of
59
+ * index `i` is `types[i]` (or `defaultType` when `types` is `null`), an int32, string id or
60
+ * error code is `ints[(i << intShift) + intOffset]`, and a double is `doubles[i]`.
61
+ */
62
+ getViews(): MixedTypedArrayList.Views;
35
63
  /** {@inheritDoc IListLike.length} */
36
64
  get length(): number;
37
- get [Symbol.toStringTag](): string;
38
- toString(): string;
39
- protected static _createArrayBuffer(length: number): ArrayBufferLike;
65
+ /** {@inheritDoc IList.isIList} */
66
+ get isIList(): true;
40
67
  /**
41
- * Creates a MixedTypedArrayList from an array.
42
- *
43
- * @param array The array to convert.
44
- * @param getCoercedKey A function that returns a key for a complex value.
45
- * @param getCoercedValue A function that returns a coerced value for a given key.
46
- * @param getCoerceType A function that returns a type for a given value.
47
- * @returns A MixedTypedArrayList.
48
- *
68
+ * {@inheritDoc IListLike.fromArray}
49
69
  * @remarks
50
- * - `getCoercedKey` will generally be a map id.
70
+ * A plain list: this is asked for small merges (`ImmutableList.concat`), below the length a
71
+ * typed list is worth.
51
72
  */
52
- static fromArray<T = any>(array: T[], getCoercedKey?: (type: number, value: T) => number, getCoercedValue?: (type: number, key: number) => T, getCoerceType?: (value: T) => number, threshold64?: number): MixedTypedArrayList;
53
- }
54
- export interface MixTypedArrayListConstructorOptions<T = any> {
73
+ fromArray(arr: T[]): IListLike<T>;
74
+ /** The bytes a value occupies: `4` or `8`. */
75
+ get width(): number;
76
+ /** Whether the buffer is a `SharedArrayBuffer`. */
77
+ get isShared(): boolean;
55
78
  /**
56
- * The length of the array.
79
+ * The values as an `Array`.
80
+ * @param maxLength At most this many, from the start.
57
81
  */
58
- length: number;
82
+ toArray(maxLength?: number): T[];
59
83
  /**
60
- * The array used for storing types.
61
- *
62
- * @remarks
63
- * This is the default type if types is not provided.
64
- */
65
- type: number;
66
- /**
67
- * The array used for storing types.
68
- *
69
- * @remarks
70
- * This must be a Uint8Array. This or type must be provided.
84
+ * What rebuilds this list: the buffer and its shape. Post it to another thread (a shared
85
+ * buffer is shared; an `ArrayBuffer` is copied, or transferred and then unusable here).
71
86
  */
72
- types?: ArrayBufferLike | null;
87
+ getHandle(): MixedTypedArrayList.Handle;
88
+ get [Symbol.toStringTag](): string;
89
+ toString(): string;
73
90
  /**
74
- * Stores 32bit values.
75
- *
76
- * @remarks
77
- * If this is not provided then all values stored in values64.
78
- * * Must be 32bit aligned
91
+ * Whether `SharedArrayBuffer` can be allocated here: it exists, and the page is cross-origin
92
+ * isolated where that applies.
79
93
  */
80
- values32?: ArrayBufferLike | null;
94
+ static get isSharedSupported(): boolean;
81
95
  /**
82
- * Stores 64 bit overflow values or all 64 bit values if is64Bit is `true`.
96
+ * Encodes an array of values.
83
97
  *
84
- * @remarks
85
- * * This behave different depending on if the values32 is provided.
86
- * * * values32 is provided - This stores 32 bit values and 32 bit references to 64 bit values.
87
- * * * values32 is NOT provided - Then this is used for all values and values32 is not used.
88
- * * Must be 64bit aligned
98
+ * @param values The values, or a scratch holding them first (`options.length`). `undefined` is
99
+ * stored as a blank. Never retained.
100
+ * @param codec Resolves strings and errors. Without one a run holding either cannot be encoded.
101
+ * @param options Allocation and the hints a writer that saw the values already has.
102
+ * @returns The list, or `null` when a value cannot be encoded: a rich value, or a string or
103
+ * error with no codec. Nothing is allocated in that case.
89
104
  */
90
- values64?: ArrayBufferLike | null;
105
+ static fromArray<T = any>(values: readonly T[], codec?: MixedTypedArrayList.Codec<T> | null, options?: MixedTypedArrayList.FromArrayOptions): MixedTypedArrayList<T> | null;
91
106
  /**
107
+ * Encodes values that are already codes and numbers: a load path that has string ids and
108
+ * error codes in hand writes them without resolving a single string.
92
109
  *
93
- * Returns a value for a given type The default implementation auto coerces ints/floats/boolean and 'null'.
94
- *
95
- * @param type An 8bit number. Will always be between 0 and 255.
96
- * @param key The key as either a 32bit or 64bit integer.
97
- * @returns Returns a coerced value.
98
- *
99
- * @remarks
100
- * This is used for returning string lookup, error lookup, or custom.
110
+ * @param codes The {@link MixedTypedArrayList.Type} of each value. Never `Rich`.
111
+ * @param values Per position: the int, double, string id or error code; ignored for a boolean
112
+ * or a blank.
113
+ * @param codec For reads; the run is written as given.
101
114
  */
102
- getCoercedValue?: ((type: number, key: number) => T) | null;
115
+ static fromEncoded<T = any>(codes: Uint8Array, values: ArrayLike<number>, codec?: MixedTypedArrayList.Codec<T> | null, options?: MixedTypedArrayList.FromArrayOptions): MixedTypedArrayList<T>;
103
116
  }
104
117
  /**
105
- * Defines the list of Known valid type codes for a MixedTypedArrayList.
106
- *
107
- * @remarks
108
- * MixedTypedArray stores a type using an Uint8Array. The first
109
- * 127 bits are reserved for known types. The last 128-255 are
110
- * reserved for custom types.
111
- *
118
+ * {@inheritDoc MixedTypedArrayList}
112
119
  * @see
113
- * {@link MixTypedArrayListConstructorOptions.coerceType}
114
- */
115
- export declare const KnownType: {
116
- readonly Null: 0;
117
- readonly Boolean: 1;
118
- readonly Integer: 2;
119
- readonly Float: 3;
120
- readonly Integer64: 4;
121
- readonly Float64: 5;
122
- readonly String: 6;
123
- readonly Error: 7;
124
- readonly PosInfinity: 16;
125
- readonly NegInfinity: 17;
126
- readonly NaN: 18;
127
- readonly MaxSafeInteger: 19;
128
- readonly MinSafeInteger: 20;
129
- readonly Undefined: 15;
130
- readonly Unknown: 127;
131
- };
132
- /**
133
- * Return a 8 bit int that represents the type to using in the type array.
120
+ * ### **Class**
134
121
  *
135
- * @param value The value of the type. Only the type is used
136
- * @param custom If provided this will be called if the type is not well known. Must return a value between '128' and '255'.
137
- * @returns a number representing a type between '0' and '255'.
122
+ * {@link MixedTypedArrayList}
138
123
  */
139
- export declare function getBuiltinCoerceType<T = any>(value: T, custom?: (T: any) => number): number;
124
+ export declare namespace MixedTypedArrayList {
125
+ /**
126
+ * The type codes, one byte each. A boolean or a blank is its code alone and has no value slot.
127
+ */
128
+ const Type: {
129
+ readonly Blank: 0;
130
+ readonly False: 1;
131
+ readonly True: 2;
132
+ readonly Int32: 3;
133
+ readonly Float64: 4;
134
+ readonly String: 5;
135
+ readonly Error: 6;
136
+ /** Reserved. A run holding a rich value is not encoded. */
137
+ readonly Rich: 7;
138
+ };
139
+ /**
140
+ * Resolves what the buffer stores as an id: strings and errors, both ways.
141
+ */
142
+ interface Codec<T = any> {
143
+ /** Whether an object value is an error (anything else is rich, and not encoded). */
144
+ isError(value: object): boolean;
145
+ /** The id a string is stored as; the same string must give the same id. */
146
+ encodeString(value: string): number;
147
+ /** The string for an id. */
148
+ decodeString(id: number): T;
149
+ /** The code an error is stored as. */
150
+ encodeError(value: T): number;
151
+ /** The error for a code. */
152
+ decodeError(code: number): T;
153
+ }
154
+ /**
155
+ * What rebuilds a list over its buffer. Passes through `structuredClone` and `postMessage`.
156
+ */
157
+ interface Handle {
158
+ buffer: ArrayBufferLike;
159
+ length: number;
160
+ width: 4 | 8;
161
+ /** The one type, when `hasTypes` is `false`. */
162
+ defaultType: number;
163
+ /** {@inheritDoc MixedTypedArrayList.typeMask} */
164
+ typeMask: number;
165
+ /** Whether a type byte per value follows the slots. */
166
+ hasTypes: boolean;
167
+ /** Whether any value has a slot; `false` for a run of booleans and blanks. */
168
+ hasSlots: boolean;
169
+ }
170
+ /** {@inheritDoc MixedTypedArrayList.getViews} */
171
+ interface Views {
172
+ readonly types: Uint8Array | null;
173
+ readonly defaultType: number;
174
+ readonly ints: Int32Array;
175
+ readonly doubles: Float64Array | null;
176
+ readonly intShift: 0 | 1;
177
+ readonly intOffset: 0 | 1;
178
+ }
179
+ interface FromArrayOptions {
180
+ /**
181
+ * Allocate a `SharedArrayBuffer` when supported.
182
+ * @defaultValue false
183
+ */
184
+ shared?: boolean;
185
+ /**
186
+ * Encode only the first `length` values: the input is a writer's reused scratch, longer than
187
+ * the run.
188
+ * @defaultValue the input's length
189
+ */
190
+ length?: number;
191
+ /**
192
+ * The types the values hold, as a bitmask of `1 << Type`, from a writer that saw them. Not
193
+ * validated: a wrong mask encodes wrong values, and it is kept as
194
+ * {@link MixedTypedArrayList.typeMask}. A single-type mask skips the type bytes and the
195
+ * classification; any mask sets the width before allocating.
196
+ */
197
+ seen?: number;
198
+ }
199
+ }
140
200
  //# sourceMappingURL=MixedTypedArrayList.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
@@ -13,8 +13,15 @@ export declare class RepeatingList<T> implements IList<T> {
13
13
  toArray(maxLength?: number): T[];
14
14
  /** {@inheritDoc IListLike.length} */
15
15
  get length(): number;
16
+ /**
17
+ * The length of the repeated list — the period. A period of `1` is one value however long, so a
18
+ * consumer that would otherwise scan every position can read `at(0)` once.
19
+ */
20
+ getPeriod(): number;
16
21
  get [Symbol.toStringTag](): string;
17
22
  /** {@inheritDoc IList.isIList} */
18
23
  get isIList(): true;
24
+ /** For runtime type checking. */
25
+ get isIRepeatingList(): true;
19
26
  }
20
27
  //# sourceMappingURL=RepeatingList.d.ts.map
@@ -0,0 +1,50 @@
1
+ import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
2
+ import { Tuple } from './Tuple';
3
+ import { IGrid } from './IGrid';
4
+ import { ISparseGrid } from './ISparseGrid';
5
+ /**
6
+ * A grid holding one value at (0,0) — the backing of a direct-scalar box.
7
+ *
8
+ * @remarks
9
+ * Every scalar handed to a range-typed parameter (`IF`'s branches, `AND`/`OR`/`MIN`/`MAX`
10
+ * arguments) is boxed into a 1x1 range, and most boxes are only ever read back out again by the
11
+ * consumer (`getValueAt(0, 0)`), so building a full {@link SparseGrid} — a major list, a minor
12
+ * list, a run — for each was the single largest allocation in a recalculation: ~100K per pass on
13
+ * a 28K-formula template. This answers the reads a box gets natively and holds no structure at
14
+ * all; the first call that needs one (iteration, a write, a copy) materializes a real
15
+ * `SparseGrid` and delegates to it from then on, so every other behavior is exactly the grid's.
16
+ */
17
+ export declare class ScalarGrid<T = any> implements ISparseGrid<T> {
18
+ private _value;
19
+ private _axis;
20
+ private _maxCoords;
21
+ /** The real grid, once anything beyond a point read was asked for. */
22
+ private _grid;
23
+ constructor(value: T, options?: ScalarGrid.ConstructorOptions);
24
+ private _materialize;
25
+ getValueAt(row: number, column: number): T;
26
+ getCount(): number;
27
+ getCoords(): RangeCoords | null;
28
+ getAxis(): RangeAxis;
29
+ getMaxCoords(): RangeCoords | null;
30
+ clone(cloneKey?: any): this;
31
+ cloneEmpty(cloneKey?: any): this;
32
+ setValues(values: Tuple.GridTuple<T>): this;
33
+ setValueAt(row: number, column: number, value: T): void;
34
+ getValues(coords?: RangeCoords): Tuple.Region<T> | null;
35
+ entries(options?: IGrid.IteratorOptions): IGrid.EntryIterator<T>;
36
+ keys(options?: IGrid.IteratorOptions): IGrid.KeyIterator;
37
+ values(options?: IGrid.IteratorOptions): IGrid.ValueIterator;
38
+ getRuns(options?: ISparseGrid.RunIteratorOptions): ISparseGrid.RunIterableIterator<T>;
39
+ delete(coords: RangeCoords | null): boolean;
40
+ clear(): void;
41
+ shift(coords: RangeCoords, direction: Direction): boolean;
42
+ copyTo(destination: IGrid, topLeft: CellCoords, from: RangeCoords): void;
43
+ }
44
+ export declare namespace ScalarGrid {
45
+ interface ConstructorOptions {
46
+ axis?: RangeAxis;
47
+ maxCoords?: RangeCoords;
48
+ }
49
+ }
50
+ //# sourceMappingURL=ScalarGrid.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
  */
@@ -39,7 +40,7 @@ export declare class SparseGrid<T = any> implements ISparseGrid<T> {
39
40
  /** {@inheritDoc IGrid.setValues} */
40
41
  setValues(values: Tuple.GridTuple<T>): this;
41
42
  /** {@inheritDoc IGrid.getValues} */
42
- getValues(coords?: RangeCoords): Tuple.BoundedTuples<T> | null;
43
+ getValues(coords?: RangeCoords): Tuple.Region<T> | null;
43
44
  private _updateCountAndCoords;
44
45
  /** {@inheritDoc IGrid.clear} */
45
46
  clear(): void;
@@ -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