@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
@@ -0,0 +1,108 @@
1
+ import { IListener } from '../listener';
2
+ import { IFont } from './IFont';
3
+ import { IFontCollection } from './IFontCollection';
4
+ import { AdvanceBuilder } from './AdvanceBuilder';
5
+ /**
6
+ * {@link IFontCollection}: the resolved tables behind measuring, and the families offered for
7
+ * choosing.
8
+ *
9
+ * @remarks
10
+ * A table is built once per family, weight and style, by the first {@link AdvanceBuilder} with a
11
+ * source for it. A face with no table yet starts loading on the lookup that misses it and is
12
+ * answered meanwhile by a related family's table or a built-in one, the way a browser paints with
13
+ * a fallback until a web font arrives. Each load that settles is a collection change: cached
14
+ * answers are dropped and listeners told, so measurements can be taken again.
15
+ */
16
+ export declare class FontCollection implements IFontCollection {
17
+ private static _shared;
18
+ /** {@inheritDoc IFontCollection.getShared} */
19
+ static getShared(): FontCollection;
20
+ private _builders;
21
+ private readonly _entries;
22
+ private readonly _resolutions;
23
+ /** What the platform paints each requested stack with, by stack; see {@link _paint}. */
24
+ private readonly _paints;
25
+ private readonly _loading;
26
+ private readonly _emitter;
27
+ private _fontList;
28
+ private readonly _fontsByFamily;
29
+ private readonly _bestMatches;
30
+ /**
31
+ * @param builders Where tables come from, tried in order.
32
+ */
33
+ constructor(builders: readonly AdvanceBuilder[]);
34
+ /**
35
+ * Starts the text engine loading (the sdk's wasm, or the TypeScript wrapper where that cannot
36
+ * load), as one of the loads {@link whenReady} waits for: nothing wraps text until one of them
37
+ * is there, and every table here gets its twin in the wasm on first use. Its arrival changes no
38
+ * size, so it is not a collection change.
39
+ */
40
+ private _loadNative;
41
+ /** {@inheritDoc IFontCollection.getByName} */
42
+ getByName(family: string, options?: IFontCollection.GetByNameOptions): IFontCollection.Resolution;
43
+ private _loadingAnswers;
44
+ /** Counts the answers given while their face was still loading; see {@link loadingAnswers}. */
45
+ private _answer;
46
+ /**
47
+ * How many lookups so far were answered with a stand-in because the face was loading. A
48
+ * measurement that reads this before and after knows whether it used one, and so whether it
49
+ * is to be taken again when the face lands (a sheet's pending autofits).
50
+ */
51
+ get loadingAnswers(): number;
52
+ /** {@inheritDoc IFontCollection.load} */
53
+ load(faces: readonly (string | IFontCollection.FaceRequest)[]): Promise<void>;
54
+ /** {@inheritDoc IFontCollection.whenReady} */
55
+ whenReady(): Promise<void>;
56
+ /** {@inheritDoc IFontCollection.isLoading} */
57
+ isLoading(): boolean;
58
+ /**
59
+ * Replaces where tables come from, tried in order, and forgets every table built before; the
60
+ * built-in Calibri and Arial stay. Not on the interface: tables are the sdk's to make, and this
61
+ * is for tests that pin measurement to a source.
62
+ */
63
+ setAdvanceBuilders(builders: readonly AdvanceBuilder[]): void;
64
+ /** {@inheritDoc IFontCollection.getFontList} */
65
+ getFontList(): readonly IFontCollection.FontHandle[];
66
+ /** {@inheritDoc IFontCollection.setFontList} */
67
+ setFontList(fontList: IFont.IFontFace[] | string[] | null): void;
68
+ /** {@inheritDoc IFontCollection.findBestMatch} */
69
+ findBestMatch(fontName: string, options?: IFontCollection.FindBestMatchOptions): IFontCollection.FontHandle | null;
70
+ /** {@inheritDoc IListener.ISource.addListeners} */
71
+ addListeners(listeners: IFontCollection.IListeners, options?: IListener.Options): IListener.Remove;
72
+ get isIFontCollection(): true;
73
+ /**
74
+ * Whether the platform paints `family` as itself, as the first builder that can tell says (a
75
+ * browser's canvas); available where none can (Node paints nothing).
76
+ */
77
+ private _isInstalled;
78
+ private _seedBuiltins;
79
+ /**
80
+ * Refines a built-in table the first time it is used: its hinted widths and Excel's row heights
81
+ * from the shipped resources. Where those cannot be reached (a browser that serves no resource
82
+ * root), the platform's own measure of the family, if it has the family installed, replaces it:
83
+ * the widths the browser paints with, a pixel or so off Excel's, rather than the bare unhinted
84
+ * table.
85
+ */
86
+ private _refine;
87
+ private _resolve;
88
+ /**
89
+ * The first family with a table of its own, then the first family's relation, then the first
90
+ * fallback with any table but a built-in one; failing all, the first family's built-in answer.
91
+ */
92
+ private _resolveFirst;
93
+ private _ensure;
94
+ /**
95
+ * Lets a captured table measure the characters it lacks on the platform, when a builder can:
96
+ * otherwise a character outside the captured font (a symbol, an emoji) measures as nothing.
97
+ */
98
+ private _measureMissing;
99
+ private _changed;
100
+ /**
101
+ * `measured` with what the platform paints the requested stack with, when a builder can see
102
+ * that and it is not the measure itself: a table measured from the platform's own paint
103
+ * (`'exact'`) needs none. The paint loads once per stack, weight and style, and the resolution
104
+ * is `'loading'` until it lands, like any closer answer.
105
+ */
106
+ private _withPaint;
107
+ }
108
+ //# sourceMappingURL=FontCollection.d.ts.map
@@ -0,0 +1,20 @@
1
+ import { AdvanceBuilder } from './AdvanceBuilder';
2
+ /**
3
+ * What a font platform module provides. The `@sheetxl/sdk/font/platform` conditional export
4
+ * resolves to `platform.node.ts` (`node`, `default`) or `platform.browser.ts` (`browser`); the
5
+ * facade below is the one place the sdk reads it, the way `LicenseManager` reads
6
+ * `license/runtime`. Nothing outside the package imports the subpath.
7
+ */
8
+ export interface FontPlatformModule {
9
+ /** The device scale for the current environment. */
10
+ getDeviceScale(): number;
11
+ /** The table builders this platform adds beyond the shipped tables, tried after them in order. */
12
+ getAdvanceBuilders(): AdvanceBuilder[];
13
+ }
14
+ /**
15
+ * The font platform the sdk runs on, behind one facade: the device scale, and the table builders
16
+ * the platform adds (a canvas in a browser, none in Node yet). Internal: measuring goes through
17
+ * `IFontCollection`, and `IFont.getDeviceScale` is the public face of the scale.
18
+ */
19
+ export declare const FontPlatform: FontPlatformModule;
20
+ //# sourceMappingURL=FontPlatform.d.ts.map
@@ -6,4 +6,9 @@ export declare const DefaultFontSizes: readonly number[];
6
6
  * Searches an array of numbers for the next value.
