@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,4 +1,7 @@
1
1
  export * from './IFill';
2
+ export * from './IFillable';
2
3
  export * from './IStroke';
3
4
  export * from './IEffect';
5
+ export * from './RectAlignment';
6
+ export * as PaintUtils from './PaintUtils';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,13 +1,20 @@
1
- import { IRange } from '@sheetxl/primitives';
1
+ import { IRange, Scalar } from '@sheetxl/primitives';
2
+ import { RunCoordValue } from '@sheetxl/utils';
2
3
  import { ITransaction } from '../transaction';
3
4
  import { ICondition } from '../condition';
4
5
  import { ICellRange } from '../cellRange';
5
6
  /**
6
7
  * Filters are used to hide spans (rows or columns). that do not match a set of conditions.
8
+ *
9
+ * @remarks
10
+ * A column's filter ANDs with the other columns' (Excel's AutoFilter): setting one leaves the
11
+ * rest in place unless `replace` says otherwise. Every write returns a Promise that resolves once
12
+ * the rows are hidden; the criteria are written in the same transaction, so an `await` is what
13
+ * makes a read after the call see them.
7
14
  */
8
15
  export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
9
16
  /**
10
- * Returns the range this filter applies to.
17
+ * Returns the range this filter applies to: the column's data rows, header and totals excluded.
11
18
  *
12
19
  * @remarks
13
20
  * A filter is exactly one column of its table, which is why the singular is declared here rather
@@ -15,9 +22,24 @@ export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
15
22
  */
16
23
  getRange(): ICellRange;
17
24
  /**
18
- * Set the condition.
25
+ * Set the condition, `null` to clear this column's.
26
+ *
27
+ * @param condition The condition, or `null` to clear.
28
+ * @param replace If `true`, every other column's filter is dropped; omitted, they stay and this
29
+ * one ANDs with them. A column already filtered keeps its place in the level order.
30
+ * @param options Transaction options.
31
+ *
32
+ * @returns Resolves once the rows are hidden; one transaction, one undo step.
33
+ */
34
+ setCondition(condition: ICondition.Input | null, replace?: boolean, options?: ITransaction.OperationOptions): Promise<this>;
35
+ /**
36
+ * Re-runs every filter on the table with its current criteria.
37
+ */
38
+ apply(options?: ITransaction.OperationOptions): Promise<this>;
39
+ /**
40
+ * Clears this column's condition. The other columns' filters stay.
19
41
  */
20
- setCondition(condition: ICondition.Input, append?: boolean, options?: ITransaction.OperationOptions): void;
42
+ delete(options?: ITransaction.OperationOptions): Promise<this>;
21
43
  /**
22
44
  * The offset index from the range
23
45
  *
@@ -25,6 +47,50 @@ export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
25
47
  * This is relative to the table.
26
48
  */
27
49
  getIndex(): number;
50
+ /**
51
+ * The column's distinct values, as a filter menu lists them.
52
+ *
53
+ * @param options See {@link IFilter.GetItemsOptions}.
54
+ *
55
+ * @remarks
56
+ * Under the default scope, which rows are read depends on the column:
57
+ * - With no condition on it, the rows that are showing. A row hidden by another column's filter,
58
+ * or by hand, is not listed.
59
+ * - With a condition on it, the rows every *other* column's filter passes, so a value this
60
+ * column's own condition hides is listed too, unchecked.
61
+ *
62
+ * An item is `checked` when at least one row holding it passes the filters, so a column filtered
63
+ * by any condition (`> 5`, say) lists the passing values checked. A row hidden by hand does not
64
+ * uncheck its value.
65
+ *
66
+ * Under the `'column'` scope every row is read, and each item also says whether it passes the
67
+ * other columns' filters ({@link IFilter.Item.passesOthers}).
68
+ *
69
+ * Reads the stored values in one pass; the cost follows the column's content, not its extent.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const filter = table.getColumnAt(1).getFilter();
74
+ * const { items } = await filter.getItems();
75
+ * // keep the first two values
76
+ * await filter.setCondition({
77
+ * operator: ICondition.BuiltInOperatorNames.InSet,
78
+ * param: { items: items.slice(0, 2).map((item) => item.text) }
79
+ * });
80
+ * ```
81
+ */
82
+ getItems(options?: IFilter.GetItemsOptions): Promise<IFilter.Items>;
83
+ /**
84
+ * The texts `values` show as in this column's data rows, each once, in column order: what a
85
+ * list by displayed text would hold for them, and what the xlsx writer spells a value list as,
86
+ * since OOXML's list holds displayed text. A value no cell holds contributes nothing.
87
+ *
88
+ * @remarks
89
+ * Synchronous: it reads the number-format runs and the column's statistics, not its cells.
90
+ */
91
+ getDisplayTexts(values: readonly Scalar[]): readonly string[];
92
+ /** For runtime type checking. */
93
+ readonly isIFilter: true;
28
94
  }
