@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +1 -1
  2. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  3. package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → BFagR2JeWs74iAG3.mjs} +1 -1
  4. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  5. package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → BLoUBId2xZpXAK_H.mjs} +110 -261
  6. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  7. package/browser/esm/{o8MFgcVXns987D6_.mjs → BVDiOXGMc5_FMGfy.mjs} +6 -6
  8. package/browser/esm/{BzLfNyc6OOShIErH.mjs → BjkCiv5Jz6WYKZeu.mjs} +2 -2
  9. package/browser/esm/{De175LygU7ot4nQm.mjs → BkBhLS0l6z8sxI6D.mjs} +2 -2
  10. package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → BnG31I6Oj_HEtSPS.mjs} +1 -1
  11. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  12. package/browser/esm/{CYyv6uGjo10ig5FP.mjs → BpgskG1Er_lGQ_yS.mjs} +1 -1
  13. package/browser/esm/{C9B0djuUarfNdoj0.mjs → BtvLTTfSBdAKplVG.mjs} +1 -1
  14. package/browser/esm/{zqJOaweiXE9D8RY1.mjs → C16ycKja6zG0crV_.mjs} +27687 -38788
  15. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  16. package/browser/esm/{Btg43M1Bf-ENDreu.mjs → C4MqfLn9Dm-l3OIk.mjs} +1 -1
  17. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  18. package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → CHU6iu_WGlm7fLET.mjs} +1 -1
  19. package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → CQYjO777cmAznUzK.mjs} +1 -1
  20. package/browser/esm/{D4uVlrG0xEFctsSM.mjs → CU3DmJ-YnVVrC1_k.mjs} +285 -67
  21. package/browser/esm/{ClB5ix51roQOpZEr.mjs → CV5EGEjG5_-CPpP0.mjs} +2877 -2067
  22. package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  23. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  24. package/browser/esm/{CZ5oa92wZEAXebgk.mjs → ClPfI4lODvCece29.mjs} +32 -22
  25. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  26. package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → Ctjb0SsxV4K4MMqG.mjs} +2 -2
  27. package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → D5np__Jb1euAyaLw.mjs} +2 -2
  28. package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → DEiPS3Dr-s4fPbVZ.mjs} +1 -1
  29. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  30. package/browser/esm/{BqskM7wA8oPfFQue.mjs → DWNzqw7DUKwoxjri.mjs} +2 -2
  31. package/browser/esm/{BEAY9XgKNx-bakXW.mjs → Dlmig06rIo7cInRk.mjs} +1 -1
  32. package/browser/esm/DvAaxH6z_tGvrRzl.mjs +5132 -0
  33. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  34. package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → PcHFjNzQsE54POri.mjs} +1 -1
  35. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  36. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  37. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  38. package/browser/esm/index.mjs +999 -850
  39. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  40. package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → zlLuW405RSguy4Kn.mjs} +34 -34
  41. package/licenses/dependencies.txt +75 -75
  42. package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → 2Kihw_-5lVTEnwMa.mjs} +285 -64
  43. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  44. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  45. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  46. package/node/esm/{CImNvdz1iP-lUlro.mjs → BIRq1kT7lLRzns9t.mjs} +181 -181
  47. package/node/esm/{CD9wbvufChVYYkrI.mjs → BIwObuhTJYf0jpUa.mjs} +2 -2
  48. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  49. package/node/esm/{B6D7sSetrcOWLsKj.mjs → BqiexuA89caYnAPz.mjs} +1 -1
  50. package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BrCKGFRsX_ezFJ4B.mjs} +151 -302
  51. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  52. package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  53. package/node/esm/{DCplLG93GfTs1vNw.mjs → CGp6VZL-gZa9Uezx.mjs} +1 -1
  54. package/node/esm/{B9ljpEIZg6wOTzRE.mjs → CNCNJNg890KdgkWh.mjs} +1 -1
  55. package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CZICGK_ss0HoGHCP.mjs} +2 -2
  56. package/node/esm/{D7MfcID2Wf6l6VpC.mjs → CZiqiay42tFTrLI4.mjs} +1 -1
  57. package/node/esm/{Bsx9uijd4X_SKV3L.mjs → CdJHUJSBRHZoryPe.mjs} +41 -41
  58. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  59. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  60. package/node/esm/{CUUoseJmFsCf82bb.mjs → CzXT00vrQa1_gvW9.mjs} +1 -1
  61. package/node/esm/{C6ZXsNyLXI6zA63X.mjs → D1TKBVmoKGAXf37B.mjs} +9 -9
  62. package/node/esm/{BN9j8V9gCExMjVtJ.mjs → D2KBymQJd1XhpeQD.mjs} +1 -1
  63. package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → D6e2z7eZpxOJXHc7.mjs} +1 -1
  64. package/node/esm/{BtuY37FumvLE7EBo.mjs → D8zEN-6ZdDqDvTxM.mjs} +156 -146
  65. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  66. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  67. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  68. package/node/esm/{DMD12JUh7HJw2-jl.mjs → D_t5AUxSm7_icjzq.mjs} +1 -1
  69. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  70. package/node/esm/{CUQi5ZtMO02nhG0W.mjs → De2IONBxQhz-Qbyh.mjs} +1 -1
  71. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  72. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  73. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  74. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  75. package/node/esm/{DefYISWfdZJFx57m.mjs → cGwrLA1RCE-WhJ7w.mjs} +1 -1
  76. package/node/esm/index.mjs +2657 -65664
  77. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  78. package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → yavzZOiZW_EjG9lE.mjs} +1 -1
  79. package/package.json +6 -7
  80. package/resources/contents.json +120 -0
  81. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  82. package/resources/fonts/arial-bold-italic.metrics.json +13 -13
  83. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  84. package/resources/fonts/arial-bold.hinted.json +125 -0
  85. package/resources/fonts/arial-bold.metrics.json +12 -12
  86. package/resources/fonts/arial-bold.rows.json +9 -0
  87. package/resources/fonts/arial-italic.hinted.json +125 -0
  88. package/resources/fonts/arial-italic.metrics.json +13 -13
  89. package/resources/fonts/arial-italic.rows.json +9 -0
  90. package/resources/fonts/arial-regular.hinted.json +125 -0
  91. package/resources/fonts/arial-regular.metrics.json +12 -12
  92. package/resources/fonts/arial-regular.rows.json +9 -0
  93. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  94. package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
  95. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  96. package/resources/fonts/calibri-bold.hinted.json +122 -0
  97. package/resources/fonts/calibri-bold.metrics.json +1 -1
  98. package/resources/fonts/calibri-bold.rows.json +9 -0
  99. package/resources/fonts/calibri-italic.hinted.json +121 -0
  100. package/resources/fonts/calibri-italic.metrics.json +2 -2
  101. package/resources/fonts/calibri-italic.rows.json +9 -0
  102. package/resources/fonts/calibri-regular.hinted.json +121 -0
  103. package/resources/fonts/calibri-regular.metrics.json +1 -1
  104. package/resources/fonts/calibri-regular.rows.json +9 -0
  105. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  106. package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
  107. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  108. package/resources/fonts/cambria-bold.hinted.json +108 -0
  109. package/resources/fonts/cambria-bold.metrics.json +19 -19
  110. package/resources/fonts/cambria-bold.rows.json +9 -0
  111. package/resources/fonts/cambria-italic.hinted.json +102 -0
  112. package/resources/fonts/cambria-italic.metrics.json +23 -23
  113. package/resources/fonts/cambria-italic.rows.json +9 -0
  114. package/resources/fonts/cambria-regular.hinted.json +110 -0
  115. package/resources/fonts/cambria-regular.metrics.json +18 -18
  116. package/resources/fonts/cambria-regular.rows.json +9 -0
  117. package/resources/fonts/contents.json +280 -0
  118. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  119. package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
  120. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  121. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  122. package/resources/fonts/courier-new-bold.metrics.json +12 -12
  123. package/resources/fonts/courier-new-bold.rows.json +9 -0
  124. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  125. package/resources/fonts/courier-new-italic.metrics.json +12 -12
  126. package/resources/fonts/courier-new-italic.rows.json +9 -0
  127. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  128. package/resources/fonts/courier-new-regular.metrics.json +12 -12
  129. package/resources/fonts/courier-new-regular.rows.json +9 -0
  130. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  131. package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
  132. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  133. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  134. package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
  135. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  136. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  137. package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
  138. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  139. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  140. package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
  141. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  142. package/resources/locales/de/model.msg.json +87 -9
  143. package/resources/locales/en/model.msg.json +88 -10
  144. package/types/scripting-api.json +10636 -8021
  145. package/types/scripting-enums.json +181 -43
  146. package/types/scripting.d.ts +15886 -8459
  147. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  148. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  149. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  150. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  151. package/types/src/address/AddressUtils.d.ts +10 -1
  152. package/types/src/address/_StructuredAddress.d.ts +58 -0
  153. package/types/src/border/IBorders.d.ts +16 -0
  154. package/types/src/calculation/Calculation.d.ts +93 -363
  155. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  156. package/types/src/calculation/FormulaText.d.ts +18 -2
  157. package/types/src/calculation/ICalculation.d.ts +37 -9
  158. package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
  159. package/types/src/calculation/NamedFormulaCollection.d.ts +190 -15
  160. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  161. package/types/src/calculation/_TableExtent.d.ts +60 -0
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
  163. package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
  164. package/types/src/calculation/compiler/Types.d.ts +1 -1
  165. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  166. package/types/src/calculation/engine/index.d.ts +10 -0
  167. package/types/src/calculation/executor/CalcExecutor.d.ts +21 -2
  168. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +6 -0
  169. package/types/src/calculation/formula/Formula.d.ts +9 -0
  170. package/types/src/calculation/formula/FormulaBlock.d.ts +6 -0
  171. package/types/src/calculation/formula/IFormulaBlock.d.ts +16 -0
  172. package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
  173. package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
  174. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  175. package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
  176. package/types/src/calculation/grid/CalcGrid.d.ts +40 -4
  177. package/types/src/calculation/grid/CalcGridBackend.d.ts +30 -0
  178. package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
  179. package/types/src/calculation/grid/CalcGridUtils.d.ts +8 -1
  180. package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
  181. package/types/src/calculation/grid/ICalcGrid.d.ts +35 -6
  182. package/types/src/calculation/grid/_CalcRequest.d.ts +11 -1
  183. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  184. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +27 -2
  185. package/types/src/calculation/state/CalcScope.d.ts +15 -6
  186. package/types/src/calculation/state/CalcState.d.ts +10 -0
  187. package/types/src/calculation/state/CalculationContext.d.ts +2 -2
  188. package/types/src/calculation/state/IContextContainer.d.ts +12 -0
  189. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  190. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  191. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  192. package/types/src/calculation/toolkit/index.d.ts +12 -0
  193. package/types/src/cell/ICell.d.ts +256 -7
  194. package/types/src/cell/ICellHeader.d.ts +7 -6
  195. package/types/src/cell/ICellProtection.d.ts +1 -1
  196. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  197. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  198. package/types/src/cellRange/ICellRange.d.ts +322 -55
  199. package/types/src/cellRange/ICellRanges.d.ts +8 -3
  200. package/types/src/chart/Chart.d.ts +217 -15
  201. package/types/src/chart/ChartCollection.d.ts +7 -2
  202. package/types/src/chart/IChart.d.ts +1921 -35
  203. package/types/src/chart/IChartCollection.d.ts +27 -2
  204. package/types/src/chart/_ChartParts.d.ts +1066 -0
  205. package/types/src/chart/_ChartSource.d.ts +47 -0
  206. package/types/src/chart/createChart.d.ts +26 -0
  207. package/types/src/chart/index.d.ts +4 -0
  208. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  209. package/types/src/chart/kinds/_Area.d.ts +3 -0
  210. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  211. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  212. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  213. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  214. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  215. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  216. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  217. package/types/src/chart/kinds/_Line.d.ts +4 -0
  218. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  219. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  220. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  221. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  222. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  223. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  224. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  225. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  226. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  227. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  228. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  229. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  230. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  231. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  232. package/types/src/chart/layout/_Layout.d.ts +25 -0
  233. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  234. package/types/src/chart/math/BoxStats.d.ts +35 -0
  235. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  236. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  237. package/types/src/chart/math/Histogram.d.ts +48 -0
  238. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  239. package/types/src/chart/math/Treemap.d.ts +28 -0
  240. package/types/src/chart/math/Trendlines.d.ts +71 -0
  241. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  242. package/types/src/chart/model/ChartModel.d.ts +681 -0
  243. package/types/src/chart/model/_ChartType.d.ts +14 -0
  244. package/types/src/chart/model/_Edits.d.ts +489 -0
  245. package/types/src/chart/model/_Grouping.d.ts +83 -0
  246. package/types/src/chart/model/_Inference.d.ts +52 -0
  247. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  248. package/types/src/chart/model/_NewChart.d.ts +208 -0
  249. package/types/src/chart/model/_OfPie.d.ts +18 -0
  250. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  251. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  252. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  253. package/types/src/collections/RTree.d.ts +116 -36
  254. package/types/src/collections/SparseGrid.d.ts +6 -3
  255. package/types/src/collections/SpatialMap.d.ts +2 -8
  256. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  257. package/types/src/collections/index.d.ts +1 -1
  258. package/types/src/comment/Comment.d.ts +32 -9
  259. package/types/src/comment/IComment.d.ts +41 -4
  260. package/types/src/comment/_NoteBox.d.ts +19 -2
  261. package/types/src/condition/AnchoredConditional.d.ts +28 -2
  262. package/types/src/condition/ICondition.d.ts +3 -2
  263. package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
  264. package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
  265. package/types/src/dataTable/DataTable.d.ts +67 -0
  266. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  267. package/types/src/dataTable/IDataTable.d.ts +99 -0
  268. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  269. package/types/src/dataTable/index.d.ts +6 -0
  270. package/types/src/dataValidation/DataValidation.d.ts +1 -1
  271. package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
  272. package/types/src/dataValidation/IDataValidation.d.ts +1 -1
  273. package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
  274. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  275. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  276. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  277. package/types/src/documentProperties/index.d.ts +3 -0
  278. package/types/src/externalBook/IExternalBook.d.ts +1 -1
  279. package/types/src/fill/IFill.d.ts +7 -0
  280. package/types/src/fill/IFillable.d.ts +47 -0
  281. package/types/src/fill/IStroke.d.ts +15 -1
  282. package/types/src/fill/PaintUtils.d.ts +22 -0
  283. package/types/src/fill/index.d.ts +2 -0
  284. package/types/src/font/AdvanceBuilder.d.ts +34 -0
  285. package/types/src/font/AdvanceTable.d.ts +128 -14
  286. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  287. package/types/src/font/FontCapture.d.ts +4 -0
  288. package/types/src/font/FontCollection.d.ts +53 -2
  289. package/types/src/font/FontPlatform.d.ts +20 -0
  290. package/types/src/font/FontUtils.d.ts +5 -0
  291. package/types/src/font/IFont.d.ts +191 -61
  292. package/types/src/font/IFontCollection.d.ts +20 -14
  293. package/types/src/font/IFontStyle.d.ts +207 -0
  294. package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
  295. package/types/src/font/_FontUtils.d.ts +11 -4
  296. package/types/src/font/_FontsVersion.d.ts +7 -0
  297. package/types/src/font/index.d.ts +1 -3
  298. package/types/src/font/platform.browser.d.ts +15 -0
  299. package/types/src/font/platform.node.d.ts +5 -0
  300. package/types/src/group/Group.d.ts +5 -0
  301. package/types/src/group/GroupMovableCollection.d.ts +4 -0
  302. package/types/src/history/IHistory.d.ts +19 -2
  303. package/types/src/hyperlink/IHyperlink.d.ts +7 -1
  304. package/types/src/index.d.ts +3 -0
  305. package/types/src/license/LicenseManager.d.ts +21 -0
  306. package/types/src/license/_Utils.d.ts +18 -1
  307. package/types/src/license/runtime.browser.d.ts +5 -0
  308. package/types/src/license/runtime.node.d.ts +10 -0
  309. package/types/src/listener/IListener.d.ts +14 -2
  310. package/types/src/listener/ListenerEmitter.d.ts +11 -3
  311. package/types/src/movable/IMovable.d.ts +28 -15
  312. package/types/src/movable/IMovableCollection.d.ts +1 -1
  313. package/types/src/movable/Movable.d.ts +12 -1
  314. package/types/src/movable/MovableCollection.d.ts +7 -3
  315. package/types/src/movable/_InsertableCollection.d.ts +16 -5
  316. package/types/src/named/INamed.d.ts +30 -0
  317. package/types/src/named/INamedCollection.d.ts +2 -2
  318. package/types/src/named/NamedCollection.d.ts +16 -4
  319. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  320. package/types/src/outline/IOutline.d.ts +1 -1
  321. package/types/src/outline/Outline.d.ts +2 -2
  322. package/types/src/picture/IPicture.d.ts +98 -1
  323. package/types/src/picture/Picture.d.ts +15 -7
  324. package/types/src/pivot/IPivotTable.d.ts +2 -2
  325. package/types/src/pivot/PivotTable.d.ts +5 -5
  326. package/types/src/primitives/ReferenceRange.d.ts +2 -2
  327. package/types/src/print/IPageLayout.d.ts +635 -0
  328. package/types/src/print/PageLayout.d.ts +258 -0
  329. package/types/src/print/index.d.ts +1 -1
  330. package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
  331. package/types/src/protection/IProtection.d.ts +6 -0
  332. package/types/src/protection/PasswordHasher.d.ts +13 -0
  333. package/types/src/richData/IRichDataKind.d.ts +22 -0
  334. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  335. package/types/src/richData/RichText.d.ts +59 -0
  336. package/types/src/richData/index.d.ts +3 -0
  337. package/types/src/scripting/IModule.d.ts +3 -3
  338. package/types/src/scripting/IScript.d.ts +2 -2
  339. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  340. package/types/src/scripting/declarations.d.ts +3 -0
  341. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  342. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  343. package/types/src/selection/IItemSelection.d.ts +131 -0
  344. package/types/src/selection/IMovableSelection.d.ts +6 -34
  345. package/types/src/selection/IRangeSelection.d.ts +4 -4
  346. package/types/src/selection/ItemSelection.d.ts +49 -0
  347. package/types/src/selection/MovableSelection.d.ts +11 -30
  348. package/types/src/selection/RangeSelection.d.ts +4 -4
  349. package/types/src/selection/index.d.ts +3 -0
  350. package/types/src/shape/IShape.d.ts +2 -1
  351. package/types/src/shape/IShapeStyle.d.ts +5 -31
  352. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  353. package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
  354. package/types/src/shape/_Connectors.d.ts +9 -9
  355. package/types/src/shape/_ShapeStyle.d.ts +9 -0
  356. package/types/src/shape/index.d.ts +1 -0
  357. package/types/src/sheet/CellRegion.d.ts +37 -3
  358. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  359. package/types/src/sheet/ISheet.d.ts +81 -1078
  360. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  361. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
  362. package/types/src/sheet/NamedCellRange.d.ts +2 -2
  363. package/types/src/sheet/NamedRange.d.ts +2 -2
  364. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  365. package/types/src/sheet/SheetCell.d.ts +24 -27
  366. package/types/src/sheet/SheetRange.d.ts +42 -11
  367. package/types/src/sheet/SheetRanges.d.ts +12 -10
  368. package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +510 -144
  369. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  370. package/types/src/sheet/_Anomalies.d.ts +109 -0
  371. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  372. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  373. package/types/src/sheet/_CellBuffer.d.ts +11 -1
  374. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  375. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  376. package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
  377. package/types/src/sheet/_Kinds.d.ts +34 -0
  378. package/types/src/sheet/_Labels.d.ts +38 -0
  379. package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
  380. package/types/src/sheet/_ScalarListFactory.d.ts +1 -1
  381. package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
  382. package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
  383. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  384. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  385. package/types/src/sheet/_SheetEvents.d.ts +1 -1
  386. package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
  387. package/types/src/sheet/_SheetIntents.d.ts +32 -14
  388. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  389. package/types/src/sheet/_SheetMutations.d.ts +7 -8
  390. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  391. package/types/src/sheet/_SheetStateReader.d.ts +18 -0
  392. package/types/src/sheet/_SheetStateTypes.d.ts +60 -1
  393. package/types/src/sheet/_SheetUtils.d.ts +20 -19
  394. package/types/src/sheet/_WatchAnchor.d.ts +15 -2
  395. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  396. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  397. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  398. package/types/src/sheet/index.d.ts +5 -2
  399. package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
  400. package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
  401. package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
  402. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  403. package/types/src/sheet/style/_Resolvers.d.ts +3 -2
  404. package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
  405. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
  406. package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
  407. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  408. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  409. package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
  410. package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
  411. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
  412. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  413. package/types/src/sheetProtection/index.d.ts +1 -1
  414. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
  415. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  416. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  417. package/types/src/sheetView/index.d.ts +1 -1
  418. package/types/src/slicer/ISlicer.d.ts +2 -2
  419. package/types/src/sort/ISort.d.ts +35 -5
  420. package/types/src/style/ICellStyle.d.ts +56 -44
  421. package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
  422. package/types/src/table/AnchoredTable.d.ts +23 -7
  423. package/types/src/table/AutoTable.d.ts +1 -1
  424. package/types/src/table/ITable.d.ts +32 -19
  425. package/types/src/table/_NamedTable.d.ts +3 -3
  426. package/types/src/table/_NamedTableSource.d.ts +2 -2
  427. package/types/src/text/IText.d.ts +4 -51
  428. package/types/src/text/TextEngine.d.ts +34 -0
  429. package/types/src/text/TextFrame.d.ts +4 -2
  430. package/types/src/text/TextRun.d.ts +3 -2
  431. package/types/src/text/TextWrapper.d.ts +32 -26
  432. package/types/src/text/_TextUtils.d.ts +5 -5
  433. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  434. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  435. package/types/src/text/richtext/IRichText.d.ts +16 -2
  436. package/types/src/text/richtext/index.d.ts +0 -1
  437. package/types/src/theme/ITheme.d.ts +108 -7
  438. package/types/src/theme/ThemeCollection.d.ts +5 -0
  439. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  440. package/types/src/transaction/ITransaction.d.ts +20 -1
  441. package/types/src/transaction/Transaction.d.ts +8 -1
  442. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  443. package/types/src/type/AbstractCollection.d.ts +4 -13
  444. package/types/src/type/ICollection.d.ts +17 -4
  445. package/types/src/type/IProperties.d.ts +1 -1
  446. package/types/src/utils/_CSSUtils.d.ts +1 -1
  447. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  448. package/types/src/wasm/_sdkWasm.d.ts +1 -1
  449. package/types/src/wasm/fontsWasm.d.ts +32 -0
  450. package/types/src/wasm/index.d.ts +1 -0
  451. package/types/src/wasm/loader.browser.d.ts +9 -0
  452. package/types/src/wasm/loader.node.d.ts +9 -0
  453. package/types/src/wasm/sdkWasm.d.ts +6 -3
  454. package/types/src/workbook/IWorkbook.d.ts +229 -38
  455. package/types/src/workbook/Workbook.d.ts +77 -22
  456. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  457. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  458. package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
  459. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  460. package/types/src/workbookView/IWorkbookView.d.ts +82 -0
  461. package/types/src/workbookView/WorkbookView.d.ts +21 -0
  462. package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
  463. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
  464. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
  465. package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
  466. package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
  467. package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
  468. package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
  469. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
  470. package/types/src/chart/_ChartXml.d.ts +0 -70
  471. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
  472. package/types/src/collections/_RangeSweep.d.ts +0 -97
  473. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  474. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  475. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  476. package/types/src/print/IPrint.d.ts +0 -212
  477. package/types/src/sheet/SheetCollection.d.ts +0 -29
  478. package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
  479. package/types/src/sheetView/SheetView.d.ts +0 -122
  480. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