7
7
  */
8
8
  export declare function findNextFontSize(size: number, increase?: boolean, steps?: readonly number[]): number;
9
+ /**
10
+ * The size, as a fraction of the font's, that superscript and subscript text (a nonzero
11
+ * {@link IFontStyle.getBaseline | baseline}) is drawn at.
12
+ */
13
+ export declare const SuperSubScale: number;
9
14
  //# sourceMappingURL=FontUtils.d.ts.map
@@ -92,51 +92,56 @@ export declare namespace IFont {
92
92
  */
93
93
  type Charset = number;
94
94
  /**
95
- * Specifies the style of underline applied to text.
95
+ * Indicate how and if a line will be drawing horizontally through the middle of the text.
96
96
  */
97
- const UnderlineStyle: {
97
+ const StrikeStyle: {
98
98
  /**
99
- * No underline.
99
+ * No strike-through
100
100
  */
101
101
  readonly None: "none";
102
102
  /**
103
- * A double underline.
104
- */
105
- readonly Double: "double";
106
- /**
107
- * A double underline used in accounting contexts (typically thicker and below the descenders).
108
- */
109
- readonly DoubleAccounting: "doubleAccounting";
110
- /**
111
- * A single underline.
103
+ * A single line.
112
104
  */
113
105
  readonly Single: "single";
114
106
  /**
115
- * A single underline used in accounting contexts (typically below the descenders).
107
+ * A double line.
116
108
  */
117
- readonly SingleAccounting: "singleAccounting";
109
+ readonly Double: "double";
118
110
  };
119
- type UnderlineStyle = typeof UnderlineStyle[keyof typeof UnderlineStyle];
111
+ type StrikeStyle = typeof StrikeStyle[keyof typeof StrikeStyle];
120
112
  /**
121
- * Vertical alignment of text within a line.
122
- * @see
123
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align}
113
+ * How text is underlined.
114
+ *
115
+ * @remarks
116
+ * A cell draws `none`, `single`, `double` and the two accounting underlines; drawing text (charts,
117
+ * shapes) draws all but the accounting ones.
124
118
  */
125
- const VerticalAlignment: {
126
- /**
127
- * Aligns the baseline of the cell with the baseline of all other cells in the row that are baseline-aligned.
128
- */
129
- readonly Baseline: "baseline";
130
- /**
131
- * Aligns the baseline of the element with the subscript-baseline of its parent.
132
- */
133
- readonly Sub: "sub";
134
- /**
135
- * Aligns the baseline of the element with the superscript-baseline of its parent.
136
- */
137
- readonly Super: "super";
119
+ const UnderlineStyle: {
120
+ readonly None: "none";
121
+ /** Each word underlined, the spaces between them not. */
122
+ readonly Words: "words";
123
+ readonly Single: "single";
124
+ readonly Double: "double";
125
+ /** A single line below the descenders, the width of the cell. */
126
+ readonly SingleAccounting: "singleAccounting";
127
+ /** A double line below the descenders, the width of the cell. */
128
+ readonly DoubleAccounting: "doubleAccounting";
129
+ readonly Heavy: "heavy";
130
+ readonly Dotted: "dotted";
131
+ readonly DottedHeavy: "dottedHeavy";
132
+ readonly Dash: "dash";
133
+ readonly DashHeavy: "dashHeavy";
134
+ readonly DashLong: "dashLong";
135
+ readonly DashLongHeavy: "dashLongHeavy";
136
+ readonly DotDash: "dotDash";
137
+ readonly DotDashHeavy: "dotDashHeavy";
138
+ readonly DotDotDash: "dotDotDash";
139
+ readonly DotDotDashHeavy: "dotDotDashHeavy";
140
+ readonly Wavy: "wavy";
141
+ readonly WavyHeavy: "wavyHeavy";
142
+ readonly WavyDouble: "wavyDouble";
138
143
  };
139
- type VerticalAlignment = typeof VerticalAlignment[keyof typeof VerticalAlignment];
144
+ type UnderlineStyle = typeof UnderlineStyle[keyof typeof UnderlineStyle];
140
145
  /**
141
146
  * Advanced text metrics.
142
147
  */
@@ -145,6 +150,13 @@ export declare namespace IFont {
145
150
  * This is the lineHeight and includes the lineGap
146
151
  */
147
152
  readonly lineHeight: number;
153
+ /**
154
+ * The CSS `letter-spacing`, in the same px as `width`, that makes the platform paint the
155
+ * measured text exactly `width` wide: the difference between the measure (Excel's hinted
156
+ * widths) and what the platform paints with (a browser's fractional advances), spread between
157
+ * the characters. `0` where paint and measure agree, or where nothing paints (Node).
158
+ */
159
+ readonly renderLetterSpacing?: number;
148
160
  }
149
161
  interface Metrics {
150
162
  readonly underlinePosition?: number;
@@ -152,51 +164,186 @@ export declare namespace IFont {
152
164
  readonly strikePosition?: number;
153
165
  readonly strikeThickness?: number;
154
166
  readonly italicAngle?: number;
167
+ /**
168
+ * The line pitch in px — what a line of this font advances by, and the height of a row sized
169
+ * to it: `ascent + descent + 2` (Excel's standard row height for the font; the 2 is the
170
+ * gridline gutter above and below the font box). Includes {@link lineGap}.
171
+ */
155
172
  readonly lineHeight: number;
173
+ /**
174
+ * The baseline's offset from the top of a {@link lineHeight} box, in px: where a renderer that
175
+ * paints the line as a box (a CSS line box) puts the alphabetic baseline.
176
+ */
156
177
  readonly baseline: number;
157
178
  readonly lineGap: number;
179
+ /**
180
+ * The font's ascent above the baseline in whole px at the measured size — GDI's `tmAscent`,
181
+ * which is what Excel lays text out with (the OS/2 `winAscent`, hinted where the font has a
182
+ * VDMX table).
183
+ */
184
+ readonly ascent: number;
185
+ /** The font's descent below the baseline in whole px — GDI's `tmDescent` (OS/2 `winDescent`). */
186
+ readonly descent: number;
187
+ }
188
+ /**
189
+ * One face's measures, serving every size: what {@link IFontCollection.getByName} answers with.
190
+ *
191
+ * @remarks
192
+ * Advances are per em and vertical metrics follow GDI, so a table measures as Excel does: a
193
+ * shipped face measures GDI's hinted whole pixels and sizes rows as Excel autofits them. Tables
194
+ * are built by the collection from the shipped files or the platform; they are read here, never
195
+ * made or changed.
196
+ */
197
+ interface AdvanceTable {
198
+ /** The family the table measures, as a style names it. */
199
+ readonly family: string;
200
+ /** The CSS weight, 400 regular and 700 bold. */
201
+ readonly weight: number;
202
+ readonly italic: boolean;
203
+ /** Whether widths are GDI's hinted whole pixels. */
204
+ readonly isHinted: boolean;
205
+ /** Whether row heights are Excel's own captured ones. */
206
+ readonly hasRows: boolean;
207
+ /** The number of characters with an advance. */
208
+ readonly size: number;
209
+ /** The advance of `codepoint` per em, or `undefined` when the table has none. */
210
+ advance(codepoint: number): number | undefined;
211
+ /** The characters of `text` with no advance, each once, in first-seen order. */
212
+ missing(text: string): string[];
213
+ /**
214
+ * The advance width of `text` in px at `px` pixels per em: the advances summed, then the
215
+ * super/subscript scale, then `letterSpacing` between characters.
216
+ */
217
+ width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
218
+ /** The face's whole-px vertical metrics at `px` pixels per em. */
219
+ metrics(px: number): Metrics;
220
+ /**
221
+ * The underline at `px`: its center's offset above the baseline (negative below) and its
222
+ * thickness, in px; `null` when the source did not record one.
223
+ */
224
+ underline(px: number): AdvanceTable.LineRule | null;
225
+ /** The strikeout at `px`, as {@link underline}. */
226
+ strikeout(px: number): AdvanceTable.LineRule | null;
227
+ /**
228
+ * {@link width} and {@link metrics} together, with the underline and strikeout thickness in
229
+ * whole px as they are drawn (at least 1).
230
+ */
231
+ measure(text: string, px: number, options?: AdvanceTable.MeasureOptions): ExtendedMetrics;
232
+ }
233
+ namespace AdvanceTable {
234
+ /** Which face a table measures. */
235
+ interface Face {
236
+ family: string;
237
+ weight: number;
238
+ italic: boolean;
239
+ }
240
+ interface WidthOptions {
241
+ /** Px added between characters. */
242
+ letterSpacing?: number;
243
+ /** Measure as superscript or subscript text. */
244
+ superSub?: boolean;
245
+ }
246
+ interface MeasureOptions extends WidthOptions {
247
+ /**
248
+ * The table of what the platform paints this face with, when that is not this table (a
249
+ * browser's fractional advances against Excel's hinted widths): {@link AdvanceTable.measure}
250
+ * then reports the `renderLetterSpacing` that paints the text at the measured width.
251
+ */
252
+ paint?: AdvanceTable | null;
253
+ }
254
+ /** A horizontal rule (underline, strikeout): offset above the baseline and thickness. */
255
+ interface LineRule {
256
+ readonly position: number;
257
+ readonly thickness: number;
258
+ }
158
259
  }
159
260
  interface MetricOptions {
160
261
  isBold?: boolean;
161
262
  isItalic?: boolean;
162
263
  letterSpacing?: number;
163
264
  }
164
- interface Measurer {
165
- (text: string, size: number, family: string, options?: IFont.MetricOptions): IFont.ExtendedMetrics;
166
- }
167
265
  /**
168
- * The contract a per-environment measurer module must satisfy. The active default is resolved
169
- * via the `@sheetxl/sdk/font/FontMeasurer` conditional export:
170
- * `browser` -> canvas, `node` -> fontkit, `default` -> simple (the zero-dependency char counter,
171
- * the only universally-safe fallback - never pull a native/node-only measurer through `default`).
172
- *
173
- * Override the active measurer at runtime with {@link setSharedMeasurer} (e.g. force the simple
174
- * measurer in unit tests), or at build time by aliasing the `@sheetxl/sdk/font/FontMeasurer`
175
- * import in the bundler config.
266
+ * Returns scaling to use for the current device.
176
267
  */
177
- interface MeasurerProvider {
178
- /** The best measurer for the current environment (may itself fall back to the simple measurer). */
179
- getInstance(): IFont.Measurer;
180
- /** The device scale for the current environment. */
181
- getDeviceScale(): number;
268
+ function getDeviceScale(): number;
269
+ /** A face's names and style, read from its own tables. */
270
+ interface FaceIdentity {
271
+ /** The family as Excel names it, which a style's font name is matched against ("Segoe UI Semibold"). */
272
+ readonly family: string;
273
+ /** The family as its designer groups it ("Segoe UI"); the same as {@link family} for most fonts. */
274
+ readonly typographicFamily: string;
275
+ /** The style within {@link family} ("Regular", "Bold Italic"). */
276
+ readonly subfamily: string;
277
+ /** The face's full name ("Segoe UI Semibold Italic"). */
278
+ readonly fullName: string;
279
+ /** The face's PostScript name ("SegoeUI-SemiboldItalic"). */
280
+ readonly postscriptName: string;
281
+ /** The weight class, 100 to 900. */
282
+ readonly weight: number;
283
+ /** Whether this is the bold member of {@link family}. A heavy weight alone is not bold. */
284
+ readonly bold: boolean;
285
+ readonly italic: boolean;
286
+ /** The font's version string. */
287
+ readonly version: string;
288
+ }
289
+ /** A face in a font file, as {@link CaptureOptions.filter} is asked about it. */
290
+ interface FaceToCapture extends FaceIdentity {
291
+ /**
292
+ * The name the face's tables are found by, without a suffix (`tahoma-bold`): its
293
+ * `.metrics.json` and `.hinted.json` go in a `fonts` resource root under this name.
294
+ */
295
+ readonly fileStem: string;
296
+ }
297
+ /** A face's measures tables, as captured by {@link captureTables}. */
298
+ interface CapturedFace extends FaceToCapture {
299
+ /** The `.metrics.json` text, to write as `<fileStem>.metrics.json`. */
300
+ readonly metrics: string;
301
+ /** The `.hinted.json` text, to write as `<fileStem>.hinted.json`; absent when hinting was not captured. */
302
+ readonly hinted?: string;
303
+ }
304
+ /** Options for {@link captureTables}. */
305
+ interface CaptureOptions {
306
+ /**
307
+ * The pixel sizes to capture hinted widths at, which are what make widths match Excel's, or
308
+ * `false` for none.
309
+ *
310
+ * @defaultValue `{ first: 6, last: 120 }`
311
+ */
312
+ hinting?: false | {
313
+ first: number;
314
+ last: number;
315
+ };
316
+ /** The font file's name, recorded in the tables so a copy kept beside them can be found again. */
317
+ sourceFile?: string;
318
+ /** Decides per face, before the costly part, whether to capture it. */
319
+ filter?(face: FaceToCapture): boolean;
320
+ /** Called as each face is captured: for progress, since a face takes about a second. */
321
+ onCaptured?(face: CapturedFace, index: number, count: number): void;
182
322
  }
183
323
  /**
184
- * Override the default mechanism for measuring text.
324
+ * Reads a font file and captures the measures tables of each face in it: what SheetXL measures
325
+ * text with when the font itself is not at hand.
185
326
  *
186
- * @param measurer {@link IFont.Measurer}
187
- */
188
- function setSharedMeasurer(measurer: IFont.Measurer): void;
189
- /**
190
- * Returns the {@link IFont.Measurer} used for measuring text.
327
+ * @remarks
328
+ * The tables are facts about the font's design (its advances and metrics), never its outlines,
329
+ * so they can go where the font itself cannot. Placed in a `fonts` resource root, they are found
330
+ * the next time a style names the family. This is what `sheetxl fonts add` does.
191
331
  *
192
- * @see
193
- * {@link setSharedMeasurer}
194
- */
195
- function getSharedMeasurer(): IFont.Measurer;
196
- /**
197
- * Returns scaling to use for the current device.
332
+ * Accepts `.ttf`, `.otf`, and the collections `.ttc` and `.otc`.
333
+ *
334
+ * @param bytes The font file.
335
+ * @returns One entry per face, in file order, less those {@link CaptureOptions.filter} declined.
336
+ * @throws when the bytes are not a font.
337
+ *
338
+ * @example
339
+ * ```ts
340
+ * for (const face of await IFont.captureTables(bytes)) {
341
+ * await writeFile(`${face.fileStem}.metrics.json`, face.metrics);
342
+ * if (face.hinted) await writeFile(`${face.fileStem}.hinted.json`, face.hinted);
343
+ * }
344
+ * ```
198
345
  */
199
- function getDeviceScale(): number;
346
+ function captureTables(bytes: Uint8Array, options?: CaptureOptions): Promise<CapturedFace[]>;
200
347
  /**
201
348
  * Provides a font-family fallback based on the PANOSE hex string.
202
349
  *
@@ -1,31 +1,135 @@
1
+ import { IListener } from '../listener';
1
2
  import { IFont } from './IFont';
2
- export interface FontHandle {
3
- /** `null` is used as a cached 'no match' sentinel (see {@link findBestMatch}). */
4
- fontRef: IFont.IFontFace | null;
5
- loaded: boolean;
6
- }
7
- export declare function setFontList(fontList: IFont.IFontFace[] | string[]): void;
8
- export declare function getFontList(): readonly FontHandle[];
9
- export interface FindBestMatchOptions {
3
+ /**
4
+ * The fonts text is measured with: one table per family, weight and style, shared by every
5
+ * workbook, the way a browser's `document.fonts` is shared by a page.
6
+ *
7
+ * @remarks
8
+ * Measuring never waits. {@link getByName} answers at once with the closest table available and a
9
+ * {@link IFontCollection.Resolution.status | status} that says whether a closer one is loading;
10
+ * {@link whenReady} waits for those loads, and {@link IFontCollection.Events.onCollectionChange}
11
+ * fires as each settles. A workbook reaches it through `IWorkbook.getFonts()`.
12
+ */
13
+ export interface IFontCollection extends IListener.ISource<IFontCollection, IFontCollection.Events> {
10
14
  /**
11
- * Defaults to false
15
+ * The table to measure a face with, now.
16
+ *
17
+ * @param family The family as a style names it, a CSS generic name (`sans-serif`), or a CSS
18
+ * `font-family` list (`"Aptos Narrow", Calibri, sans-serif`).
19
+ * @param options {@link IFontCollection.GetByNameOptions}
20
+ *
21
+ * @remarks
22
+ * Never waits and never fails. A face with no table yet starts loading and is answered with the
23
+ * closest table available, its `status` `'loading'`. The answer is cached until the collection
24
+ * changes, so asking again is cheap.
12
25
  */
13
- bold?: boolean;
26
+ getByName(family: string, options?: IFontCollection.GetByNameOptions): IFontCollection.Resolution;
14
27
  /**
15
- * Defaults to false
28
+ * Starts loading these faces ahead of their first use.
29
+ *
30
+ * @returns Resolves when each has settled, with a table or without one.
16
31
  */
17
- italic?: boolean;
32
+ load(faces: readonly (string | IFontCollection.FaceRequest)[]): Promise<void>;
33
+ /** Resolves when no face is loading, including loads started while it waited. */
34
+ whenReady(): Promise<void>;
35
+ /** Whether a face is loading. */
36
+ isLoading(): boolean;
37
+ /** The families offered for choosing, as a font picker lists them. */
38
+ getFontList(): readonly IFontCollection.FontHandle[];
39
+ /** Replaces the families offered for choosing; `null` restores the default list. */
40
+ setFontList(fontList: IFont.IFontFace[] | string[] | null): void;
18
41
  /**
19
- * A list of font names or generic font family
42
+ * The offered family that matches `fontName`, else the first of `options.fallbacks` that does
43
+ * (a CSS generic name matches a family of its class), else `null`.
20
44
  */
21
- fallbacks?: string[];
22
- panose?: string;
45
+ findBestMatch(fontName: string, options?: IFontCollection.FindBestMatchOptions): IFontCollection.FontHandle | null;
46
+ /** For runtime type checking. */
47
+ readonly isIFontCollection: true;
48
+ }
49
+ export declare namespace IFontCollection {
50
+ /**
51
+ * The collection every workbook measures with, the one `IWorkbook.getFonts()` returns: for
52
+ * code with no workbook at hand.
53
+ */
54
+ function getShared(): IFontCollection;
55
+ /** How a {@link Resolution}'s table relates to the face that was asked for. */
56
+ const ResolutionKind: {
57
+ /** The family's own captured table (possibly measured from a metric-compatible twin). */
58
+ readonly Table: "table";
59
+ /** Read from the face itself as installed. */
60
+ readonly Exact: "exact";
61
+ /** A related family's table: a twin, a near relation, or one of the class a generic name names. */
62
+ readonly Classified: "classified";
63
+ /** A built-in table, because nothing closer is available yet or at all. */
64
+ readonly Generic: "generic";
65
+ };
66
+ type ResolutionKind = typeof ResolutionKind[keyof typeof ResolutionKind];
67
+ /** Whether a {@link Resolution} can still change, as `FontFace.status` in a browser. */
68
+ const FontStatus: {
69
+ /** A closer table is loading; the answer will change when it arrives. */
70
+ readonly Loading: "loading";
71
+ /** Settled: this is the best table there will be. */
72
+ readonly Loaded: "loaded";
73
+ /** Loading the face failed; the answer is a fallback and will not change. */
74
+ readonly Error: "error";
75
+ };
76
+ type FontStatus = typeof FontStatus[keyof typeof FontStatus];
77
+ /** The table a face is measured with, and how good an answer it is. */
78
+ interface Resolution {
79
+ /** Measures and wraps text in the face. */
80
+ readonly table: IFont.AdvanceTable;
81
+ readonly kind: ResolutionKind;
82
+ readonly status: FontStatus;
83
+ /** The face that was asked for. */
84
+ readonly requested: IFont.AdvanceTable.Face;
85
+ /**
86
+ * What the platform paints the face with when that is not `table` (a browser's own advances
87
+ * for the family and its fallbacks, substitutes included), for
88
+ * `IFont.ExtendedMetrics.renderLetterSpacing`. Absent where paint is the measure, where nothing
89
+ * paints (Node), and while it loads (`status` is then `'loading'`).
90
+ */
91
+ readonly paint?: IFont.AdvanceTable;
92
+ }
93
+ interface GetByNameOptions {
94
+ /** Defaults to `false`. */
95
+ bold?: boolean;
96
+ /** Defaults to `false`. */
97
+ italic?: boolean;
98
+ /**
99
+ * Families to measure with, in order, when the family has no table of its own, as a style's
100
+ * font fallbacks list them. A CSS `font-family` list in `family` reads the same way.
101
+ */
102
+ fallbacks?: readonly string[];
103
+ }
104
+ /** A face to {@link IFontCollection.load | load}. */
105
+ interface FaceRequest extends GetByNameOptions {
106
+ family: string;
107
+ }
108
+ interface FontHandle {
109
+ /** `null` is used as a cached 'no match' sentinel (see {@link IFontCollection.findBestMatch}). */
110
+ fontRef: IFont.IFontFace | null;
111
+ /**
112
+ * Whether the platform has the family installed, so paints it as itself; a font menu can show
113
+ * a missing one differently. `true` where the platform cannot tell (Node, which paints nothing).
114
+ */
115
+ loaded: boolean;
116
+ }
117
+ interface FindBestMatchOptions {
118
+ /** Defaults to `false`. */
119
+ bold?: boolean;
120
+ /** Defaults to `false`. */
121
+ italic?: boolean;
122
+ /** Font names or generic family names to try after `fontName`. */
123
+ fallbacks?: string[];
124
+ panose?: string;
125
+ }
126
+ interface Events {
127
+ /**
128
+ * A load settled, with a table or without one: measurements taken before may differ now.
129
+ */
130
+ onCollectionChange?(source: IFontCollection): void;
131
+ }
132
+ interface IListeners extends IListener.Callbacks<IFontCollection, IFontCollection.Events> {
133
+ }
23
134
  }
24
- /**
25
- * Tries to find a font that match the fontName exactly. If this is not found then it will use the fallback
26
- * options if provided. If there is no font and no font fallback it will return null.
27
- * @param fontName The font name to find
28
- * @returns The FontHandle
29
- */
30
- export declare function findBestMatch(fontName: string, options?: FindBestMatchOptions): FontHandle | null;
31
135
  //# sourceMappingURL=IFontCollection.d.ts.map