29
95
  /**
30
96
  * {@inheritDoc IFilter}
@@ -38,6 +104,121 @@ export declare namespace IFilter {
38
104
  conditions?: ICondition.JSON[];
39
105
  axis?: IRange.Axis;
40
106
  }
107
+ /**
108
+ * Options for {@link IFilter.getItems}.
109
+ */
110
+ interface GetItemsOptions {
111
+ /**
112
+ * The distinct values to stop at.
113
+ *
114
+ * @defaultValue `10000`
115
+ */
116
+ limit?: number;
117
+ /**
118
+ * The selector the column is read under, as the condition's will be. Under
119
+ * {@link ICondition.BuiltInSelectorNames.Display} the column is grouped by the text its cells
120
+ * SHOW, as a spreadsheet's filter list does: `1` under `$0` and under `0%` are two items, and
121
+ * a string of only spaces is a blank. The items are then the texts an `inSet` under Display
122
+ * holds. Any other selector lists the distinct values.
123
+ *
124
+ * @defaultValue `null` — by value, the identity {@link ICondition.InSetOption.items} has
125
+ * under no selector.
126
+ */
127
+ selector?: string | ICondition.ISelector | null;
128
+ /**
129
+ * Which rows are listed.
130
+ *
131
+ * - `'visible'`: as a filter menu lists them (see {@link IFilter.getItems}).
132
+ * - `'column'`: every row of the column, hidden or not, so a value every row of which another
133
+ * column's filter hides is listed too, with {@link Item.passesOthers} saying so. What a
134
+ * slicer lists.
135
+ *
136
+ * @defaultValue `'visible'`
137
+ */
138
+ scope?: 'visible' | 'column';
139
+ }
140
+ /**
141
+ * One distinct value of a filtered column.
142
+ */
143
+ interface Item {
144
+ /**
145
+ * The item's label: by value, the value as `General` shows it (a date as its date format
146
+ * does); under Display, the text the cells show, which is then the item an `inSet` under
147
+ * Display holds.
148
+ */
149
+ text: string;
150
+ /** The value, or by display the value of the first cell showing `text`; the item's place in the order. */
151
+ value: Scalar;
152
+ /** The rows holding the value. */
153
+ count: number;
154
+ /** Whether at least one row holding the value passes the filters. */
155
+ checked: boolean;
156
+ /**
157
+ * Whether at least one row holding the value passes every *other* column's filter: a slicer's
158
+ * "has data". Read under {@link GetItemsOptions.scope} `'column'` only.
159
+ */
160
+ passesOthers?: boolean;
161
+ /** The sheet row of the first listed row holding the value. */
162
+ firstRow: number;
163
+ }
164
+ /**
165
+ * One level of the date tree {@link Items.dates}: the nodes, each the run of items it spans,
166
+ * in the order the items are listed.
167
+ */
168
+ interface DateLevel {
169
+ /** The part this level groups by. */
170
+ group: ICondition.DateItemGroupingType;
171
+ /**
172
+ * The nodes. A run's `value` is the group item selecting exactly its items: the parts down
173
+ * to this level (`{ group: 'month', year: 1995, month: 10 }`).
174
+ */
175
+ runs: readonly RunCoordValue<ICondition.DateGroupItem>[];
176
+ }
177
+ /**
178
+ * What {@link IFilter.getItems} answers.
179
+ */
180
+ interface Items {
181
+ /**
182
+ * The distinct values, or the distinct texts under Display. The dates come first (the tree in {@link dates}), newest year first
183
+ * and ascending within a year, as Excel's date tree lists them; the rest follow, ascending
184
+ * by the workbook's comparison of their values. Values that show alike are one item. Blanks
185
+ * are not an item.
186
+ */
187
+ items: readonly Item[];
188
+ /**
189
+ * The date tree over the leading items, one level per entry: year, month and day, then hour,
190
+ * minute and second when a date carries a time. Absent when the column shows no date.
191
+ *
192
+ * @remarks
193
+ * A date is a number shown under a date format; a time-only format is a number. Every level
194
+ * covers the same items, `0` to the last date, and a finer level's runs nest inside the
195
+ * coarser's. A node's checkbox is the state of its items; a checked node is written as its
196
+ * run's value, in {@link ICondition.InSetOption.dateGroups}.
197
+ */
198
+ dates?: readonly DateLevel[];
199
+ /**
200
+ * Whether a listed row is blank: empty, or showing nothing (a `""` result, a string of only
201
+ * spaces). The same rows `includeBlanks` keeps.
202
+ */
203
+ hasBlanks: boolean;
204
+ /** Whether at least one blank row passes the filters. */
205
+ blanksChecked: boolean;
206
+ /**
207
+ * Whether at least one blank row passes every other column's filter. Read under
208
+ * {@link GetItemsOptions.scope} `'column'` only.
209
+ */
210
+ blanksPassOthers?: boolean;
211
+ /** Whether the column has more distinct values than `limit`; the rest are not listed. */
212
+ truncated: boolean;
213
+ /** The rows read. */
214
+ total: number;
215
+ /**
216
+ * The selector the list was read under, so a caller writes the items back under the same
217
+ * one: `{ selector, operator: 'inSet', param: { items } }`. A list read by value fed back as
218
+ * texts under Display would match nothing for a number.
219
+ */
220
+ selector: string | null;
221
+ }
41
222
  /**
42
223
  * Interface indicating the ability to filter data.
43
224
  */
