@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
@@ -1,28 +1,180 @@
1
- import { Point, Rectangle } from '@sheetxl/utils';
2
- import { IListener } from '../listener';
1
+ import { Point } from '@sheetxl/utils';
2
+ import { ITransaction } from '../transaction';
3
3
  import { IResource } from '../resource';
4
4
  import { IModel } from '../model';
5
+ import { IMovable } from '../movable';
5
6
  import { IHyperlink } from '../hyperlink';
6
- import { IFill } from '../fill';
7
- import { IStroke } from '../fill/IStroke';
7
+ import { IStroke, IFill, IEffect } from '../fill';
8
+ import { ITheme } from '../theme';
9
+ import { ITextFrame } from '../text';
10
+ import { IGeometry } from './IGeometry';
11
+ import { IShapeStyle } from './IShapeStyle';
8
12
  /**
9
- * Interface for working with IShape.
13
+ * A drawn shape: a text box, a callout, a rectangle, a connector.
10
14
  *
11
15
  * @remarks
16
+ * A shape is the content of an {@link IMovable} — `movable.getContent<IShape>()` for a movable
17
+ * whose content type is `'shape'`. The movable carries the position; the shape carries what is
18
+ * drawn there and what is written on it. A group of shapes is an {@link IGroup}, whose members are
19
+ * movables of their own.
12
20
  *
13
- * A shape does not position information
14
- * **PLACEHOLDER**
21
+ * Reading, and adjust values: a shape is JSON ({@link IShape.JSON}) that a file reads into and
22
+ * writes from; the editing API beyond `setAdjustments` is still to come.
15
23
  */
