@sheetxl/sdk 0.8.0-beta.1 → 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 (564) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{B0HS42a7lga1k1U_.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/{uyWBMSIxMlt8n5Z3.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/{DlPMeIyxT9tG_WDk.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/{Cku7XiUvw1xrRasi.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 +51616 -39665
  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 -110
  83. package/types/scripting.d.ts +13077 -3224
  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 +754 -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 +312 -33
  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 +141 -30
  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 +50 -3
  145. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  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 +419 -79
  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 +56 -19
  345. package/types/src/primitives/Range.d.ts +133 -25
  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/FunctionCollection.d.ts +49 -15
  371. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  372. package/types/src/scripting/IModule.d.ts +25 -0
  373. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  374. package/types/src/scripting/IScript.d.ts +28 -26
  375. package/types/src/scripting/Module.d.ts +34 -6
  376. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  377. package/types/src/scripting/Runtime.d.ts +15 -0
  378. package/types/src/scripting/Scripts.d.ts +3 -7
  379. package/types/src/scripting/TypedFunction.d.ts +154 -18
  380. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  381. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  382. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  383. package/types/src/scripting/declarations.browser.d.ts +10 -0
  384. package/types/src/scripting/declarations.d.ts +49 -0
  385. package/types/src/scripting/declarations.node.d.ts +9 -0
  386. package/types/src/scripting/index.d.ts +3 -0
  387. package/types/src/selection/IMovableSelection.d.ts +148 -0
  388. package/types/src/selection/IRangeSelection.d.ts +9 -4
  389. package/types/src/selection/MovableSelection.d.ts +48 -0
  390. package/types/src/selection/RangeSelection.d.ts +15 -0
  391. package/types/src/selection/index.d.ts +1 -0
  392. package/types/src/shape/GeometryPreset.d.ts +197 -0
  393. package/types/src/shape/IGeometry.d.ts +380 -0
  394. package/types/src/shape/IShape.d.ts +341 -194
  395. package/types/src/shape/IShapeStyle.d.ts +135 -0
  396. package/types/src/shape/Shape.d.ts +107 -21
  397. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  398. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  399. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  400. package/types/src/shape/_Connectors.d.ts +108 -0
  401. package/types/src/shape/_Geometry.d.ts +14 -0
  402. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  403. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  404. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  405. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  406. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  407. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  408. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  409. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  410. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  411. package/types/src/shape/_builtIn/math.d.ts +6 -0
  412. package/types/src/shape/_builtIn/other.d.ts +6 -0
  413. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  414. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  415. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  416. package/types/src/shape/geometry/format.d.ts +3 -0
  417. package/types/src/shape/geometry/geometry.d.ts +85 -0
  418. package/types/src/shape/geometry/guides.d.ts +54 -0
  419. package/types/src/shape/geometry/handles.d.ts +14 -0
  420. package/types/src/shape/geometry/index.d.ts +7 -0
  421. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  422. package/types/src/shape/geometry/paths.d.ts +35 -0
  423. package/types/src/shape/geometry/segments.d.ts +114 -0
  424. package/types/src/shape/index.d.ts +3 -0
  425. package/types/src/sheet/CellRegion.d.ts +6 -0
  426. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  427. package/types/src/sheet/ISheet.d.ts +197 -50
  428. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  429. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  430. package/types/src/sheet/NamedRange.d.ts +8 -0
  431. package/types/src/sheet/Sheet.d.ts +915 -138
  432. package/types/src/sheet/SheetCell.d.ts +92 -32
  433. package/types/src/sheet/SheetCollection.d.ts +19 -8
  434. package/types/src/sheet/SheetRange.d.ts +90 -18
  435. package/types/src/sheet/SheetRanges.d.ts +22 -9
  436. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  437. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  438. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  439. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  440. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  441. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  442. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  443. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  444. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  445. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  446. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  447. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  448. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  449. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  450. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  451. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  452. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  453. package/types/src/sheet/spatial/index.d.ts +1 -0
  454. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  455. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  456. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  457. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  458. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  459. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  460. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  461. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  462. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  463. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  464. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  465. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  466. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  467. package/types/src/sheetView/ISheetView.d.ts +69 -15
  468. package/types/src/sheetView/SheetView.d.ts +20 -11
  469. package/types/src/slicer/ISlicer.d.ts +304 -17
  470. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  471. package/types/src/slicer/Slicer.d.ts +128 -13
  472. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  473. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  474. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  475. package/types/src/slicer/index.d.ts +1 -0
  476. package/types/src/sort/ISort.d.ts +4 -2
  477. package/types/src/string/IStringCollection.d.ts +5 -0
  478. package/types/src/string/StringCollection.d.ts +6 -6
  479. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  480. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  481. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  482. package/types/src/style/IStyleCollection.d.ts +91 -60
  483. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  484. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  485. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  486. package/types/src/style/StyleCollection.d.ts +81 -26
  487. package/types/src/style/TableStyleCollection.d.ts +49 -0
  488. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  489. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  490. package/types/src/style/index.d.ts +7 -1
  491. package/types/src/table/AnchoredTable.d.ts +701 -72
  492. package/types/src/table/AutoTable.d.ts +7 -5
  493. package/types/src/table/ITable.d.ts +261 -34
  494. package/types/src/table/ITableCollection.d.ts +12 -0
  495. package/types/src/table/ITableStyle.d.ts +37 -37
  496. package/types/src/table/TableCollection.d.ts +19 -8
  497. package/types/src/table/_FilterField.d.ts +19 -6
  498. package/types/src/table/_NamedTable.d.ts +17 -1
  499. package/types/src/table/_NamedTableSource.d.ts +1 -0
  500. package/types/src/table/_SortField.d.ts +2 -0
  501. package/types/src/table/_TableColumn.d.ts +13 -2
  502. package/types/src/table/_TableMessages.d.ts +1 -0
  503. package/types/src/table/_TableUtils.d.ts +40 -0
  504. package/types/src/text/Bullet.d.ts +4 -0
  505. package/types/src/text/IText.d.ts +182 -0
  506. package/types/src/text/ITextFrame.d.ts +110 -1
  507. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  508. package/types/src/text/TextFrame.d.ts +4 -0
  509. package/types/src/text/TextLine.d.ts +4 -0
  510. package/types/src/text/TextParagraph.d.ts +4 -0
  511. package/types/src/text/TextRotation.d.ts +3 -3
  512. package/types/src/text/TextRun.d.ts +9 -0
  513. package/types/src/text/TextStacked.d.ts +83 -0
  514. package/types/src/text/index.d.ts +1 -0
  515. package/types/src/text/richtext/IRichText.d.ts +36 -0
  516. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  517. package/types/src/text/richtext/index.d.ts +1 -0
  518. package/types/src/theme/ITheme.d.ts +45 -4
  519. package/types/src/theme/IThemeCollection.d.ts +2 -0
  520. package/types/src/theme/ThemeCollection.d.ts +11 -7
  521. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  522. package/types/src/transaction/ITransaction.d.ts +258 -45
  523. package/types/src/transaction/Transaction.d.ts +101 -11
  524. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  525. package/types/src/type/AbstractCollection.d.ts +101 -0
  526. package/types/src/type/ICollection.d.ts +117 -0
  527. package/types/src/type/ITypes.d.ts +9 -7
  528. package/types/src/type/index.d.ts +1 -0
  529. package/types/src/utils/_CSSUtils.d.ts +3 -3
  530. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  531. package/types/src/wasm/index.d.ts +2 -0
  532. package/types/src/wasm/sdkWasm.d.ts +29 -0
  533. package/types/src/workbook/IWorkbook.d.ts +180 -40
  534. package/types/src/workbook/Workbook.d.ts +123 -10
  535. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  536. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  537. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  538. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  539. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  540. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  541. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  542. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  543. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  544. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  545. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  546. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  547. package/browser/cjs/index.cjs +0 -3
  548. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  549. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  550. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  551. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  552. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  553. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  554. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  555. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  556. package/types/src/dataValidation/_Utils.d.ts +0 -10
  557. package/types/src/lib/utils/_Utils.d.ts +0 -27
  558. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  559. package/types/src/movable/IGroup.d.ts +0 -30
  560. package/types/src/movable/IMovableSelection.d.ts +0 -49
  561. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  562. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  563. package/types/src/sheet/listener/index.d.ts +0 -3
  564. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -4,7 +4,7 @@ import { ITransaction } from '../transaction';
4
4
  import { IResource } from '../resource';
5
5
  import { IListener } from '../listener';
6
6
  import { IModel } from '../model';
7
- import { ICellRange } from '../cellRange';
7
+ import { ICellRange, ICellRanges } from '../cellRange';
8
8
  import { IHistory } from '../history';
9
9
  import { IAnchored } from '../anchored';
10
10
  import { IMovableCollection } from './IMovableCollection';
@@ -29,9 +29,97 @@ export interface IMovable extends IAnchored, ITransaction.ITransactional, IHisto
29
29
  */
30
30
  getRange(options?: ICellRange.GetRangeOptions): ICellRange;
31
31
  /**
32
- * Returns the content of the movable.
32
+ * Returns the content of the movable: what is drawn at this position.
33
+ *
34
+ * @remarks
35
+ * The content's `getType()` says which interface to read it as:
36
+ *
37
+ * | `getType()` | content |
38
+ * | --- | --- |
39
+ * | `'picture'` | {@link IPicture} |
40
+ * | `'chart'` | {@link IChart} |
41
+ * | `'shape'` | {@link IShape} — text boxes, callouts and connectors |
42
+ * | `'group'` | {@link IGroup} — a group of movables, each a member with its own content |
43
+ * | `'slicer'` | {@link ISlicer} |
44
+ * | `'checkBox'`, `'button'`, `'scrollBar'`, … | {@link IFormControl} — a form control, one type per kind ({@link IFormControl.Type}) |
45
+ *
46
+ * A host adds kinds of its own through {@link MovableContentRegistry}. Anything else is content
47
+ * that is positioned and saved but not modeled; it answers {@link IMovable.IContent} and nothing
48
+ * more.
49
+ *
50
+ * The content owns what identifies it: its name, its description and its id. The movable owns
51
+ * where it is drawn. To remove both, delete the content.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const content = movable.getContent();
56
+ * if (content.getType() === 'shape') {
57
+ * const text = (content as IShape).getTextFrame()?.getText();
58
+ * }
59
+ * content.delete();
60
+ * ```
61
+ */
62
+ getContent<T extends IMovable.IContent = IMovable.IContent>(): T;
63
+ /**
64
+ * Returns the movable that holds this one, or `null` at the root: the movable whose
65
+ * {@link getMovables} lists it.
66
+ *
67
+ * @remarks
68
+ * A member's {@link getBounds}, {@link getRotation} and {@link getFlip} are where it is drawn on
69
+ * the canvas, as any movable's are: what holds it hands it, when it is made, the mapping between
70
+ * the space its placement is kept in (a group's child space, as the file states it) and where the
71
+ * holder is drawn, so a member is read and edited like a root and nothing walks the chain. A
72
+ * member's placement changes with every movable above it, and announces
73
+ * {@link IMovable.Events.onBoundsChange} when it does.
74
+ */
75
+ getParent(): IMovable | null;
76
+ /**
77
+ * The movables this one holds, in z-order (the first is drawn first), or `null` when its content
78
+ * holds none.
79
+ *
80
+ * @remarks
81
+ * A group's movable holds its members. As on a sheet ({@link ISheet.getMovables}), adding to the
82
+ * collection places a movable here, at canvas bounds; deleting a member's content takes it out.
83
+ * Each member's {@link getParent} is this movable.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * for (const member of movable.getMovables()?.getItems() ?? []) {
88
+ * console.log(member.getContent().getName?.(), member.getBounds());
89
+ * }
90
+ * ```
33
91
  */
34
- getContent<T extends IModel>(): T;
92
+ getMovables(): IMovableCollection | null;
93
+ /**
94
+ * The cells the content names, or `null` when it names none. The same as
95
+ * `getContent().getReferences()`; see {@link IMovable.IContent.getReferences}.
96
+ *
97
+ * @remarks
98
+ * Not where this movable sits, which is {@link getRange}.
99
+ */
100
+ getReferences(): ICellRanges | null;
101
+ /**
102
+ * Whether the content has settled, rather than being a stand-in for a kind still loading.
103
+ *
104
+ * @remarks
105
+ * A kind registered with a loader ({@link MovableContentRegistry.Lazy}) is fetched the first
106
+ * time a workbook holds one. Until it arrives, {@link getContent} answers a stand-in that has
107
+ * the kind's type, name and description, saves as it was read, and is read-only. Reading a
108
+ * workbook ({@link IWorkbookIO.read}) and {@link IMovableCollection.add} wait for the load, so
109
+ * this is only ever `false` for a workbook built directly from JSON.
110
+ *
111
+ * A kind that fails to load, or throws when created, settles as an {@link IErrorContent}.
112
+ */
113
+ isContentLoaded(): boolean;
114
+ /**
115
+ * Resolves with the content once it has settled: at once when it already has, and with an
116
+ * {@link IErrorContent} when it could not be made.
117
+ */
118
+ whenContentLoaded(): Promise<IMovable.IContent>;
119
+ /**
120
+ * Deletes the content, which removes this movable. The same as `getContent().delete()`.
121
+ */
122
+ delete(): void;
35
123
  /**
36
124
  * Selects the current movable.
37
125
  *
@@ -48,11 +136,12 @@ export interface IMovable extends IAnchored, ITransaction.ITransactional, IHisto
48
136
  */
49
137
  isSelected: () => boolean;
50
138
  /**
51
- * Set the absolution position of a movable in pixels.
139
+ * Set the position and size of the movable's unrotated frame, in pixels.
52
140
  * @param bounds The new bounds.
53
141
  *
54
142
  * @remarks
55
- * If only some of the points are provided then only those will be moved.
143
+ * If only some of the points are provided then only those will be moved. The frame is what
144
+ * {@link getBounds} returns; the cells the movable is anchored to follow from it and the rotation.
56
145
  */
57
146
  setBounds(bounds: Partial<Bounds>, options?: ITransaction.OperationOptions): IMovable;
58
147
  /**
@@ -65,51 +154,69 @@ export interface IMovable extends IAnchored, ITransaction.ITransactional, IHisto
65
154
  */
66
155
  scrollIntoView: (options?: globalThis.ScrollIntoViewOptions | boolean) => Promise<boolean>;
67
156
  /**
68
- * Returns the absolute bounds of the movable object in pixels or `null` if not yet laid out.
157
+ * Returns the movable's unrotated frame in pixels, or `null` if not yet laid out.
158
+ *
159
+ * @remarks
160
+ * The frame is the box the movable is drawn in before it is turned by {@link getRotation}, about
161
+ * its center. A rotated movable is anchored to the cells of the box it occupies as rotated,
162
+ * which Excel takes to be the frame with its width and height swapped when the rotation is within
163
+ * 45° of 90° or 270°, and the frame itself otherwise.
69
164
  */
70
165
  getBounds(): Bounds | null;
71
166
  /**
72
- * Set the name for a movable object.
73
- *
74
- * @param name The name of the IMovable.
167
+ * If true then the movable object is hidden.
75
168
  */
76
- setName(name: string): IMovable;
169
+ setHidden(hidden: boolean): IMovable;
77
170
  /**
78
171
  * @see
79
- * {@link setName}
80
- *
81
- * @returns The name or `null` if the movable has been deleted.
172
+ * {@link setHidden}
82
173
  */
83
- getName(): string | null;
174
+ isHidden(): boolean;
84
175
  /**
85
- * This is the alternative text use for assistive technologies.
176
+ * Set the rotation in degrees, clockwise about the frame's center.
177
+ *
178
+ * @remarks
179
+ * The frame keeps its position and size; the cells the movable is anchored to are those of the
180
+ * box it then occupies (see {@link getBounds}). Whether the content can be turned, and to what, is
181
+ * the content's to say ({@link IMovable.IContent.acceptRotation}); a chart cannot, and ignores it.
86
182
  */
87
- setDescription(description: string | null): IMovable;
183
+ setRotation(rotation: number): IMovable;
88
184
  /**
89
185
  * @see
90
- * {@link setDescription}
91
- *
92
- * @returns The description or `null` if none has been set (or the movable has been deleted).
186
+ * {@link setRotation}
93
187
  */
94
- getDescription(): string | null;
188
+ getRotation(): number;
95
189
  /**
96
- * If true then the movable object is hidden.
190
+ * Mirror the content within its frame, left to right and/or top to bottom.
191
+ *
192
+ * @param flip The axes to set; an axis left out keeps its value.
193
+ *
194
+ * @remarks
195
+ * The frame keeps its position, size and rotation: a flip is applied in the frame's own axes,
196
+ * before the turn, as in Excel. Whether the content can be mirrored is the content's to say
197
+ * ({@link IMovable.IContent.acceptFlip}); a chart cannot, and ignores it.
97
198
  */
98
- setHidden(hidden: boolean): IMovable;
199
+ setFlip(flip: Partial<IMovable.Flip>, options?: ITransaction.OperationOptions): IMovable;
99
200
  /**
100
201
  * @see
101
- * {@link setHidden}
202
+ * {@link setFlip}
102
203
  */
103
- isHidden(): boolean;
204
+ getFlip(): IMovable.Flip;
104
205
  /**
105
- * Set the rotation in degrees.
106
- */
107
- setRotation(rotation: number): IMovable;
108
- /**
109
- * @see
110
- * {@link setHidden}
206
+ * The movable's connection sites on the sheet, placed as it is: where a connector's end glued
207
+ * to each one sits.
208
+ *
209
+ * @remarks
210
+ * Which sites a movable has is its content's to say ({@link IMovable.IContent.getConnections}):
211
+ * a picture, a chart or a control offers the four edge midpoints, a shape its geometry's, a
212
+ * group none. Synchronous; `null` while the content has not answered yet (a shape before its
213
+ * first evaluation, which this starts).
214
+ *
215
+ * @param placement Where the movable is, as a gesture previews it; its own placement when omitted.
111
216
  */
112
- getRotation(): number;
217
+ getConnectionSites(placement?: IMovable.PlacementPreview): IMovable.ConnectionSite[] | null;
218
+ /** The connectors on the sheet with an end glued to this movable. */
219
+ getGluedConnectors(): IMovable[];
113
220
  /**
114
221
  * If true then the aspect should be maintained during resize if using the corners or if
115
222
  * the api only specifies one dimension.
@@ -172,6 +279,194 @@ export interface IMovable extends IAnchored, ITransaction.ITransactional, IHisto
172
279
  * {@link IMovable}
173
280
  */
174
281
  export declare namespace IMovable {
282
+ /**
283
+ * `Events` for {@link IMovable.IContent}.
284
+ */
285
+ interface ContentEvents extends IModel.Events {
286
+ /**
287
+ * Called when the cells the content names have changed: the engine rewrote a reference the
288
+ * content holds after an insert, a delete, a cut or an undo. See {@link IContent.getReferences}.
289
+ */
290
+ onReferencesChange?(source: IContent): void;
291
+ }
292
+ /**
293
+ * Whether a movable's content is mirrored within its frame, per axis.
294
+ */
295
+ interface Flip {
296
+ /** Mirrored left to right. */
297
+ horizontal: boolean;
298
+ /** Mirrored top to bottom. */
299
+ vertical: boolean;
300
+ }
301
+ /**
302
+ * Where a movable is drawn: its unrotated frame, and the rotation and flips applied to it there.
303
+ * What {@link getBounds}, {@link getRotation} and {@link getFlip} answer, as one value.
304
+ */
305
+ interface Placement {
306
+ /** The unrotated frame, in the pixels of the space the placement is stated in. */
307
+ bounds: Bounds;
308
+ /** Degrees, clockwise about the frame's center. */
309
+ rotation: number;
310
+ /** How the content is mirrored within the frame, before the turn. */
311
+ flip: Flip;
312
+ }
313
+ /**
314
+ * A placement as a gesture previews it, with the adjust values the content is drawn with while
315
+ * the gesture drags one of its handles: a shape's connection sites move with them.
316
+ */
317
+ interface PlacementPreview extends Placement {
318
+ adjustments?: Readonly<Record<string, number>> | null;
319
+ }
320
+ /**
321
+ * A point a connector's end may be glued to, in a content's own frame (its top-left is 0,0),
322
+ * before the frame is placed.
323
+ */
324
+ interface Connection {
325
+ /** The site's number, as a connector's end names it. */
326
+ readonly index: number;
327
+ readonly x: number;
328
+ readonly y: number;
329
+ /** The direction a connector leaves the site, in degrees clockwise from +x. */
330
+ readonly ang: number;
331
+ }
332
+ /** A connection site on the sheet, in pixels: a {@link Connection} placed as its movable is. */
333
+ interface ConnectionSite {
334
+ /** The site's number, as {@link IShape.IConnectorFormat.startConnect} takes it. */
335
+ index: number;
336
+ x: number;
337
+ y: number;
338
+ }
339
+ /** What {@link IContent.getConnections} answers for, beyond the frame's size. */
340
+ interface ConnectionsOptions {
341
+ /**
342
+ * Adjust values a gesture has the content drawn with, in place of its own: a shape's sites
343
+ * move with them. `null` for the preset's defaults; omitted for the content's own.
344
+ */
345
+ adjustments?: Readonly<Record<string, number>> | null;
346
+ /** Called once a content that answered `null` can answer; a shape's first evaluation landing. */
347
+ onReady?: () => void;
348
+ }
349
+ /**
350
+ * What a movable draws: a chart, a picture, a shape, a slicer, a control.
351
+ *
352
+ * @remarks
353
+ * Content owns what identifies it, and the movable owns where it is drawn. Content can exist
354
+ * with no movable: a picture used as a sheet background is not placed by one.
355
+ *
356
+ * The movable owns its placement (bounds, rotation, flip) but the content says which of these
357
+ * it can take: a kind that defines {@link acceptRotation} can be turned and one that defines
358
+ * {@link acceptFlip} can be mirrored. A kind that defines neither, such as a chart, is placed by
359
+ * its bounds alone.
360
+ */
361
+ interface IContent {
362
+ /**
363
+ * Returns an immutable type string.
364
+ */
365
+ getType(): string;
366
+ /**
367
+ * Returns the id of the content.
368
+ */
369
+ getId(): string;
370
+ /**
371
+ * Returns the name, or `null` if the content has none.
372
+ *
373
+ * @remarks
374
+ * Not defined for content that is never named.
375
+ */
376
+ getName?(): string | null;
377
+ /**
378
+ * Set the name.
379
+ *
380
+ * @param name The name of the content.
381
+ */
382
+ setName?(name: string): this;
383
+ /**
384
+ * Returns the alternative text used by assistive technologies, or `null` if none has been set.
385
+ */
386
+ getDescription(): string | null;
387
+ /**
388
+ * Set the alternative text used by assistive technologies.
389
+ */
390
+ setDescription(description: string | null): this;
391
+ /**
392
+ * Returns a label for the kind of content, such as `Chart` or `Picture`.
393
+ */
394
+ getTypeDescription(): string;
395
+ /**
396
+ * Returns the movable that places the content on the sheet, or `null` if it is not placed by
397
+ * one.
398
+ */
399
+ getMovable(): IMovable | null;
400
+ /**
401
+ * Returns the cells the content names - a chart's series, a control's linked cell, a slicer's
402
+ * column - or `null` when it names none.
403
+ *
404
+ * @remarks
405
+ * Not where the movable sits: that is {@link IMovable.getRange}. The references are formulas
406
+ * the calculation engine holds, so they follow the cells they name through inserts, deletes,
407
+ * cuts, sheet renames and undo, and {@link ContentEvents.onReferencesChange} is announced when
408
+ * they have. A reference to deleted cells is left out. Without a running engine the references
409
+ * read as they were set.
410
+ */
411
+ getReferences(): ICellRanges | null;
412
+ /**
413
+ * Deletes the content, and with it the movable that places it.
414
+ */
415
+ delete(options?: ITransaction.OperationOptions): void;
416
+ /**
417
+ * Returns `true` if the content has been deleted.
418
+ */
419
+ isDeleted(): boolean;
420
+ /**
421
+ * The rotation this content takes when asked to turn by `degrees`, clockwise.
422
+ *
423
+ * @remarks
424
+ * Defined by content that can be turned, such as a shape or a picture; absent, the content
425
+ * cannot and no rotate handle is offered. Must be pure: it is asked throughout a gesture to
426
+ * draw its preview, and the answer is what the movable stores.
427
+ */
428
+ acceptRotation?(degrees: number): number;
429
+ /**
430
+ * The flip this content takes when asked to mirror as `flip` states.
431
+ *
432
+ * @remarks
433
+ * Defined by content that can be mirrored, such as a shape or a picture; absent, the content
434
+ * cannot: a frame dragged through its opposite edge is moved there but not mirrored, as Excel
435
+ * does with a chart. Must be pure, as {@link acceptRotation} is. A connector may accept each
436
+ * axis on its own.
437
+ */
438
+ acceptFlip?(flip: Flip): Flip;
439
+ /**
440
+ * How a movable of this content moves and sizes with the cells under it when it is added
441
+ * without an anchor type.
442
+ *
443
+ * @remarks
444
+ * Absent, it moves and sizes with them ({@link IAnchored.Type.TwoCell}), as Excel inserts a
445
+ * shape or a chart. A picture moves with its cell but keeps its size.
446
+ */
447
+ getDefaultAnchorType?(): IAnchored.Type;
448
+ /**
449
+ * Whether a movable of this content keeps its aspect ratio when resized from a corner, when it
450
+ * states no lock of its own.
451
+ *
452
+ * @remarks
453
+ * Absent, it does not. A picture does.
454
+ */
455
+ isDefaultLockAspectRatio?(): boolean;
456
+ /**
457
+ * The points a connector's end may be glued to, in a `width` by `height` frame of this
458
+ * content, before the frame is placed.
459
+ *
460
+ * @remarks
461
+ * Absent, the four edge midpoints — top, left, bottom, right, numbered in that order, each
462
+ * leaving straight out — as Excel offers on a picture, a chart, a slicer or a control. A
463
+ * shape is the exception and answers its geometry's own sites (a triangle's three, a
464
+ * connector's none); a group answers none, since Excel glues to a group's members and never
465
+ * to the group. Must be synchronous: `null` means the content cannot answer yet and will call
466
+ * `options.onReady` when it can.
467
+ */
468
+ getConnections?(width: number, height: number, options?: IMovable.ConnectionsOptions): readonly IMovable.Connection[] | null;
469
+ }
175
470
  /**
176
471
  * Extends {@link ITypes.SelectOptions} to include options for `IMovable`.
177
472
  */
@@ -185,6 +480,26 @@ export declare namespace IMovable {
185
480
  */
186
481
  addToSelection?: boolean;
187
482
  }
483
+ /**
484
+ * Options for an operation on movables that can select what it acted on.
485
+ */
486
+ interface OperationOptions extends ITransaction.OperationOptions {
487
+ /**
488
+ * Select the movables the operation leaves the user working on, once it completes.
489
+ *
490
+ * @remarks
491
+ * Resolved once, when the outermost operation closes: within a batch the selection is where
492
+ * the last operation that asked leaves it, an `addToSelection` extending what came before.
493
+ */
494
+ autoSelect?: boolean | IMovable.SelectOptions;
495
+ /**
496
+ * Select what the operation acted on when it is undone or redone: an undo lands on the
497
+ * selection it began with, a redo where it left the user.
498
+ *
499
+ * @defaultValue {@link autoSelect}
500
+ */
501
+ autoSelectRestore?: boolean;
502
+ }
188
503
  /**
189
504
  * `Events` for {@link IMovable} events.
190
505
  */
@@ -194,11 +509,8 @@ export declare namespace IMovable {
194
509
  */
195
510
  onSelectionChange?(source: IMovable): void;
196
511
  /**
197
- * Called when the name has changed.
198
- */
199
- onNameChange?(source: IMovable): void;
200
- /**
201
- * Called when selection changes.
512
+ * Called when the bounds have changed, or, for a member of a group, when where it is drawn has:
513
+ * a movable above it moved, turned, mirrored or resized.
202
514
  */
203
515
  onBoundsChange?(source: IMovable): void;
204
516
  /**
@@ -274,14 +586,32 @@ export declare namespace IMovable {
274
586
  * This must align to a known movable object type. Defined in the IEmbeddedDrawing interface.
275
587
  */
276
588
  type: string;
589
+ /**
590
+ * The name of the content.
591
+ */
592
+ name?: string;
593
+ /**
594
+ * The alternative text used by assistive technologies.
595
+ */
596
+ description?: string;
277
597
  /**
278
598
  * Underlying json.
599
+ *
600
+ * @remarks
601
+ * Content that holds movables ({@link IMovable.getMovables}) states them here as
602
+ * `members`, an array of {@link IMovable.JSON}, so the kinds a tree needs are loaded before it
603
+ * is built.
279
604
  */
280
605
  json: J;
281
606
  }
282
607
  interface JSON<J = any> {
283
608
  /**
284
609
  * The anchor for the movable object.
610
+ *
611
+ * @remarks
612
+ * On the sheet, the cells of both corners and the offsets into them; an absolute anchor
613
+ * states `tl` as a position and `br` as a size, with no cells. A member of a group is always
614
+ * the latter, in the group's child space ({@link IGroup.JSON.childBounds}).
285
615
  */
286
616
  anchor: IMovable.AnchorOffset;
287
617
  /**
@@ -292,16 +622,6 @@ export declare namespace IMovable {
292
622
  * The behavior of how the movable resizes as the anchor/cells change.
293
623
  */
294
624
  anchorType?: IAnchored.Type;
295
- /**
296
- * The name of the movable object.
297
- */
298
- name?: string;
299
- /**
300
- * This is the alternative text use for assistive technologies.
301
- *
302
- * @defaultValue null
303
- */
304
- description?: string;
305
625
  /**
306
626
  * If true then the movable object is hidden.
307
627
  *
@@ -314,6 +634,18 @@ export declare namespace IMovable {
314
634
  * @defaultValue 0
315
635
  */
316
636
  rotation?: number;
637
+ /**
638
+ * Mirrored left to right within the frame.
639
+ *
640
+ * @defaultValue false
641
+ */
642
+ flipH?: boolean;
643
+ /**
644
+ * Mirrored top to bottom within the frame.
645
+ *
646
+ * @defaultValue false
647
+ */
648
+ flipV?: boolean;
317
649
  /**
318
650
  * Whether resizing should keep the aspect ratio.
319
651
  */
@@ -5,7 +5,6 @@ import { IResource, IResourceCollection } from '../resource';
5
5
  import { IListener } from '../listener';
6
6
  import { ICellRange } from '../cellRange';
7
7
  import { IMovable } from './IMovable';
8
- import { ITransaction } from '../transaction';
9
8
  /**
10
9
  * Holds a collection of IMovables.
11
10
  */
@@ -40,6 +39,19 @@ export interface IMovableCollection extends ICollection<IMovable>, IListener.ISo
40
39
  * @returns A Promise that will resolve to the new Movable.
41
40
  */
42
41
  addPicture(picture: string | IResource | IResourceCollection.AddOptions, options?: IMovableCollection.AddOptions): Promise<IMovable>;
42
+ /**
43
+ * Groups movables of this collection into one: a new movable whose content is an `IGroup`
44
+ * holding them as members, in their z-order, at the union of the boxes they occupy.
45
+ *
46
+ * @param movables Two or more movables of this collection.
47
+ * @param options {@link IMovableCollection.GroupOptions}
48
+ * @returns The group's movable.
49
+ *
50
+ * @remarks
51
+ * One undo step. The group's child space equals its frame, so each member keeps the size it
52
+ * had. `IGroup.ungroup` is the inverse.
53
+ */
54
+ group(movables: readonly IMovable[], options?: IMovableCollection.GroupOptions): Promise<IMovable>;
43
55
  /**
44
56
  * Add Listeners.
45
57
  *
@@ -47,6 +59,8 @@ export interface IMovableCollection extends ICollection<IMovable>, IListener.ISo
47
59
  * {@link IListener.ISource.addListeners}
48
60
  */
49
61
  addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
62
+ /** For runtime type checking. */
63
+ readonly isIMovableCollection: true;
50
64
  }
51
65
  /**
52
66
  * {@inheritDoc IMovableCollection}
@@ -84,11 +98,45 @@ export declare namespace IMovableCollection {
84
98
  * @defaultValue false
85
99
  */
86
100
  fullyContained?: boolean;
101
+ /**
102
+ * Also return the members of every group found, each after its group, nested groups
103
+ * included. The type filter applies to members too.
104
+ * @defaultValue false
105
+ */
106
+ deep?: boolean;
107
+ /**
108
+ * Match {@link address} against what each movable paints rather than the cells it is anchored
109
+ * to: its rotation, a drawing that reaches outside its frame (a callout's tail) and its line.
110
+ * Use it to find the movables visible in a range.
111
+ *
112
+ * @remarks
113
+ * A shape's drawing is known once its geometry has been evaluated, which the search starts;
114
+ * until then it is matched by its frame, and the collection notifies a change when the answer
115
+ * is ready. Ignored with {@link fullyContained}.
116
+ * @defaultValue false
117
+ */
118
+ drawn?: boolean;
119
+ }
120
+ /**
121
+ * Options for {@link IMovableCollection.group}.
122
+ */
123
+ interface GroupOptions extends IMovable.OperationOptions {
124
+ /**
125
+ * The name of the group.
126
+ *
127
+ * @defaultValue A name made from the type, such as `Group 3`.
128
+ */
129
+ name?: string;
130
+ /**
131
+ * Whether the group is selected once made.
132
+ * @defaultValue true
133
+ */
134
+ autoSelect?: boolean | IMovable.SelectOptions;
87
135
  }
88
136
  /**
89
137
  * Options for adding a movable to the collection.
90
138
  */
91
- interface AddOptions<J = any> extends ITransaction.OperationOptions {
139
+ interface AddOptions<J = any> extends IMovable.OperationOptions {
92
140
  /**
93
141
  * The type of movable to add.
94
142
  */
@@ -97,6 +145,12 @@ export declare namespace IMovableCollection {
97
145
  * Initial json value.
98
146
  */
99
147
  json?: J;
148
+ /**
149
+ * The name of the content.
150
+ *
151
+ * @defaultValue A name made from the type, such as `Chart 3`.
152
+ */
153
+ name?: string;
100
154
  /**
101
155
  * If a referenceId is provided then the movable will be linked to the resource.
102
156
  * @param resourceId
@@ -104,9 +158,15 @@ export declare namespace IMovableCollection {
104
158
  */
105
159
  fromResourceId?: (resourceId: number) => IResource;
106
160
  /**
107
- * The boundary for the movable object in pixels.
161
+ * The movable's unrotated frame in pixels (see {@link IMovable.getBounds}).
108
162
  */
109
163
  bounds?: Partial<Bounds>;
164
+ /**
165
+ * The rotation in degrees, clockwise about the frame's center.
166
+ *
167
+ * @defaultValue 0
168
+ */
169
+ rotation?: number;
110
170
  /**
111
171
  * Placement hint used only when {@link bounds} is omitted. `'viewport'` centers the (default-sized)
112
172
  * movable in the visible viewport via {@link ISheet.IListeners.onRequestViewport}, falling back to the