@@ -76,8 +257,10 @@ export declare namespace IFilter {
76
257
  * ``` ts
77
258
  * sheet.getRange('E:E').filter('>= 30');
78
259
  * ```
260
+ *
261
+ * @returns Resolves once the rows are hidden.
79
262
  */
80
- filter(condition?: ICondition.Input, options?: ITransaction.OperationOptions): this;
263
+ filter(condition?: ICondition.Input, options?: ITransaction.OperationOptions): Promise<this>;
81
264
  }
82
265
  }
83
266
  //# sourceMappingURL=IFilter.d.ts.map
@@ -0,0 +1,59 @@
1
+ import { AdvanceTable } from './AdvanceTable';
2
+ /**
3
+ * Makes the {@link AdvanceTable} for a face from one source: a shipped `.metrics.json`, a canvas,
4
+ * a font's bytes.
5
+ *
6
+ * @remarks
7
+ * A platform has several, tried in order; the first that answers wins. One build serves every size
8
+ * of the face, so a builder runs once per family, weight and style.
9
+ */
10
+ export interface AdvanceBuilder {
11
+ /** The builder's name, for diagnostics. */
12
+ readonly name: string;
13
+ /**
14
+ * `'table'` when the advances were captured ahead of time (possibly from a metric-compatible
15
+ * twin), `'exact'` when they are read from the face itself as installed.
16
+ */
17
+ readonly kind: 'table' | 'exact';
18
+ /**
19
+ * The table for `face`, or `null` when this builder has no source for it.
20
+ *
21
+ * @throws when a source exists but cannot be read as a table.
22
+ */
23
+ build(face: AdvanceTable.Face): Promise<AdvanceTable | null>;
24
+ /**
25
+ * Gives a table built elsewhere (a built-in one) the hinted widths this builder has for its
26
+ * face, when it has them.
27
+ *
28
+ * @returns Whether the table is hinted now.
29
+ */
30
+ hint?(table: AdvanceTable): Promise<boolean>;
31
+ /**
32
+ * The table of what the platform PAINTS `face` with when a cell names `families` (the face's
33
+ * family and the style's fallbacks, in order): a browser's own advances for that CSS stack,
34
+ * substitutes included. Only a builder that can see the platform's paint has one; the
35
+ * collection uses it to reconcile paint to the measure
36
+ * (`IFont.ExtendedMetrics.renderLetterSpacing`).
37
+ *
38
+ * @returns `null` when this builder cannot say.
39
+ */
40
+ paint?(face: AdvanceTable.Face, families: readonly string[]): Promise<AdvanceTable | null>;
41
+ /**
42
+ * How the platform measures a character that a captured table for `face` lacks: its advance
43
+ * per em as the platform paints it, its font fallback included (a symbol or emoji that the
44
+ * face does not have). The collection gives it to every captured table
45
+ * ({@link AdvanceTable.setMeasureMissing}), so such a character takes up room instead of
46
+ * measuring as nothing. Only a builder that can measure on the platform has one.
47
+ *
48
+ * @returns `null` when this builder cannot measure.
49
+ */
50
+ measureMissing?(face: AdvanceTable.Face): ((text: string) => number | undefined) | null;
51
+ /**
52
+ * Whether the platform has `family` installed, so paints it as itself: what a font menu shows a
53
+ * missing family differently by. Only a builder that can see the platform's fonts has one.
54
+ *
55
+ * @returns `undefined` when this builder cannot tell.
56
+ */
57
+ isInstalled?(family: string): boolean | undefined;
58
+ }
59
+ //# sourceMappingURL=AdvanceBuilder.d.ts.map
@@ -0,0 +1,228 @@
1
+ import { IFont } from './IFont';
2
+ import { SdkWasmExports } from '../wasm';
3
+ /**
4
+ * One face's advances and vertical metrics, per em: one table per family, weight and style that
5
+ * serves every size.
6
+ *
7
+ * @remarks
8
+ * The TypeScript twin of `AdvanceTable` in the `sheetxl-text` crate, with the same rules, so a
9
+ * table measures alike before the wasm loads and after it. Advances are per em
10
+ * (`advance / unitsPerEm` from a font, `advance / px` from a canvas). A character with no advance
11
+ * measures as a space when it is white space and as nothing otherwise.
12
+ *
13
+ * Vertical metrics follow GDI: the font is realized at a whole-pixel em (`round(px)`), and the
14
+ * OS/2 `winAscent` and `winDescent` are scaled to it and rounded.
15
+ *
16
+ * A table given its `.hinted.json` ({@link applyHinting}) measures widths as GDI does too, and so
17
+ * as Excel does: each character's design-unit advance rounded at that whole-pixel em, plus the
18
+ * delta the original font's hinting moves it by there. Without one, widths are fractional.
19
+ */
20
+ export declare class AdvanceTable implements IFont.AdvanceTable {
21
+ /** The family the table measures, as a style names it (`Calibri`, not its twin `Carlito`). */
22
+ readonly family: string;
23
+ /** The CSS weight, 400 regular and 700 bold. */
24
+ readonly weight: number;
25
+ readonly italic: boolean;
26
+ private readonly _vertical;
27
+ private readonly _perEm;
28
+ /** Design-unit advances, kept from a `.metrics.json`: what hinted widths round from. */
29
+ private readonly _units;
30
+ private _unitsPerEm;
31
+ /** Hinted deltas by ppem, then by codepoint; set once {@link applyHinting} has run. */
32
+ private _hinting;
33
+ /** Measures a character the table lacks, per em; see {@link setMeasureMissing}. */
34
+ private _measureMissing;
35
+ /** Excel's row pitch per integer ppem from `first`; set once {@link applyRows} has run. */
36
+ private _rows;
37
+ /** The table in the wasm, built on first ask from this table's data; see {@link native}. */
38
+ private _native;
39
+ /** Per-em advances recorded since the twin was built, written to it on the next ask. */
40
+ private _nativePending;
41
+ constructor(face: AdvanceTable.Face, vertical: AdvanceTable.VerticalPerEm);
42
+ /**
43
+ * A table from a captured `.metrics.json` (format `sheetxl-font-metrics/1`).
44
+ *
45
+ * @throws when the format is not one this reads.
46
+ */
47
+ static fromJSON(json: AdvanceTable.JSON): AdvanceTable;
48
+ /**
49
+ * Makes this a hinted table: widths from now on are GDI's whole pixels, from the companion
50
+ * `.hinted.json` (format `sheetxl-font-hinting/1`) captured from the original font.
51
+ *
52
+ * @throws when the format is not one this reads, or the file is for another face.
53
+ */
54
+ applyHinting(json: AdvanceTable.HintedJSON): void;
55
+ /** Whether widths are GDI's hinted whole pixels ({@link applyHinting}). */
56
+ get isHinted(): boolean;
57
+ /**
58
+ * Gives the table Excel's own row heights, from the companion `.rows.json` (format
59
+ * `sheetxl-font-rows/1`) captured from Excel: {@link metrics} then reports the pitch Excel
60
+ * autofits a row of this face to at each size. GDI's box plus 2 is Excel's up to about 22 pt
61
+ * and runs under it from there, by a per-font amount no table predicts.
62
+ *
63
+ * @throws when the format is not one this reads, or fewer than two sizes are listed.
64
+ */
65
+ applyRows(json: AdvanceTable.RowsJSON): void;
66
+ /** Whether row heights are Excel's captured ones ({@link applyRows}). */
67
+ get hasRows(): boolean;
68
+ /** The number of characters with an advance. */
69
+ get size(): number;
70
+ /** The advance of `codepoint` per em, or `undefined` when the table has none. */
71
+ advance(codepoint: number): number | undefined;
72
+ /**
73
+ * Records advances per em by codepoint, replacing earlier values: how a builder that measures
74
+ * (a canvas) fills a table.
75
+ */
76
+ set(entries: Iterable<readonly [codepoint: number, perEm: number]>): void;
77
+ /** Records one per-em advance, and queues it for the wasm twin when there is one. */
78
+ private _record;
79
+ /**
80
+ * This table in the wasm (the binding's `MetricsTable`), for the Rust wrapper to measure from:
81
+ * filled once from the same advances, hinted deltas and row pitches, and kept in step with them
82
+ * afterwards, so the wrapper measures exactly what {@link width} and {@link metrics} do. The
83
+ * table stays the owner; the twin is its view, freed by {@link release}.
84
+ *
85
+ * @param text Measured in first, character by character, when the table grows on demand
86
+ * ({@link setMeasureMissing}): the twin cannot ask back across the boundary.
87
+ */
88
+ native(wasm: SdkWasmExports, text?: string): AdvanceTable.Native;
89
+ /** Whether {@link native} has built the wasm twin. */
90
+ get hasNative(): boolean;
91
+ /**
92
+ * Frees the wasm twin, if there is one; the next {@link native} builds it again. The wasm has
93
+ * no garbage collector, so a table that changes what it would answer ({@link applyHinting},
94
+ * {@link applyRows}) or goes out of use lets its twin go here.
95
+ */
96
+ release(): void;
97
+ private _buildNative;
98
+ /**
99
+ * Makes the table grow on demand: a character it lacks is measured by `measure` (its advance per
100
+ * em, or `undefined` when it cannot say) the first time it is asked for, and remembered. How a
101
+ * canvas fills a table, since no table built from one can list every character up front.
102
+ */
103
+ setMeasureMissing(measure: ((text: string) => number | undefined) | null): void;
104
+ /** The characters of `text` with no advance, each once, in first-seen order. */
105
+ missing(text: string): string[];
106
+ /**
107
+ * The advance width of `text` in px at `px` pixels per em: the advances summed, then the
108
+ * super/subscript scale, then `letterSpacing` between characters.
109
+ */
110
+ width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
111
+ /** One character's advance in px: hinted whole pixels when the table is hinted. */
112
+ private _advancePx;
113
+ /** The face's whole-px vertical metrics at `px` pixels per em. */
114
+ metrics(px: number): IFont.Metrics;
115
+ /**
116
+ * The underline at `px`: its center's offset above the baseline (negative below) and its
117
+ * thickness, in px; `null` when the source did not record one.
118
+ */
119
+ underline(px: number): AdvanceTable.LineRule | null;
120
+ /** The strikeout at `px`, as {@link underline}. */
121
+ strikeout(px: number): AdvanceTable.LineRule | null;
122
+ /**
123
+ * {@link width} and {@link metrics} together, with the underline and strikeout thickness in
124
+ * whole px as they are drawn (at least 1).
125
+ */
126
+ measure(text: string, px: number, options?: AdvanceTable.MeasureOptions): IFont.ExtendedMetrics;
127
+ /**
128
+ * The letter-spacing that paints `text` at `width` when the platform paints it with
129
+ * `options.paint`'s advances: the difference spread between the characters (CSS spacing is
130
+ * added after each character but the last, as {@link width} counts it).
131
+ */
132
+ private _renderLetterSpacing;
133
+ }
134
+ export declare namespace AdvanceTable {
135
+ /** The `format` of a `.metrics.json` this version reads. */
136
+ const FORMAT = "sheetxl-font-metrics/1";
137
+ /** The `format` of a `.hinted.json` this version reads. */
138
+ const HINTED_FORMAT = "sheetxl-font-hinting/1";
139
+ /**
140
+ * A captured `.hinted.json`, the companion of a `.metrics.json`: where the original font's
141
+ * hinting moves an advance off its rounded value, by size.
142
+ */
143
+ interface HintedJSON {
144
+ format: typeof HINTED_FORMAT;
145
+ family: string;
146
+ weight: number;
147
+ italic: boolean;
148
+ /** The original font the hinting programs were run from. */
149
+ source?: {
150
+ family: string;
151
+ version?: string;
152
+ };
153
+ /** The units the table's advances are in; must match the table's. */
154
+ unitsPerEm: number;
155
+ /**
156
+ * `[ppem, [codepoint, delta, codepoint, delta, ...]]`: whole px over the advance rounded at
157
+ * that ppem. A size not listed moves no advance.
158
+ */
159
+ sizes: [number, number[]][];
160
+ }
161
+ /** The `format` of a `.rows.json` this version reads. */
162
+ const ROWS_FORMAT = "sheetxl-font-rows/1";
163
+ /**
164
+ * A captured `.rows.json`, the companion of a `.metrics.json`: Excel's autofit row height for
165
+ * the face, in px at 96 dpi, at every integer ppem from `firstPpem` up to where the row reaches
166
+ * Excel's 409 pt cap (`private-assets/design/rust/tools/capture-excel-row-heights.ps1`).
167
+ */
168
+ interface RowsJSON {
169
+ format: typeof ROWS_FORMAT;
170
+ family: string;
171
+ weight: number;
172
+ italic: boolean;
173
+ source?: {
174
+ application?: string;
175
+ dpi?: number;
176
+ };
177
+ firstPpem: number;
178
+ /** `pitches[i]` is the pitch at `firstPpem + i`. */
179
+ pitches: number[];
180
+ }
181
+ /** Excel's row pitch per integer ppem, from `first` on. */
182
+ interface RowPitches {
183
+ readonly first: number;
184
+ readonly pitches: readonly number[];
185
+ }
186
+ /** A table's twin in the wasm: the binding's `MetricsTable` (`crates/sheetxl-wasm-sdk`). */
187
+ type Native = InstanceType<SdkWasmExports['MetricsTable']>;
188
+ type Face = IFont.AdvanceTable.Face;
189
+ type WidthOptions = IFont.AdvanceTable.WidthOptions;
190
+ type MeasureOptions = IFont.AdvanceTable.MeasureOptions;
191
+ type LineRule = IFont.AdvanceTable.LineRule;
192
+ /** Vertical metrics per em. */
193
+ interface VerticalPerEm {
194
+ /** OS/2 `winAscent` per em. */
195
+ ascent: number;
196
+ /** OS/2 `winDescent` per em, positive below the baseline. */
197
+ descent: number;
198
+ underline?: LineRule | null;
199
+ strikeout?: LineRule | null;
200
+ }
201
+ /**
202
+ * A captured `.metrics.json`: the advances and vertical metrics of one face, in design units,
203
+ * with the font it was captured from.
204
+ */
205
+ interface JSON {
206
+ format: typeof FORMAT;
207
+ family: string;
208
+ weight: number;
209
+ italic: boolean;
210
+ /** The font measured, when it is a metric-compatible twin of `family`, and its license. */
211
+ source?: {
212
+ family: string;
213
+ version?: string;
214
+ license?: string;
215
+ notice?: string;
216
+ };
217
+ unitsPerEm: number;
218
+ winAscent: number;
219
+ winDescent: number;
220
+ /** `[position, thickness]` in design units. */
221
+ underline?: [number, number];
222
+ /** `[position, thickness]` in design units. */
223
+ strikeout?: [number, number];
224
+ /** Runs of consecutive codepoints: `[first codepoint, advances in design units]`. */
225
+ advances: [number, number[]][];
226
+ }
227
+ }
228
+ //# sourceMappingURL=AdvanceTable.d.ts.map
@@ -0,0 +1,54 @@
1
+ import { AdvanceBuilder } from './AdvanceBuilder';
2
+ import { AdvanceTable } from './AdvanceTable';
3
+ /** The part of a 2D context the builder uses. */
4
+ export interface MeasureContext {
5
+ font: string;
6
+ measureText(text: string): {
7
+ width: number;
8
+ fontBoundingBoxAscent?: number;
9
+ fontBoundingBoxDescent?: number;
10
+ };
11
+ }
12
+ /**
13
+ * Builds tables in a browser for families we have no captured table for, by
14
+ * measuring with a canvas: each character once, at one size, stored per em, so the table serves
15
+ * every size. Characters beyond printable ASCII are measured the first time text uses them.
16
+ *
17
+ * @remarks
18
+ * Advances are the browser's own (unhinted, fractional), which is what it paints with. The vertical
19
+ * metrics come from the canvas's font box and are the only approximate numbers: a canvas does not
20
+ * expose the OS/2 `win` metrics Excel sizes rows with.
21
+ *
22
+ * A family the browser does not have gets no table. Cells are painted by the style's family list,
23
+ * so the browser paints such a family as the first fallback it has, while the bare name measures
24
+ * as the browser's default face (Michael's `testing_b`: measured as Times New Roman, painted as
25
+ * Arial, clipped). The collection measures the fallbacks instead, in the browser's order, and a
26
+ * CSS generic name among them is built here as the face the browser paints for it.
27
+ */
28
+ export declare class CanvasAdvanceBuilder implements AdvanceBuilder {
29
+ readonly name = "canvas";
30
+ readonly kind = "exact";
31
+ private readonly _createContext;
32
+ private _context;
33
+ /**
34
+ * @param createContext Where to measure; a 2D context of an offscreen canvas by default.
35
+ */
36
+ constructor(createContext?: () => MeasureContext | null);
37
+ build(face: AdvanceTable.Face): Promise<AdvanceTable | null>;
38
+ /**
39
+ * What the browser paints `face` with when a cell names `families`: the same canvas measure, of
40
+ * the whole CSS stack, with no question asked about which face answers. Where the cell's own
41
+ * table is Excel's hinted one, this is what the hinted widths are reconciled to.
42
+ */
43
+ paint(face: AdvanceTable.Face, families: readonly string[]): Promise<AdvanceTable | null>;
44
+ /**
45
+ * Measures a character a captured table lacks as the browser paints it in `face`: the face
46
+ * itself when installed, or the browser's fallback for that character.
47
+ */
48
+ measureMissing(face: AdvanceTable.Face): ((text: string) => number | undefined) | null;
49
+ /** Whether the browser has `family`, by the same telltale {@link build} uses; a CSS generic always. */
50
+ isInstalled(family: string): boolean | undefined;
51
+ private _measure;
52
+ private _ctx;
53
+ }
54
+ //# sourceMappingURL=CanvasAdvanceBuilder.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { IFont } from './IFont';
2
+ /** {@inheritDoc IFont.captureTables} */
3
+ export declare function captureTables(bytes: Uint8Array, options?: IFont.CaptureOptions): Promise<IFont.CapturedFace[]>;
4
+ //# sourceMappingURL=FontCapture.d.ts.map