@sheetxl/sdk 0.8.0-beta.12 → 0.8.0-beta.13

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 (290) hide show
  1. package/THIRD-PARTY-NOTICES.md +172 -0
  2. package/browser/esm/{DwwR3O2sEZApPSTF.mjs → -GEhXGMfNcWmHPby.mjs} +3 -3
  3. package/browser/esm/{DPhGQLNGmDZwODwJ.mjs → 9WXf_BTKjW1cQisZ.mjs} +94 -94
  4. package/browser/esm/{CRkYR-siY2C994KV.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
  5. package/browser/esm/{CBYMTDzMf1Vh7pkw.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
  6. package/browser/esm/{-Jx-jNHmtIQQfLvK.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
  7. package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
  8. package/browser/esm/{D64dM68B1pKYFzdP.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
  9. package/browser/esm/{DobHLF6VjHr7Xi40.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
  10. package/browser/esm/{CNdjyofiRu6CYOrr.mjs → BVshV1iY3bcUH9_E.mjs} +50 -48
  11. package/browser/esm/{qO-ujUrgq6H3TQix.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
  12. package/browser/esm/{C9u8FUewte5ugUjH.mjs → Bax5aOzQkbHKXW_X.mjs} +725 -716
  13. package/browser/esm/{Tah7cnFb_HNZdLtj.mjs → BiDGKhtzV6yIy66o.mjs} +3 -3
  14. package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
  15. package/browser/esm/{DgrAuRD2qr2DvFeJ.mjs → BoAlHgjPQ6mxb_oO.mjs} +44 -44
  16. package/browser/esm/{CUzYuYTTGsChC_kZ.mjs → C0mjTq8lhrX3HiPa.mjs} +2052 -1583
  17. package/browser/esm/{w6Jea0TiclPrYZ2M.mjs → C5j0IdwtYkWlOftv.mjs} +509 -509
  18. package/browser/esm/{hCQJcmIzPDxDEv2q.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
  19. package/browser/esm/{2mIwPy2D2JUX-9wx.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
  20. package/browser/esm/{DZiivy0NmO1Vnyzk.mjs → CPzfhTPX2Y4dHX2p.mjs} +2 -2
  21. package/browser/esm/{fXWUMDhZ5yMSO629.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
  22. package/browser/esm/{BIHrHjRGWVlJglcp.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
  23. package/browser/esm/{yuhcOYw6SHQ-RCm3.mjs → Ced5uyofOWHuL_Jy.mjs} +30 -30
  24. package/browser/esm/{B3wf5vZCsWfWsDbj.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
  25. package/browser/esm/{DK899HhWX1HINMC1.mjs → CwygVKP_RXmne5Ot.mjs} +25 -25
  26. package/browser/esm/{BdCJNawfifyPupCP.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
  27. package/browser/esm/{CwOPLXU3-9ZHGyOT.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
  28. package/browser/esm/{D9xNz46kAfXMZzp4.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
  29. package/browser/esm/{D2RZh0O9neOsyLAE.mjs → DW-MmlgMH87l-_cw.mjs} +69 -48
  30. package/browser/esm/{DwZCT7DZiiXoTweg.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
  31. package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
  32. package/browser/esm/{Cxjxk0ncRKx80I-w.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
  33. package/browser/esm/{BnC4-27Igwb8oDf2.mjs → DkloMquaR1pbZCER.mjs} +44 -43
  34. package/browser/esm/{BudSIfXBAsTxvu-K.mjs → Dz86-De57bv2VYIi.mjs} +10111 -9269
  35. package/browser/esm/{BTFBedJMRWGvZyCE.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
  36. package/browser/esm/{Bt8_m94tBdks209L.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
  37. package/browser/esm/index.mjs +482 -440
  38. package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
  39. package/browser/esm/{CdEO8CEee6lEhabA.mjs → pm00uZZu_H3gxHFx.mjs} +2 -2
  40. package/browser/esm/{Bg5Di9GLNAkbqQ1P.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
  41. package/browser/esm/{CndRBvVfQUJIYRRj.mjs → zZngLMg6mg6nnNGX.mjs} +50 -50
  42. package/licenses/dependencies.txt +71 -1
  43. package/node/esm/{C14-R6tifRh7pc0p.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
  44. package/node/esm/{D3ptRKzASqBut1DE.mjs → -b8yNV4v9qiq8EMY.mjs} +2 -2
  45. package/node/esm/{CBuEu5Jk-LfaDy-H.mjs → 1V-m67YHbxmg3xk2.mjs} +44 -44
  46. package/node/esm/{DhTya_mhmN53vskv.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
  47. package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
  48. package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
  49. package/node/esm/{Vocy-I9dKzZMr0Ct.mjs → BQ2XqExomMceAjfe.mjs} +10977 -10744
  50. package/node/esm/{Btw4148Ot8ifhNc1.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
  51. package/node/esm/{BNXLOEddJ6O9gYws.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
  52. package/node/esm/{Q_S1g46ZOTrdhTae.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
  53. package/node/esm/{Ci_zLYmCD7e-C79O.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
  54. package/node/esm/{DdoiuKg9BKubtF1V.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
  55. package/node/esm/{C_aL7CGS1lrNn1Ng.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
  56. package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
  57. package/node/esm/{C99zzq8DImQXi4BQ.mjs → CWBS90g3Hz-kQDkY.mjs} +10 -10
  58. package/node/esm/{BskP3b8vUoIOGLY6.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
  59. package/node/esm/{DhS6yWjrrSNIJMsn.mjs → CzrLqStvrcPE2-hb.mjs} +234 -225
  60. package/node/esm/{CRt3vXe6YmXzqk3H.mjs → D16EdlZG1hX5WUUK.mjs} +102 -102
  61. package/node/esm/{DUTmDHbFbhLDT4F3.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
  62. package/node/esm/{D4ROK9UwDpS6jO3Z.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
  63. package/node/esm/{icn2nX5Z8e_3mNAv.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
  64. package/node/esm/{CG-qBU5BAaVz7e-P.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
  65. package/node/esm/{DrCf6ITcBhVOFpRj.mjs → DF0nL7s01dp7n0Bx.mjs} +7 -7
  66. package/node/esm/{BL2iiEoqxDEV2Xrg.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
  67. package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
  68. package/node/esm/{CiIymQN6aJCul62g.mjs → DR2OQTKqqyIkZnse.mjs} +9 -9
  69. package/node/esm/{eimUGjiIP-b8HiM6.mjs → DSTLPBgpsGW6qP9e.mjs} +52 -52
  70. package/node/esm/{DV5CU37aEbFbWFL0.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
  71. package/node/esm/{C_xf5Bz30VqiJjXn.mjs → DwvXHsycOQR219c7.mjs} +1 -1
  72. package/node/esm/{B-HUPAcqvK0eeeCz.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
  73. package/node/esm/{lGJ42sHqg5if2bba.mjs → NkPNHsq2T3DXg76x.mjs} +458 -458
  74. package/node/esm/{-TA0MneBDKdGhsib.mjs → Nl_IIkO1jbk0s9i-.mjs} +3329 -2852
  75. package/node/esm/{DxazKtROyaI51dWl.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
  76. package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
  77. package/node/esm/{pYtP7wPyS96NQyXS.mjs → Z1elC_roIu7LhceZ.mjs} +25 -25
  78. package/node/esm/{CkRYLed8Mmn3giNg.mjs → e3F3OVXCxLJrSukW.mjs} +2 -2
  79. package/node/esm/index.mjs +584 -540
  80. package/node/esm/{D8hO07ToAibIuniw.mjs → suOBVUz-pca6ilJH.mjs} +138 -136
  81. package/package.json +8 -6
  82. package/resources/contents.json +108 -0
  83. package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
  84. package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
  85. package/resources/fonts/aptos-bold-italic.rows.json +8 -0
  86. package/resources/fonts/aptos-bold.hinted.json +125 -0
  87. package/resources/fonts/aptos-bold.metrics.json +221 -0
  88. package/resources/fonts/aptos-bold.rows.json +8 -0
  89. package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
  90. package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
  91. package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
  92. package/resources/fonts/aptos-display-bold.hinted.json +125 -0
  93. package/resources/fonts/aptos-display-bold.metrics.json +221 -0
  94. package/resources/fonts/aptos-display-bold.rows.json +8 -0
  95. package/resources/fonts/aptos-display-italic.hinted.json +124 -0
  96. package/resources/fonts/aptos-display-italic.metrics.json +221 -0
  97. package/resources/fonts/aptos-display-italic.rows.json +8 -0
  98. package/resources/fonts/aptos-display-regular.hinted.json +125 -0
  99. package/resources/fonts/aptos-display-regular.metrics.json +221 -0
  100. package/resources/fonts/aptos-display-regular.rows.json +8 -0
  101. package/resources/fonts/aptos-italic.hinted.json +125 -0
  102. package/resources/fonts/aptos-italic.metrics.json +221 -0
  103. package/resources/fonts/aptos-italic.rows.json +8 -0
  104. package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
  105. package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
  106. package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
  107. package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
  108. package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
  109. package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
  110. package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
  111. package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
  112. package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
  113. package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
  114. package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
  115. package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
  116. package/resources/fonts/aptos-regular.hinted.json +125 -0
  117. package/resources/fonts/aptos-regular.metrics.json +221 -0
  118. package/resources/fonts/aptos-regular.rows.json +8 -0
  119. package/resources/fonts/arial-bold-italic.rows.json +0 -1
  120. package/resources/fonts/arial-bold.rows.json +0 -1
  121. package/resources/fonts/arial-italic.rows.json +0 -1
  122. package/resources/fonts/arial-regular.rows.json +0 -1
  123. package/resources/fonts/calibri-bold-italic.rows.json +0 -1
  124. package/resources/fonts/calibri-bold.rows.json +0 -1
  125. package/resources/fonts/calibri-italic.rows.json +0 -1
  126. package/resources/fonts/calibri-regular.rows.json +0 -1
  127. package/resources/fonts/cambria-bold-italic.rows.json +0 -1
  128. package/resources/fonts/cambria-bold.rows.json +0 -1
  129. package/resources/fonts/cambria-italic.rows.json +0 -1
  130. package/resources/fonts/cambria-regular.rows.json +0 -1
  131. package/resources/fonts/contents.json +240 -0
  132. package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
  133. package/resources/fonts/courier-new-bold.rows.json +0 -1
  134. package/resources/fonts/courier-new-italic.rows.json +0 -1
  135. package/resources/fonts/courier-new-regular.rows.json +0 -1
  136. package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
  137. package/resources/fonts/times-new-roman-bold.rows.json +0 -1
  138. package/resources/fonts/times-new-roman-italic.rows.json +0 -1
  139. package/resources/fonts/times-new-roman-regular.rows.json +0 -1
  140. package/resources/locales/de/model.msg.json +4 -0
  141. package/resources/locales/en/model.msg.json +4 -0
  142. package/types/scripting-api.json +9339 -9320
  143. package/types/scripting.d.ts +322 -200
  144. package/types/src/.generated/wasm/sdk.d.ts +5 -27
  145. package/types/src/address/AddressUtils.d.ts +8 -0
  146. package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
  147. package/types/src/anomalies/_FocusTable.d.ts +0 -6
  148. package/types/src/calculation/Calculation.d.ts +20 -95
  149. package/types/src/calculation/ExternalBookBindings.d.ts +0 -26
  150. package/types/src/calculation/NamedFormulaCollection.d.ts +6 -2
  151. package/types/src/calculation/TokenType.d.ts +0 -10
  152. package/types/src/calculation/_CloneBoundary.d.ts +0 -24
  153. package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
  154. package/types/src/calculation/compiler/ASTTypes.d.ts +0 -13
  155. package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
  156. package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
  157. package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
  158. package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
  159. package/types/src/calculation/compiler/Types.d.ts +0 -52
  160. package/types/src/calculation/engine/CalcBackend.d.ts +15 -157
  161. package/types/src/calculation/engine/index.d.ts +0 -8
  162. package/types/src/calculation/executor/CalcExecutor.d.ts +13 -130
  163. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +30 -11
  164. package/types/src/calculation/executor/CircularReference.d.ts +0 -17
  165. package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
  166. package/types/src/calculation/executor/_WhatIf.d.ts +0 -19
  167. package/types/src/calculation/formula/FormulaBlock.d.ts +0 -28
  168. package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
  169. package/types/src/calculation/formula/IFormulaBlock.d.ts +0 -12
  170. package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
  171. package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
  172. package/types/src/calculation/grid/CalcGrid.d.ts +5 -59
  173. package/types/src/calculation/grid/CalcGridBackend.d.ts +8 -9
  174. package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -13
  175. package/types/src/calculation/grid/CalcGridUtils.d.ts +18 -22
  176. package/types/src/calculation/grid/ICalcGrid.d.ts +13 -98
  177. package/types/src/calculation/grid/_CalcRequest.d.ts +1 -29
  178. package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
  179. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +52 -82
  180. package/types/src/calculation/spatial/SpillEntry.d.ts +10 -7
  181. package/types/src/calculation/state/CalcScope.d.ts +0 -9
  182. package/types/src/calculation/state/CalcState.d.ts +0 -12
  183. package/types/src/calculation/state/CalculationContext.d.ts +4 -37
  184. package/types/src/calculation/state/DeferredCalls.d.ts +11 -64
  185. package/types/src/calculation/state/IContextContainer.d.ts +4 -60
  186. package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
  187. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +46 -33
  188. package/types/src/calculation/state/_WhatIfLayer.d.ts +0 -14
  189. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
  190. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
  191. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
  192. package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
  193. package/types/src/calculation/toolkit/index.d.ts +0 -8
  194. package/types/src/cell/ICell.d.ts +14 -28
  195. package/types/src/cellRange/ICellRange.d.ts +22 -11
  196. package/types/src/chart/Chart.d.ts +0 -16
  197. package/types/src/chart/_ChartParts.d.ts +0 -39
  198. package/types/src/chart/_ChartSource.d.ts +0 -14
  199. package/types/src/chart/createChart.d.ts +1 -1
  200. package/types/src/chart/kinds/ChartKind.d.ts +4 -4
  201. package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
  202. package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
  203. package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
  204. package/types/src/chart/math/BoxStats.d.ts +0 -8
  205. package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
  206. package/types/src/chart/math/Histogram.d.ts +0 -17
  207. package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
  208. package/types/src/chart/math/Treemap.d.ts +0 -15
  209. package/types/src/chart/math/Trendlines.d.ts +0 -8
  210. package/types/src/chart/math/UnitCalcs.d.ts +0 -22
  211. package/types/src/chart/model/_Edits.d.ts +0 -33
  212. package/types/src/chart/model/_Grouping.d.ts +0 -25
  213. package/types/src/chart/model/_Inference.d.ts +0 -18
  214. package/types/src/chart/model/_NewChart.d.ts +0 -41
  215. package/types/src/chart/model/_OfPie.d.ts +0 -7
  216. package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
  217. package/types/src/chart/resolve/_Resolve.d.ts +0 -19
  218. package/types/src/chart/resolve/_ResolvedChart.d.ts +0 -6
  219. package/types/src/collections/_GridUtils.d.ts +0 -10
  220. package/types/src/comment/_NoteBox.d.ts +0 -15
  221. package/types/src/condition/AnchoredConditional.d.ts +1 -23
  222. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
  223. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
  224. package/types/src/condition/ICondition.d.ts +2 -2
  225. package/types/src/condition/_ConditionUtils.d.ts +0 -38
  226. package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
  227. package/types/src/externalBook/ExternalBookName.d.ts +2 -3
  228. package/types/src/externalBook/IExternalBook.d.ts +13 -14
  229. package/types/src/fetch/IFetcher.d.ts +2 -1
  230. package/types/src/fetch/_WorkbookFetch.d.ts +1 -1
  231. package/types/src/font/AdvanceTable.d.ts +16 -42
  232. package/types/src/font/IFont.d.ts +32 -9
  233. package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
  234. package/types/src/font/_FontUtils.d.ts +0 -8
  235. package/types/src/font/_StandIns.d.ts +33 -0
  236. package/types/src/io/IWorkbookIO.d.ts +3 -3
  237. package/types/src/io/WorkbookOrigin.d.ts +2 -2
  238. package/types/src/license/LicenseManager.d.ts +2 -1
  239. package/types/src/license/_Utils.d.ts +4 -3
  240. package/types/src/license/details.d.ts +3 -1
  241. package/types/src/license/keys.d.ts +6 -0
  242. package/types/src/license/license-key.d.ts +15 -33
  243. package/types/src/license/token.d.ts +55 -0
  244. package/types/src/picture/IPicture.d.ts +45 -0
  245. package/types/src/picture/Picture.d.ts +12 -0
  246. package/types/src/pivot/PivotTable.d.ts +0 -7
  247. package/types/src/primitives/AsyncValue.d.ts +0 -12
  248. package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
  249. package/types/src/primitives/Range.d.ts +0 -60
  250. package/types/src/primitives/ScalarCollation.d.ts +0 -106
  251. package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
  252. package/types/src/print/PageLayout.d.ts +0 -6
  253. package/types/src/reference/ReferenceUtils.d.ts +4 -2
  254. package/types/src/richData/RichDataRegistry.d.ts +6 -0
  255. package/types/src/scripting/TypedFunction.d.ts +0 -109
  256. package/types/src/sheet/IWorksheet.d.ts +2 -5
  257. package/types/src/sheet/NamedCellRange.d.ts +0 -21
  258. package/types/src/sheet/SheetCell.d.ts +8 -2
  259. package/types/src/sheet/Worksheet.d.ts +7 -48
  260. package/types/src/sheet/_DelimitedText.d.ts +13 -0
  261. package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
  262. package/types/src/sheet/_ScalarListFactory.d.ts +0 -19
  263. package/types/src/sheet/_SheetCoords.d.ts +0 -7
  264. package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
  265. package/types/src/sheet/_SheetStateReader.d.ts +0 -10
  266. package/types/src/sheet/_SheetStateTypes.d.ts +0 -3
  267. package/types/src/sheet/_SheetUtils.d.ts +1 -1
  268. package/types/src/sheet/style/_RowLine.d.ts +32 -0
  269. package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
  270. package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
  271. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
  272. package/types/src/style/ICellStyle.d.ts +4 -0
  273. package/types/src/table/AnchoredTable.d.ts +0 -147
  274. package/types/src/text/TextFrame.d.ts +4 -1
  275. package/types/src/text/TextStacked.d.ts +0 -24
  276. package/types/src/text/TextWrapper.d.ts +3 -5
  277. package/types/src/text/_LineBox.d.ts +24 -0
  278. package/types/src/text/_TextUtils.d.ts +5 -2
  279. package/types/src/text/_TextWrapperFallback.d.ts +2 -1
  280. package/types/src/wasm/sdkWasm.d.ts +1 -1
  281. package/types/src/workbook/Workbook.d.ts +0 -10
  282. package/browser/esm/2WuhYrIpYmOR5H73.mjs +0 -698
  283. package/browser/esm/CTe2qfmIUEad6FJv.mjs +0 -199
  284. package/browser/esm/CfRqiPDg6RBTg1EN.mjs +0 -367
  285. package/browser/esm/DVroRnhi-5IDXNgM.mjs +0 -210
  286. package/node/esm/BSvOluusoDM4z_dx.mjs +0 -811
  287. package/node/esm/CPI58duc0j0a-HpJ.mjs +0 -115
  288. package/node/esm/DggQ23jKMpwhENfa.mjs +0 -372
  289. package/node/esm/Dn1M7YWi25DeeYUb.mjs +0 -210
  290. package/node/esm/ZXPFcsT2zrALCZux.mjs +0 -289
@@ -32,8 +32,6 @@ export declare class AdvanceTable implements IFont.AdvanceTable {
32
32
  private _hinting;
33
33
  /** Measures a character the table lacks, per em; see {@link setMeasureMissing}. */
34
34
  private _measureMissing;
35
- /** Excel's row pitch per integer ppem from `first`; set once {@link applyRows} has run. */
36
- private _rows;
37
35
  /** The table in the wasm, built on first ask from this table's data; see {@link native}. */
38
36
  private _native;
39
37
  /** Per-em advances recorded since the twin was built, written to it on the next ask. */
@@ -52,19 +50,10 @@ export declare class AdvanceTable implements IFont.AdvanceTable {
52
50
  * @throws when the format is not one this reads, or the file is for another face.
53
51
  */
54
52
  applyHinting(json: AdvanceTable.HintedJSON): void;
53
+ /** {@inheritDoc IFont.AdvanceTable.typoLine} */
54
+ get typoLine(): number | null;
55
55
  /** Whether widths are GDI's hinted whole pixels ({@link applyHinting}). */
56
56
  get isHinted(): boolean;
57
- /**
58
- * Gives the table Excel's own row heights, from the companion `.rows.json` (format
59
- * `sheetxl-font-rows/1`) captured from Excel: {@link metrics} then reports the pitch Excel
60
- * autofits a row of this face to at each size. GDI's box plus 2 is Excel's up to about 22 pt
61
- * and runs under it from there, by a per-font amount no table predicts.
62
- *
63
- * @throws when the format is not one this reads, or fewer than two sizes are listed.
64
- */
65
- applyRows(json: AdvanceTable.RowsJSON): void;
66
- /** Whether row heights are Excel's captured ones ({@link applyRows}). */
67
- get hasRows(): boolean;
68
57
  /** The number of characters with an advance. */
69
58
  get size(): number;
70
59
  /** The advance of `codepoint` per em, or `undefined` when the table has none. */
@@ -78,7 +67,7 @@ export declare class AdvanceTable implements IFont.AdvanceTable {
78
67
  private _record;
79
68
  /**
80
69
  * This table in the wasm (the binding's `MetricsTable`), for the Rust wrapper to measure from:
81
- * filled once from the same advances, hinted deltas and row pitches, and kept in step with them
70
+ * filled once from the same advances and hinted deltas, and kept in step with them
82
71
  * afterwards, so the wrapper measures exactly what {@link width} and {@link metrics} do. The
83
72
  * table stays the owner; the twin is its view, freed by {@link release}.
84
73
  *
@@ -90,8 +79,8 @@ export declare class AdvanceTable implements IFont.AdvanceTable {
90
79
  get hasNative(): boolean;
91
80
  /**
92
81
  * Frees the wasm twin, if there is one; the next {@link native} builds it again. The wasm has
93
- * no garbage collector, so a table that changes what it would answer ({@link applyHinting},
94
- * {@link applyRows}) or goes out of use lets its twin go here.
82
+ * no garbage collector, so a table that changes what it would answer ({@link applyHinting}) or
83
+ * goes out of use lets its twin go here.
95
84
  */
96
85
  release(): void;
97
86
  private _buildNative;
@@ -110,7 +99,10 @@ export declare class AdvanceTable implements IFont.AdvanceTable {
110
99
  width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
111
100
  /** One character's advance in px: hinted whole pixels when the table is hinted. */
112
101
  private _advancePx;
113
- /** The face's whole-px vertical metrics at `px` pixels per em. */
102
+ /**
103
+ * The face's whole-px vertical metrics at `px` pixels per em: GDI's ascent and descent, and a
104
+ * line their sum tall (the win metrics ask for no leading).
105
+ */
114
106
  metrics(px: number): IFont.Metrics;
115
107
  /**
116
108
  * The underline at `px`: its center's offset above the baseline (negative below) and its
@@ -158,31 +150,6 @@ export declare namespace AdvanceTable {
158
150
  */
159
151
  sizes: [number, number[]][];
160
152
  }
161
- /** The `format` of a `.rows.json` this version reads. */
162
- const ROWS_FORMAT = "sheetxl-font-rows/1";
163
- /**
164
- * A captured `.rows.json`, the companion of a `.metrics.json`: Excel's autofit row height for
165
- * the face, in px at 96 dpi, at every integer ppem from `firstPpem` up to where the row reaches
166
- * Excel's 409 pt cap (`private-assets/design/rust/tools/capture-excel-row-heights.ps1`).
167
- */
168
- interface RowsJSON {
169
- format: typeof ROWS_FORMAT;
170
- family: string;
171
- weight: number;
172
- italic: boolean;
173
- source?: {
174
- application?: string;
175
- dpi?: number;
176
- };
177
- firstPpem: number;
178
- /** `pitches[i]` is the pitch at `firstPpem + i`. */
179
- pitches: number[];
180
- }
181
- /** Excel's row pitch per integer ppem, from `first` on. */
182
- interface RowPitches {
183
- readonly first: number;
184
- readonly pitches: readonly number[];
185
- }
186
153
  /** A table's twin in the wasm: the binding's `MetricsTable` (`crates/sheetxl-wasm-sdk`). */
187
154
  type Native = InstanceType<SdkWasmExports['MetricsTable']>;
188
155
  type Face = IFont.AdvanceTable.Face;
@@ -195,6 +162,8 @@ export declare namespace AdvanceTable {
195
162
  ascent: number;
196
163
  /** OS/2 `winDescent` per em, positive below the baseline. */
197
164
  descent: number;
165
+ /** See {@link IFont.AdvanceTable.typoLine}; absent for a font that does not ask for it. */
166
+ typoLine?: number | null;
198
167
  underline?: LineRule | null;
199
168
  strikeout?: LineRule | null;
200
169
  }
@@ -217,6 +186,11 @@ export declare namespace AdvanceTable {
217
186
  unitsPerEm: number;
218
187
  winAscent: number;
219
188
  winDescent: number;
189
+ /**
190
+ * Typo ascent less descent plus line gap in design units, present only when the font sets
191
+ * `USE_TYPO_METRICS`.
192
+ */
193
+ typoLine?: number;
220
194
  /** `[position, thickness]` in design units. */
221
195
  underline?: [number, number];
222
196
  /** `[position, thickness]` in design units. */
@@ -165,9 +165,8 @@ export declare namespace IFont {
165
165
  readonly strikeThickness?: number;
166
166
  readonly italicAngle?: number;
167
167
  /**
168
- * The line pitch in px — what a line of this font advances by, and the height of a row sized
169
- * to it: `ascent + descent + 2` (Excel's standard row height for the font; the 2 is the
170
- * gridline gutter above and below the font box). Includes {@link lineGap}.
168
+ * The line pitch in px — what a line of this text advances by: {@link ascent} plus
169
+ * {@link descent} plus {@link lineGap}.
171
170
  */
172
171
  readonly lineHeight: number;
173
172
  /**
@@ -175,6 +174,7 @@ export declare namespace IFont {
175
174
  * paints the line as a box (a CSS line box) puts the alphabetic baseline.
176
175
  */
177
176
  readonly baseline: number;
177
+ /** The leading in px: the room in {@link lineHeight} beyond the ascent and descent. */
178
178
  readonly lineGap: number;
179
179
  /**
180
180
  * The font's ascent above the baseline in whole px at the measured size — GDI's `tmAscent`,
@@ -190,9 +190,8 @@ export declare namespace IFont {
190
190
  *
191
191
  * @remarks
192
192
  * Advances are per em and vertical metrics follow GDI, so a table measures as Excel does: a
193
- * shipped face measures GDI's hinted whole pixels and sizes rows as Excel autofits them. Tables
194
- * are built by the collection from the shipped files or the platform; they are read here, never
195
- * made or changed.
193
+ * shipped face measures GDI's hinted whole pixels. Tables are built by the collection from the
194
+ * shipped files or the platform; they are read here, never made or changed.
196
195
  */
197
196
  interface AdvanceTable {
198
197
  /** The family the table measures, as a style names it. */
@@ -202,8 +201,12 @@ export declare namespace IFont {
202
201
  readonly italic: boolean;
203
202
  /** Whether widths are GDI's hinted whole pixels. */
204
203
  readonly isHinted: boolean;
205
- /** Whether row heights are Excel's own captured ones. */
206
- readonly hasRows: boolean;
204
+ /**
205
+ * The height of a line per em by the font's typo metrics (ascent less descent plus line gap),
206
+ * for a font that asks for them; `null` otherwise. DirectWrite lays a line out this tall, so
207
+ * Excel's charts do.
208
+ */
209
+ readonly typoLine: number | null;
207
210
  /** The number of characters with an advance. */
208
211
  readonly size: number;
209
212
  /** The advance of `codepoint` per em, or `undefined` when the table has none. */
@@ -215,7 +218,10 @@ export declare namespace IFont {
215
218
  * super/subscript scale, then `letterSpacing` between characters.
216
219
  */
217
220
  width(text: string, px: number, options?: AdvanceTable.WidthOptions): number;
218
- /** The face's whole-px vertical metrics at `px` pixels per em. */
221
+ /**
222
+ * The face's whole-px vertical metrics at `px` pixels per em: GDI's ascent and descent, and a
223
+ * line as tall as the font's own metrics ask.
224
+ */
219
225
  metrics(px: number): Metrics;
220
226
  /**
221
227
  * The underline at `px`: its center's offset above the baseline (negative below) and its
@@ -344,6 +350,23 @@ export declare namespace IFont {
344
350
  * ```
345
351
  */
346
352
  function captureTables(bytes: Uint8Array, options?: CaptureOptions): Promise<CapturedFace[]>;
353
+ /**
354
+ * The CSS `font-family` value that paints `family`: the family, then the fonts that stand in for
355
+ * it where it is not installed, then `fallbacks`, each followed by its own stand-ins.
356
+ *
357
+ * A stand-in is the family `family` is measured by and that family's open metric-compatible
358
+ * twins, so text painted on a machine without the original still fits its measurement.
359
+ *
360
+ * @param family The family as a style names it.
361
+ * @param fallbacks Families or CSS generic names to try after it.
362
+ *
363
+ * @example
364
+ * ```ts
365
+ * IFont.toCSSFontFamily('Calibri', ['sans-serif']); // 'Calibri, Carlito, sans-serif'
366
+ * IFont.toCSSFontFamily('Aptos Narrow', ['sans-serif']); // '"Aptos Narrow", "Intos Narrow", Calibri, Carlito, sans-serif'
367
+ * ```
368
+ */
369
+ function toCSSFontFamily(family: string, fallbacks?: readonly string[] | null): string;
347
370
  /**
348
371
  * Provides a font-family fallback based on the PANOSE hex string.
349
372
  *
@@ -16,15 +16,18 @@ export declare class TableFileAdvanceBuilder implements AdvanceBuilder {
16
16
  readonly name = "table-file";
17
17
  readonly kind = "table";
18
18
  private readonly _base;
19
+ private readonly _companions;
19
20
  private readonly _pending;
20
21
  /**
21
22
  * @param base A base to search after the user resource roots, or `null` for none (the default).
23
+ * @param companions Other files shipped beside a face's tables, by suffix (`.rows.json`): each
24
+ * one found is handed to its reader before the table resolves.
22
25
  */
23
- constructor(base?: string | null);
26
+ constructor(base?: string | null, companions?: Readonly<Record<string, (json: any) => void>>);
24
27
  build(face: AdvanceTable.Face): Promise<AdvanceTable | null>;
25
28
  /**
26
- * Gives `table` the hinted widths of its `.hinted.json` companion and Excel's row heights from
27
- * its `.rows.json`, those it has.
29
+ * Gives `table` the hinted widths of its `.hinted.json` companion, and hands each other
30
+ * companion the face has to its reader.
28
31
  *
29
32
  * @returns Whether the table is hinted now.
30
33
  */
@@ -2,14 +2,6 @@ export declare const DefaultMinFontSize: number;
2
2
  export declare const DefaultMaxFontSize: number;
3
3
  export declare const DefaultMaxFontPrecision: number;
4
4
  export declare const DefaultLineHeightMultiplier: number;
5
- /**
6
- * Excel's horizontal padding a side for a cell whose font's widest digit is `digitWidth` px: a
7
- * quarter of that digit, rounded up (2 px at Calibri 11, 17 at Calibri 100, 56 at Arial 300).
8
- * Exact against Excel's own autofit over 130 cells, Calibri and Arial, 8 to 48 pt
9
- * (`private-assets/design/rust/tools/sweep-excel-autofit.ps1`), and against the column at which
10
- * Excel stops showing a number as `#` from 20 to 300 pt (`tools/oracle-excel-overflow.ps1`:
11
- * content + 2 x this + 1 every time).
12
- */
13
5
  export declare function defaultHorizontalPadding(digitWidth: number): number;
14
6
  export declare function defaultVerticalPadding(_fontSize: number): number;
15
7
  /**
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Which family measures which, and what paints in its place where it is not installed.
3
+ *
4
+ * Kept free of imports: the measurer (`FontCollection`) and every CSS `font-family` writer read it,
5
+ * so a family's paint stack and the table it is measured by cannot drift apart.
6
+ */
7
+ /**
8
+ * Families measured by another family's table: the metric-compatible twins by the family they
9
+ * twin, the near relations by the closest family we have, and the CSS generic names by a family
10
+ * of their class. A relation is used only when the family has no table of its own: Aptos has
11
+ * one, and is measured as Calibri only where its tables cannot be reached (Aptos Narrow's digits
12
+ * are Calibri's). Calibri Light's digits and line metrics are Calibri's, its letters about 1%
13
+ * narrower.
14
+ */
15
+ export declare const RELATED: ReadonlyMap<string, string>;
16
+ /**
17
+ * The families that paint in `family`'s place, in order, not including `family` itself: its own
18
+ * open metric twins, then the family it is measured by when its table cannot be reached and that
19
+ * family's twins. Empty for a family measured by nothing but itself or the canvas, and for a CSS
20
+ * generic name.
21
+ */
22
+ export declare function standInsOf(family: string): readonly string[];
23
+ /**
24
+ * `families` with each one's stand-ins after it, duplicates dropped: the stack a platform paints
25
+ * `families` from.
26
+ */
27
+ export declare function withStandIns(families: readonly string[]): string[];
28
+ /**
29
+ * A CSS `font-family` value for `family` and its `fallbacks`, each followed by its stand-ins: a
30
+ * generic name bare, every other name quoted when it has more than one word.
31
+ */
32
+ export declare function toCSSFontFamily(family: string, fallbacks?: readonly string[] | null): string;
33
+ //# sourceMappingURL=_StandIns.d.ts.map
@@ -454,7 +454,7 @@ export declare namespace IWorkbookIO {
454
454
  * write path both actually ask, use {@link isEncrypted}.
455
455
  *
456
456
  * Never the password: origins are rendered into logs and REPL output, and ride events and
457
- * progress callbacks, so a secret has no business here (see `PROTECTION-DESIGN.md` §5f).
457
+ * progress callbacks, so a secret has no business here.
458
458
  *
459
459
  * Use it to show a lock affordance, and to recognise that writing plaintext over it would be a
460
460
  * downgrade — {@link IWorkbookIO.WriteOptions.password} makes that refusal explicit.
@@ -860,8 +860,8 @@ export declare namespace IWorkbookIO {
860
860
  * - `'auto'` — cached values are trusted; the load pass evaluates a formula cell with no
861
861
  * cached value (a repair — Excel always stores one) and refreshes volatiles. Everything is
862
862
  * recalculated only when Excel would recalculate on open: the file sets `fullCalcOnLoad`,
863
- * or for xlsx its `calcId` is missing or older than the Excel build this library is
864
- * verified against. (What this library writes carries one: the source file's, else that
863
+ * or for xlsx its `calcId` is missing or older than the Excel build this library
864
+ * targets. (What this library writes carries one: the source file's, else that
865
865
  * build's.) To take the file's values as they are whatever it says — as openpyxl does —
866
866
  * pass `'none'`; to always recalculate, `'full'`.
867
867
  * - `'full'` — everything is recalculated, whatever the file says.
@@ -100,12 +100,12 @@ export declare class WorkbookOrigin implements IWorkbookIO.Origin {
100
100
  * Update what is known about the file in place. Fires `onChange` if anything actually changed.
101
101
  *
102
102
  * @remarks
103
- * The **privileged mutation channel** (see `DESIGN-IO.md`) for the backing store and the IO layer:
103
+ * The **privileged mutation channel** for the backing store and the IO layer:
104
104
  * the written size, the encryption on disk, the format key a read resolved. Never format handlers,
105
105
  * never the model, never chrome.
106
106
  *
107
107
  * There is no `path`: an origin names one file for its whole life. A save that resolves another
108
- * destination mints a new origin for it (see `DESIGN-IO.md` §11).
108
+ * destination mints a new origin for it.
109
109
  */
110
110
  update(next: {
111
111
  name?: string | null;
@@ -21,7 +21,8 @@ declare class LM {
21
21
  private _doPrint;
22
22
  private _print;
23
23
  /**
24
- * Return the current license details.
24
+ * Return the current license details. Prints nothing: the license notice is printed when the
25
+ * engine starts under the license (see {@link assertUsable}).
25
26
  */
26
27
  getDetails(): Promise<LicenseDetails>;
27
28
  /**
@@ -13,10 +13,11 @@ export declare function getBuildDate(): string;
13
13
  *
14
14
  * @remarks
15
15
  * Every release restamps the date, so a current install never reaches the end of the window;
16
- * only one that is never updated does. Ninety days gives a pinned install (CI, a locked
17
- * lockfile) a quarter before it has to move, and bounds how long any one build can run unlicensed.
16
+ * only one that is never updated does. Seventy days gives a pinned install (CI, a locked
17
+ * lockfile) over two months before it has to move, and bounds how long any one build can run
18
+ * unlicensed.
18
19
  */
19
- export declare const EVAL_PERIOD_DAYS = 90;
20
+ export declare const EVAL_PERIOD_DAYS = 70;
20
21
  /** When this build's evaluation period ends, or `null` for an unstamped (workspace, test) build. */
21
22
  export declare function getEvalPeriodEnd(): Date | null;
22
23
  /** Whether this build's evaluation period is over. An unstamped build never expires. */
@@ -18,7 +18,9 @@ export interface UnlicensedOptions {
18
18
  */
19
19
  export declare const genUnlicensedDetails: (options: UnlicensedOptions) => LicenseDetails;
20
20
  /**
21
- * The license a key grants on `host`. A key that does not decode is an `invalid` license.
21
+ * The license a key grants on `host`. A key that is not a validly signed token is an `invalid`
22
+ * license. A development build checks no signatures, so it accepts keys only in a development
23
+ * environment; deployed anywhere else, it rejects every key.
22
24
  */
23
25
  export declare const detailsForKey: (from: string, key: string, host: HostDetails, isDevEnv: boolean) => LicenseDetails;
24
26
  //# sourceMappingURL=details.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The public keys this build accepts license tokens from, by key id, or `null` in a development build,
3
+ * where signatures are not checked.
4
+ */
5
+ export declare function getTrustedKeys(): Readonly<Record<string, string>> | null;
6
+ //# sourceMappingURL=keys.d.ts.map
@@ -1,4 +1,3 @@
1
- import { LicenseDetails } from './LicenseDetails';
2
1
  /**
3
2
  * Where a license runs. `browser` is any page (checked against its origin); `server` is any
4
3
  * JavaScript runtime outside a browser - Node, Bun, Deno, the CLI, a CI runner (checked against the
@@ -6,49 +5,33 @@ import { LicenseDetails } from './LicenseDetails';
6
5
  */
7
6
  export type LicenseRuntime = 'browser' | 'server';
8
7
  export declare const LICENSE_RUNTIMES: readonly LicenseRuntime[];
8
+ /** The terms of a verified license token (see `verifyLicenseToken`). */
9
9
  export interface Decoded {
10
+ /** The signing key's id. */
11
+ keyId?: string;
12
+ /** The license id, stable across reissues. */
13
+ licenseId?: string;
10
14
  licensee?: string | null;
11
15
  type?: string;
16
+ /** Issued at, epoch milliseconds. */
17
+ issuedAt?: number;
18
+ /** Expires at, epoch milliseconds. */
12
19
  expiry?: number;
13
20
  developerCount?: number;
14
- /** The runtimes the key covers; `undefined` for a key issued before runtimes were explicit. */
21
+ /** The runtimes the key covers. */
15
22
  runtimes?: LicenseRuntime[];
23
+ /** Licensed origins, `<protocol>://<host>` (see `Origin`). */
16
24
  domains?: string[];
25
+ /** Node fingerprint. */
17
26
  fingerprint?: string | null;
27
+ /** Number of CPUs (0 = unconstrained). */
18
28
  cpuCount?: number;
29
+ /** Memory in GB (0 = unconstrained). */
19
30
  memory?: number | null;
20
- features?: Record<string, any>[];
31
+ features?: Record<string, unknown>;
21
32
  }
22
- /**
23
- * The runtimes a decoded key covers. A key issued before runtimes were explicit covers `browser`
24
- * when it has origins, and `server` unless its cpu and memory are both 0 (the old browser-only
25
- * marker).
26
- */
33
+ /** The runtimes a decoded key covers. */
27
34
  export declare function getRuntimes(decoded: Decoded): LicenseRuntime[];
28
- export interface LicenseAndKey {
29
- details: LicenseDetails;
30
- key: string;
31
- }
32
- export interface LicenseKeyDetails {
33
- licensee: string;
34
- type?: string | null;
35
- expiration?: string | null;
36
- developerCount?: number;
37
- /**
38
- * The runtimes the key covers. Defaults to what the other terms imply: `browser` when there are
39
- * origins, `server` when there is a fingerprint, cpu count or memory.
40
- */
41
- runtimes?: LicenseRuntime[] | null;
42
- /** Licensed origins, `<protocol>://<host>` each (see `Origin`); a string is comma-separated. */
43
- domains?: string | string[] | null;
44
- fingerprint?: string | null;
45
- cpuCount?: number | null;
46
- memory?: number | null;
47
- features?: Record<string, any> | null;
48
- }
49
- export declare function rot(text: string, key: number, n?: number): string;
50
- export declare function deobs(str: string): Decoded;
51
- export declare function encodeLicenseKey(keyDetails: LicenseKeyDetails): LicenseAndKey;
52
35
  export declare function validateDomain(domain: string, allowDomain?: boolean): boolean;
53
36
  /**
54
37
  * A licensed origin, `<protocol>://<host>`.
@@ -76,5 +59,4 @@ export declare function validateOrigin(entry: string, allowDomain?: boolean): bo
76
59
  * them — is covered by `entry`. An entry with no protocol covers nothing.
77
60
  */
78
61
  export declare function originMatches(entry: string, protocol: string, hostname: string): boolean;
79
- export declare function validateFingerprint(fingerprint: string | null): boolean;
80
62
  //# sourceMappingURL=license-key.d.ts.map
@@ -0,0 +1,55 @@
1
+ import { Decoded, LicenseRuntime } from './license-key';
2
+ /** The format version every token starts with: `sxl1.<payload>.<signature>`. */
3
+ export declare const LICENSE_TOKEN_PREFIX = "sxl1";
4
+ /**
5
+ * The signed body of a license token. Keys are short because a browser key is served to every
6
+ * visitor and travels in config. There is no email or other personal data.
7
+ */
8
+ export interface LicenseTokenPayload {
9
+ /** The signing key's id. */
10
+ kid: string;
11
+ /** The license id, stable across reissues. */
12
+ lid: string;
13
+ /** Licensee. */
14
+ l: string;
15
+ /** License type, e.g. `community`, `commercial`. */
16
+ t: string;
17
+ /** The runtimes the license covers. */
18
+ r: LicenseRuntime[];
19
+ /** Licensed origins, `<protocol>://<host>`. */
20
+ d?: string[];
21
+ /** Developer count. */
22
+ dc?: number;
23
+ /** CPU count (0 or absent = unconstrained). */
24
+ cc?: number;
25
+ /** Memory in GB (0 or absent = unconstrained). */
26
+ m?: number;
27
+ /** Node fingerprint. */
28
+ n?: string;
29
+ /** Features. */
30
+ f?: Record<string, unknown>;
31
+ /** Issued at, epoch seconds. */
32
+ iat: number;
33
+ /** Expires at, epoch seconds. */
34
+ exp: number;
35
+ }
36
+ /** Why a token was rejected. The message is shown to the user as the license exception. */
37
+ export declare class LicenseTokenError extends Error {
38
+ constructor(message: string);
39
+ }
40
+ /** Decodes unpadded base64url. */
41
+ export declare function fromBase64Url(text: string): Uint8Array;
42
+ /**
43
+ * Reads a license token without checking its signature. For display and diagnostics only; never
44
+ * grant anything on the result.
45
+ */
46
+ export declare function readLicenseTokenPayload(token: string): LicenseTokenPayload;
47
+ /**
48
+ * Verifies a license token's signature against the keys this build trusts and returns its terms.
49
+ * Expiry, origin, runtime and hardware are not checked here; `details.ts` checks them against the
50
+ * host. With `trustedKeys` `null` (a development build, see `keys.ts`) the signature is not checked.
51
+ *
52
+ * @throws LicenseTokenError when the token is malformed, signed by an unknown key, or altered.
53
+ */
54
+ export declare function verifyLicenseToken(token: string, trustedKeys?: Readonly<Record<string, string>> | null): Decoded;
55
+ //# sourceMappingURL=token.d.ts.map
@@ -60,6 +60,51 @@ export interface IPicture extends IModel, IMovable.IContent {
60
60
  * ```
61
61
  */
62
62
  setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
63
+ /**
64
+ * Returns the shape's outline at a size, for drawing the picture cropped to its shape.
65
+ *
66
+ * @param width The frame's width in pixels. Defaults to the movable's.
67
+ * @param height The frame's height in pixels. Defaults to the movable's.
68
+ * @returns `null` for a preset this SDK does not know, or for a picture with no movable and no size.
69
+ */
70
+ getGeometry(width?: number, height?: number): Promise<IGeometry | null>;
71
+ /**
72
+ * Returns the part of the image shown, as percentages of the image's size inset from each edge.
73
+ *
74
+ * @remarks
75
+ * An edge not cropped is absent, so an uncropped picture answers `{}`. A negative inset shows empty
76
+ * space beyond that edge of the image, which is how a picture fits inside a frame of another shape.
77
+ */
78
+ getCrop(): IFill.RectInsets;
79
+ /**
80
+ * Sets the part of the image shown. The frame stays as it is, so the part shown is stretched over
81
+ * it; to keep the image's scale, change the frame with {@link IMovable.setBounds} as well.
82
+ *
83
+ * @param crop Percentages of the image's size, inset from each edge; `null` shows the whole image.
84
+ * @throws ExpectedError when the insets leave nothing to show.
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * picture.setCrop({ left: 10, right: 10 });
89
+ * ```
90
+ */
91
+ setCrop(crop: IFill.RectInsets | null, options?: ITransaction.OperationOptions): this;
92
+ /**
93
+ * Returns the hyperlink a click on the picture follows, or `null` for none.
94
+ */
95
+ getHyperlink(): IHyperlink | null;
96
+ /**
97
+ * Sets the hyperlink a click on the picture follows.
98
+ *
99
+ * @param hyperlink An address, the link's properties, or `null` to remove it. An address takes the
100
+ * form a cell's does: a url, or `#Sheet1!A1` for a location in this workbook.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * picture.setHyperlink('https://www.sheetxl.com');
105
+ * ```
106
+ */
107
+ setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
63
108
  /**
64
109
  * What the picture's frame draws with: the fill behind the image and the border around it.
65
110
  * A picture has no theme style, so each is only what the picture states; by default neither
@@ -1,6 +1,8 @@
1
1
  import { ITransaction } from '../transaction';
2
2
  import { IResource, IResourceCollection } from '../resource';
3
3
  import { IAnchored } from '../anchored';
4
+ import { IFill } from '../fill';
5
+ import { IHyperlink } from '../hyperlink';
4
6
  import { IMovable } from '../movable/IMovable';
5
7
  import { AbstractMovableContent } from '../movable/AbstractMovableContent';
6
8
  import { IGeometry, IShapeStyle } from '../shape';
@@ -32,6 +34,16 @@ export declare class Picture extends AbstractMovableContent<State, IPicture.JSON
32
34
  getShapeType(): string;
33
35
  /** {@inheritDoc IPicture.setShapeType} */
34
36
  setShapeType(shapeType: IGeometry.Preset | string, options?: ITransaction.OperationOptions): this;
37
+ /** {@inheritDoc IPicture.getGeometry} */
38
+ getGeometry(width?: number, height?: number): Promise<IGeometry | null>;
39
+ /** {@inheritDoc IPicture.getCrop} */
40
+ getCrop(): IFill.RectInsets;
41
+ /** {@inheritDoc IPicture.setCrop} */
42
+ setCrop(crop: IFill.RectInsets | null, options?: ITransaction.OperationOptions): this;
43
+ /** {@inheritDoc IPicture.getHyperlink} */
44
+ getHyperlink(): IHyperlink | null;
45
+ /** {@inheritDoc IPicture.setHyperlink} */
46
+ setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
35
47
  /** {@inheritDoc IPicture.getStyle} */
36
48
  getStyle(): IShapeStyle;
37
49
  /** Writes what the picture states of its fill and border: a key `undefined` is removed. */
@@ -38,13 +38,6 @@ export declare class PivotTable extends AbstractAnchored<State, IPivotTable.Even
38
38
  getCacheId(): number;
39
39
  /** {@inheritDoc IPivotTable.toJSON} */
40
40
  toJSON(toResourceId?: (resource: IResource) => number | null): IPivotTable.JSON | null;
41
- /**
42
- * Excel's rule, from `pivot-probes/probe-pivot-structural.ps1` (2026-10-15): the table moves
43
- * whole or goes whole. A shift that would split it or change its extent - a row or column cut
44
- * through it, an insert inside it, a shift of some of its columns - is refused with Excel's own
45
- * refusal, as a user error, before anything of the edit commits.
46
- * @internal
47
- */
48
41
  protected _processContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
49
42
  /** @internal */
50
43
  protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
@@ -11,18 +11,6 @@ export declare const holdersMade: () => boolean;
11
11
  export declare const settleCount: () => number;
12
12
  /** Records that a call's latest moved. */
13
13
  export declare const noteSettle: () => void;
14
- /**
15
- * What a cell holds when its formula's evaluation deferred (DESIGN-ASYNC §4.4): the node's
16
- * `cachedValue` and the engine grid's value at the cell. Immutable; what moves is the call, which
17
- * holds the latest. Each deferring evaluation makes a new one.
18
- *
19
- * @remarks
20
- * Seen only by the formula block and the engine. Every other reader reads it through
21
- * {@link readAsync}: the push into a dependent's input, a range read of the engine grid, and the
22
- * copy of results to the model, which never receives one.
23
- *
24
- * The calls are the calculation layer's; all a read needs of one is its latest.
25
- */
26
14
  export declare class AsyncValue<C extends AsyncValue.Call = AsyncValue.Call> {
27
15
  /**
28
16
  * What the formula calculated, from its calls' initials. A range for an evaluation that