@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.10

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 (565) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{CKk58ZLcrllMzfou.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +49153 -36824
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -106
  83. package/types/scripting.d.ts +18126 -7971
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +759 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +422 -34
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +160 -29
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +53 -4
  145. package/types/src/calculation/state/IContextContainer.d.ts +159 -26
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +458 -97
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
  345. package/types/src/primitives/Range.d.ts +136 -26
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  371. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  372. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  373. package/types/src/scripting/IModule.d.ts +25 -0
  374. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  375. package/types/src/scripting/IScript.d.ts +28 -26
  376. package/types/src/scripting/Module.d.ts +34 -6
  377. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  378. package/types/src/scripting/Runtime.d.ts +15 -0
  379. package/types/src/scripting/Scripts.d.ts +3 -7
  380. package/types/src/scripting/TypedFunction.d.ts +200 -4
  381. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  382. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  383. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  384. package/types/src/scripting/declarations.browser.d.ts +10 -0
  385. package/types/src/scripting/declarations.d.ts +49 -0
  386. package/types/src/scripting/declarations.node.d.ts +9 -0
  387. package/types/src/scripting/index.d.ts +3 -0
  388. package/types/src/selection/IMovableSelection.d.ts +148 -0
  389. package/types/src/selection/IRangeSelection.d.ts +9 -4
  390. package/types/src/selection/MovableSelection.d.ts +48 -0
  391. package/types/src/selection/RangeSelection.d.ts +15 -0
  392. package/types/src/selection/index.d.ts +1 -0
  393. package/types/src/shape/GeometryPreset.d.ts +197 -0
  394. package/types/src/shape/IGeometry.d.ts +380 -0
  395. package/types/src/shape/IShape.d.ts +341 -194
  396. package/types/src/shape/IShapeStyle.d.ts +135 -0
  397. package/types/src/shape/Shape.d.ts +107 -21
  398. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  399. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  400. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  401. package/types/src/shape/_Connectors.d.ts +108 -0
  402. package/types/src/shape/_Geometry.d.ts +14 -0
  403. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  404. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  405. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  406. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  407. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  408. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  409. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  410. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  411. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  412. package/types/src/shape/_builtIn/math.d.ts +6 -0
  413. package/types/src/shape/_builtIn/other.d.ts +6 -0
  414. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  415. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  416. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  417. package/types/src/shape/geometry/format.d.ts +3 -0
  418. package/types/src/shape/geometry/geometry.d.ts +85 -0
  419. package/types/src/shape/geometry/guides.d.ts +54 -0
  420. package/types/src/shape/geometry/handles.d.ts +14 -0
  421. package/types/src/shape/geometry/index.d.ts +7 -0
  422. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  423. package/types/src/shape/geometry/paths.d.ts +35 -0
  424. package/types/src/shape/geometry/segments.d.ts +114 -0
  425. package/types/src/shape/index.d.ts +3 -0
  426. package/types/src/sheet/CellRegion.d.ts +6 -0
  427. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  428. package/types/src/sheet/ISheet.d.ts +197 -50
  429. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  430. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  431. package/types/src/sheet/NamedRange.d.ts +8 -0
  432. package/types/src/sheet/Sheet.d.ts +923 -138
  433. package/types/src/sheet/SheetCell.d.ts +92 -32
  434. package/types/src/sheet/SheetCollection.d.ts +19 -8
  435. package/types/src/sheet/SheetRange.d.ts +92 -17
  436. package/types/src/sheet/SheetRanges.d.ts +22 -9
  437. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  438. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  439. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  440. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  441. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  442. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  443. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  444. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  445. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  446. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  447. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  448. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  449. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  450. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  451. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  452. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  453. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  454. package/types/src/sheet/spatial/index.d.ts +1 -0
  455. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  456. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  457. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  458. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  459. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  460. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  461. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  462. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  463. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  464. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  465. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  466. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  467. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  468. package/types/src/sheetView/ISheetView.d.ts +69 -15
  469. package/types/src/sheetView/SheetView.d.ts +20 -11
  470. package/types/src/slicer/ISlicer.d.ts +304 -17
  471. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  472. package/types/src/slicer/Slicer.d.ts +128 -13
  473. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  474. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  475. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  476. package/types/src/slicer/index.d.ts +1 -0
  477. package/types/src/sort/ISort.d.ts +4 -2
  478. package/types/src/string/IStringCollection.d.ts +5 -0
  479. package/types/src/string/StringCollection.d.ts +6 -6
  480. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  481. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  482. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  483. package/types/src/style/IStyleCollection.d.ts +91 -60
  484. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  485. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  486. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  487. package/types/src/style/StyleCollection.d.ts +81 -26
  488. package/types/src/style/TableStyleCollection.d.ts +49 -0
  489. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  490. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  491. package/types/src/style/index.d.ts +7 -1
  492. package/types/src/table/AnchoredTable.d.ts +701 -72
  493. package/types/src/table/AutoTable.d.ts +7 -5
  494. package/types/src/table/ITable.d.ts +261 -34
  495. package/types/src/table/ITableCollection.d.ts +12 -0
  496. package/types/src/table/ITableStyle.d.ts +37 -37
  497. package/types/src/table/TableCollection.d.ts +19 -8
  498. package/types/src/table/_FilterField.d.ts +19 -6
  499. package/types/src/table/_NamedTable.d.ts +17 -1
  500. package/types/src/table/_NamedTableSource.d.ts +1 -0
  501. package/types/src/table/_SortField.d.ts +2 -0
  502. package/types/src/table/_TableColumn.d.ts +13 -2
  503. package/types/src/table/_TableMessages.d.ts +1 -0
  504. package/types/src/table/_TableUtils.d.ts +40 -0
  505. package/types/src/text/Bullet.d.ts +4 -0
  506. package/types/src/text/IText.d.ts +182 -0
  507. package/types/src/text/ITextFrame.d.ts +110 -1
  508. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  509. package/types/src/text/TextFrame.d.ts +4 -0
  510. package/types/src/text/TextLine.d.ts +4 -0
  511. package/types/src/text/TextParagraph.d.ts +4 -0
  512. package/types/src/text/TextRotation.d.ts +3 -3
  513. package/types/src/text/TextRun.d.ts +9 -0
  514. package/types/src/text/TextStacked.d.ts +83 -0
  515. package/types/src/text/index.d.ts +1 -0
  516. package/types/src/text/richtext/IRichText.d.ts +36 -0
  517. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  518. package/types/src/text/richtext/index.d.ts +1 -0
  519. package/types/src/theme/ITheme.d.ts +45 -4
  520. package/types/src/theme/IThemeCollection.d.ts +2 -0
  521. package/types/src/theme/ThemeCollection.d.ts +11 -7
  522. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  523. package/types/src/transaction/ITransaction.d.ts +258 -45
  524. package/types/src/transaction/Transaction.d.ts +101 -11
  525. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  526. package/types/src/type/AbstractCollection.d.ts +101 -0
  527. package/types/src/type/ICollection.d.ts +117 -0
  528. package/types/src/type/ITypes.d.ts +9 -7
  529. package/types/src/type/index.d.ts +1 -0
  530. package/types/src/utils/_CSSUtils.d.ts +3 -3
  531. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  532. package/types/src/wasm/index.d.ts +2 -0
  533. package/types/src/wasm/sdkWasm.d.ts +29 -0
  534. package/types/src/workbook/IWorkbook.d.ts +180 -40
  535. package/types/src/workbook/Workbook.d.ts +123 -10
  536. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  537. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  538. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  539. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  540. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  541. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  542. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  543. package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
  544. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
  545. package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
  546. package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
  547. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  548. package/browser/cjs/index.cjs +0 -3
  549. package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
  550. package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
  551. package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
  552. package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
  553. package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
  554. package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
  555. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  556. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  557. package/types/src/dataValidation/_Utils.d.ts +0 -10
  558. package/types/src/lib/utils/_Utils.d.ts +0 -20
  559. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  560. package/types/src/movable/IGroup.d.ts +0 -30
  561. package/types/src/movable/IMovableSelection.d.ts +0 -49
  562. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  563. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  564. package/types/src/sheet/listener/index.d.ts +0 -3
  565. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -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,25 @@
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
+ //# sourceMappingURL=AdvanceBuilder.d.ts.map
@@ -0,0 +1,114 @@
1
+ import { IFont } from './IFont';
2
+ /**
3
+ * One face's advances and vertical metrics, per em: one table per family, weight and style that
4
+ * serves every size.
5
+ *
6
+ * @remarks
7
+ * The TypeScript twin of `AdvanceTable` in the `sheetxl-text` crate, with the same rules, so a
8
+ * table measures alike before the wasm loads and after it. Advances are per em
9
+ * (`advance / unitsPerEm` from a font, `advance / px` from a canvas). A character with no advance
10
+ * measures as a space when it is white space and as nothing otherwise.
11
+ *
12
+ * Vertical metrics follow GDI: the font is realized at a whole-pixel em (`round(px)`), and the
13
+ * OS/2 `winAscent` and `winDescent` are scaled to it and rounded.
14
+ */
15
+ export declare class AdvanceTable {
16
+ /** The family the table measures, as a style names it (`Calibri`, not its twin `Carlito`). */
17
+ readonly family: string;
18
+ /** The CSS weight, 400 regular and 700 bold. */
19
+ readonly weight: number;
20
+ readonly italic: boolean;
21
+ private readonly _vertical;
22
+ private readonly _perEm;
23
+ constructor(face: AdvanceTable.Face, vertical: AdvanceTable.VerticalPerEm);
24
+ /**
25
+ * A table from a captured `.metrics.json` (format `sheetxl-font-metrics/1`).
26
+ *
27
+ * @throws when the format is not one this reads.
28
+ */
29
+ static fromJSON(json: AdvanceTable.JSON): AdvanceTable;
30
+ /** The number of characters with an advance. */
31
+ get size(): number;
32
+ /** The advance of `codepoint` per em, or `undefined` when the table has none. */
33
+ advance(codepoint: number): number | undefined;
34
+ /**
35
+ * Records advances per em by codepoint, replacing earlier values: how a builder that measures
36
+ * (a canvas) fills a table.
37
+ */
38
+ set(entries: Iterable<readonly [codepoint: number, perEm: number]>): void;
39
+ /** The characters of `text` with no advance, each once, in first-seen order. */
40
+ missing(text: string): string[];
41
+ /**
42
+ * The advance width of `text` in px at `px` pixels per em: the advances summed, then the
43
+ * super/subscript scale, then `letterSpacing` between characters.
44
+ */
45
+ width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
46
+ /** The face's whole-px vertical metrics at `px` pixels per em. */
47
+ metrics(px: number): IFont.Metrics;
48
+ /**
49
+ * The underline at `px`: its center's offset above the baseline (negative below) and its
50
+ * thickness, in px; `null` when the source did not record one.
51
+ */
52
+ underline(px: number): AdvanceTable.LineRule | null;
53
+ /** The strikeout at `px`, as {@link underline}. */
54
+ strikeout(px: number): AdvanceTable.LineRule | null;
55
+ /** {@link width} and {@link metrics} together, the shape `TextWrapper` measures with. */
56
+ measure(text: string, px: number, options?: AdvanceTable.WidthOptions): IFont.ExtendedMetrics;
57
+ }
58
+ export declare namespace AdvanceTable {
59
+ /** The `format` of a `.metrics.json` this version reads. */
60
+ const FORMAT = "sheetxl-font-metrics/1";
61
+ /** Which face a table measures. */
62
+ interface Face {
63
+ family: string;
64
+ weight: number;
65
+ italic: boolean;
66
+ }
67
+ interface WidthOptions {
68
+ /** Px added between characters. */
69
+ letterSpacing?: number;
70
+ /** Measure as superscript or subscript text. */
71
+ superSub?: boolean;
72
+ }
73
+ /** A horizontal rule (underline, strikeout): offset above the baseline and thickness. */
74
+ interface LineRule {
75
+ readonly position: number;
76
+ readonly thickness: number;
77
+ }
78
+ /** Vertical metrics per em. */
79
+ interface VerticalPerEm {
80
+ /** OS/2 `winAscent` per em. */
81
+ ascent: number;
82
+ /** OS/2 `winDescent` per em, positive below the baseline. */
83
+ descent: number;
84
+ underline?: LineRule | null;
85
+ strikeout?: LineRule | null;
86
+ }
87
+ /**
88
+ * A captured `.metrics.json`: the advances and vertical metrics of one face, in design units,
89
+ * with the font it was captured from.
90
+ */
91
+ interface JSON {
92
+ format: typeof FORMAT;
93
+ family: string;
94
+ weight: number;
95
+ italic: boolean;
96
+ /** The font measured, when it is a metric-compatible twin of `family`, and its license. */
97
+ source?: {
98
+ family: string;
99
+ version?: string;
100
+ license?: string;
101
+ notice?: string;
102
+ };
103
+ unitsPerEm: number;
104
+ winAscent: number;
105
+ winDescent: number;
106
+ /** `[position, thickness]` in design units. */
107
+ underline?: [number, number];
108
+ /** `[position, thickness]` in design units. */
109
+ strikeout?: [number, number];
110
+ /** Runs of consecutive codepoints: `[first codepoint, advances in design units]`. */
111
+ advances: [number, number[]][];
112
+ }
113
+ }
114
+ //# sourceMappingURL=AdvanceTable.d.ts.map
@@ -0,0 +1,57 @@
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
+ private readonly _loading;
24
+ private _builtins;
25
+ private readonly _emitter;
26
+ private _fontList;
27
+ private readonly _fontsByFamily;
28
+ private readonly _bestMatches;
29
+ /**
30
+ * @param builders Where tables come from, tried in order.
31
+ */
32
+ constructor(builders: readonly AdvanceBuilder[]);
33
+ /** {@inheritDoc IFontCollection.getByName} */
34
+ getByName(family: string, options?: IFontCollection.GetByNameOptions): IFontCollection.Resolution;
35
+ /** {@inheritDoc IFontCollection.load} */
36
+ load(faces: readonly (string | IFontCollection.FaceRequest)[]): Promise<void>;
37
+ /** {@inheritDoc IFontCollection.whenReady} */
38
+ whenReady(): Promise<void>;
39
+ /** {@inheritDoc IFontCollection.isLoading} */
40
+ isLoading(): boolean;
41
+ /** {@inheritDoc IFontCollection.setAdvanceBuilders} */
42
+ setAdvanceBuilders(builders: readonly AdvanceBuilder[]): void;
43
+ /** {@inheritDoc IFontCollection.getFontList} */
44
+ getFontList(): readonly IFontCollection.FontHandle[];
45
+ /** {@inheritDoc IFontCollection.setFontList} */
46
+ setFontList(fontList: IFont.IFontFace[] | string[] | null): void;
47
+ /** {@inheritDoc IFontCollection.findBestMatch} */
48
+ findBestMatch(fontName: string, options?: IFontCollection.FindBestMatchOptions): IFontCollection.FontHandle | null;
49
+ /** {@inheritDoc IListener.ISource.addListeners} */
50
+ addListeners(listeners: IFontCollection.IListeners, options?: IListener.Options): IListener.Remove;
51
+ get isIFontCollection(): true;
52
+ private _seedBuiltins;
53
+ private _resolve;
54
+ private _ensure;
55
+ private _changed;
56
+ }
57
+ //# sourceMappingURL=FontCollection.d.ts.map
@@ -152,9 +152,26 @@ export declare namespace IFont {
152
152
  readonly strikePosition?: number;
153
153
  readonly strikeThickness?: number;
154
154
  readonly italicAngle?: number;
155
+ /**
156
+ * The line pitch in px — what a line of this font advances by, and the height of a row sized
157
+ * to it: `ascent + descent + 2` (Excel's standard row height for the font; the 2 is the
158
+ * gridline gutter above and below the font box). Includes {@link lineGap}.
159
+ */
155
160
  readonly lineHeight: number;
161
+ /**
162
+ * The baseline's offset from the top of a {@link lineHeight} box, in px: where a renderer that
163
+ * paints the line as a box (a CSS line box) puts the alphabetic baseline.
164
+ */
156
165
  readonly baseline: number;
157
166
  readonly lineGap: number;
167
+ /**
168
+ * The font's ascent above the baseline in whole px at the measured size — GDI's `tmAscent`,
169
+ * which is what Excel lays text out with (the OS/2 `winAscent`, hinted where the font has a
170
+ * VDMX table).
171
+ */
172
+ readonly ascent: number;
173
+ /** The font's descent below the baseline in whole px — GDI's `tmDescent` (OS/2 `winDescent`). */
174
+ readonly descent: number;
158
175
  }