16
- export interface IShape extends IModel {
24
+ export interface IShape extends IModel, IMovable.IContent {
17
25
  toJSON(toResourceId?: (resource: IResource) => number | null): IShape.JSON | null;
18
26
  /**
19
27
  * Returns the name of the shape.
20
28
  */
21
- getName(): string;
29
+ getName(): string | null;
22
30
  /**
23
- * Returns the description of the shape.
31
+ * The image a resource id in this shape's JSON names: an image fill's `resId`, as {@link toJSON}
32
+ * with no scope names it. `null` when the shape holds no such resource.
24
33
  */
25
- getDescription(): string;
34
+ getResource(resourceId: number): IResource | null;
35
+ /**
36
+ * Deletes the shape, and with it the movable that places it.
37
+ */
38
+ delete(options?: ITransaction.OperationOptions): void;
39
+ /**
40
+ * Returns the kind of shape this is: its preset geometry.
41
+ *
42
+ * @remarks
43
+ * A DrawingML preset id ({@link IGeometry.Preset}) — `rect`, `borderCallout2`, `curvedConnector3` —
44
+ * or `'custom'` for a shape drawn from its own path. A file may name a preset this SDK does not
45
+ * know; it is returned as the file states it.
46
+ *
47
+ * The preset says what a shape is for where its name does not: a callout annotates something,
48
+ * a connector links two shapes, and a rectangle with no text is usually a box drawn around the
49
+ * cells under it.
50
+ */
51
+ getShapeType(): string;
52
+ /**
53
+ * Changes the kind of shape this is, as Excel's Change Shape does: its text, fill, outline, size
54
+ * and placement stay; its adjust values go back to the new preset's defaults.
55
+ *
56
+ * A line or connector takes only a line or connector preset, and any other shape only another
57
+ * kind of preset; `custom` is not a preset.
58
+ *
59
+ * @param shapeType A DrawingML preset id ({@link IGeometry.Preset}).
60
+ * @throws ExpectedError for a preset the shape cannot take.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * shape.setShapeType(IGeometry.Preset.RoundRect);
65
+ * ```
66
+ */
67
+ setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
68
+ /**
69
+ * Returns the text written on the shape.
70
+ *
71
+ * @remarks
72
+ * Text on a shape is a note from the workbook's author to its reader, so it is worth reading
73
+ * before the cells it sits beside.
74
+ *
75
+ * @returns `null` when the shape has no text body at all, as a connector does not. A shape that
76
+ * can hold text but has none answers with a frame whose text is `''`.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * for (const movable of sheet.getMovables().getItems({ type: 'shape' })) {
81
+ * const text = movable.getContent<IShape>().getTextFrame()?.getText();
82
+ * if (text) console.log(movable.getRange().toString(), text);
83
+ * }
84
+ * ```
85
+ */
86
+ getTextFrame(): ITextFrame.IText | null;
87
+ /**
88
+ * What the shape draws with: its fill and its line, resolved from what it states over its
89
+ * theme style. The same object answers for the life of the shape.
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * shape.getStyle().setFill('#ffd966');
94
+ * shape.getStyle().getStroke().setWidth(2.25);
95
+ * ```
96
+ */
97
+ getStyle(): IShapeStyle;
98
+ /**
99
+ * Returns the adjust values set on this shape, by name.
100
+ *
101
+ * @remarks
102
+ * A preset's handles move its adjust values — how rounded a `roundRect` is, where a callout
103
+ * points. Only values that differ from the preset's defaults are stored.
104
+ *
105
+ * The values are the geometry definition's own numbers (a ratio in 100,000ths, an angle in
106
+ * 60,000ths of a degree), opaque to a caller: a handle drag produces them through
107
+ * {@link IGeometry.adjustmentsFromHandle}, and a file reads and writes them as they are.
108
+ */
109
+ getAdjustments(): Readonly<Record<string, number>>;
110
+ /**
111
+ * Sets the adjust values, replacing any already set.
112
+ *
113
+ * @param adjustments Values by name, as {@link IGeometry.adjustmentsFromHandle} returns them;
114
+ * `null` restores the preset's defaults. Names the preset does not declare are kept but have no
115
+ * effect.
116
+ */
117
+ setAdjustments(adjustments: Record<string, number> | null, options?: ITransaction.OperationOptions): this;
118
+ /**
119
+ * Evaluates the shape's geometry at a size.
120
+ *
121
+ * @remarks
122
+ * What evaluates a shape loads on first use, and only what that shape needs, so this is
123
+ * asynchronous; a workbook with no shapes loads none of it. Everything on the geometry it
124
+ * returns is synchronous, including evaluating it again at another size or with other adjust
125
+ * values. Paths, handles and sites are in sheet pixels, in the shape's own frame (its top-left
126
+ * is 0,0), which is how the movable layer draws them.
127
+ *
128
+ * An open path takes the line ends the shape's line declares (its own over its theme style's):
129
+ * its stroke is trimmed under them, and they are visited as {@link IGeometry.PathLayer.Marker}
130
+ * paths.
131
+ *
132
+ * @param width Width in pixels. @defaultValue the movable's bounds.
133
+ * @param height Height in pixels. @defaultValue the movable's bounds.
134
+ * @param options What to evaluate in place of the shape's own preset or adjust values, as a
135
+ * gesture previews them; the shape is not changed.
136
+ * @returns `null` for a shape whose preset is unknown, or a shape with no size. A custom
137
+ * geometry evaluates like a preset, from its own definition.
138
+ */
139
+ getGeometry(width?: number, height?: number, options?: IShape.GeometryOptions): Promise<IGeometry | null>;
140
+ /**
141
+ * Whether the shape is a connector: a line whose ends can be glued to other movables'
142
+ * connection sites.
143
+ */
144
+ isConnector(): boolean;
145
+ /**
146
+ * A connector's ends: what each is glued to, and gluing it.
147
+ *
148
+ * @returns `null` for a shape that is not a connector.
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * const line = connector.getContent<IShape>().getConnectorFormat()!;
153
+ * line.startConnect(box, 3); // the box's right site
154
+ * line.getStartConnectedMovable() === box; // true, and the line follows the box from now on
155
+ * ```
156
+ */
157
+ getConnectorFormat(): IShape.IConnectorFormat | null;
158
+ /**
159
+ * How many connection sites the shape's geometry has: the places a connector's end can be
160
+ * glued, numbered from 0.
161
+ *
162
+ * @remarks
163
+ * Asynchronous as {@link getGeometry} is, which answers it. A shape with no geometry has none.
164
+ */
165
+ getConnectionSiteCount(): Promise<number>;
166
+ /**
167
+ * {@inheritDoc IMovable.IContent.getConnections}
168
+ *
169
+ * @remarks
170
+ * A shape's sites are its geometry's (`cxnLst`), not the four edges: a triangle offers three, a
171
+ * connector none. Answered from the geometry the shape last evaluated, so synchronous; `null`
172
+ * before the first evaluation, which this starts ({@link getGeometry} waits for one).
173
+ * {@link IMovable.getConnectionSites} answers them placed on the sheet.
174
+ */
175
+ getConnections(width: number, height: number, options?: IMovable.ConnectionsOptions): readonly IMovable.Connection[] | null;
176
+ /** For runtime type checking. */
177
+ readonly isIShape: true;
26
178
  }
27
179
  /**
28
180
  * {@inheritDoc IShape}
@@ -32,6 +184,21 @@ export interface IShape extends IModel {
32
184
  * {@link IShape}
33
185
  */
34
186
  export declare namespace IShape {
187
+ /**
188
+ * What kind of drawing a shape's JSON describes.
189
+ *
190
+ * @remarks
191
+ * Every kind is an `IShape` whose {@link IMovable.IContent.getType | content type} is `'shape'`;
192
+ * this is the one place the distinction survives a round trip. A JSON that states none is a
193
+ * {@link IShape.Type.Shape | shape}.
194
+ */
195
+ const Type: {
196
+ /** A shape drawn from a preset or custom geometry, with or without text. */
197
+ readonly Shape: "shape";
198
+ /** A connector: a line that may be glued to other shapes' connection sites. */
199
+ readonly Connector: "connector";
200
+ };
201
+ type Type = typeof Type[keyof typeof Type];
35
202
  /**
36
203
  * A set of values that can be set on a IShape.
37
204
  *
@@ -40,15 +207,20 @@ export declare namespace IShape {
40
207
  */
41
208
  interface Properties {
42
209
  /**
43
- * The unique name of the table
210
+ * The name of the shape.
44
211
  */
45
212
  name?: string;
46
213
  /**
47
- * The preset Geometry for the shape. This could also be custom.
214
+ * The geometry: a DrawingML preset name (`'rect'`, `'roundRect'`, `'wedgeEllipseCallout'`…)
215
+ * or a custom definition in the same form as a preset.
48
216
  *
49
217
  * @defaultValue 'rect'
50
218
  */
51
- geometry?: PresetGeometry | GeometryProperties;
219
+ geometry?: string | IGeometry.Def;
220
+ /**
221
+ * Adjust values that differ from the preset's defaults, by name (`adj`, `adj1`…).
222
+ */
223
+ adjustments?: Record<string, number>;
52
224
  /**
53
225
  * The fill.
54
226
  */
@@ -60,220 +232,195 @@ export declare namespace IShape {
60
232
  /**
61
233
  * A hyperlink for the entire shape.
62
234
  */
63
- hyperlink?: string | IHyperlink.JSON;
235
+ hyperlink?: IHyperlink.JSON;
64
236
  }
65
237
  /**
66
238
  * A JSON representation useful for persistence.
67
239
  */
68
- interface JSON extends Omit<Properties, 'fill' | 'stroke' | 'geometry'> {
69
- fill?: IFill.SolidJSON | IFill.GradientJSON | IFill.PatternJSON | IFill.NoneJSON;
70
- stroke?: IStroke.JSON;
71
- geometry?: string | GeometryJSON;
72
- /** Which drawing element this was read from ("sp" | "cxnSp" | "grpSp") — `getType()` always
73
- * reports "shape" regardless, so this is the only place the distinction survives a round trip. */
74
- type?: string;
75
- /** Opaque source XML fragment, captured verbatim from the source file and replayed as-is on
76
- * save, for whatever this shape doesn't (yet) model structurally. */
77
- xml?: string;
78
- /** Original `cNvPr` id from the captured source fragment, if any; used to avoid id collisions
79
- * with freshly-generated ids on write. */
80
- sourceId?: number;
81
- }
82
- interface GeometryProperties {
83
- geometry?: PresetGeometry;
84
- ah: (PolarAdjustmentHandle | XYAdjustmentHandle)[];
85
- av?: IShape.AdjustmentGuide[];
86
- connections?: IShape.ConnectionSite[];
87
- guides?: IShape.AdjustmentGuide[];
88
- paths?: IShape.Path[] | string[] | string;
240
+ interface JSON extends Omit<Properties, 'fill' | 'stroke' | 'geometry' | 'hyperlink'> {
89
241
  /**
90
- * Specifies the rectangular bounding box for text within the shape.
91
- * @defaultValue `null` - The bounds of the shape,
242
+ * What kind of drawing this is. Absent for a {@link Type.Shape | shape}; a connector states its.
92
243
  */
93
- textBounds?: Rectangle;
94
- }
95
- interface Path {
96
- paths: string[];
244
+ type?: Type;
97
245
  /**
98
- * Specifies that the use of 3D extrusions are possible on this path. This allows the generating application to know whether
99
- * 3D extrusion can be applied in any form.
100
- *
101
- * @defaultValue `false`
246
+ * The fill. A {@link IFill.GroupJSON | group fill} takes the fill of the group the shape is a
247
+ * member of (the nearest one that states a fill), and the shape's theme style outside a group.
102
248
  */
103
- extrusionOk?: boolean;
249
+ fill?: IFill.SolidJSON | IFill.GradientJSON | IFill.PatternJSON | IFill.ImageJSON | IFill.NoneJSON | IFill.GroupJSON;
250
+ stroke?: IStroke.JSON;
104
251
  /**
105
- * Specifies how the corresponding path should be filled.
106
- *
107
- * @defaultValue `PathFill.Normal`
252
+ * The shape's effects (`spPr/effectLst`). An empty list is an explicit none: the element
253
+ * present and empty, which turns off the effects the shape's theme style would give it.
108
254
  */
109
- pathFill?: PathFill;
255
+ effects?: IEffect.JSON[];
256
+ /** The 3-D scene (`spPr/scene3d`) as the file states it: an opaque DrawingML fragment. */
257
+ scene3d?: string;
258
+ /** The 3-D shape properties (`spPr/sp3d`) as the file states it: an opaque DrawingML fragment. */
259
+ shape3d?: string;
260
+ /** Extension lists kept as the file states them, by the element each extends. */
261
+ extLst?: ExtLstJSON;
262
+ geometry?: string | IGeometry.Def;
263
+ /** The hyperlink on the whole shape (`cNvPr/hlinkClick`). */
264
+ hyperlink?: IHyperlink.JSON;
265
+ /** The hyperlink followed on hover (`cNvPr/hlinkHover`). */
266
+ hoverHyperlink?: IHyperlink.JSON;
267
+ /** The title (`cNvPr/@title`), beside the description. */
268
+ title?: string;
269
+ /** The macro bound to the shape (`sp/@macro`), as the file states it. */
270
+ macro?: string;
271
+ /** The cell a text box's text is linked to (`sp/@textlink`), as the file states it. */
272
+ textLink?: string;
273
+ /** The text cannot be edited while the sheet is protected (`sp/@fLocksText`). */
274
+ locksText?: boolean;
275
+ /** `sp/@fPublished`. */
276
+ published?: boolean;
277
+ /** The shape was inserted as a text box (`cNvSpPr/@txBox`). */
278
+ textBox?: boolean;
110
279
  /**
111
- * Specifies the height, or maximum y coordinate that should be used for within the path coordinate system. This value determines
112
- * the vertical placement of all points within the corresponding path as they will all be calculated using this height attribute
113
- * as the max y coordinate.
114
- *
115
- * @defaultValue `null`
280
+ * Edit locks (`spLocks`/`cxnSpLocks`) by the file's own names: `noGrp`, `noSelect`, `noRot`,
281
+ * `noChangeAspect`, `noMove`, `noResize`, `noEditPoints`, `noAdjustHandles`,
282
+ * `noChangeArrowheads`, `noChangeShapeType`, `noTextEdit`.
116
283
  */
117
- h?: number;
284
+ locks?: Record<string, boolean>;
285
+ /** A connector's glued ends. */
286
+ connectorEnds?: ConnectorEndsJSON;
287
+ /** The text written on the shape, by paragraph. Absent for a shape with no text body. */
288
+ text?: ITextFrame.JSON;
118
289
  /**
119
- * Specifies if the corresponding path should have a path stroke shown. This is a boolean value that will effect on the outline of the path.
120
- *
121
- * @defaultValue `true`
290
+ * The theme style the shape draws with wherever it states no fill, stroke or text color of its
291
+ * own: the file's `style` element, which refers into the theme's format scheme by position.
292
+ * A reference not stated is Excel's for a new shape (a connector's differ: the first line, no
293
+ * fill); `null`, the shape has no style and draws only what it states itself.
122
294
  */
123
- stroke?: boolean;
295
+ style?: ITheme.StyleRefsJSON | null;
124
296
  /**
125
- * Specifies the width, or maximum x coordinate that should be used for within the path coordinate system. This value determines
126
- * the horizontal placement of all points within the corresponding path as they will all be calculated using this width attribute
127
- * as the max x coordinate.
128
- *
129
- * @defaultValue `null`
297
+ * The id the file gave the shape (`cNvPr/@id`), which is what a connector's
298
+ * {@link connectorEnds} name their targets by. A file writes the shape with this id again
299
+ * (made unique when two shapes share one, as a copy does); a shape without one takes the next.
130
300
  */
131
- w?: number;
301
+ sourceId?: number;
132
302
  }
133
303
  /**
134
- * Specifies the manner in which a path should be filled. The lightening and darkening of a path allow for certain parts of the shape
135
- * to be colored lighter of darker depending on user preference.
136
- */
137
- const PathFill: {
138
- readonly Darken: "darken";
139
- readonly DarkenLess: "darkenLess";
140
- readonly Lighten: "lighten";
141
- readonly LightenLess: "lightenLess";
142
- readonly None: "none";
143
- readonly Normal: "normal";
144
- };
145
- type PathFill = typeof PathFill[keyof typeof PathFill];
146
- /**
147
- * Specifies the presence of a shape guide that will be used to govern the geometry of the specified shape.
304
+ * The `extLst` fragments of a shape's elements: opaque DrawingML kept as the file states it and
305
+ * written back as it was, the one markup that stays once the shape is otherwise JSON. A line's
306
+ * is on its stroke, a text body's on its body.
148
307
  */
149
- interface AdjustmentGuide {
150
- /**
151
- * Specifies the name that will be used to reference to this guide. This name may be used just as a variable
152
- * would within an equation. That is this name may be substituted for literal values within other guides or
153
- * the specification of the shape path.
154
- */
155
- name: string;
156
- /**
157
- * Specifies the formula that will be used to calculate the value for a guide. Each formula has a certain
158
- * number of arguments and a specific set of operations to perform on these arguments in order to generate a
159
- * value for a guide. There are a total of 17 different formulas available. These are shown below with the usage
160
- * for each defined
161
- */
162
- fmla: string;
308
+ interface ExtLstJSON {
309
+ /** `cNvPr/extLst`: the creation id and whatever else extends the non-visual properties. */
310
+ nonVisual?: string;
311
+ /** `spPr/extLst`. */
312
+ properties?: string;
163
313
  }
164
314
  /**
165
- * These adjust handles will specify points within the geometric shape that can be used to perform certain
166
- * transform operations on the shape.
315
+ * One glued end of a connector: the movable it is attached to, by the id the file gives that
316
+ * movable (its content's `sourceId` here), and which of that movable's connection sites.
167
317
  */
168
- interface AdjustmentHandle {
169
- /**
170
- * The point of the adjustment
171
- */
172
- pos: Point;
318
+ interface ConnectorEndJSON {
319
+ id: number;
320
+ index: number;
173
321
  }
174
- interface PolarAdjustmentHandle extends AdjustmentHandle {
175
- type: 'polar';
176
- /**
177
- * Specifies the name of the guide that will be updated with the adjustment angle from this adjust handle.
178
- */
179
- gdRefAng: string;
180
- /**
181
- * Specifies the name of the guide that will be updated with the adjustment radius from this adjust handle.
182
- */
183
- gdRefR: string;
184
- /**
185
- * Specifies the maximum angle position that is allowed for this adjustment handle. If this attribute is omitted,
186
- * then it will be assumed that this adjust handle cannot move angularly.
187
- */
188
- maxAng: number;
189
- /**
190
- * Specifies the maximum radial position that is allowed for this adjustment handle. If this attribute is omitted,
191
- * then it will be assumed that this adjust handle cannot move radially.
192
- */
193
- maxR: number;
194
- /**
195
- * Specifies the minimum angle position that is allowed for this adjustment handle. If this attribute is omitted,
196
- * then it will be assumed that this adjust handle cannot move angularly.
197
- */
198
- minAng: number;
199
- /**
200
- * Specifies the minimum radial position that is allowed for this adjustment handle. If this attribute is omitted,
201
- * then it will be assumed that this adjust handle cannot move radially.
202
- */
203
- minR: number;
322
+ /** A connector's glued ends: the start of its path, and the end. */
323
+ interface ConnectorEndsJSON {
324
+ start?: ConnectorEndJSON;
325
+ end?: ConnectorEndJSON;
204
326
  }
205
- interface XYAdjustmentHandle extends AdjustmentHandle {
206
- type: 'xy';
207
- /**
208
- * Specifies the name of the guide that will be updated with the adjustment x position from this adjust handle.
209
- */
210
- gdRefX: string;
327
+ /** What {@link IShape.getGeometry} evaluates in place of the shape's own. */
328
+ interface GeometryOptions {
329
+ /** A preset name, as {@link IShape.getShapeType} answers. */
330
+ shapeType?: string;
331
+ /** Adjust values, as {@link IShape.getAdjustments} answers; `null` for the preset's defaults. */
332
+ adjustments?: Readonly<Record<string, number>> | null;
333
+ }
334
+ /** Where a glued connector goes, and the route it takes there. */
335
+ interface ConnectorRoute {
336
+ placement: IMovable.Placement;
211
337
  /**
212
- * Specifies the name of the guide that will be updated with the adjustment y position from this adjust handle.
338
+ * The preset the connector takes when it is routed (an elbow or a curve); `null` when it
339
+ * keeps its own.
213
340
  */
214
- gdRefY: string;
341
+ shapeType: string | null;
342
+ /** The adjust values that go with {@link shapeType}; `null` with it, or for an L. */
343
+ adjustments: Readonly<Record<string, number>> | null;
344
+ }
345
+ /** The kind of line a connector draws between its ends. */
346
+ const ConnectorType: {
347
+ /** One segment. */
348
+ readonly Straight: "straight";
349
+ /** Right-angled bends. */
350
+ readonly Elbow: "elbow";
351
+ /** A curve. */
352
+ readonly Curved: "curved";
353
+ };
354
+ type ConnectorType = typeof ConnectorType[keyof typeof ConnectorType];
355
+ /**
356
+ * A connector's two ends, each glued to a connection site of another shape or free.
357
+ *
358
+ * @remarks
359
+ * Gluing an end places the connector so the end lies on the site, and the connector follows the
360
+ * shape from then on: a move, turn, mirror or resize of the shape moves the connector in the
361
+ * same undoable step. A shape whose geometry has not evaluated yet is followed once it has.
362
+ * Sites are numbered from 0, as {@link IGeometry.forEachConnection} visits them.
363
+ */
364
+ interface IConnectorFormat {
365
+ /** The kind of line the connector draws. */
366
+ getConnectorType(): ConnectorType;
367
+ /** Whether the start of the connector is glued to a movable. */
368
+ isStartConnected(): boolean;
369
+ /** The movable the start is glued to; `null` when it is free or the movable is gone. */
370
+ getStartConnectedMovable(): IMovable | null;
371
+ /** The site the start is glued to; `null` when it is free. */
372
+ getStartConnectionSite(): number | null;
215
373
  /**
216
- * Specifies the maximum horizontal position that is allowed for this adjustment handle. If this attribute is omitted,
217
- * then it will be assumed that this adjust handle cannot move in the x direction.
374
+ * Glues the start of the connector to a connection site of a movable: a shape, a picture, a
375
+ * chart or a control ({@link IMovable.getConnectionSites}).
376
+ *
377
+ * @param movable The movable to glue to.
378
+ * @param site The site, numbered from 0.
379
+ * @throws If the movable is not on the same sheet, or is the connector itself.
218
380
  */
219
- maxX: number;
381
+ startConnect(movable: IMovable, site: number, options?: ITransaction.OperationOptions): void;
382
+ /** Frees the start of the connector, which stays where it is. */
383
+ startDisconnect(options?: ITransaction.OperationOptions): void;
384
+ /** Whether the end of the connector is glued to a movable. */
385
+ isEndConnected(): boolean;
386
+ /** The movable the end is glued to; `null` when it is free or the movable is gone. */
387
+ getEndConnectedMovable(): IMovable | null;
388
+ /** The site the end is glued to; `null` when it is free. */
389
+ getEndConnectionSite(): number | null;
390
+ /** Glues the end of the connector to a connection site of a movable, as {@link startConnect} does the start. */
391
+ endConnect(movable: IMovable, site: number, options?: ITransaction.OperationOptions): void;
392
+ /** Frees the end of the connector, which stays where it is. */
393
+ endDisconnect(options?: ITransaction.OperationOptions): void;
220
394
  /**
221
- * Specifies the maximum vertical position that is allowed for this adjustment handle. If this attribute is omitted,
222
- * then it will be assumed that this adjust handle cannot move in the y direction.
395
+ * Where the connector's ends are on the sheet: its path runs from its frame's top-left to its
396
+ * bottom-right, and the frame's flips and turn put those corners where they are.
397
+ *
398
+ * @param placement A placement to answer for; the connector's own when omitted.
399
+ * @returns `null` for a connector with no placement.
223
400
  */
224
- maxY: number;
401
+ getEndPoints(placement?: IMovable.Placement): {
402
+ start: Point;
403
+ end: Point;
404
+ } | null;
225
405
  /**
226
- * Specifies the minimum horizontal position that is allowed for this adjustment handle. If this attribute is omitted,
227
- * then it will be assumed that this adjust handle cannot move in the x direction.
406
+ * The placement that runs the connector from `start` to `end`, keeping its turn: the frame is
407
+ * the box of the two points in its own axes, mirrored on each axis the end lies before the
408
+ * start on. Nothing is written.
228
409
  */
229
- minX: number;
410
+ placeEnds(start: Point, end: Point): IMovable.Placement;
230
411
  /**
231
- * Specifies the minimum vertical position that is allowed for this adjustment handle. If this attribute is omitted,
232
- * then it will be assumed that this adjust handle cannot move in the y direction.
233
- */
234
- minY: number;
235
- }
236
- /**
237
- * A connection site allows a `ConnectionShape` to be attached to this shape. This connection will be maintained
238
- * when the shape is repositioned. It should be noted that this connection is placed within the shape
239
- * bounding box using the transform coordinate system which is also called the shape coordinate system,
240
- * as it encompasses the entire shape.
241
- */
242
- interface ConnectionSite {
243
- /**
244
- * Specifies the incoming connector angle. This angle is the angle around the connection site that an
245
- * incoming connector will try to be routed to. This allows connectors to know where the shape is in
246
- * relation to the connection site and route connectors so as to avoid any overlap with the shape.
247
- */
248
- angle: string;
249
- /**
250
- * Specifies a position coordinate within the shape bounding box. It should be noted that this coordinate
251
- * is placed within the shape bounding box using the transform coordinate system which is also called the
252
- * shape coordinate system, as it encompasses the entire shape.
412
+ * Where the connector goes with each glued end on its shape's site, and the route it takes:
413
+ * what the sheet writes when a movable it is glued to changes, for a drawing layer to preview.
414
+ *
415
+ * @remarks
416
+ * An elbow or curve is routed between its ends as Excel routes it: the preset (from an L to five
417
+ * legs) and its adjust values follow where the shapes are. Glued at one end, the connector moves
418
+ * whole with a shape that only moves; any other change keeps the free end where it is.
419
+ *
420
+ * @param placements Where each movable is, as a gesture previews it; the model's when omitted.
421
+ * @returns `null` when no end can be placed: none is glued, or its target has not answered its sites.
253
422
  */
254
- pos: Point;
255
- }
256
- interface GeometryJSON extends GeometryProperties {
257
- }
258
- interface Events extends IModel.Events {
423
+ getGluedRoute(placements?: (movable: IMovable) => IMovable.PlacementPreview | null): ConnectorRoute | null;
259
424
  }
260
- interface IListeners extends IListener.Callbacks<IShape, IShape.Events> {
261
- }
262
- interface IConnection {
263
- }
264
- interface Connection extends IShape.JSON {
265
- cxnSp?: any;
266
- }
267
- /**
268
- * @see {@link https://c-rex.net/samples/ooxml/e1/Part4/OOXML_P4_DOCX_ST_ShapeType_topic_ID0EBTFOB.html#topic_ID0EBTFOB}
269
- */
270
- const PresetGeometry: {
271
- readonly Line: "line";
272
- readonly LineInv: "lineInv";
273
- readonly triangle: "triangle";
274
- readonly rtTriangle: "rtTriangle";
275
- readonly Rect: "rect";
276
- };
277
- type PresetGeometry = typeof PresetGeometry[keyof typeof PresetGeometry];
278
425
  }
279
426
  //# sourceMappingURL=IShape.d.ts.map