@@ -0,0 +1,1695 @@
1
+ /**
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.11
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ import { $n as e, An as t, En as n, Gr as r, Ht as i, Nt as a, On as o, Pt as s, Qn as c, St as l, Vn as u, Wn as d, Zr as f, _ as p, ar as m, dr as h, f as g, fn as _, h as v, jt as y, kn as b, lr as x, mi as S, n as ee, ni as C, or as w, p as te, s as T, tr as E, u as D, ur as ne } from "./C16ycKja6zG0crV_.mjs";
8
+ import { Qt as re } from "./CV5EGEjG5_-CPpP0.mjs";
9
+ import { FormulaError as O, Scalar as k, ScalarType as A, ValueKind as j, isLazyValue as ie } from "@sheetxl/primitives";
10
+ import { CommonUtils as M } from "@sheetxl/utils";
11
+ var ae = (e, t) => e + t, oe = (e, t) => e - t, se = (e, t) => l(e + t, e), ce = (e, t) => l(e - t, e), le = (e, t) => g(e * t), ue = (e, t) => t === 0 ? O.BuiltIn.Div0 : g(e / t), de = (e, t) => {
12
+ if (e === 0) {
13
+ if (t < 0) return O.BuiltIn.Div0;
14
+ if (t === 0) return NaN;
15
+ }
16
+ if (e < 0) {
17
+ if (Number.isInteger(t) && Math.abs(t) <= 4294967294) return g(e ** t);
18
+ let n = Number((1 / t).toPrecision(15));
19
+ return Number.isInteger(n) && Math.abs(n % 2) === 1 ? g(-((-e) ** t)) : NaN;
20
+ }
21
+ return g(e ** t);
22
+ }, fe = (e = "", t = "") => {
23
+ e === null && (e = ""), t === null && (t = "");
24
+ let n = typeof t;
25
+ typeof e == "boolean" && (e = S(e)), n === "boolean" && (t = S(t));
26
+ let r = "" + e + t;
27
+ return r.length > k.MAX_TEXT_LENGTH ? r.slice(0, k.MAX_TEXT_LENGTH) : r;
28
+ }, pe = (e, t = null, n = null) => e.compare(t, n) === 0, me = (e, t = null, n = null) => e.compare(t, n) !== 0, he = (e, t = null, n = null) => e.compare(t, n) > 0, ge = (e, t = null, n = null) => e.compare(t, n) >= 0, _e = (e, t = null, n = null) => e.compare(t, n) < 0, ve = (e, t = null, n = null) => e.compare(t, n) <= 0, N = {
29
+ type: A.Number,
30
+ coerce: [A.Boolean, A.String],
31
+ onError: "value",
32
+ misalignValue: O.BuiltIn.NA
33
+ }, ye = {
34
+ type: A.String,
35
+ coerce: [A.Boolean, A.Number],
36
+ onError: "value",
37
+ misalignValue: O.BuiltIn.NA
38
+ }, be = {
39
+ onError: "value",
40
+ misalignValue: O.BuiltIn.NA
41
+ }, P = (e) => typeof e == "object" && e && !0 === e.isIReferenceRange && e.size === 1 ? e.getValueAt(0, 0) ?? null : e, F = (e, t, n, r) => {
42
+ if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
43
+ if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
44
+ if (t = P(t), n = P(n), typeof t == "number" && typeof n == "number") return r(t, n);
45
+ let i, a;
46
+ if (t?.isIRange ? i = t : n?.isIRange && (a = n), !i && !a) {
47
+ let i = e.getRuntime();
48
+ return t = T(i, t, p(t, !0), A.Number, !0), n = T(i, n, p(n, !0), A.Number, !0), t && O.isError(t) ? t : n && O.isError(n) ? n : r(t, n);
49
+ }
50
+ let o = !i, s = o ? t : n;
51
+ return (i ?? a).broadcast(s, (t, n) => t && O.isError(t) ? t : n && O.isError(n) ? n : v(o ? r(n, t) : r(t, n), e), N).fillEmpty(0);
52
+ }, I = (e, t, n, r) => {
53
+ if (_(t) || _(n) || ie(t) || ie(n)) return O.BuiltIn.Value;
54
+ if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
55
+ if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
56
+ let i, a;
57
+ t = P(t), n = P(n);
58
+ let o = !1;
59
+ return t?.isIRange ? (i = t, a = n) : n?.isIRange && (i = n, a = t, o = !0), i ? i.broadcast(a, (t, n) => t && O.isError(t) ? t : n && O.isError(n) ? n : (t = L(t), n = L(n), o ? r(e, n, t) : r(e, t, n)), be) : O.isError(t) ? t : O.isError(n) ? n : r(e, L(t), L(n));
60
+ }, L = (e) => !0 === e?.isIRichData ? e.toPrimitive?.() ?? e : e, R = (e, t, n) => {
61
+ if (n ??= 0, n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
62
+ n = P(n);
63
+ let r, i = 1;
64
+ if (t === "+") return n;
65
+ if (t !== "-") throw new O.Value(`Unrecognized prefix: ${t}`);
66
+ if (i = -i, n?.isIRange && (r = n), !r) {
67
+ let t = e.getRuntime();
68
+ return typeof (n = T(t, n, p(n, !0), A.Number, !0)) == "number" ? n * i : O.BuiltIn.Value;
69
+ }
70
+ return r.broadcast(i, (e, t) => e && O.isError(e) ? e : t && O.isError(t) ? t : le(e, t), N);
71
+ }, z = (e) => e.getCode() <= O.Code.NA ? e : O.BuiltIn.Value, B = (e, t, n, r, i) => {
72
+ if (O.isError(t)) return z(t);
73
+ if (n && O.isError(n)) return z(n);
74
+ if (!t) return O.BuiltIn.Ref;
75
+ if (t.isIReferenceRange && n && !n.isIReferenceRange ? n = e.getReference(n) : n && n.isIReferenceRange && t && !t.isIReferenceRange && (t = e.getReference(t)), t.isIReferenceRange && (t = t.getCoords()), t.colStart === void 0 || (n.isIReferenceRange && (n = n.getCoords()), n.colStart === void 0)) return O.BuiltIn.Value;
76
+ let a = t.scope ? i !== "either" || n.scope ? null : t : n;
77
+ if (a?.scope) {
78
+ let t = e.getReference(a);
79
+ if (O.isError(t)) return t;
80
+ if (e.getSheetIndex() !== e.getSheetIndex(t)) return O.BuiltIn.Value;
81
+ }
82
+ let o = r(t, n);
83
+ return O.isError(o) ? o : o ? e.getReference(o) : O.BuiltIn.Null;
84
+ }, xe = {
85
+ "+": (e, t, n) => F(e, t, n, ae),
86
+ "-": (e, t, n) => F(e, t, n, oe),
87
+ "*": (e, t, n) => F(e, t, n, le),
88
+ "/": (e, t, n) => F(e, t, n, ue),
89
+ "^": (e, t, n) => F(e, t, n, de),
90
+ " ": (e, t, n, i) => B(e, t, n, r, "either"),
91
+ ":": (e, t, n, r) => B(e, t, n, C, "start"),
92
+ ".:.": (e, t, n, r) => {
93
+ let i = B(e, t, n, C, "start");
94
+ return e.getFunction("TRIMRANGE").execute(i, 3, 3);
95
+ },
96
+ ".:": (e, t, n, r) => {
97
+ let i = B(e, t, n, C, "start");
98
+ return e.getFunction("TRIMRANGE").execute(i, 1, 1);
99
+ },
100
+ ":.": (e, t, n, r) => {
101
+ let i = B(e, t, n, C, "start");
102
+ return e.getFunction("TRIMRANGE").execute(i, 2, 2);
103
+ },
104
+ "&": (e, t, n) => ((e, t, n, r) => {
105
+ if (t !== null && t.colStart !== void 0 && (t = e.getValueAt(t.rowStart, t.colStart, t.scope)) && O.isError(t)) return t;
106
+ if (n !== null && n.colStart !== void 0 && (n = e.getValueAt(n.rowStart, n.colStart, n.scope)) && O.isError(n)) return n;
107
+ if (t = P(t), n = P(n), typeof t == "string" && typeof n == "string") return r(t, n);
108
+ let i, a;
109
+ if (t?.isIRange ? i = t : n?.isIRange && (a = n), !i && !a) {
110
+ let i = e.getRuntime();
111
+ return t = T(i, t, p(t, !0), A.String, !1), n = T(i, n, p(n, !0), A.String, !1), O.isError(t) ? t : O.isError(n) ? n : r(t, n);
112
+ }
113
+ let o = !i, s = o ? t : n;
114
+ return (i ?? a).broadcast(s, (e, t) => e && O.isError(e) ? e : t && O.isError(t) ? t : o ? r(t, e) : r(e, t), ye);
115
+ })(e, t, n, fe),
116
+ "=": (e, t, n) => I(e, t, n, pe),
117
+ "<>": (e, t, n) => I(e, t, n, me),
118
+ ">": (e, t, n) => I(e, t, n, he),
119
+ "<": (e, t, n) => I(e, t, n, _e),
120
+ ">=": (e, t, n) => I(e, t, n, ge),
121
+ "<=": (e, t, n) => I(e, t, n, ve)
122
+ }, Se = {
123
+ "+": (e, t, n) => F(e, t, n, se),
124
+ "-": (e, t, n) => F(e, t, n, ce)
125
+ }, Ce = {
126
+ "-": (e, t) => R(e, "-", t),
127
+ "+": (e, t) => R(e, "+", t),
128
+ "@": (e, t) => {
129
+ if (!t || !t.isIRange) return t;
130
+ let n = t;
131
+ if (!t.isIReferenceRange) return n.getValueAt(0, 0);
132
+ let r = t.getCoords(), i = n.getRowCount(), a = n.getColumnCount(), o = e.getRow() - r.rowStart, s = e.getColumn() - r.colStart, c = o >= 0 && o < i, l = s >= 0 && s < a;
133
+ return c && l ? n.getValueAt(o, s) : c && a === 1 ? n.getValueAt(o, 0) : l && i === 1 ? n.getValueAt(0, s) : i === 1 && a === 1 ? n.getValueAt(0, 0) : O.BuiltIn.Value;
134
+ }
135
+ }, we = {
136
+ "%": (e, t) => F(e, t, 100, ue),
137
+ "#": (e, t) => O.isError(t) ? z(t) : t ? (t.isIReferenceRange && (t = t.getCoords()), t.colStart === void 0 ? O.BuiltIn.Value : t.rowStart !== t.rowEnd || t.colStart !== t.colEnd ? O.BuiltIn.Ref : e.getSpillAt(t.rowStart, t.colStart, t.scope) || O.BuiltIn.Ref) : O.BuiltIn.Ref
138
+ };
139
+ function V(e, t) {
140
+ for (let n = e.length - 1; n >= 0; n--) if (e[n].type === t) return e[n];
141
+ }
142
+ var Te = class {
143
+ constructor() {
144
+ this.referenceIndices = [], this.rootReferences = /* @__PURE__ */ new Set(), this.cells = /* @__PURE__ */ new Map(), this.references = /* @__PURE__ */ new Map(), this.names = /* @__PURE__ */ new Map();
145
+ }
146
+ processNode(e, t) {
147
+ let n = e.type;
148
+ if (e.isReference) {
149
+ let t = {
150
+ node: e,
151
+ index: this.references.size,
152
+ op: null,
153
+ value: null,
154
+ inputs: null
155
+ };
156
+ if (this.references.set(e, t), n === h.Cell) {
157
+ let n = e.value;
158
+ n.$colIndex && (t.hasHorizontalAbs = !0), n.$rowIndex && (t.hasVerticalAbs = !0), t.value = this.cells.size, this.cells.set(e, this.cells.size), this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, this.referenceIndices.push(t.index);
159
+ return;
160
+ }
161
+ if (n === h.Infix || n === h.Prefix || n === h.Postfix || n === h.List) {
162
+ let n = e.inputs || [], r = n.length, i = e.value;
163
+ t.op = i;
164
+ let a = D(r);
165
+ t.inputs = a;
166
+ for (let e = 0; e < r; e++) {
167
+ let r = n[e], i = this.references.get(r);
168
+ i ? (i.hasHorizontalAbs && (t.hasHorizontalAbs = !0), i.hasVerticalAbs && (t.hasVerticalAbs = !0), a[e] = i.index) : a[e] = -1, i && this.rootReferences.delete(i);
169
+ }
170
+ if (this.rootReferences.add(t), et.includes(i)) {
171
+ let r = n[0], i = !!r && r.type === h.Cell, a = n[1], o = !!a && a.type === h.Cell;
172
+ i && o && a.referenceIndex !== void 0 && r.referenceIndex !== void 0 && (this.referenceIndices.splice(a.referenceIndex, 1), a.referenceIndex = r.referenceIndex, e.referenceIndex = r.referenceIndex, this.referenceIndices[r.referenceIndex] = t.index);
173
+ } else i === "#" && n[0] && (e.referenceIndex = n[0].referenceIndex);
174
+ return;
175
+ }
176
+ if (n === h.Error || n === h.Named) {
177
+ let r = n === h.Named ? e.value.nameId : c(e.value), i = this.names.get(r);
178
+ t.op = n, i === void 0 && (i = this.names.size, this.names.set(r, i)), t.value = i, this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, this.referenceIndices.push(t.index);
179
+ return;
180
+ }
181
+ if (n === h.TableReference) return t.op = n, this.rootReferences.add(t), e.referenceIndex = this.referenceIndices.length, void this.referenceIndices.push(t.index);
182
+ } else if (t && t.isReference) {
183
+ let t = {
184
+ node: e,
185
+ index: this.references.size,
186
+ op: h.Function,
187
+ value: e.value,
188
+ inputs: null
189
+ };
190
+ this.references.set(e, t);
191
+ }
192
+ }
193
+ };
194
+ function H(t, r = !1, i = x) {
195
+ let a = [], s = /* @__PURE__ */ new Set(), c = (t, n, i) => {
196
+ let o = {
197
+ type: t.type,
198
+ value: t.type === h.Error ? e(t.value) : t.value
199
+ };
200
+ t.image !== void 0 && (o.text = ((e) => {
201
+ let t = r ? e.value?.scopeImage : void 0;
202
+ return typeof t == "string" ? t : "";
203
+ })(t) + t.image);
204
+ let c = t.evalIndex ?? i;
205
+ return c !== void 0 && (o.evalIndex = c), n && (o.context = n), t.referenceIndex !== void 0 && (o.referenceIndex = t.referenceIndex), t.isReference && s.add(o), a.push(o), o;
206
+ }, l = (e, t, n, r, i) => {
207
+ if (t == null || a.length > 1 && e === h.Whitespace && a[a.length - 1].type === h.Whitespace) return;
208
+ let o = {
209
+ type: e,
210
+ value: t,
211
+ text: i ?? t
212
+ };
213
+ r !== void 0 && (o.evalIndex = r), n && (o.context = n), a.push(o);
214
+ };
215
+ (function e(t, u, d) {
216
+ let f = t.evalIndex ?? d ?? 0, p = t.type, m = (t, n, r) => {
217
+ if (!t) return;
218
+ let a = t.length;
219
+ for (let o = 0; o < a; o++) e(t[o], n, r), o < a - 1 && l(h.Separator, ",", n, r, i.separatorFunction);
220
+ };
221
+ if (t.isLiteral) {
222
+ if (l(h.Whitespace, t.wsBefore, u, f), p === h.Array) {
223
+ l(h.Type, "{", u, f);
224
+ let n = t.value, r = n.length;
225
+ for (let t = 0; t < r; t++) {
226
+ let a = n[t], o = a.value, s = o.length;
227
+ for (let t = 0; t < s; t++) {
228
+ let n = o[t];
229
+ l(h.Whitespace, n.wsBefore, u, f), e(n, u, f), l(h.Whitespace, n.wsAfter, u, f), t < s - 1 && l(h.Separator, ",", u, f, i.separatorColumn);
230
+ }
231
+ t < r - 1 && (l(h.Whitespace, a.wsBefore, u, f), l(h.Separator, ";", u, f, i.separatorRow), l(h.Whitespace, a.wsAfter, u, f));
232
+ }
233
+ t.error || l(h.Type, "}", u, f);
234
+ } else p === h.String && (t = {
235
+ type: p,
236
+ value: "\"" + `${t.value}`.replace(/"/g, "\"\"") + "\"",
237
+ image: t.image
238
+ }), c(t, u, f);
239
+ l(h.Whitespace, t.wsAfter, u, f);
240
+ } else if (p === h.Infix) e(t.inputs[0], u, f), l(h.Whitespace, t.wsBefore, u, f), c(t, u, f), l(h.Whitespace, t.wsAfter, u, f), e(t.inputs[1], u, f);
241
+ else if (p === h.Prefix) l(h.Whitespace, t.wsBefore, u, f), c(t, u, f), l(h.Whitespace, t.wsAfter, u, f), t.inputs && e(t.inputs[0], u, f);
242
+ else if (p === h.Postfix) {
243
+ t.inputs?.[0] && e(t.inputs[0], u, f), l(h.Whitespace, t.wsBefore, u, f);
244
+ let n = c(t, u, f), r = a[a.length - 2];
245
+ t.value === "#" && n.text !== void 0 && !t.wsBefore && s.has(r) && (r.text = (r.text ?? "") + n.text, n.text = ""), l(h.Whitespace, t.wsAfter, u, f);
246
+ } else {
247
+ l(h.Whitespace, t.wsBefore, u, f);
248
+ let d = t.inputs;
249
+ switch (p) {
250
+ case h.Function: {
251
+ let n = String(t.value), r = {
252
+ type: h.Function,
253
+ value: n,
254
+ text: t.image ?? n,
255
+ evalIndex: t.evalIndex
256
+ };
257
+ u && (r.context = u), a.push(r);
258
+ let o = {
259
+ name: n,
260
+ argIndex: -1,
261
+ type: t.binder?.kind ?? "function"
262
+ };
263
+ if (u?.bound && (o.bound = u.bound), l(h.Paren, "(", o, t.evalIndex), d) {
264
+ let n = d.length, r = t.binder?.kind, a = r === "lambda" ? 1 : r === "let" ? 2 : 0, s = o.bound;
265
+ for (let t = 0; t < n; t++) {
266
+ let c = a && t >= a ? d[t - a] : void 0;
267
+ if (c?.binding?.declaration) {
268
+ let e = c.value.nameId, n = r === "let" ? bt(d[t - 1]) : void 0;
269
+ s = yt(s, n ? {
270
+ name: e,
271
+ params: n
272
+ } : { name: e });
273
+ }
274
+ let u = {
275
+ ...o,
276
+ argIndex: t
277
+ };
278
+ s && (u.bound = s), e(d[t], u, f), t < n - 1 && l(h.Separator, ",", u, f, i.separatorFunction);
279
+ }
280
+ }
281
+ t.error || l(h.Paren, ")", o, t.evalIndex);
282
+ break;
283
+ }
284
+ case h.Call: {
285
+ let r = o(t), s = a.length;
286
+ if (r && e(r, u, f), r?.type === h.Named) for (let e = s; e < a.length; e++) {
287
+ let n = a[e];
288
+ n.type !== h.Whitespace && (n.evalIndex = t.evalIndex, n.type === h.Named && (n.type = h.Function, n.value = n.value.name));
289
+ }
290
+ let c = {
291
+ name: r?.type === h.Named ? r.value.nameId : "",
292
+ argIndex: -1,
293
+ type: "function"
294
+ };
295
+ u?.bound && (c.bound = u.bound), l(h.Paren, "(", c, t.evalIndex);
296
+ let d = n(t), p = d.length;
297
+ for (let t = 0; t < p; t++) {
298
+ let n = {
299
+ ...c,
300
+ argIndex: t
301
+ };
302
+ e(d[t], n, f), t < p - 1 && l(h.Separator, ",", n, f, i.separatorFunction);
303
+ }
304
+ t.error || l(h.Paren, ")", c, t.evalIndex);
305
+ break;
306
+ }
307
+ case h.Cell:
308
+ c(t, u, f);
309
+ break;
310
+ case h.Paren:
311
+ l(p, "(", u, f), m(d, u, f), t.error || l(p, ")", u, f);
312
+ break;
313
+ case h.TableReference: {
314
+ let n = t.value?.tableId ?? "", i = {
315
+ name: n,
316
+ argIndex: -1,
317
+ type: "table"
318
+ }, o = a.length, c = t.image, p, m = !1;
319
+ if (n && c) {
320
+ let e = 0;
321
+ if (c.charCodeAt(0) === 91) {
322
+ let t = c.indexOf("]");
323
+ t !== -1 && c.charCodeAt(t + 1) === 33 && (e = t + 2);
324
+ }
325
+ let t = c.indexOf("[", e);
326
+ if (m = t === 0 && d != null, t > 0) p = c.slice(0, t);
327
+ else if (!d) {
328
+ let e = c.lastIndexOf("!");
329
+ p = r || e === -1 ? c : c.slice(e + 1);
330
+ }
331
+ }
332
+ if (!n || m && r || l(h.TableReference, n, u, f, p), d && l(h.Paren, "[", i, f), d) {
333
+ let t = d.length;
334
+ for (let n = 0; n < t; n++) {
335
+ let r = {
336
+ ...i,
337
+ argIndex: n
338
+ };
339
+ e(d[n], r, f), n < t - 1 && l(h.Separator, ",", r, f);
340
+ }
341
+ }
342
+ d && !t.error && l(h.Paren, "]", i, f);
343
+ let g = t.referenceIndex;
344
+ for (let e = o; e < a.length; e++) g !== void 0 && (a[e].referenceIndex = g), s.add(a[e]);
345
+ break;
346
+ }
347
+ case h.TableSpecifier:
348
+ case h.TableColumn: {
349
+ let e = t.image, n = e != null && e.startsWith("[") && e.endsWith("]");
350
+ n && l(h.Paren, "[", u, f);
351
+ let r = {
352
+ table: u?.type === "table" ? u.name : "",
353
+ name: t.value
354
+ }, i = {
355
+ type: p,
356
+ value: r,
357
+ text: n ? e.slice(1, -1) : e ?? r.name
358
+ };
359
+ f !== void 0 && (i.evalIndex = f), u && (i.context = u), a.push(i), n && l(h.Paren, "]", u, f);
360
+ break;
361
+ }
362
+ case h.List:
363
+ m(d, u, f);
364
+ break;
365
+ case h.Named: {
366
+ let e = c(t, u, f), n = t.value;
367
+ e.value = n.scope ? {
368
+ name: n.nameId,
369
+ scope: n.scope
370
+ } : { name: n.nameId }, t.binding?.declaration && t.binding.optional && (e.value.optional = !0), t.binding && (e.type = h.Parameter, t.binding.declaration && (e.value.declaration = !0)), delete e.referenceIndex;
371
+ break;
372
+ }
373
+ default: t.value !== void 0 && c(t, u, f), d && d.forEach((t) => e(t, u, f));
374
+ }
375
+ l(h.Whitespace, t.wsAfter, u, f);
376
+ }
377
+ })(t);
378
+ let u = /* @__PURE__ */ new Map();
379
+ for (let e of a) if (e.type === h.Cell && e.referenceIndex !== void 0) {
380
+ let t = u.get(e.referenceIndex);
381
+ t ? t.push(e) : u.set(e.referenceIndex, [e]);
382
+ }
383
+ for (let e of u.values()) e.length === 1 ? e[0].refSide = "self" : (e[0].refSide = "left", e[e.length - 1].refSide = "right");
384
+ let d = /* @__PURE__ */ new Map();
385
+ for (let e of a) if (e.referenceIndex !== void 0 && e.evalIndex !== void 0) {
386
+ let t = d.get(e.referenceIndex);
387
+ (t === void 0 || e.evalIndex < t) && d.set(e.referenceIndex, e.evalIndex);
388
+ }
389
+ if (d.size > 0) {
390
+ for (let e of a) if (e.referenceIndex !== void 0) {
391
+ let t = d.get(e.referenceIndex);
392
+ t !== void 0 && (e.evalIndex = t);
393
+ }
394
+ }
395
+ return a;
396
+ }
397
+ function Ee(e, t) {
398
+ let n = "";
399
+ for (let r = 0; r < e.length; r++) {
400
+ let a = e[r], o = a.type;
401
+ if (o === h.Cell || o === h.Named || o === h.Error) {
402
+ let e = o === h.Cell ? a.value?.scope : (h.Named, a.value?.scope ?? void 0), r = o === h.Error ? a.text !== void 0 && E(a.text) : a.text?.includes("!") ?? !1;
403
+ if (e && a.text !== void 0 && !r) {
404
+ let r = t?.resolve(i.Sheet, e)?.toString() ?? e;
405
+ n += f(r) + "!" + a.text;
406
+ continue;
407
+ }
408
+ if (o === h.Named) {
409
+ n += a.text ?? a.value?.name ?? "";
410
+ continue;
411
+ }
412
+ }
413
+ if (o === h.Parameter) {
414
+ n += a.text ?? a.value?.name ?? "";
415
+ continue;
416
+ }
417
+ let s = a.text ?? a.value;
418
+ typeof s == "string" && (n += s);
419
+ }
420
+ return n;
421
+ }
422
+ function De(e, t) {
423
+ let n;
424
+ if (w(e, (e) => {
425
+ e.evalIndex === t && (n = e);
426
+ }), !n) return [];
427
+ let r = H(n);
428
+ return r.length > 1 && r[0].type === h.Whitespace && r.shift(), r.length > 1 && r[r.length - 1].type === h.Whitespace && r.pop(), r;
429
+ }
430
+ function Oe(e) {
431
+ return w(e, (e) => {
432
+ if (e.type !== h.TableReference) return;
433
+ let t = function(e) {
434
+ if (e.value !== null && typeof e.value == "object") return e.value;
435
+ let t = e.value, n = e.inputs, r = !1, i = !1, a = !1, o = !1, s = null, c = null, l = !1, u = (e) => {
436
+ e?.type === h.TableColumn && (s = e.value, c = e.value);
437
+ };
438
+ if (n) for (let e of n) {
439
+ let t = e.type;
440
+ if (t === h.TableSpecifier) {
441
+ let t = e.value.toUpperCase().trim();
442
+ t === "#ALL" ? i = !0 : t === "#HEADERS" ? a = !0 : t === "#TOTALS" ? o = !0 : t === "#DATA" ? r = !0 : t !== "@" && t !== "#THIS ROW" || (l = !0);
443
+ } else if (t === h.TableColumn) u(e);
444
+ else if (t === h.Infix && e.value === ":") {
445
+ let t = e.inputs?.[0], n = e.inputs?.[1];
446
+ t?.type === h.TableColumn && (s = t.value), n?.type === h.TableColumn && (c = n.value);
447
+ } else if (t === h.Prefix && e.value === "@") {
448
+ l = !0;
449
+ let t = e.inputs?.[0];
450
+ t?.type === h.Infix && t.value === ":" ? (t.inputs?.[0]?.type === h.TableColumn && (s = t.inputs[0].value), t.inputs?.[1]?.type === h.TableColumn && (c = t.inputs[1].value)) : u(t);
451
+ }
452
+ }
453
+ return {
454
+ tableId: t,
455
+ spec: m(i, a, r, o),
456
+ columnFromId: s,
457
+ columnToId: c,
458
+ isThisRow: l
459
+ };
460
+ }(e);
461
+ return {
462
+ ...e,
463
+ value: t
464
+ };
465
+ });
466
+ }
467
+ function ke(e) {
468
+ return w(e, (e) => {
469
+ if (e.type !== h.TableReference) return;
470
+ let t = e.inputs;
471
+ if (!t || t.findIndex((e) => e.type === h.TableSpecifier && e.value.toUpperCase().trim() === "#THIS ROW") === -1) return;
472
+ let n = [], r;
473
+ for (let e of t) (e.type !== h.TableSpecifier || e.value.toUpperCase().trim() !== "#THIS ROW") && (e.type !== h.TableColumn && (e.type !== h.Infix || e.value !== ":") || r ? n.push(e) : r = e);
474
+ if (!r) return n.push({
475
+ type: h.Prefix,
476
+ value: "@",
477
+ inputs: null,
478
+ isReference: !0
479
+ }), {
480
+ ...e,
481
+ inputs: n
482
+ };
483
+ let i = r.image ?? r.value, a = i.startsWith("[") && i.endsWith("]") ? {
484
+ ...r,
485
+ image: i.slice(1, -1)
486
+ } : r;
487
+ return n.push(d("@", a, !0)), {
488
+ ...e,
489
+ inputs: n
490
+ };
491
+ });
492
+ }
493
+ function Ae(e) {
494
+ return w(e, (e) => {
495
+ if (e.type !== h.TableReference || e.inputs?.length !== 0 || e.error) return;
496
+ let t = e.value;
497
+ return (typeof t == "string" ? t : t?.tableId) ? {
498
+ ...e,
499
+ inputs: null
500
+ } : void 0;
501
+ });
502
+ }
503
+ function je(e) {
504
+ return w(e, (e) => {
505
+ if (e.type !== h.TableReference || !e.inputs) return;
506
+ let t = e.value, n = typeof t == "string" ? t : t?.tableId, r = e.image;
507
+ if (!n || r?.charCodeAt(0) !== 91) return;
508
+ let i = r.indexOf("]");
509
+ if (i !== -1 && r.charCodeAt(i + 1) === 33) return;
510
+ let a = { ...e };
511
+ return delete a.image, a;
512
+ });
513
+ }
514
+ var Me = (e) => {
515
+ if (e?.type !== h.TableSpecifier) return 4;
516
+ switch (e.value.toUpperCase().trim()) {
517
+ case "#ALL": return 0;
518
+ case "#HEADERS": return 1;
519
+ case "#DATA": return 2;
520
+ case "#TOTALS": return 3;
521
+ default: return 4;
522
+ }
523
+ };
524
+ function U(e) {
525
+ return w(e, (e) => {
526
+ if (e.type !== h.TableReference) return;
527
+ let t = e.inputs;
528
+ if (!t || t.length < 2) return;
529
+ let n = t.map((e, t) => ({
530
+ input: e,
531
+ index: t,
532
+ rank: Me(e)
533
+ })).sort((e, t) => e.rank - t.rank || e.index - t.index).map((e) => e.input);
534
+ return n.every((e, n) => e === t[n]) ? void 0 : {
535
+ ...e,
536
+ inputs: n
537
+ };
538
+ });
539
+ }
540
+ function Ne(e) {
541
+ if (!e) return M.EmptyArray;
542
+ let t = M.EmptyArray;
543
+ return w(e, (e) => {
544
+ if (e.type !== h.Named || e.binding) return;
545
+ let n = e.value.nameId;
546
+ n && (t === M.EmptyArray && (t = []), t.includes(n) || t.push(n));
547
+ }), t;
548
+ }
549
+ function Pe(e, t) {
550
+ if (!e) return M.EmptyArray;
551
+ let n = M.EmptyArray;
552
+ return w(e, (e, r, i) => {
553
+ if (!e.isReference || r?.isReference) return;
554
+ let a = e.type;
555
+ if (a === h.Named || a === h.Error || a === h.TableReference || V(i, h.TableReference)) return;
556
+ let o = function(e) {
557
+ let t = e;
558
+ for (; t;) {
559
+ if (t.referenceIndex !== void 0) return t.referenceIndex;
560
+ if (!t.isReference) return;
561
+ t = t.inputs?.[0];
562
+ }
563
+ }(e);
564
+ o !== void 0 && function(e, t, n) {
565
+ let r = e;
566
+ for (let e = t.length - 1; e >= 0; e--) {
567
+ let i = t[e];
568
+ if (i.type === h.Paren || i.isReference) {
569
+ r = i;
570
+ continue;
571
+ }
572
+ if (i.type !== h.Function) return !0;
573
+ let a = n?.(String(i.value));
574
+ if (!a) return !0;
575
+ let o = i.inputs ? i.inputs.indexOf(r) : -1;
576
+ return (o >= 0 ? W(a.getDeclaration().getParameters(), o) : null)?.getRangeType() !== "p";
577
+ }
578
+ return !0;
579
+ }(e, i, t) && (n === M.EmptyArray && (n = []), n.includes(o) || n.push(o));
580
+ }), n.length > 1 && n.sort((e, t) => e - t), n;
581
+ }
582
+ var Fe = /* @__PURE__ */ new Set(["SUBTOTAL", "AGGREGATE"]);
583
+ function Ie(e, t) {
584
+ if (!e || !t) return !1;
585
+ let n = !1;
586
+ return w(e, (e) => {
587
+ if (n || e.type !== h.Function) return;
588
+ let r = t(e.value)?.getName();
589
+ r && Fe.has(r.toUpperCase()) && (n = !0);
590
+ }), n;
591
+ }
592
+ function Le(e, t) {
593
+ if (!e || !t) return !1;
594
+ let n = !1;
595
+ return w(e, (e) => {
596
+ n || e.type !== h.Function || !0 === t(e.value)?.getDeclaration().getReturnType()?.isVolatile() && (n = !0);
597
+ }), n;
598
+ }
599
+ var Re = Object.freeze({
600
+ value: !1,
601
+ array: !1
602
+ }), ze = (e, t) => {
603
+ let n = function(e, t) {
604
+ if (!e || !t) return Re;
605
+ let n = !1, r = !1;
606
+ return w(e, (e) => {
607
+ if (n) return;
608
+ let i = e.type;
609
+ if (i === h.Named) return void (e.binding === void 0 && (n = !0));
610
+ if (i === h.Prefix) return void (e.value === "@" && (n = !0));
611
+ if (i === h.Call) return void (n = !0);
612
+ if (i !== h.Function || e.binder !== void 0) return;
613
+ let a = t(e.value);
614
+ if (!a) return void (n = !0);
615
+ if (r || !0 !== e.implicitIntersect) return;
616
+ let o = a.getDeclaration().getParameters(), s = e.inputs;
617
+ if (s) for (let e = 0; e < s.length; e++) {
618
+ let n = W(o, e);
619
+ if (n !== null && n.isValueOrRange() && K(s[e], t)) return void (r = !0);
620
+ }
621
+ }), {
622
+ value: !n && !r,
623
+ array: !n
624
+ };
625
+ }(e, t);
626
+ return {
627
+ isBlankCacheable: n.value,
628
+ isBlankCacheableArray: n.array
629
+ };
630
+ }, Be = (e, t) => {
631
+ let n = e.length;
632
+ if (n === 0) return null;
633
+ if (t < n - 1) return e[t];
634
+ let r = e[n - 1], i = r.getRepeatingTypes();
635
+ return i && i.length !== 0 ? i[(t - (n - 1)) % i.length] : t < n ? e[t] : r.isRest() ? r : null;
636
+ };
637
+ function Ve(e) {
638
+ if (!e) return M.EmptyArray;
639
+ let t = M.EmptyArray, n = (e) => {
640
+ e && (t === M.EmptyArray && (t = []), t.includes(e) || t.push(e));
641
+ }, r = (e) => {
642
+ typeof e == "string" && n(s(e)?.bookId);
643
+ };
644
+ return w(e, (e) => {
645
+ if (e.type === h.Named) {
646
+ if (e.binding) return;
647
+ let t = e.value;
648
+ n(t.nameId), r(t.scope);
649
+ } else if (e.type === h.TableReference) {
650
+ let t = e.value;
651
+ n(typeof t == "string" ? t : t?.tableId);
652
+ } else if (e.type === h.Cell) {
653
+ let t = e.value?.scope;
654
+ r(t), y(t) && n(t);
655
+ } else e.type === h.Error && r(e.value?.scope);
656
+ }), t;
657
+ }
658
+ var He = (e, t) => {
659
+ if (!0 === e.lazyArg) return !0;
660
+ if (t?.binder?.kind !== "lambda") return !1;
661
+ let n = t.inputs;
662
+ return n[n.length - 1] === e;
663
+ }, Ue = /* @__PURE__ */ new Set([
664
+ "IF",
665
+ "IFS",
666
+ "SWITCH",
667
+ "CHOOSE",
668
+ "IFERROR",
669
+ "IFNA"
670
+ ]), W = (e, t) => {
671
+ let n = e.length;
672
+ if (n === 0) return null;
673
+ if (t < n) return e[t];
674
+ let r = e[n - 1];
675
+ if (!r.isRest()) return null;
676
+ let i = r.getRepeatingTypes();
677
+ return i && i.length !== 0 ? i[(t - (n - 1)) % i.length] : r;
678
+ }, We = (e) => e.getScalarType() !== null && e.getRangeType() === null && e.getLambda() === null && !e.isValueOrRange(), Ge = (e, t, n) => !(e.isRest() || !We(e) || !K(t, n)) && !(e.isNoLift() && G(t, n)), G = (e, t) => {
679
+ if (!e) return !1;
680
+ let n = e.inputs;
681
+ switch (e.type) {
682
+ case h.Cell:
683
+ case h.Named:
684
+ case h.TableReference: return !0;
685
+ case h.Infix:
686
+ case h.Prefix:
687
+ case h.Postfix: return !0 === e.isReference && e.value !== "@";
688
+ case h.Paren:
689
+ case h.List: return !!n && n.length === 1 && G(n[0], t);
690
+ case h.Function: {
691
+ if (e.binder !== void 0) return !1;
692
+ let r = String(e.value).toUpperCase();
693
+ if (Ue.has(r)) {
694
+ if (!n) return !1;
695
+ for (let e = 0; e < n.length; e++) if (G(n[e], t)) return !0;
696
+ return !1;
697
+ }
698
+ let i = t?.(e.value);
699
+ return !!i && i.getDeclaration().getReturnType().getKind() === j.Reference;
700
+ }
701
+ default: return !1;
702
+ }
703
+ }, Ke = (e, t) => {
704
+ if (!e) return !1;
705
+ for (let n = 0; n < e.length; n++) if (K(e[n], t)) return !0;
706
+ return !1;
707
+ };
708
+ function K(e, t) {
709
+ if (!e) return !1;
710
+ if (e.arrayValued !== void 0) return e.arrayValued;
711
+ let n, r = e.type, i = e.inputs;
712
+ switch (r) {
713
+ case h.Array:
714
+ n = !0;
715
+ break;
716
+ case h.Cell: {
717
+ let t = e.value;
718
+ n = t.rowIndex === -(2 ** 53 - 1) || t.colIndex === -(2 ** 53 - 1);
719
+ break;
720
+ }
721
+ case h.Named:
722
+ case h.Call:
723
+ case h.TableReference:
724
+ n = !0;
725
+ break;
726
+ case h.Infix:
727
+ case h.Prefix:
728
+ case h.Postfix:
729
+ n = e.isReference ? e.value !== "@" : Ke(i, t);
730
+ break;
731
+ case h.Paren:
732
+ case h.List:
733
+ n = !i || i.length !== 1 || K(i[0], t);
734
+ break;
735
+ case h.Function: {
736
+ let r = e.binder;
737
+ if (r !== void 0) {
738
+ n = r.kind === "lambda" || !!i && K(i[i.length - 1], t);
739
+ break;
740
+ }
741
+ let a = String(e.value).toUpperCase();
742
+ if (Ue.has(a)) {
743
+ n = Ke(i, t);
744
+ break;
745
+ }
746
+ if (a === "INDEX") {
747
+ if (n = !1, i) for (let e = 1; e < i.length; e++) {
748
+ let r = i[e];
749
+ if (!r || r.type === h.Empty || r.isLiteral && r.value === 0 || K(r, t)) {
750
+ n = !0;
751
+ break;
752
+ }
753
+ }
754
+ break;
755
+ }
756
+ let o = t?.(e.value);
757
+ if (!o) {
758
+ n = !0;
759
+ break;
760
+ }
761
+ let s = o.getDeclaration().getReturnType(), c = s.getKind();
762
+ n = c === j.Array || c === j.Reference || c === null && s.getRangeType() !== null;
763
+ break;
764
+ }
765
+ default: n = !1;
766
+ }
767
+ return e.arrayValued = n, n;
768
+ }
769
+ function qe(e, t) {
770
+ if (e.firstCell !== void 0) return;
771
+ let n = (e, r) => {
772
+ if (!e) return;
773
+ e.firstCell = r;
774
+ let i = e.inputs;
775
+ if (!i) return;
776
+ let a = e.type;
777
+ if (a === h.Infix || a === h.Prefix || a === h.Postfix) {
778
+ let t = r && !e.isReference;
779
+ for (let e = 0; e < i.length; e++) n(i[e], t);
780
+ } else if (a === h.Paren || a === h.List) {
781
+ let e = r && i.length === 1;
782
+ for (let t = 0; t < i.length; t++) n(i[t], e);
783
+ } else if (a === h.Function) {
784
+ let a = e.binder;
785
+ if (a !== void 0) {
786
+ let e = i.length - 1;
787
+ for (let t = 0; t < i.length; t++) n(i[t], r && a.kind === "let" && t === e);
788
+ return;
789
+ }
790
+ let o = r ? t?.(e.value)?.getDeclaration().getParameters() : null;
791
+ for (let e = 0; e < i.length; e++) {
792
+ let t = o ? W(o, e) : null;
793
+ n(i[e], t !== null && (We(t) || Ze(t)));
794
+ }
795
+ } else for (let e = 0; e < i.length; e++) n(i[e], !1);
796
+ };
797
+ n(e, !0);
798
+ }
799
+ var Je = /* @__PURE__ */ new Set([
800
+ "=",
801
+ "<>",
802
+ "<",
803
+ ">",
804
+ "<=",
805
+ ">="
806
+ ]), Ye = /* @__PURE__ */ new Set(["ROW", "COLUMN"]);
807
+ function Xe(e, n) {
808
+ if (!e || !n) return null;
809
+ let r = (e) => n(e.value)?.getName().toUpperCase() ?? null, i = !1;
810
+ if (w(e, (e) => {
811
+ (e.hasLazyArgs || e.type === h.Call || e.binder !== void 0) && (i = !0);
812
+ }), i) return null;
813
+ let a = (e) => e.type === h.Number, o = (e) => e.type === h.Number || e.type === h.String || e.type === h.Boolean, s = (e) => {
814
+ if (!e) return !1;
815
+ let t = e.inputs;
816
+ switch (e.type) {
817
+ case h.Paren: return t?.length === 1 && s(t[0]);
818
+ case h.Prefix: return (e.value === "-" || e.value === "+") && s(t?.[0]);
819
+ case h.Infix: {
820
+ if (e.value !== "+" && e.value !== "-" && e.value !== "*") return !1;
821
+ let [n, r] = t ?? [];
822
+ return !(!n || !r) && (s(n) && (s(r) || a(r)) || a(n) && s(r));
823
+ }
824
+ case h.Function: {
825
+ let n = r(e);
826
+ if (n !== null && Ye.has(n)) return !t || t.length === 0 || t.length === 1 && t[0]?.type === h.Cell;
827
+ if (n === "MOD" && t?.length === 2) {
828
+ let e = t[1];
829
+ return s(t[0]) && a(e) && e.value !== 0;
830
+ }
831
+ return !1;
832
+ }
833
+ }
834
+ return !1;
835
+ }, c = (e) => {
836
+ if (!e) return !1;
837
+ let t = e.inputs;
838
+ switch (e.type) {
839
+ case h.Paren: return t?.length === 1 && c(t[0]);
840
+ case h.Infix: {
841
+ if (!Je.has(e.value)) return !1;
842
+ let [n, r] = t ?? [];
843
+ return !(!n || !r) && (s(n) && (s(r) || o(r)) || o(n) && s(r));
844
+ }
845
+ case h.Function: {
846
+ let n = r(e);
847
+ if (!t || t.length === 0) return !1;
848
+ if (n === "ISODD" || n === "ISEVEN") return t.length === 1 && s(t[0]);
849
+ if (n === "NOT") return t.length === 1 && c(t[0]);
850
+ if (n === "AND" || n === "OR" || n === "XOR") {
851
+ let e = !1;
852
+ for (let n = 0; n < t.length; n++) {
853
+ let r = t[n];
854
+ if (!r) return !1;
855
+ if (r.type !== h.Boolean) {
856
+ if (!c(r)) return !1;
857
+ e = !0;
858
+ }
859
+ }
860
+ return e;
861
+ }
862
+ return !1;
863
+ }
864
+ }
865
+ return !1;
866
+ }, l = [], u = (e) => {
867
+ if (!e) return;
868
+ if (c(e)) return void l.push(e);
869
+ let t = e.inputs;
870
+ if (t) for (let e = 0; e < t.length; e++) u(t[e]);
871
+ };
872
+ u(e);
873
+ let d = l.length;
874
+ if (d === 0 || d > 4) return null;
875
+ let f = [];
876
+ for (let n = 0; n < 1 << d; n++) {
877
+ let r = (e) => {
878
+ let i = l.indexOf(e);
879
+ if (i !== -1) return t(n & 1 << i ? "TRUE" : "FALSE");
880
+ let a = { ...e };
881
+ return delete a.evalIndex, delete a.firstCell, delete a.inLazy, delete a.lazyArg, delete a.hasLazyArgs, delete a.deferred, e.inputs && (a.inputs = e.inputs.map((e) => e && r(e))), a;
882
+ };
883
+ f.push(r(e));
884
+ }
885
+ return f;
886
+ }
887
+ var Ze = (e) => e.getRangeType() === "*" && e.getLambda() === null && e.getArrayDepth() <= +!!e.isRest();
888
+ function Qe(e, t, n, r = !1, i = null, a = null) {
889
+ let o, s, l = n;
890
+ l = Oe(l), r || (l = ke(l), l = U(l), l = Ae(l), l = je(l)), [o, s] = function(e) {
891
+ let t = /* @__PURE__ */ new Map(), n = 0, r = [e];
892
+ for (; r.length > 0;) {
893
+ let e = r.shift();
894
+ if (t.set(e, {
895
+ ...e,
896
+ evalIndex: n++
897
+ }), e && e.inputs) for (let t of e.inputs) r.push(t);
898
+ }
899
+ return t.forEach((e, n) => {
900
+ n && n.inputs && (e.inputs = n.inputs.map((e) => t.get(e) ?? e));
901
+ }), [t.get(e), n];
902
+ }(l);
903
+ let u = D(s), d = [], f = [], p = new Te(), m, g = !1;
904
+ (function(e, t) {
905
+ if (!e || !t) return;
906
+ let n = (e) => {
907
+ if (!e) return;
908
+ e.inLazy = !0, e.type === h.Named && (e.deferredResolve = !0);
909
+ let t = e.inputs;
910
+ if (t) for (let e = 0; e < t.length; e++) n(t[e]);
911
+ };
912
+ w(e, (e) => {
913
+ if (e.type !== h.Function || e.binder !== void 0) return;
914
+ let r = e.inputs;
915
+ if (!r || r.length === 0) return;
916
+ let i = t(e.value)?.getDeclaration().getParameters();
917
+ if (i) for (let t = 0; t < r.length; t++) {
918
+ let a = r[t];
919
+ a && a.type !== h.Empty && Be(i, t)?.isLazy() && (a.lazyArg = !0, e.hasLazyArgs = !0, n(a));
920
+ }
921
+ });
922
+ })(o, a);
923
+ let _ = (e) => {
924
+ m === void 0 && (m = /* @__PURE__ */ new Map());
925
+ let t = m.get(e);
926
+ return t === void 0 && m.set(e, t = []), t;
927
+ }, v = (e, t) => {
928
+ e === void 0 ? d.push(t) : _(e).push(t);
929
+ }, y = (e) => {
930
+ e?.type !== h.Infix || e.value !== "+" && e.value !== "-" || (e.snapsCancellation = !0);
931
+ };
932
+ o = w(o, (t, n, r) => {
933
+ let i = t.type, a = t.evalIndex;
934
+ if (u[a] = null, i === h.TableColumn || i === h.TableSpecifier || t.isReference && V(r, h.TableReference)) return;
935
+ if (g ||= !Y(t), t.binding?.declaration) return f[t.binding.slot] = -1, void (u[a] = void 0);
936
+ let o = ((e, t, n) => {
937
+ if (He(e, t)) return e;
938
+ for (let e = n.length - 1; e >= 0; e--) if (He(n[e], n[e - 1])) return n[e];
939
+ })(t, n, r);
940
+ o === t && _(t), o !== void 0 && i === h.Named && (t.deferredResolve = !0);
941
+ let s = t.binder;
942
+ if (s && s.kind === "let") {
943
+ let e = t.inputs, n = e?.length ?? 0, r = 0;
944
+ for (let t = 0; t + 1 < n && r < s.slots.length; t += 2) e[t]?.binding?.declaration && (f[s.slots[r++]] = e[t + 1]?.evalIndex ?? -1);
945
+ }
946
+ if ((t.isReference || n && n.isReference) && (p.processNode(t, n), t.isReference)) {
947
+ if (i === h.Named) return void (o !== void 0 && v(o, t));
948
+ if (i === h.Cell || i === h.TableReference || i === h.Error) return;
949
+ if (i === h.Infix || i === h.Prefix || i === h.Postfix || i === h.List) return void v(o, t);
950
+ }
951
+ if (t.isLiteral) {
952
+ if (i !== h.Array) u[a] = t.value;
953
+ else {
954
+ let n = t.value, r = n.length, i = D(r);
955
+ for (let e = 0; e < r; e++) {
956
+ let t = n[e].value, r = t.length, a = D(r);
957
+ for (let e = 0; e < r; e++) {
958
+ let n = t[e], r = null;
959
+ if (n && (r = n.type === h.Error ? c(n.value) : n.value, n.type === h.Prefix)) {
960
+ let e = n.value;
961
+ r = n.inputs[0].value, e === "-" && (r = -r);
962
+ }
963
+ a[e] = r;
964
+ }
965
+ i[e] = a;
966
+ }
967
+ let o = te(i);
968
+ u[a] = new ee(e, o.values, o.coords, void 0, o.isLiteral);
969
+ }
970
+ } else {
971
+ if (i !== h.Empty) return t.binder?.kind === "lambda" && y(t.inputs[t.inputs.length - 1]), v(o, t), t;
972
+ u[a] = void 0;
973
+ }
974
+ }), y(o), m?.forEach((e, t) => {
975
+ t.deferred = e;
976
+ });
977
+ let b = D(p.cells.size);
978
+ p.cells.forEach((e, t) => {
979
+ let n = t.value, r = n.colIndex, i = n.rowIndex, a = n.$colIndex, o = n.$rowIndex, s = {
980
+ colStart: r,
981
+ rowStart: i,
982
+ colEnd: r,
983
+ rowEnd: i,
984
+ $colStart: a,
985
+ $rowStart: o,
986
+ $colEnd: a,
987
+ $rowEnd: o
988
+ };
989
+ r === -(2 ** 53 - 1) && (s.colEnd = 2 ** 53 - 1), i === -(2 ** 53 - 1) && (s.rowEnd = 2 ** 53 - 1), n.scope && (s.scope = n.scope), b[e] = s;
990
+ });
991
+ let S = b.length, C = D(S);
992
+ for (let e = 0; e < S; e++) C[e] = {
993
+ colStart: 0,
994
+ rowStart: 0,
995
+ colEnd: 0,
996
+ rowEnd: 0,
997
+ scope: null
998
+ };
999
+ let T = D(p.references.size);
1000
+ p.references.forEach((e) => {
1001
+ T[e.index] = e;
1002
+ });
1003
+ let E = [];
1004
+ p.rootReferences.forEach((e) => {
1005
+ E.push(e.index);
1006
+ }), function(e, t, n = !1) {
1007
+ if (n) {
1008
+ let t = (e) => {
1009
+ if (!e) return;
1010
+ let n = e.type;
1011
+ n !== h.Function && n !== h.Call || (e.implicitIntersect = !0);
1012
+ let r = e.inputs;
1013
+ if (r) for (let e = 0; e < r.length; e++) t(r[e]);
1014
+ };
1015
+ t(e);
1016
+ return;
1017
+ }
1018
+ let r = (e) => K(e, t), i = (e, n) => {
1019
+ if (!e) return;
1020
+ let a = e.type;
1021
+ a !== h.Function && a !== h.Call || (e.implicitIntersect = n);
1022
+ let o = e.inputs;
1023
+ if (o) {
1024
+ if (a === h.Infix || a === h.Prefix || a === h.Postfix) {
1025
+ let t = !e.isReference;
1026
+ for (let e = 0; e < o.length; e++) i(o[e], (!t || !r(o[e])) && n);
1027
+ return;
1028
+ }
1029
+ if (a === h.Function) {
1030
+ let r = e.binder;
1031
+ if (r !== void 0) {
1032
+ let e = r.kind !== "lambda" && n;
1033
+ for (let t = 0; t < o.length; t++) i(o[t], e);
1034
+ return;
1035
+ }
1036
+ let a = t?.(e.value)?.getDeclaration().getParameters(), s = !1;
1037
+ if (a) for (let e = 0; e < o.length && !s; e++) {
1038
+ let n = o[e];
1039
+ if (!n) continue;
1040
+ let r = W(a, e);
1041
+ r && Ge(r, n, t) && (s = !0);
1042
+ }
1043
+ s && (e.implicitIntersect = !1);
1044
+ for (let e = 0; e < o.length; e++) i(o[e], !s && n);
1045
+ return;
1046
+ }
1047
+ for (let e = 0; e < o.length; e++) i(o[e], n);
1048
+ }
1049
+ };
1050
+ i(e, !r(e));
1051
+ }(o, a, !0 === n.legacyIntersect);
1052
+ let O = (e) => {
1053
+ let t = e.length;
1054
+ for (let n = 0; n < t; n++) {
1055
+ let t = e[n], r = t.type;
1056
+ if (r === h.Infix) {
1057
+ if (!0 === t.snapsCancellation) {
1058
+ t.fn = Se[t.value];
1059
+ continue;
1060
+ }
1061
+ t.fn = xe[t.value];
1062
+ } else r === h.Prefix ? t.fn = Ce[t.value] : r === h.Postfix && (t.fn = we[t.value]);
1063
+ }
1064
+ }, k;
1065
+ O(d), m?.forEach(O);
1066
+ let A = r ? ne(re(e.getLocale()).decimal) : x, j = {
1067
+ runtime: e,
1068
+ symbols: t,
1069
+ getFunction: a,
1070
+ ast: o,
1071
+ evaluations: u,
1072
+ executions: d,
1073
+ bindings: f,
1074
+ referencesAbsolute: C,
1075
+ referencesExecute: T,
1076
+ referencesRelative: b,
1077
+ referencesRoot: E,
1078
+ referenceIndices: p.referenceIndices,
1079
+ formatReferenceIndices: Pe(o, a),
1080
+ getTokens: () => k ??= H(o, r, A),
1081
+ namedIds: Ne(o),
1082
+ symbolIds: Ve(o),
1083
+ hasTotals: Ie(o, a),
1084
+ hasVolatile: Le(o, a),
1085
+ ...ze(o, a),
1086
+ isReferenceOnly: !g,
1087
+ error: i,
1088
+ transform: (n) => {
1089
+ let s = w(o, n);
1090
+ return s === o ? j : Qe(e, t, s, r, i, a);
1091
+ }
1092
+ };
1093
+ return j;
1094
+ }
1095
+ function $e(e) {
1096
+ let t = -1, n = -1;
1097
+ return Number.isSafeInteger(e.previousToken?.startLine) ? (t = e.previousToken.startLine, n = e.previousToken.endColumn + 1) : Number.isSafeInteger(e.token?.startLine) && (t = e.token.startLine, n = e.token.startColumn), t === -1 ? new O.Parse(e.message, { cause: e }) : (e.errorLocation = {
1098
+ line: t,
1099
+ column: n
1100
+ }, new O.Parse(e.message, {
1101
+ line: t,
1102
+ column: n,
1103
+ cause: e
1104
+ }));
1105
+ }
1106
+ Object.freeze([
1107
+ [
1108
+ ":",
1109
+ ".:.",
1110
+ ".:",
1111
+ ":."
1112
+ ],
1113
+ ["^"],
1114
+ ["*", "/"],
1115
+ ["+", "-"],
1116
+ ["&"],
1117
+ [
1118
+ "<",
1119
+ ">",
1120
+ "=",
1121
+ "<>",
1122
+ "<=",
1123
+ ">="
1124
+ ]
1125
+ ]);
1126
+ var et = Object.freeze([
1127
+ ":",
1128
+ ".:.",
1129
+ ".:",
1130
+ ":."
1131
+ ]), q = Object.freeze([
1132
+ ":",
1133
+ " ",
1134
+ ".:.",
1135
+ ".:",
1136
+ ":."
1137
+ ]), tt = Object.freeze(["@"]), J = Object.freeze(["#"]), nt = Object.freeze(q.concat(J)), Y = (Object.freeze(q.concat(tt).concat(J)), (e) => {
1138
+ if (!e) return !1;
1139
+ let t = e.type;
1140
+ if (t === h.Cell || t === h.TableReference) return !0;
1141
+ if (t === h.Infix) {
1142
+ if (!q.includes(e.value)) return !1;
1143
+ let t = e.inputs, n = t[0], r = t[1];
1144
+ return Y(n) && Y(r);
1145
+ }
1146
+ return t === h.List && (e.inputs?.every(Y) ?? !1);
1147
+ }), rt = (e) => !!e && (!(e.type !== h.Infix || !nt.includes(e.value)) || !(e.type !== h.Postfix || !J.includes(e.value)) || e.type === h.Array || e.type === h.TableReference), it = Object.freeze([
1148
+ "+",
1149
+ "-",
1150
+ "*",
1151
+ "/",
1152
+ "^",
1153
+ "&",
1154
+ "=",
1155
+ "<>",
1156
+ ">",
1157
+ "<",
1158
+ ">=",
1159
+ "<="
1160
+ ]), at = Object.freeze(["-", "+"]), X = (e, t) => {
1161
+ if (!e) return !1;
1162
+ let n = e.type;
1163
+ if (e.isLiteral) return n !== h.Error;
1164
+ if (n === h.Paren || n === h.List) {
1165
+ let n = e.inputs;
1166
+ return !(!n || n.length === 0) && n.every((e) => X(e, t));
1167
+ }
1168
+ if (n === h.Infix) return it.includes(e.value);
1169
+ if (n === h.Prefix) return at.includes(e.value);
1170
+ if (n === h.Postfix) return e.value === "%";
1171
+ if (n === h.Function) {
1172
+ if (!t) return !1;
1173
+ let n = t(e.value);
1174
+ if (!n) return !1;
1175
+ let r = n.getDeclaration().getReturnType(), i = r.getRangeType();
1176
+ return i !== "p" && (i !== null || r.getLambda() === null && r.getScalarType() != null);
1177
+ }
1178
+ return !1;
1179
+ }, ot = (e, t) => {
1180
+ if (!e) return null;
1181
+ let n = null, r = (e) => {
1182
+ if (n || !e) return;
1183
+ if (e.type === h.Infix && e.value === " ") {
1184
+ let r = e.inputs, i = r?.[0], a = r?.[1];
1185
+ if (X(i, t)) return void (n = i);
1186
+ if (X(a, t)) return void (n = a);
1187
+ }
1188
+ let i = e.inputs;
1189
+ if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
1190
+ };
1191
+ return r(e), n;
1192
+ }, st = (e, t) => {
1193
+ if (!e) return null;
1194
+ let n = null, r = (e) => {
1195
+ if (n || !e) return;
1196
+ if (e.type === h.Postfix && e.value === "#") {
1197
+ let r = e.inputs?.[0];
1198
+ if (r && X(r, t)) return void (n = r);
1199
+ }
1200
+ let i = e.inputs;
1201
+ if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
1202
+ };
1203
+ return r(e), n;
1204
+ }, ct = (e) => {
1205
+ for (let t = 0; t < e.length; t++) if (e[t].getRepeatingTypes()) return t;
1206
+ return -1;
1207
+ }, lt = (e, t, n) => {
1208
+ let r = e[t].getRepeatingTypes(), i = r.length, a = t, o = e.length - t - 1, s = o;
1209
+ for (; s > 0 && e[t + s].isOptional();) s--;
1210
+ let c = +!e[t].isOptional(), l = r[i - 1].isOptional();
1211
+ for (let e = s; e <= o; e++) {
1212
+ let t = n - a - e;
1213
+ if (t >= 0 && t % i === 0 && t / i >= c) return {
1214
+ n: t / i,
1215
+ short: !1,
1216
+ variable: t,
1217
+ period: i,
1218
+ prefix: a,
1219
+ suffix: e
1220
+ };
1221
+ if (l && t === i - 1) return {
1222
+ n: 1,
1223
+ short: !0,
1224
+ variable: t,
1225
+ period: i,
1226
+ prefix: a,
1227
+ suffix: e
1228
+ };
1229
+ }
1230
+ return null;
1231
+ }, ut = (e) => {
1232
+ if (!e) return null;
1233
+ let t = null, n = (e) => {
1234
+ if (t || !e) return;
1235
+ if (e.type === h.Array && Array.isArray(e.value)) {
1236
+ let n = e.value, r = n[0]?.value?.length ?? 0;
1237
+ for (let e = 1; e < n.length && !t; e++) {
1238
+ let i = n[e]?.value?.length ?? 0;
1239
+ i !== r && (t = `Array rows must all be the same length — row ${e + 1} has ${i} value${i === 1 ? "" : "s"}, but row 1 has ${r}.`);
1240
+ }
1241
+ }
1242
+ let r = e.inputs;
1243
+ if (r) for (let e = 0; e < r.length && !t; e++) n(r[e]);
1244
+ };
1245
+ return n(e), t;
1246
+ }, dt = (e, t) => {
1247
+ if (!e || !t) return null;
1248
+ let n = null, r = (e) => {
1249
+ if (n || !e) return;
1250
+ if (e.type === h.Function) {
1251
+ let r = e.value, i = t(r);
1252
+ if (i) {
1253
+ let t = i.getDeclaration(), a = t.getParameters(), o = e.inputs?.length ?? 0, s = t.getMaxArguments();
1254
+ if (o > s) return void (n = `Too many arguments for ${r}. The most it accepts is ${s}, but got ${o}.`);
1255
+ let c = a.length > 0 ? ct(a) : -1, l = a.length > 0 && a[a.length - 1].isRest();
1256
+ if (c >= 0) {
1257
+ if (!lt(a, c, o)) {
1258
+ let e = a[c].getRepeatingTypes().length, t = a.length - 1;
1259
+ n = e === 1 ? `Too few arguments for ${r}. Expected at least ${t + 1}, but got ${o}.` : `Wrong number of arguments for ${r}. Expected ${t} plus a multiple of ${e}, but got ${o}.`;
1260
+ }
1261
+ } else if (!l && o > a.length) n = `Too many arguments for ${r}. Expected ${a.length}, but got ${o}.`;
1262
+ else for (let e = o; e < a.length && !n; e++) {
1263
+ let t = a[e];
1264
+ t.isOptional() || t.isRest() || (n = `Parameter ${t.getName()} is missing for ${r}.`);
1265
+ }
1266
+ }
1267
+ }
1268
+ let i = e.inputs;
1269
+ if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
1270
+ };
1271
+ return r(e), n;
1272
+ }, ft = (e, t) => {
1273
+ if (!e || !t) return null;
1274
+ let n = null, r = (e) => {
1275
+ if (n || !e) return;
1276
+ if (e.type === h.Function) {
1277
+ let r = t(e.value);
1278
+ if (r) {
1279
+ let i = r.getDeclaration().getParameters(), a = e.inputs;
1280
+ if (i.length > 0 && a) {
1281
+ let e = ((e, t) => {
1282
+ let n = Array(t), r = e.length, i = r > 0 ? ct(e) : -1;
1283
+ if (i < 0) {
1284
+ let i = r > 0 ? e[r - 1] : null, a = !!i && i.isRest();
1285
+ for (let o = 0; o < t; o++) n[o] = o < r ? e[o] : a ? i : null;
1286
+ return n;
1287
+ }
1288
+ let a = e[i].getRepeatingTypes(), o = a.length, s = i, c = lt(e, i, t), l = c ? c.suffix : r - i - 1, u = Math.max(0, t - s - l);
1289
+ for (let c = 0; c < t; c++) if (c < s) n[c] = e[c];
1290
+ else if (c < s + u) n[c] = a[(c - s) % o];
1291
+ else {
1292
+ let t = i + 1 + (c - s - u);
1293
+ n[c] = t < r ? e[t] : null;
1294
+ }
1295
+ return n;
1296
+ })(i, a.length);
1297
+ for (let r = 0; r < a.length && !n; r++) {
1298
+ let i = e[r];
1299
+ i && i.getRangeType() === "p" && X(a[r], t) && (n = a[r]);
1300
+ }
1301
+ }
1302
+ }
1303
+ }
1304
+ let i = e.inputs;
1305
+ if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
1306
+ };
1307
+ return r(e), n;
1308
+ }, pt = (e, t) => {
1309
+ if (!e) return null;
1310
+ let n = null, r = (e) => {
1311
+ if (n || !e) return;
1312
+ if (e.type === h.Call) {
1313
+ let r = e.inputs?.[0];
1314
+ if (r && X(r, t)) return void (n = "This expression always produces a value, so it cannot be called as a function.");
1315
+ }
1316
+ let i = e.inputs;
1317
+ if (i) for (let e = 0; e < i.length && !n; e++) r(i[e]);
1318
+ };
1319
+ return r(e), n;
1320
+ }, Z = (e, t) => {
1321
+ if (e.type !== h.Function) return;
1322
+ let n = e.value;
1323
+ if (typeof n != "string") return;
1324
+ let r = (t?.(n)?.getName() ?? n).toUpperCase();
1325
+ return r === "LET" ? "let" : r === "LAMBDA" ? "lambda" : void 0;
1326
+ }, Q = (e) => {
1327
+ if (e?.type !== h.Named) return;
1328
+ let t = e.value;
1329
+ return t?.nameId && !t.scope && !0 !== t.optional ? t.nameId : void 0;
1330
+ }, mt = /^[A-Za-z_\\][A-Za-z0-9_\\]*$/, ht = /* @__PURE__ */ new Set(["TRUE", "FALSE"]), gt = (e) => {
1331
+ if (e?.type === h.Named) {
1332
+ let t = e.value;
1333
+ return !0 !== t?.optional || !t.nameId || t.scope ? void 0 : t.nameId;
1334
+ }
1335
+ if (e?.type !== h.TableReference) return;
1336
+ let t = e.value, n;
1337
+ if (t === null || typeof t == "string") {
1338
+ if (t) return;
1339
+ let r = e.inputs;
1340
+ if (!r || r.length !== 1 || r[0]?.type !== h.TableColumn) return;
1341
+ let i = r[0].value;
1342
+ if (typeof i != "string") return;
1343
+ n = i;
1344
+ } else {
1345
+ let e = t;
1346
+ if (!e || e.tableId !== "" || e.spec !== 0 || !0 === e.isThisRow || !e.columnFromId || e.columnFromId !== e.columnToId) return;
1347
+ n = e.columnFromId;
1348
+ }
1349
+ return mt.test(n) && !ht.has(n.toUpperCase()) && e.image === `[${n}]` ? n : void 0;
1350
+ }, _t = (e) => {
1351
+ let t = u(e.image ?? e.value);
1352
+ t.image = e.image ?? e.value, t.wsBefore = e.wsBefore;
1353
+ let n = {
1354
+ type: h.Call,
1355
+ value: null,
1356
+ inputs: [t, ...e.inputs ?? []],
1357
+ wsAfter: e.wsAfter
1358
+ };
1359
+ return e.error && (n.error = e.error), n;
1360
+ };
1361
+ function vt(e, t) {
1362
+ return e && t ? w(e, (e) => {
1363
+ if (e.type === h.Function && typeof e.value == "string" && !t(e.value)) return _t(e);
1364
+ }) : e;
1365
+ }
1366
+ function yt(e, t) {
1367
+ let n = t.name.toUpperCase(), r = e ? e.filter((e) => e.name.toUpperCase() !== n) : [];
1368
+ return r.push(t), r;
1369
+ }
1370
+ function bt(e) {
1371
+ if (e?.type !== h.Function || e.binder?.kind !== "lambda") return;
1372
+ let t = e.inputs ?? [], n = [];
1373
+ for (let e = 0; e < t.length - 1; e++) {
1374
+ let r = t[e];
1375
+ if (!r?.binding?.declaration) return;
1376
+ let i = r.value.nameId;
1377
+ n.push(r.binding.optional ? {
1378
+ name: i,
1379
+ optional: !0
1380
+ } : { name: i });
1381
+ }
1382
+ return n;
1383
+ }
1384
+ var xt = /* @__PURE__ */ new Set([
1385
+ "IF",
1386
+ "IFERROR",
1387
+ "IFNA"
1388
+ ]);
1389
+ function $(e, t) {
1390
+ if (!e || e.type !== h.Function || typeof e.value != "string") return e;
1391
+ let n = (t?.(e.value)?.getName() ?? e.value).toUpperCase();
1392
+ if (!xt.has(n)) return e;
1393
+ let r = e.inputs, i;
1394
+ if (r) for (let e = 0; e < r.length; e++) {
1395
+ let n = $(r[e], t);
1396
+ n !== r[e] && ((i ??= [...r])[e] = n);
1397
+ }
1398
+ return {
1399
+ ...e,
1400
+ inputs: i ?? r,
1401
+ passOmitted: !0
1402
+ };
1403
+ }
1404
+ function St(e, t = null) {
1405
+ if (!e) return e;
1406
+ let n = [], r = 0, i = (e) => {
1407
+ let t = e.inputs;
1408
+ if (!t) return e;
1409
+ let n;
1410
+ for (let e = 0; e < t.length; e++) {
1411
+ let r = t[e];
1412
+ if (!r) continue;
1413
+ let i = a(r);
1414
+ i !== r && (n ||= [...t], n[e] = i);
1415
+ }
1416
+ return n ? {
1417
+ ...e,
1418
+ inputs: n
1419
+ } : e;
1420
+ }, a = (e) => {
1421
+ if (!e) return e;
1422
+ let o = Z(e, t);
1423
+ if (o) return ((e, o) => {
1424
+ let s = e.inputs, c = s?.length ?? 0;
1425
+ if (!s || c < 1) return i(e);
1426
+ let l = n.length, u = [], d = [...s], f = (e, t = !1) => {
1427
+ let i = d[e], a = Q(i), o = !1;
1428
+ if (a === void 0 && t) {
1429
+ if (a = gt(i), a === void 0) return;
1430
+ o = !0;
1431
+ } else if (a === void 0) return;
1432
+ let s = r++;
1433
+ n.push({
1434
+ key: a.toUpperCase(),
1435
+ slot: s,
1436
+ name: a
1437
+ }), u.push(s), d[e] = o ? {
1438
+ ...i,
1439
+ type: h.Named,
1440
+ value: {
1441
+ nameId: a,
1442
+ scope: null
1443
+ },
1444
+ inputs: null,
1445
+ binding: {
1446
+ slot: s,
1447
+ declaration: !0,
1448
+ optional: !0
1449
+ },
1450
+ isReference: !1
1451
+ } : {
1452
+ ...i,
1453
+ binding: {
1454
+ slot: s,
1455
+ declaration: !0
1456
+ },
1457
+ isReference: !1
1458
+ };
1459
+ };
1460
+ if (o === "lambda") {
1461
+ for (let e = 0; e < c - 1; e++) f(e, !0);
1462
+ d[c - 1] && (d[c - 1] = a(d[c - 1]));
1463
+ } else {
1464
+ for (let e = 0; e + 1 < c; e += 2) d[e + 1] && (d[e + 1] = $(a(d[e + 1]), t)), f(e);
1465
+ c % 2 == 1 && d[c - 1] && (d[c - 1] = a(d[c - 1]));
1466
+ }
1467
+ for (; n.length > l;) n.pop();
1468
+ return {
1469
+ ...e,
1470
+ inputs: d,
1471
+ binder: {
1472
+ kind: o,
1473
+ slots: u
1474
+ }
1475
+ };
1476
+ })(e, o);
1477
+ if (e.type === h.Function && typeof e.value == "string") {
1478
+ let r = e.value.toUpperCase();
1479
+ if (n.some((e) => e.key === r) && !t?.(e.value)) return i(_t(e));
1480
+ }
1481
+ if (n.length > 0 && e.isReference && e.value === ":" && e.inputs?.length === 2) {
1482
+ let [t, r] = e.inputs;
1483
+ if (Ct(t) && Ct(r)) {
1484
+ let a = t.image.toUpperCase(), o = r.image.toUpperCase();
1485
+ if (n.some((e) => e.key === a || e.key === o)) return i({
1486
+ ...e,
1487
+ inputs: [wt(t), wt(r)]
1488
+ });
1489
+ }
1490
+ }
1491
+ if (e.type === h.Named) {
1492
+ let t = Q(e);
1493
+ if (t !== void 0) {
1494
+ let r = t.toUpperCase();
1495
+ for (let i = n.length - 1; i >= 0; i--) {
1496
+ if (n[i].key !== r) continue;
1497
+ let a = {
1498
+ ...e,
1499
+ binding: { slot: n[i].slot },
1500
+ isReference: !1
1501
+ };
1502
+ return t !== n[i].name && (a.value = {
1503
+ ...e.value,
1504
+ nameId: n[i].name
1505
+ }), a;
1506
+ }
1507
+ }
1508
+ return e;
1509
+ }
1510
+ let s = i(e);
1511
+ if (s.type === h.Function && typeof s.value == "string" && (t?.(s.value)?.getName() ?? s.value).toUpperCase() === "ISOMITTED") {
1512
+ let e = s.inputs;
1513
+ if (e) {
1514
+ let n;
1515
+ for (let r = 0; r < e.length; r++) {
1516
+ let i = e[r];
1517
+ if (i?.binding && !i.binding.declaration && !0 !== i.rawFrameRead) {
1518
+ (n ??= [...e])[r] = {
1519
+ ...i,
1520
+ rawFrameRead: !0
1521
+ };
1522
+ continue;
1523
+ }
1524
+ let a = $(i, t);
1525
+ a !== i && ((n ??= [...e])[r] = a);
1526
+ }
1527
+ if (n) return {
1528
+ ...s,
1529
+ inputs: n
1530
+ };
1531
+ }
1532
+ }
1533
+ return s;
1534
+ };
1535
+ return a(e);
1536
+ }
1537
+ var Ct = (e) => {
1538
+ if (e?.type !== h.Cell || e.image === void 0) return !1;
1539
+ let t = e.value;
1540
+ return t.rowIndex === -(2 ** 53 - 1) && !0 !== t.$colIndex && !t.scope;
1541
+ }, wt = (e) => {
1542
+ let t = u(e.image);
1543
+ return b(t, e), t;
1544
+ }, Tt = (e) => e?.type === h.Cell, Et = (e, t = null) => {
1545
+ if (!e) return e;
1546
+ let n = !1, r = (e) => {
1547
+ if (n || !e) return;
1548
+ let i = Z(e, t), a = e.inputs;
1549
+ if (i && a) {
1550
+ let e = i === "let" ? 2 : 1;
1551
+ for (let t = 0; t < a.length - 1; t += e) if (Tt(a[t])) return void (n = !0);
1552
+ }
1553
+ if (a) for (let e = 0; e < a.length && !n; e++) r(a[e]);
1554
+ };
1555
+ if (r(e), !n) return e;
1556
+ let i = null, a = w(e, (e) => {
1557
+ if (e?.type !== h.Cell) return;
1558
+ let t = e.value, n = e.image;
1559
+ if (!0 === t?.$colIndex || !0 === t?.$rowIndex) return void (i ??= `'${n ?? "a reference"}' cannot be absolute here. A LET/LAMBDA name that is a cell reference makes every reference in the formula a name, and a name cannot contain '$'.`);
1560
+ if (n === void 0) return;
1561
+ let r = u(n);
1562
+ b(r, e);
1563
+ let a = t?.scope;
1564
+ return a && (r.value.scope = a, r.value.scopeImage = t.scopeImage), r;
1565
+ });
1566
+ return i ?? a;
1567
+ }, Dt = (e, t) => {
1568
+ if (!e) return null;
1569
+ let n = null, r = (e) => {
1570
+ if (n || !e) return;
1571
+ let i = Z(e, t);
1572
+ i && ((e, t) => {
1573
+ let r = t === "let" ? "LET" : "LAMBDA", i = e.inputs, a = i?.length ?? 0;
1574
+ if (!i || a < 2) return;
1575
+ if (t === "let" && a % 2 == 0) return void (n = `Wrong number of arguments for LET. Expected name/value pairs followed by a calculation, but got ${a}.`);
1576
+ if (t === "lambda" && i[a - 1]?.type === h.Empty) return void (n = "LAMBDA has no calculation: the last argument is empty.");
1577
+ let o = /* @__PURE__ */ new Set(), s = t === "let" ? 2 : 1, c = !1;
1578
+ for (let e = 0; e < a - 1; e += s) {
1579
+ let a = Q(i[e]);
1580
+ if (a === void 0 && t === "lambda") a = gt(i[e]), a !== void 0 && (c = !0);
1581
+ else if (a !== void 0 && c) return void (n = `Required name '${a}' cannot follow an optional name in ${r}.`);
1582
+ if (a === void 0) return void (n = `Expected a name in ${r} argument ${e + 1}; a name cannot be the output of a formula.`);
1583
+ if (a.includes(".")) return void (n = `Expected a name in ${r} argument ${e + 1}; a name cannot contain '.'.`);
1584
+ let s = a.toUpperCase();
1585
+ if (o.has(s)) return void (n = `Duplicate name '${a}' in ${r}.`);
1586
+ o.add(s);
1587
+ }
1588
+ })(e, i);
1589
+ let a = e.inputs;
1590
+ if (a) for (let e = 0; e < a.length && !n; e++) r(a[e]);
1591
+ };
1592
+ return r(e), n;
1593
+ };
1594
+ function Ot(e, t, n, r, o) {
1595
+ let s = r, c, l = () => (c === void 0 && (c = o && n ? t.bind(i.Table, "", { at: {
1596
+ scope: n,
1597
+ rowIndex: o.rowIndex,
1598
+ colIndex: o.colIndex
1599
+ } }) : null), c);
1600
+ return w(e, (e, r, o = []) => {
1601
+ let c, u = e.type;
1602
+ if (u === h.Cell) {
1603
+ let n = e.value;
1604
+ if (n?.scope) {
1605
+ let r = t.bind(i.Sheet, n.scope, s);
1606
+ r !== null && (c ||= { ...e }, c.value = {
1607
+ ...n,
1608
+ scope: r
1609
+ });
1610
+ }
1611
+ } else if (u === h.Named) {
1612
+ let r = e.value;
1613
+ if (r && !e.binding) {
1614
+ let o = function(e, t, n, r) {
1615
+ if (t.scope) {
1616
+ let e = n.bind(i.Sheet, t.scope, r);
1617
+ if (e === null || a(e)) return;
1618
+ }
1619
+ let o = n.bind(i.Table, t.nameId, { existing: !0 });
1620
+ if (o === null) return;
1621
+ let s = {
1622
+ type: h.TableReference,
1623
+ value: o,
1624
+ inputs: null,
1625
+ isReference: !0
1626
+ };
1627
+ b(s, e);
1628
+ let c = t.scopeImage;
1629
+ return typeof c == "string" && e.image !== void 0 && (s.image = c + e.image), s;
1630
+ }(e, r, t, s);
1631
+ if (o) return o;
1632
+ let l = r.scope ? t.bind(i.Sheet, r.scope, s) : null, u = (l === null ? r.scope : a(l) ? l : t.resolve(i.Sheet, l)?.toString() ?? r.scope) ?? n, d = t.bind(i.NamedFormula, r.nameId, u ? { scope: u } : void 0);
1633
+ d === null && l === null || (c ||= { ...e }, c.value = {
1634
+ ...r,
1635
+ nameId: d ?? r.nameId,
1636
+ ...l === null ? void 0 : { scope: l }
1637
+ });
1638
+ }
1639
+ } else if (u === h.Error) {
1640
+ let n = e.value;
1641
+ if (n?.scope) {
1642
+ let r = t.bind(i.Sheet, n.scope, s);
1643
+ r !== null && (c ||= { ...e }, c.value = {
1644
+ ...n,
1645
+ scope: r
1646
+ });
1647
+ }
1648
+ } else if (u === h.TableReference) {
1649
+ let n = e.value;
1650
+ if (n) {
1651
+ let r = t.bind(i.Table, n);
1652
+ c ||= { ...e }, r !== null && (c.value = r);
1653
+ } else if (typeof n == "string") {
1654
+ let n = l();
1655
+ if (n !== null && kt(e, t)) return {
1656
+ ...e,
1657
+ value: n
1658
+ };
1659
+ }
1660
+ } else if (u === h.TableColumn) {
1661
+ let n = e.value;
1662
+ if (n) {
1663
+ let r = V(o, h.TableReference), a = r?.value || (r ? l() ?? void 0 : void 0), s = t.bind(i.TableColumn, n, a ? { tableName: a } : void 0);
1664
+ c ||= { ...e }, s !== null && (c.value = s);
1665
+ }
1666
+ } else if (u === h.Function) {
1667
+ let n = e.value;
1668
+ if (n) {
1669
+ let r = t.bind(i.Function, n);
1670
+ c ||= { ...e }, r !== null && (c.value = r);
1671
+ }
1672
+ }
1673
+ return c;
1674
+ });
1675
+ }
1676
+ function kt(e, t) {
1677
+ let n = !0, r = e.inputs;
1678
+ if (!r) return !0;
1679
+ for (let e = 0; e < r.length && n; e++) w(r[e], (e) => {
1680
+ e.type === h.TableColumn && t.resolve(i.TableColumn, e.value) === null && (n = !1);
1681
+ });
1682
+ return n;
1683
+ }
1684
+ function At(e, t) {
1685
+ let n = null;
1686
+ return w(e, (e) => {
1687
+ if (n || e.type !== h.TableReference) return;
1688
+ if (e.value === "") return void (n = "A structured reference without a table name must be in a table that has its columns.");
1689
+ let r = e.value;
1690
+ if (!t || typeof r != "string") return;
1691
+ let a = t.resolve(i.Table, r)?.toString() ?? r;
1692
+ t.bind(i.Table, a, { existing: !0 }) === null ? n = `There is no table named '${a}'.` : kt(e, t) || (n = "The table has no such column.");
1693
+ }), n;
1694
+ }
1695
+ export { Ce as A, U as C, Ee as D, vt as E, xe as O, et as S, ke as T, rt as _, Qe as a, Xe as b, pt as c, ot as d, At as f, De as g, H as h, Ae as i, Se as j, we as k, ut as l, $e as m, yt as n, dt as o, ft as p, St as r, Dt as s, qe as t, st as u, Ot as v, Et as w, je as x, Oe as y };