159
176
  interface MetricOptions {
160
177
  isBold?: boolean;
@@ -1,31 +1,129 @@
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
+ import { AdvanceBuilder } from './AdvanceBuilder';
4
+ import { AdvanceTable } from './AdvanceTable';
5
+ /**
6
+ * The fonts text is measured with: one table per family, weight and style, shared by every
7
+ * workbook, the way a browser's `document.fonts` is shared by a page.
8
+ *
9
+ * @remarks
10
+ * Measuring never waits. {@link getByName} answers at once with the closest table available and a
11
+ * {@link IFontCollection.Resolution.status | status} that says whether a closer one is loading;
12
+ * {@link whenReady} waits for those loads, and {@link IFontCollection.Events.onCollectionChange}
13
+ * fires as each settles. A workbook reaches it through `IWorkbook.getFonts()`.
14
+ */
15
+ export interface IFontCollection extends IListener.ISource<IFontCollection, IFontCollection.Events> {
16
+ /**
17
+ * The table to measure a face with, now.
18
+ *
19
+ * @param family The family as a style names it, or a CSS generic name (`sans-serif`).
20
+ * @param options {@link IFontCollection.GetByNameOptions}
21
+ *
22
+ * @remarks
23
+ * Never waits and never fails. A face with no table yet starts loading and is answered with the
24
+ * closest table available, its `status` `'loading'`. The answer is cached until the collection
25
+ * changes, so asking again is cheap.
26
+ */
27
+ getByName(family: string, options?: IFontCollection.GetByNameOptions): IFontCollection.Resolution;
10
28
  /**
11
- * Defaults to false
29
+ * Starts loading these faces ahead of their first use.
30
+ *
31
+ * @returns Resolves when each has settled, with a table or without one.
12
32
  */
13
- bold?: boolean;
33
+ load(faces: readonly (string | IFontCollection.FaceRequest)[]): Promise<void>;
34
+ /** Resolves when no face is loading, including loads started while it waited. */
35
+ whenReady(): Promise<void>;
36
+ /** Whether a face is loading. */
37
+ isLoading(): boolean;
14
38
  /**
15
- * Defaults to false
39
+ * Replaces where tables come from, tried in order, and forgets every table built before; the
40
+ * built-in Calibri and Arial stay.
41
+ *
42
+ * @remarks
43
+ * For hosts that capture or ship their own tables, and for tests that pin measurement to the
44
+ * shipped tables.
16
45
  */
17
- italic?: boolean;
46
+ setAdvanceBuilders(builders: readonly AdvanceBuilder[]): void;
47
+ /** The families offered for choosing, as a font picker lists them. */
48
+ getFontList(): readonly IFontCollection.FontHandle[];
49
+ /** Replaces the families offered for choosing; `null` restores the default list. */
50
+ setFontList(fontList: IFont.IFontFace[] | string[] | null): void;
18
51
  /**
19
- * A list of font names or generic font family
52
+ * The offered family that matches `fontName`, else the first of `options.fallbacks` that does
53
+ * (a CSS generic name matches a family of its class), else `null`.
20
54
  */
21
- fallbacks?: string[];
22
- panose?: string;
55
+ findBestMatch(fontName: string, options?: IFontCollection.FindBestMatchOptions): IFontCollection.FontHandle | null;
56
+ /** For runtime type checking. */
57
+ readonly isIFontCollection: true;
58
+ }
59
+ export declare namespace IFontCollection {
60
+ /**
61
+ * The collection every workbook measures with, the one `IWorkbook.getFonts()` returns: for
62
+ * code with no workbook at hand.
63
+ */
64
+ function getShared(): IFontCollection;
65
+ /** How a {@link Resolution}'s table relates to the face that was asked for. */
66
+ const ResolutionKind: {
67
+ /** The family's own captured table (possibly measured from a metric-compatible twin). */
68
+ readonly Table: "table";
69
+ /** Read from the face itself as installed. */
70
+ readonly Exact: "exact";
71
+ /** A related family's table: a twin, a near relation, or one of the class a generic name names. */
72
+ readonly Classified: "classified";
73
+ /** A built-in table, because nothing closer is available yet or at all. */
74
+ readonly Generic: "generic";
75
+ };
76
+ type ResolutionKind = typeof ResolutionKind[keyof typeof ResolutionKind];
77
+ /** Whether a {@link Resolution} can still change, as `FontFace.status` in a browser. */
78
+ const FontStatus: {
79
+ /** A closer table is loading; the answer will change when it arrives. */
80
+ readonly Loading: "loading";
81
+ /** Settled: this is the best table there will be. */
82
+ readonly Loaded: "loaded";
83
+ /** Loading the face failed; the answer is a fallback and will not change. */
84
+ readonly Error: "error";
85
+ };
86
+ type FontStatus = typeof FontStatus[keyof typeof FontStatus];
87
+ /** The table a face is measured with, and how good an answer it is. */
88
+ interface Resolution {
89
+ /** Measures and wraps text in the face. */
90
+ readonly table: AdvanceTable;
91
+ readonly kind: ResolutionKind;
92
+ readonly status: FontStatus;
93
+ /** The face that was asked for. */
94
+ readonly requested: AdvanceTable.Face;
95
+ }
96
+ interface GetByNameOptions {
97
+ /** Defaults to `false`. */
98
+ bold?: boolean;
99
+ /** Defaults to `false`. */
100
+ italic?: boolean;
101
+ }
102
+ /** A face to {@link IFontCollection.load | load}. */
103
+ interface FaceRequest extends GetByNameOptions {
104
+ family: string;
105
+ }
106
+ interface FontHandle {
107
+ /** `null` is used as a cached 'no match' sentinel (see {@link IFontCollection.findBestMatch}). */
108
+ fontRef: IFont.IFontFace | null;
109
+ loaded: boolean;
110
+ }
111
+ interface FindBestMatchOptions {
112
+ /** Defaults to `false`. */
113
+ bold?: boolean;
114
+ /** Defaults to `false`. */
115
+ italic?: boolean;
116
+ /** Font names or generic family names to try after `fontName`. */
117
+ fallbacks?: string[];
118
+ panose?: string;
119
+ }
120
+ interface Events {
121
+ /**
122
+ * A load settled, with a table or without one: measurements taken before may differ now.
123
+ */
124
+ onCollectionChange?(source: IFontCollection): void;
125
+ }
126
+ interface IListeners extends IListener.Callbacks<IFontCollection, IFontCollection.Events> {
127
+ }
23
128
  }
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
129
  //# sourceMappingURL=IFontCollection.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { AdvanceBuilder } from './AdvanceBuilder';
2
+ import { AdvanceTable } from './AdvanceTable';
3
+ /**
4
+ * The resource path of a face's table: `calibri-bold-italic.metrics.json`.
5
+ *
6
+ * @remarks
7
+ * The family is lowercased and its spaces become hyphens; a weight of 600 or more reads as bold,
8
+ * the only weight spreadsheets name.
9
+ */
10
+ export declare function metricsFileName(face: AdvanceTable.Face): string;
11
+ /**
12
+ * Builds tables from `.metrics.json` files in the `fonts` resource kind: the SDK's shipped tables,
13
+ * and any a user captured into a resource root, which take precedence.
14
+ */
15
+ export declare class TableFileAdvanceBuilder implements AdvanceBuilder {
16
+ readonly name = "table-file";
17
+ readonly kind = "table";
18
+ private readonly _base;
19
+ private readonly _pending;
20
+ /**
21
+ * @param base A base to search after the user resource roots, or `null` for none (the default).
22
+ */
23
+ constructor(base?: string | null);
24
+ build(face: AdvanceTable.Face): Promise<AdvanceTable | null>;
25
+ private _load;
26
+ }
27
+ //# sourceMappingURL=TableFileAdvanceBuilder.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { AdvanceTable } from './AdvanceTable';
2
+ /**
3
+ * The tables measuring works with before anything loads: Calibri (Excel's default before Aptos, and
4
+ * Aptos's stand-in) and Arial (the generic sans-serif), regular and bold. About 15 KB gzip.
5
+ *
6
+ * Imported as text (`?raw`, declared in `global.d.ts`) and parsed when the shared collection is
7
+ * first made.
8
+ */
9
+ export declare function builtinFontTables(): AdvanceTable[];
10
+ //# sourceMappingURL=_BuiltinFontTables.d.ts.map
@@ -1,5 +1,8 @@
1
- export * as IFontCollection from './IFontCollection';
1
+ export * from './IFontCollection';
2
2
  export * from './IFont';
3
3
  export * from './Font';
4
+ export * from './AdvanceTable';
5
+ export { type AdvanceBuilder } from './AdvanceBuilder';
6
+ export { TableFileAdvanceBuilder } from './TableFileAdvanceBuilder';
4
7
  export * as FontUtils from './FontUtils';
5
8
  //# sourceMappingURL=index.d.ts.map