@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.
- package/THIRD-PARTY-NOTICES.md +172 -0
- package/browser/esm/{DwwR3O2sEZApPSTF.mjs → -GEhXGMfNcWmHPby.mjs} +3 -3
- package/browser/esm/{DPhGQLNGmDZwODwJ.mjs → 9WXf_BTKjW1cQisZ.mjs} +94 -94
- package/browser/esm/{CRkYR-siY2C994KV.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
- package/browser/esm/{CBYMTDzMf1Vh7pkw.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
- package/browser/esm/{-Jx-jNHmtIQQfLvK.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
- package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
- package/browser/esm/{D64dM68B1pKYFzdP.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
- package/browser/esm/{DobHLF6VjHr7Xi40.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
- package/browser/esm/{CNdjyofiRu6CYOrr.mjs → BVshV1iY3bcUH9_E.mjs} +50 -48
- package/browser/esm/{qO-ujUrgq6H3TQix.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
- package/browser/esm/{C9u8FUewte5ugUjH.mjs → Bax5aOzQkbHKXW_X.mjs} +725 -716
- package/browser/esm/{Tah7cnFb_HNZdLtj.mjs → BiDGKhtzV6yIy66o.mjs} +3 -3
- package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
- package/browser/esm/{DgrAuRD2qr2DvFeJ.mjs → BoAlHgjPQ6mxb_oO.mjs} +44 -44
- package/browser/esm/{CUzYuYTTGsChC_kZ.mjs → C0mjTq8lhrX3HiPa.mjs} +2052 -1583
- package/browser/esm/{w6Jea0TiclPrYZ2M.mjs → C5j0IdwtYkWlOftv.mjs} +509 -509
- package/browser/esm/{hCQJcmIzPDxDEv2q.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
- package/browser/esm/{2mIwPy2D2JUX-9wx.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
- package/browser/esm/{DZiivy0NmO1Vnyzk.mjs → CPzfhTPX2Y4dHX2p.mjs} +2 -2
- package/browser/esm/{fXWUMDhZ5yMSO629.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
- package/browser/esm/{BIHrHjRGWVlJglcp.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
- package/browser/esm/{yuhcOYw6SHQ-RCm3.mjs → Ced5uyofOWHuL_Jy.mjs} +30 -30
- package/browser/esm/{B3wf5vZCsWfWsDbj.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
- package/browser/esm/{DK899HhWX1HINMC1.mjs → CwygVKP_RXmne5Ot.mjs} +25 -25
- package/browser/esm/{BdCJNawfifyPupCP.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
- package/browser/esm/{CwOPLXU3-9ZHGyOT.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
- package/browser/esm/{D9xNz46kAfXMZzp4.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
- package/browser/esm/{D2RZh0O9neOsyLAE.mjs → DW-MmlgMH87l-_cw.mjs} +69 -48
- package/browser/esm/{DwZCT7DZiiXoTweg.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
- package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
- package/browser/esm/{Cxjxk0ncRKx80I-w.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
- package/browser/esm/{BnC4-27Igwb8oDf2.mjs → DkloMquaR1pbZCER.mjs} +44 -43
- package/browser/esm/{BudSIfXBAsTxvu-K.mjs → Dz86-De57bv2VYIi.mjs} +10111 -9269
- package/browser/esm/{BTFBedJMRWGvZyCE.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
- package/browser/esm/{Bt8_m94tBdks209L.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
- package/browser/esm/index.mjs +482 -440
- package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
- package/browser/esm/{CdEO8CEee6lEhabA.mjs → pm00uZZu_H3gxHFx.mjs} +2 -2
- package/browser/esm/{Bg5Di9GLNAkbqQ1P.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
- package/browser/esm/{CndRBvVfQUJIYRRj.mjs → zZngLMg6mg6nnNGX.mjs} +50 -50
- package/licenses/dependencies.txt +71 -1
- package/node/esm/{C14-R6tifRh7pc0p.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
- package/node/esm/{D3ptRKzASqBut1DE.mjs → -b8yNV4v9qiq8EMY.mjs} +2 -2
- package/node/esm/{CBuEu5Jk-LfaDy-H.mjs → 1V-m67YHbxmg3xk2.mjs} +44 -44
- package/node/esm/{DhTya_mhmN53vskv.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
- package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
- package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
- package/node/esm/{Vocy-I9dKzZMr0Ct.mjs → BQ2XqExomMceAjfe.mjs} +10977 -10744
- package/node/esm/{Btw4148Ot8ifhNc1.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
- package/node/esm/{BNXLOEddJ6O9gYws.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
- package/node/esm/{Q_S1g46ZOTrdhTae.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
- package/node/esm/{Ci_zLYmCD7e-C79O.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
- package/node/esm/{DdoiuKg9BKubtF1V.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
- package/node/esm/{C_aL7CGS1lrNn1Ng.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
- package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
- package/node/esm/{C99zzq8DImQXi4BQ.mjs → CWBS90g3Hz-kQDkY.mjs} +10 -10
- package/node/esm/{BskP3b8vUoIOGLY6.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
- package/node/esm/{DhS6yWjrrSNIJMsn.mjs → CzrLqStvrcPE2-hb.mjs} +234 -225
- package/node/esm/{CRt3vXe6YmXzqk3H.mjs → D16EdlZG1hX5WUUK.mjs} +102 -102
- package/node/esm/{DUTmDHbFbhLDT4F3.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
- package/node/esm/{D4ROK9UwDpS6jO3Z.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
- package/node/esm/{icn2nX5Z8e_3mNAv.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
- package/node/esm/{CG-qBU5BAaVz7e-P.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
- package/node/esm/{DrCf6ITcBhVOFpRj.mjs → DF0nL7s01dp7n0Bx.mjs} +7 -7
- package/node/esm/{BL2iiEoqxDEV2Xrg.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
- package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
- package/node/esm/{CiIymQN6aJCul62g.mjs → DR2OQTKqqyIkZnse.mjs} +9 -9
- package/node/esm/{eimUGjiIP-b8HiM6.mjs → DSTLPBgpsGW6qP9e.mjs} +52 -52
- package/node/esm/{DV5CU37aEbFbWFL0.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
- package/node/esm/{C_xf5Bz30VqiJjXn.mjs → DwvXHsycOQR219c7.mjs} +1 -1
- package/node/esm/{B-HUPAcqvK0eeeCz.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
- package/node/esm/{lGJ42sHqg5if2bba.mjs → NkPNHsq2T3DXg76x.mjs} +458 -458
- package/node/esm/{-TA0MneBDKdGhsib.mjs → Nl_IIkO1jbk0s9i-.mjs} +3329 -2852
- package/node/esm/{DxazKtROyaI51dWl.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
- package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
- package/node/esm/{pYtP7wPyS96NQyXS.mjs → Z1elC_roIu7LhceZ.mjs} +25 -25
- package/node/esm/{CkRYLed8Mmn3giNg.mjs → e3F3OVXCxLJrSukW.mjs} +2 -2
- package/node/esm/index.mjs +584 -540
- package/node/esm/{D8hO07ToAibIuniw.mjs → suOBVUz-pca6ilJH.mjs} +138 -136
- package/package.json +8 -6
- package/resources/contents.json +108 -0
- package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-bold.hinted.json +125 -0
- package/resources/fonts/aptos-bold.metrics.json +221 -0
- package/resources/fonts/aptos-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-bold.hinted.json +125 -0
- package/resources/fonts/aptos-display-bold.metrics.json +221 -0
- package/resources/fonts/aptos-display-bold.rows.json +8 -0
- package/resources/fonts/aptos-display-italic.hinted.json +124 -0
- package/resources/fonts/aptos-display-italic.metrics.json +221 -0
- package/resources/fonts/aptos-display-italic.rows.json +8 -0
- package/resources/fonts/aptos-display-regular.hinted.json +125 -0
- package/resources/fonts/aptos-display-regular.metrics.json +221 -0
- package/resources/fonts/aptos-display-regular.rows.json +8 -0
- package/resources/fonts/aptos-italic.hinted.json +125 -0
- package/resources/fonts/aptos-italic.metrics.json +221 -0
- package/resources/fonts/aptos-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
- package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
- package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
- package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
- package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
- package/resources/fonts/aptos-regular.hinted.json +125 -0
- package/resources/fonts/aptos-regular.metrics.json +221 -0
- package/resources/fonts/aptos-regular.rows.json +8 -0
- package/resources/fonts/arial-bold-italic.rows.json +0 -1
- package/resources/fonts/arial-bold.rows.json +0 -1
- package/resources/fonts/arial-italic.rows.json +0 -1
- package/resources/fonts/arial-regular.rows.json +0 -1
- package/resources/fonts/calibri-bold-italic.rows.json +0 -1
- package/resources/fonts/calibri-bold.rows.json +0 -1
- package/resources/fonts/calibri-italic.rows.json +0 -1
- package/resources/fonts/calibri-regular.rows.json +0 -1
- package/resources/fonts/cambria-bold-italic.rows.json +0 -1
- package/resources/fonts/cambria-bold.rows.json +0 -1
- package/resources/fonts/cambria-italic.rows.json +0 -1
- package/resources/fonts/cambria-regular.rows.json +0 -1
- package/resources/fonts/contents.json +240 -0
- package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
- package/resources/fonts/courier-new-bold.rows.json +0 -1
- package/resources/fonts/courier-new-italic.rows.json +0 -1
- package/resources/fonts/courier-new-regular.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-bold.rows.json +0 -1
- package/resources/fonts/times-new-roman-italic.rows.json +0 -1
- package/resources/fonts/times-new-roman-regular.rows.json +0 -1
- package/resources/locales/de/model.msg.json +4 -0
- package/resources/locales/en/model.msg.json +4 -0
- package/types/scripting-api.json +9339 -9320
- package/types/scripting.d.ts +322 -200
- package/types/src/.generated/wasm/sdk.d.ts +5 -27
- package/types/src/address/AddressUtils.d.ts +8 -0
- package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
- package/types/src/anomalies/_FocusTable.d.ts +0 -6
- package/types/src/calculation/Calculation.d.ts +20 -95
- package/types/src/calculation/ExternalBookBindings.d.ts +0 -26
- package/types/src/calculation/NamedFormulaCollection.d.ts +6 -2
- package/types/src/calculation/TokenType.d.ts +0 -10
- package/types/src/calculation/_CloneBoundary.d.ts +0 -24
- package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
- package/types/src/calculation/compiler/ASTTypes.d.ts +0 -13
- package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
- package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
- package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
- package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
- package/types/src/calculation/compiler/Types.d.ts +0 -52
- package/types/src/calculation/engine/CalcBackend.d.ts +15 -157
- package/types/src/calculation/engine/index.d.ts +0 -8
- package/types/src/calculation/executor/CalcExecutor.d.ts +13 -130
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +30 -11
- package/types/src/calculation/executor/CircularReference.d.ts +0 -17
- package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
- package/types/src/calculation/executor/_WhatIf.d.ts +0 -19
- package/types/src/calculation/formula/FormulaBlock.d.ts +0 -28
- package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
- package/types/src/calculation/formula/IFormulaBlock.d.ts +0 -12
- package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
- package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
- package/types/src/calculation/grid/CalcGrid.d.ts +5 -59
- package/types/src/calculation/grid/CalcGridBackend.d.ts +8 -9
- package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -13
- package/types/src/calculation/grid/CalcGridUtils.d.ts +18 -22
- package/types/src/calculation/grid/ICalcGrid.d.ts +13 -98
- package/types/src/calculation/grid/_CalcRequest.d.ts +1 -29
- package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +52 -82
- package/types/src/calculation/spatial/SpillEntry.d.ts +10 -7
- package/types/src/calculation/state/CalcScope.d.ts +0 -9
- package/types/src/calculation/state/CalcState.d.ts +0 -12
- package/types/src/calculation/state/CalculationContext.d.ts +4 -37
- package/types/src/calculation/state/DeferredCalls.d.ts +11 -64
- package/types/src/calculation/state/IContextContainer.d.ts +4 -60
- package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +46 -33
- package/types/src/calculation/state/_WhatIfLayer.d.ts +0 -14
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
- package/types/src/calculation/toolkit/index.d.ts +0 -8
- package/types/src/cell/ICell.d.ts +14 -28
- package/types/src/cellRange/ICellRange.d.ts +22 -11
- package/types/src/chart/Chart.d.ts +0 -16
- package/types/src/chart/_ChartParts.d.ts +0 -39
- package/types/src/chart/_ChartSource.d.ts +0 -14
- package/types/src/chart/createChart.d.ts +1 -1
- package/types/src/chart/kinds/ChartKind.d.ts +4 -4
- package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
- package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
- package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
- package/types/src/chart/math/BoxStats.d.ts +0 -8
- package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
- package/types/src/chart/math/Histogram.d.ts +0 -17
- package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
- package/types/src/chart/math/Treemap.d.ts +0 -15
- package/types/src/chart/math/Trendlines.d.ts +0 -8
- package/types/src/chart/math/UnitCalcs.d.ts +0 -22
- package/types/src/chart/model/_Edits.d.ts +0 -33
- package/types/src/chart/model/_Grouping.d.ts +0 -25
- package/types/src/chart/model/_Inference.d.ts +0 -18
- package/types/src/chart/model/_NewChart.d.ts +0 -41
- package/types/src/chart/model/_OfPie.d.ts +0 -7
- package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
- package/types/src/chart/resolve/_Resolve.d.ts +0 -19
- package/types/src/chart/resolve/_ResolvedChart.d.ts +0 -6
- package/types/src/collections/_GridUtils.d.ts +0 -10
- package/types/src/comment/_NoteBox.d.ts +0 -15
- package/types/src/condition/AnchoredConditional.d.ts +1 -23
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
- package/types/src/condition/ICondition.d.ts +2 -2
- package/types/src/condition/_ConditionUtils.d.ts +0 -38
- package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
- package/types/src/externalBook/ExternalBookName.d.ts +2 -3
- package/types/src/externalBook/IExternalBook.d.ts +13 -14
- package/types/src/fetch/IFetcher.d.ts +2 -1
- package/types/src/fetch/_WorkbookFetch.d.ts +1 -1
- package/types/src/font/AdvanceTable.d.ts +16 -42
- package/types/src/font/IFont.d.ts +32 -9
- package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
- package/types/src/font/_FontUtils.d.ts +0 -8
- package/types/src/font/_StandIns.d.ts +33 -0
- package/types/src/io/IWorkbookIO.d.ts +3 -3
- package/types/src/io/WorkbookOrigin.d.ts +2 -2
- package/types/src/license/LicenseManager.d.ts +2 -1
- package/types/src/license/_Utils.d.ts +4 -3
- package/types/src/license/details.d.ts +3 -1
- package/types/src/license/keys.d.ts +6 -0
- package/types/src/license/license-key.d.ts +15 -33
- package/types/src/license/token.d.ts +55 -0
- package/types/src/picture/IPicture.d.ts +45 -0
- package/types/src/picture/Picture.d.ts +12 -0
- package/types/src/pivot/PivotTable.d.ts +0 -7
- package/types/src/primitives/AsyncValue.d.ts +0 -12
- package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
- package/types/src/primitives/Range.d.ts +0 -60
- package/types/src/primitives/ScalarCollation.d.ts +0 -106
- package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
- package/types/src/print/PageLayout.d.ts +0 -6
- package/types/src/reference/ReferenceUtils.d.ts +4 -2
- package/types/src/richData/RichDataRegistry.d.ts +6 -0
- package/types/src/scripting/TypedFunction.d.ts +0 -109
- package/types/src/sheet/IWorksheet.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +0 -21
- package/types/src/sheet/SheetCell.d.ts +8 -2
- package/types/src/sheet/Worksheet.d.ts +7 -48
- package/types/src/sheet/_DelimitedText.d.ts +13 -0
- package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
- package/types/src/sheet/_ScalarListFactory.d.ts +0 -19
- package/types/src/sheet/_SheetCoords.d.ts +0 -7
- package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
- package/types/src/sheet/_SheetStateReader.d.ts +0 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +0 -3
- package/types/src/sheet/_SheetUtils.d.ts +1 -1
- package/types/src/sheet/style/_RowLine.d.ts +32 -0
- package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
- package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
- package/types/src/style/ICellStyle.d.ts +4 -0
- package/types/src/table/AnchoredTable.d.ts +0 -147
- package/types/src/text/TextFrame.d.ts +4 -1
- package/types/src/text/TextStacked.d.ts +0 -24
- package/types/src/text/TextWrapper.d.ts +3 -5
- package/types/src/text/_LineBox.d.ts +24 -0
- package/types/src/text/_TextUtils.d.ts +5 -2
- package/types/src/text/_TextWrapperFallback.d.ts +2 -1
- package/types/src/wasm/sdkWasm.d.ts +1 -1
- package/types/src/workbook/Workbook.d.ts +0 -10
- package/browser/esm/2WuhYrIpYmOR5H73.mjs +0 -698
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +0 -199
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +0 -367
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +0 -210
- package/node/esm/BSvOluusoDM4z_dx.mjs +0 -811
- package/node/esm/CPI58duc0j0a-HpJ.mjs +0 -115
- package/node/esm/DggQ23jKMpwhENfa.mjs +0 -372
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +0 -210
- package/node/esm/ZXPFcsT2zrALCZux.mjs +0 -289
|
@@ -3,12 +3,6 @@ import { IFill } from '../../fill/IFill';
|
|
|
3
3
|
import { IStroke } from '../../fill/IStroke';
|
|
4
4
|
import { ChartModel } from './ChartModel';
|
|
5
5
|
import { CellKind, Inference, InferenceFamily } from './_Inference';
|
|
6
|
-
/**
|
|
7
|
-
* The model Excel makes for a new chart (measured 2026-10-17, `probe-chart-insert.ps1`: the part
|
|
8
|
-
* Excel 16 writes for each gallery type through `AddChart2`, `fixtures/insert/parts/`; held to them by
|
|
9
|
-
* io-xlsx's `chart.insert.node.test.ts`). Excel's chart style for the type (`c14:style` 102, the
|
|
10
|
-
* series fills of `colors10`, the text sizes of T1) is stated on every element, as Excel states it.
|
|
11
|
-
*/
|
|
12
6
|
/** The gallery types a new chart can be, by Office Scripts' names. */
|
|
13
7
|
export type NewChartType = 'columnClustered' | 'columnStacked' | 'columnStacked100' | 'barClustered' | 'barStacked' | 'barStacked100' | 'line' | 'lineStacked' | 'lineStacked100' | 'lineMarkers' | 'lineMarkersStacked' | 'lineMarkersStacked100' | 'pie' | 'pieExploded' | 'doughnut' | 'pieOfPie' | 'barOfPie' | 'area' | 'areaStacked' | 'areaStacked100' | 'xyscatter' | 'xyscatterLines' | 'xyscatterLinesNoMarkers' | 'xyscatterSmooth' | 'xyscatterSmoothNoMarkers' | 'bubble' | 'bubble3DEffect' | 'radar' | 'radarMarkers' | 'radarFilled' | 'stockHLC' | 'stockOHLC' | 'stockVHLC' | 'stockVOHLC' | 'doughnutExploded' | 'surface' | 'surfaceWireframe' | 'surfaceTopView' | 'surfaceTopViewWireframe' | '3DColumn' | '3DColumnClustered' | '3DColumnStacked' | '3DColumnStacked100' | '3DBarClustered' | '3DBarStacked' | '3DBarStacked100' | '3DLine' | '3DPie' | '3DPieExploded' | '3DArea' | '3DAreaStacked' | '3DAreaStacked100' | 'waterfall' | 'treemap' | 'sunburst' | 'histogram' | 'pareto' | 'boxwhisker' | 'funnel' | 'regionMap';
|
|
14
8
|
/** What the builder reads of the cells the series name. */
|
|
@@ -66,13 +60,7 @@ export interface TypeSpec {
|
|
|
66
60
|
export declare const typeSpec: (type: NewChartType) => TypeSpec;
|
|
67
61
|
/** Whether `type` is a gallery type a new chart can be. */
|
|
68
62
|
export declare const isNewChartType: (type: string) => type is NewChartType;
|
|
69
|
-
/** A stock type, which no series can be given (Excel refuses one, `probe-chart-stock-refusals.ps1`). */
|
|
70
63
|
export declare const isStockType: (type: NewChartType) => boolean;
|
|
71
|
-
/**
|
|
72
|
-
* How many series a new chart of a stock type is made of: its volume, open, high, low and close as
|
|
73
|
-
* it has them. Excel makes a stock chart of no other count (`probe-chart-stock-refusals.ps1`);
|
|
74
|
-
* `null` for any other type.
|
|
75
|
-
*/
|
|
76
64
|
export declare const stockSeriesCount: (type: NewChartType) => number | null;
|
|
77
65
|
/** How a type takes its series from the cells. */
|
|
78
66
|
export declare const familyOf: (type: NewChartType) => InferenceFamily;
|
|
@@ -131,13 +119,6 @@ export interface SeriesTypeTarget {
|
|
|
131
119
|
}
|
|
132
120
|
/** The group a series of `type` is drawn in, as `_Grouping` takes it. */
|
|
133
121
|
export declare const seriesTypeTarget: (type: NewChartType) => SeriesTypeTarget;
|
|
134
|
-
/**
|
|
135
|
-
* `series` drawn as a series of `type` in its own color, as Excel restates it when one series of a
|
|
136
|
-
* chart changes type (measured 2026-10-17, `probe-chart-edits.ps1` SD5: a column series made a line
|
|
137
|
-
* with markers states a 2.25 pt line of its fill's color, a 5 pt circle marker of it, `smooth 0`, and
|
|
138
|
-
* no `invertIfNegative`). The other directions restate what a new chart of `type` states: believed.
|
|
139
|
-
* A series whose drawing already belongs to `type` is returned as it is.
|
|
140
|
-
*/
|
|
141
122
|
export declare const drawSeriesAsType: (series: ChartModel.Series, type: NewChartType, valueCount: number) => ChartModel.Series;
|
|
142
123
|
/** What a category axis states of its categories. */
|
|
143
124
|
export type CategoryAxisFields = Pick<ChartModel.Axis, 'type' | 'numFmt' | 'lblAlgn' | 'lblOffset' | 'noMultiLvlLbl' | 'baseTimeUnit'>;
|
|
@@ -147,16 +128,6 @@ export type CategoryAxisFields = Pick<ChartModel.Axis, 'type' | 'numFmt' | 'lblA
|
|
|
147
128
|
* linked, where there are categories (I03).
|
|
148
129
|
*/
|
|
149
130
|
export declare function categoryAxisOf(areas: readonly IRange.Coords[] | null, cells: NewChartCells): CategoryAxisFields;
|
|
150
|
-
/**
|
|
151
|
-
* The model of a new chart of `type` over the series `inference` found.
|
|
152
|
-
*
|
|
153
|
-
* @remarks
|
|
154
|
-
* Every series states its fill (Excel's `colors10` in order), the axes and text state Excel's
|
|
155
|
-
* style, a chart of two series or more or a pie has a legend at the bottom (at the top for radar), and the
|
|
156
|
-
* title is automatic: it shows a single series' name, else "Chart Title" (I01-B23). Categories that
|
|
157
|
-
* are all dates make a date axis with the base unit Excel chooses (DESIGN-CHART §4.2). The caches
|
|
158
|
-
* are left out: a save restates them from the cells.
|
|
159
|
-
*/
|
|
160
131
|
export declare function createChartModel(type: NewChartType, inference: Inference, cells: NewChartCells): ChartModel.ChartSpace;
|
|
161
132
|
/**
|
|
162
133
|
* The series axis of a 3-D column, line or area, or of a surface: along the bottom, crossing the
|
|
@@ -176,18 +147,6 @@ export interface ChartExEntry {
|
|
|
176
147
|
/** The formula of the cell at the categories' head: what a region map names its categories by. */
|
|
177
148
|
catName?: string;
|
|
178
149
|
}
|
|
179
|
-
/**
|
|
180
|
-
* A 2016 chart's model, as Excel makes it for the type (measured 2026-10-22, `probe-chart-insert.ps1`,
|
|
181
|
-
* the gallery; `chart-insert-gallery.xlsx`): one series drawn and the rest hidden (a box and
|
|
182
|
-
* whisker draws them all), each with the type's labels and layout options; a treemap's and a
|
|
183
|
-
* sunburst's values are their tiles' sizes, and a region map colors its regions by its values.
|
|
184
|
-
* Only a waterfall, a histogram and a box and whisker state a value axis; a treemap, a sunburst
|
|
185
|
-
* and a region map no axis at all. A pareto's series sum by category and each draws its running
|
|
186
|
-
* total on a percentage axis. Its title and legend are Excel's; the part's style and colors are the
|
|
187
|
-
* writer's.
|
|
188
|
-
*
|
|
189
|
-
* @param rows Whether the series read their cells along rows, which each reference says.
|
|
190
|
-
*/
|
|
191
150
|
export declare function chartExModel(spec: TypeSpec, entries: readonly ChartExEntry[], rows: boolean): ChartModel.ChartSpace;
|
|
192
151
|
/** A value axis: a scatter's two, or a category chart's one. `formatCode` `null` states no number format. */
|
|
193
152
|
export declare function valueAxis(axId: number, crossAx: number, axPos: 'b' | 'l' | 'r', formatCode: string | null, xy: boolean): ChartModel.Axis;
|
|
@@ -7,12 +7,5 @@ export interface OfPieSplit {
|
|
|
7
7
|
}
|
|
8
8
|
/** How many points Excel's automatic split puts in the second plot: the last third, rounded up. */
|
|
9
9
|
export declare const automaticSplitCount: (count: number) => number;
|
|
10
|
-
/**
|
|
11
|
-
* By point, whether it is in an of-pie's second plot (measured 2026-10-18, `probe-chart-ofpie.ps1`):
|
|
12
|
-
* the last `splitPos` by position, those of a value less than `splitPos`, or less than `splitPos`
|
|
13
|
-
* percent of the total, or those listed (`custSplit`). Excel's automatic split takes the last third
|
|
14
|
-
* by position, rounded up (O01, O17, O21-O24: 3 of 7, 2 of 4, 4 of 10, 2 of 6, 1 of 3 and of 2; COM
|
|
15
|
-
* reads it as a split by position).
|
|
16
|
-
*/
|
|
17
10
|
export declare const secondPlotPoints: (split: OfPieSplit, values: readonly (number | null)[]) => boolean[];
|
|
18
11
|
//# sourceMappingURL=_OfPie.d.ts.map
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The legacy chart styles (`c:style` 1-48): the colors Excel draws for what a chart does not state.
|
|
3
|
-
*
|
|
4
|
-
* @remarks
|
|
5
|
-
* Measured (DESIGN-CHART §3.4, S3): a series with no fill of its own takes its color from these
|
|
6
|
-
* tables, not from the chart's `colorsN.xml`, even when that part is present. With more series than
|
|
7
|
-
* a style has colors, the colors repeat in bands, and the bands fade: the middle band is the plain
|
|
8
|
-
* color, bands before it are shaded and bands after it tinted, by a step that shrinks as bands are
|
|
9
|
-
* added. Rescued from exhibit-master's `ChartStyles.js`.
|
|
10
|
-
*
|
|
11
|
-
* Colors are written as the shapes model writes them (`accent1 shade 54`), for the theme to resolve.
|
|
12
|
-
*/
|
|
13
1
|
/**
|
|
14
2
|
* The fill of series `offset` (its `c:idx`) of `total` in a chart drawn in a legacy style, as a
|
|
15
3
|
* color string for the theme.
|
|
@@ -36,13 +24,5 @@ export interface LegacyElementDefaults {
|
|
|
36
24
|
* border, and gridlines take that border's color too; the resolver states those itself.
|
|
37
25
|
*/
|
|
38
26
|
export declare function legacyElementDefaults(style: number | undefined): LegacyElementDefaults;
|
|
39
|
-
/**
|
|
40
|
-
* The width of a line series that states none, in pt, by the style's row of Excel's gallery (1-8,
|
|
41
|
-
* 9-16, ... 41-48): 3 in the first, 7 in the fourth, 5 in the others.
|
|
42
|
-
*
|
|
43
|
-
* @remarks
|
|
44
|
-
* Measured on lines and scatters in styles 2, 7, 10, 18, 26, 34 and 42 (DESIGN-CHART §3.4,
|
|
45
|
-
* `probe-chart-markers.ps1`).
|
|
46
|
-
*/
|
|
47
27
|
export declare function legacyLineWidth(style: number | undefined): number;
|
|
48
28
|
//# sourceMappingURL=_LegacyStyles.d.ts.map
|
|
@@ -15,12 +15,6 @@ export interface ChartTheme {
|
|
|
15
15
|
}
|
|
16
16
|
/** The theme of a workbook's styles. */
|
|
17
17
|
export declare function chartThemeOf(styles: IStyleCollection): ChartTheme;
|
|
18
|
-
/**
|
|
19
|
-
* What the cells a chart plots hold now, asked for each reference of the model (DESIGN-CHART
|
|
20
|
-
* §3.3). Each read answers `null` where the cells cannot be read - the reference is not one plain
|
|
21
|
-
* range of this workbook, its cells are deleted, or the chart is outside a workbook - and the
|
|
22
|
-
* reference's cache answers then.
|
|
23
|
-
*/
|
|
24
18
|
export interface ChartDataReader {
|
|
25
19
|
/** The numbers the reference names, by point; `null` is a blank. */
|
|
26
20
|
values(reference: ChartModel.DataReference): (number | null)[] | null;
|
|
@@ -38,20 +32,7 @@ export interface ChartDataReader {
|
|
|
38
32
|
}
|
|
39
33
|
/** Formats `value` in `formatCode` the way cells are formatted. */
|
|
40
34
|
export declare const formatValue: (formatCode: string, value: number, date1904: boolean) => string;
|
|
41
|
-
/**
|
|
42
|
-
* Where a type puts its data labels when they state no position (measured 2026-10-17,
|
|
43
|
-
* `probe-chart-labels.ps1` D01-D15; Excel states no `dLblPos` for these): outside the end of a
|
|
44
|
-
* clustered bar, the center of a stacked bar, an area or a doughnut's slice, right of a line's or a
|
|
45
|
-
* scatter's point, best fit on a pie. A bubble's and a radar's are believed.
|
|
46
|
-
*/
|
|
47
35
|
export declare const defaultLabelPosition: (group: Pick<ChartModel.Group, "type" | "grouping">) => ResolvedChart.LabelPosition;
|
|
48
|
-
/**
|
|
49
|
-
* The label positions Excel offers a classic group's type, `null` for a 2016 or custom type
|
|
50
|
-
* (measured 2026-10-24 through `DataLabels.Position`): every bar position on a clustered bar, none
|
|
51
|
-
* outside a stacked one, around the point on a line, stock, scatter or bubble, the end positions and
|
|
52
|
-
* best fit on a pie; none on an area, a doughnut, a radar, a surface, or a 3-D bar, line or area.
|
|
53
|
-
* Excel refuses a file that states any other `dLblPos` for the type.
|
|
54
|
-
*/
|
|
55
36
|
export declare const labelPositionsOf: (group: Pick<ChartModel.Group, "type" | "grouping" | "is3D">) => readonly ResolvedChart.LabelPosition[] | null;
|
|
56
37
|
/** Where a group's labels sit: the stated position where the type offers it, else the type's default. */
|
|
57
38
|
export declare const labelPositionOf: (group: Pick<ChartModel.Group, "type" | "grouping" | "is3D">, stated: ResolvedChart.LabelPosition | undefined) => ResolvedChart.LabelPosition;
|
|
@@ -186,7 +186,6 @@ export declare namespace ResolvedChart {
|
|
|
186
186
|
/** Box and whisker groups: what of each box is drawn, and the line it is drawn with. */
|
|
187
187
|
box?: BoxOptions;
|
|
188
188
|
}
|
|
189
|
-
/** How a box and whisker series draws its boxes (DESIGN-CHART §4.17). */
|
|
190
189
|
interface BoxOptions {
|
|
191
190
|
quartileMethod: QuartileMethod;
|
|
192
191
|
/** An x at each box's mean. */
|
|
@@ -313,11 +312,6 @@ export declare namespace ResolvedChart {
|
|
|
313
312
|
bannerFill: IFill.JSON | null;
|
|
314
313
|
};
|
|
315
314
|
}
|
|
316
|
-
/**
|
|
317
|
-
* How a histogram's values were counted (DESIGN-CHART §4.16): each series' `values` are its
|
|
318
|
-
* counts by bin and its `categories` the bins' labels; a pareto's are its sums by category,
|
|
319
|
-
* largest first, with a line of the running share on an axis of its own.
|
|
320
|
-
*/
|
|
321
315
|
interface Histogram {
|
|
322
316
|
/** The first series' bins, each with the indexes of its `raw` values. */
|
|
323
317
|
bins: HistogramBin[];
|
|
@@ -267,15 +267,5 @@ export declare function translateTupleBounds<T = any>(boundedTuples: Tuple.Regio
|
|
|
267
267
|
* * Allows for reusable ranges.
|
|
268
268
|
*/
|
|
269
269
|
export declare function createConflatingRangeValue<T = any>(isColumn?: boolean, canMerge?: (a: T, b: T, isColumn: boolean) => T | undefined, combine?: (previous: T, next: T) => T): ISpatialMap.IConflatingEntries<T>;
|
|
270
|
-
/**
|
|
271
|
-
* A grid's runs as grid tuples, in the grid's own axis: one major tuple per major that holds a
|
|
272
|
-
* run, the runs shared by reference.
|
|
273
|
-
*
|
|
274
|
-
* @remarks
|
|
275
|
-
* This is the seam the values half of a seed crosses (DESIGN-CALC-SERVICE §6.6): what a grid
|
|
276
|
-
* holds becomes the tuples another grid is loaded from. Runs are immutable lists, so sharing them
|
|
277
|
-
* is what the load already does when it hands one set of tuples to the sheet and its grid.
|
|
278
|
-
* @internal
|
|
279
|
-
*/
|
|
280
270
|
export declare function gridToTuples<T = Scalar>(grid: ISparseGrid<T>): Tuple.GridTuple<T>;
|
|
281
271
|
//# sourceMappingURL=_GridUtils.d.ts.map
|
|
@@ -3,21 +3,6 @@ import { Bounds } from '@sheetxl/utils';
|
|
|
3
3
|
import { IMovable } from '../movable';
|
|
4
4
|
import { IWorksheet } from '../sheet';
|
|
5
5
|
import { Movable } from '../movable/Movable';
|
|
6
|
-
/**
|
|
7
|
-
* Where a note's box goes when nothing has moved it, and how a note stores where its box is.
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* The default is Excel's, probed with hidden COM on a 96-DPI machine (2026-09-30): a 144×79 px
|
|
11
|
-
* box hung 15 px right of its cell and 10 px above its top, flipped to the other side when it
|
|
12
|
-
* would pass the sheet's last column or row. A note on a merged cell hangs beside the merge
|
|
13
|
-
* (probed 2026-10-20). It is pixel geometry first and the cells those
|
|
14
|
-
* pixels fall on second, so tall, narrow and hidden rows and columns need no rule of their own.
|
|
15
|
-
*
|
|
16
|
-
* A note stores its box's anchor with the cells counted from the note's own, so a note copied
|
|
17
|
-
* to another cell keeps its box beside it. The box itself is an ordinary movable anchored to the
|
|
18
|
-
* sheet's cells; these functions convert between the two.
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
6
|
/** The width of a default box, in pixels. */
|
|
22
7
|
export declare const NOTE_DEFAULT_WIDTH = 144;
|
|
23
8
|
/** The height of a default box, in pixels. */
|
|
@@ -222,29 +222,7 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
|
|
|
222
222
|
* @internal
|
|
223
223
|
*/
|
|
224
224
|
protected _rebaseConditionFormulas(json: any, from: IRange.CellCoords, to: IRange.CellCoords): boolean | null;
|
|
225
|
-
|
|
226
|
-
* The extend half of a paste: fold the pasted `ranges` into THIS live rule — coalescing
|
|
227
|
-
* into one clean rectangle — rather than minting a duplicate.
|
|
228
|
-
*
|
|
229
|
-
* @param ranges The pasted images of the rule's marked areas (already tiled/clipped).
|
|
230
|
-
* @param jsonAtMark `JSON.stringify` of the rule's `toJSON()` at mark time.
|
|
231
|
-
* @returns `false` when this rule cannot absorb the paste — deleted, its definition changed
|
|
232
|
-
* since the mark, or the union would move the anchor — and the caller must clone instead.
|
|
233
|
-
*
|
|
234
|
-
* @remarks
|
|
235
|
-
* Merging is provenance-keyed: only THE rule the areas were copied from extends, which is
|
|
236
|
-
* what keeps manually authored duplicates separate.
|
|
237
|
-
*
|
|
238
|
-
* On top of provenance, a paste merges only when the union is a single rectangle whose
|
|
239
|
-
* top-left is still the rule's anchor. That is Excel's rule (desktop and online alike): a
|
|
240
|
-
* paste flush below or to the right of the applies-to merges into it, while one above, to
|
|
241
|
-
* the left, or with a gap mints a separate rule at top priority. The shape of it is that
|
|
242
|
-
* PASTE NEVER MOVES THE ANCHOR — growing down or right leaves the stored formula's frame
|
|
243
|
-
* alone, whereas growing up or left forces a rebase, which Excel is only willing to do for
|
|
244
|
-
* autofill. Hence fill merges in all four directions and paste in two.
|
|
245
|
-
* @internal
|
|
246
|
-
*/
|
|
247
|
-
_extendPastedRanges(ranges: readonly IRange.Coords[], jsonAtMark: string): boolean;
|
|
225
|
+
_extendPastedRanges(ranges: readonly IRange.Coords[], jsonAtMark: string, isCut?: boolean): boolean;
|
|
248
226
|
/**
|
|
249
227
|
* Re-anchors a freshly pasted CLONE, whose formulas still carry the SOURCE rule's frame, to
|
|
250
228
|
* its own anchor — the shift Excel applies when a copied rule lands as a new rule (copying
|
|
@@ -40,58 +40,9 @@ export declare abstract class AbstractOperator<P> implements ICondition.IOperato
|
|
|
40
40
|
getDescription(): string | null;
|
|
41
41
|
/** {@inheritDoc ICondition.doBatch} */
|
|
42
42
|
doBatch(keys: Set<any>, param: P, ctx: ICondition.IContext): MaybePromise<IRange<boolean> | null>;
|
|
43
|
-
/**
|
|
44
|
-
* Resolves a comparison operand that may be formula-valued — an {@link ICalculation.IFormula}, or
|
|
45
|
-
* a string param with a leading `=` — into a per-cell {@link OperandReader}.
|
|
46
|
-
*
|
|
47
|
-
* @returns The reader, or `null` when the operand is a formula with nothing to read (no engine,
|
|
48
|
-
* an empty expression) — the caller returns a `null` predicate and the condition is inert
|
|
49
|
-
* rather than throwing.
|
|
50
|
-
*
|
|
51
|
-
* @remarks
|
|
52
|
-
* A literal operand costs nothing: the reader is a constant. A formula operand is declared
|
|
53
|
-
* through {@link ICondition.IContext.watchFormula}, so a long-lived owner keeps it fresh and a
|
|
54
|
-
* one-shot evaluation answers it on the spot. Values arrive as a block anchored at
|
|
55
|
-
* `ctx.getCoords()`: an absolute operand broadcasts and a relative one varies per cell on the
|
|
56
|
-
* same code path.
|
|
57
|
-
*
|
|
58
|
-
* A per-cell value that is an ERROR is returned as the error — comparisons must treat it as
|
|
59
|
-
* no-match, never a throw — and warns once per predicate build. A reference operand reads its
|
|
60
|
-
* top-left: Excel does NOT implicitly intersect here (`$E$5:$F$6>10` tested `E5` for every cell;
|
|
61
|
-
* measured 2026-08-21), which is the watch's `arrayFirstCell` evaluation.
|
|
62
|
-
*/
|
|
63
43
|
protected _resolveOperand(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext): Promise<OperandReader | null>;
|
|
64
|
-
/**
|
|
65
|
-
* Whether a comparison operand has not been given: absent, or blank text.
|
|
66
|
-
*
|
|
67
|
-
* @remarks
|
|
68
|
-
* A comparison missing an operand is inert, never a comparison against 0. Excel reads a rule
|
|
69
|
-
* whose `<formula>` is absent or empty that way — a validation flags nothing, a format paints
|
|
70
|
-
* nothing (measured, `probe-dv-operands` and `probe-cf-operands`) — and its dialogs refuse to
|
|
71
|
-
* author one.
|
|
72
|
-
*/
|
|
73
44
|
protected _isMissingOperand(param: Scalar | ICalculation.IFormula | undefined): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* The first problem with a comparison operand under `lhsSelector`, as a message key, or `null`.
|
|
76
|
-
*
|
|
77
|
-
* @param allowEmptyText Whether `''` is an operand (equal to empty text) rather than one not given.
|
|
78
|
-
*
|
|
79
|
-
* @remarks
|
|
80
|
-
* The rules Excel's dialogs refuse on (measured, `probe-dv-operands`): an operand is required; a
|
|
81
|
-
* whole-number rule takes an integer, a text-length rule a non-negative integer, a date a serial
|
|
82
|
-
* from 0, a time a serial in [0, 1); text where a number belongs is refused; a formula must parse.
|
|
83
|
-
* With no selector (a format's Cell Value rule) any scalar is an operand — Excel accepts text there.
|
|
84
|
-
*/
|
|
85
45
|
protected _validateOperand(param: Scalar | ICalculation.IFormula | undefined, lhsSelector: ICondition.ISelector | null | undefined, allowEmptyText?: boolean): string | null;
|
|
86
|
-
/**
|
|
87
|
-
* The shared predicate shape of the ordered comparisons (`greaterThan` … `before`): resolve the
|
|
88
|
-
* operand (formula or literal — see {@link _resolveOperand}), then compare per cell. An ERROR
|
|
89
|
-
* operand never matches; a `null` return means the operand is missing
|
|
90
|
-
* ({@link _isMissingOperand}) or could not resolve, and the condition is inert.
|
|
91
|
-
*
|
|
92
|
-
* An empty cell arrives as `null` and compares as 0, which is how Excel judges one (measured,
|
|
93
|
-
* `probe-dv-blank`).
|
|
94
|
-
*/
|
|
95
46
|
protected _createComparePredicate(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext, compare: (value: number, operand: number) => boolean): Promise<ICondition.Predicate | null>;
|
|
96
47
|
/**
|
|
97
48
|
* An operand as a rule's text reads it: a date or time serial as the date or time it is,
|
|
@@ -2,16 +2,6 @@ import { Scalar } from '@sheetxl/primitives';
|
|
|
2
2
|
import { MaybePromise } from '@sheetxl/utils';
|
|
3
3
|
import { ICondition } from '../ICondition';
|
|
4
4
|
import { BaseSelector } from './BaseSelector';
|
|
5
|
-
/**
|
|
6
|
-
* DisplaySelector:
|
|
7
|
-
*
|
|
8
|
-
* The text a cell shows. Every cell is in its domain; the reading is the displayed text under a
|
|
9
|
-
* filter (`$1` for a cell holding 1 under `$0`), and the value's own text under a format or a
|
|
10
|
-
* validation, where nothing is shown at evaluation. Excel's filter `equal` and its values list
|
|
11
|
-
* compare this way (DESIGN-FILTER §3.2, P10), which is where the xlsx reader sets it. The text
|
|
12
|
-
* family (contains, starts with) stays under no selector: Excel's reads the raw text of a text
|
|
13
|
-
* cell and never a number's display.
|
|
14
|
-
*/
|
|
15
5
|
export declare class DisplaySelector extends BaseSelector<string, Scalar> {
|
|
16
6
|
constructor();
|
|
17
7
|
/** {@inheritDoc ICondition.ISelector.createTransformer} */
|
|
@@ -172,8 +172,8 @@ export declare namespace ICondition {
|
|
|
172
172
|
/**
|
|
173
173
|
* The text a cell SHOWS: under a filter the displayed text, so `$1` is a cell holding 1 under
|
|
174
174
|
* `$0`; under a format or a validation, where nothing is shown at evaluation, the value's own
|
|
175
|
-
* text. Type text. Excel's filter `equal` and its values list compare this way
|
|
176
|
-
*
|
|
175
|
+
* text. Type text. Excel's filter `equal` and its values list compare this way;
|
|
176
|
+
* `equalTo` under no selector is value equality.
|
|
177
177
|
*/
|
|
178
178
|
readonly Display: "display";
|
|
179
179
|
readonly Number: "number";
|
|
@@ -152,30 +152,13 @@ export declare class UnresolvedCondition<P = any> implements ICondition<P> {
|
|
|
152
152
|
* of an exception that costs the caller the entire rule.
|
|
153
153
|
*/
|
|
154
154
|
export declare function fromJSON<P = any>(json: ICondition.JSON<P> | null | undefined): ICondition<P> | null;
|
|
155
|
-
/**
|
|
156
|
-
* A combinator's reading of a value through a child's selector, as the driver reads one for the
|
|
157
|
-
* root: the transformer gates and projects a value, and a blank (`null`, which reaches a
|
|
158
|
-
* predicate only with Ignore Blank off) is read by no selector. It passes on as it is, for the
|
|
159
|
-
* operator to judge as Excel judges an empty cell (0 under a number rule, "" under a text one;
|
|
160
|
-
* P7, DESIGN-DV §5). Display in particular must not turn it into the empty text it shows.
|
|
161
|
-
*/
|
|
162
155
|
export declare function readThroughSelector(transformer: ICondition.Transformer<any, any> | null | undefined, value: Scalar, ctx: ICondition.IContext): Scalar | typeof ICondition.NotApplicable;
|
|
163
156
|
/**
|
|
164
157
|
* The condition's answer for the BLANK cells of a range, asked per cell — lazily, by the caller,
|
|
165
158
|
* for the cells it actually reads. Blank cells are never visited by the engine.
|
|
166
159
|
*/
|
|
167
160
|
export type BlankResolver = (rowIndex: number, colIndex: number) => boolean;
|
|
168
|
-
/**
|
|
169
|
-
* Whether a value is blank by Excel's AutoFilter rule (`LEN(TRIM(x))=0`, DESIGN-FILTER.md §3.3):
|
|
170
|
-
* nothing, an empty string, or a string of only U+0020 spaces. A tab, a non-breaking space, `0`
|
|
171
|
-
* and an error are values.
|
|
172
|
-
*/
|
|
173
161
|
export declare function isBlankValue(value: Scalar): boolean;
|
|
174
|
-
/**
|
|
175
|
-
* The calc engine's blank: an empty cell, or the `""` a formula returns (`=A1=""` is TRUE for
|
|
176
|
-
* both). A string of spaces is a string. The filter's rule for a value-shaped level
|
|
177
|
-
* (DESIGN-FILTER §3.3); {@link isBlankValue} is the display rule.
|
|
178
|
-
*/
|
|
179
162
|
export declare function isBlankByValue(value: Scalar): boolean;
|
|
180
163
|
/** Whether a selector, by name or instance, is {@link ICondition.BuiltInSelectorNames.Display}. */
|
|
181
164
|
export declare function isDisplaySelector(selector: unknown): boolean;
|
|
@@ -275,18 +258,6 @@ export interface DoRunRangeConditionsOptions extends ICondition.RangeOptions {
|
|
|
275
258
|
* Shared by `ICellRange.filter` and `ITable.filter`, so a bare input means the same to both.
|
|
276
259
|
*/
|
|
277
260
|
export declare function normalizeFilterInput(condition: ICondition.Input | ICondition.RangeOptions | null | undefined): ICondition.RangeOptions;
|
|
278
|
-
/**
|
|
279
|
-
* Evaluates `conditions[]` in array order against the row (or column) axis, ANDing each condition
|
|
280
|
-
* into a running visibility mask — Excel's own AutoFilter model (DESIGN-FILTER.md §2): a dynamic
|
|
281
|
-
* condition (Average, Top N) only ever sees the rows/columns still visible under the mask
|
|
282
|
-
* accumulated by the conditions *before* it. Each condition carries its column (or row) via
|
|
283
|
-
* `IndexedProperties.index`, defaulting to its position in `conditions[]` when omitted — mirrors
|
|
284
|
-
* `ISort.Options.index ?? level`.
|
|
285
|
-
*
|
|
286
|
-
* @remarks
|
|
287
|
-
* Backs `ICellRange.filter` / `ITable.filter` (`_SheetFilterUtils.doFilter`). Data Validation and
|
|
288
|
-
* Conditional Formatting keep using the single-condition {@link evalConditions}.
|
|
289
|
-
*/
|
|
290
261
|
export declare function evalRangeConditions(options: DoRunRangeConditionsOptions): Promise<void>;
|
|
291
262
|
export interface DoRunConditionsOptions extends ICondition.RangeOptions {
|
|
292
263
|
runtime: IRuntime;
|
|
@@ -330,15 +301,6 @@ export interface DoRunConditionsOptions extends ICondition.RangeOptions {
|
|
|
330
301
|
* FALSE in others, and the formula's own block evaluation already holds each one.
|
|
331
302
|
*/
|
|
332
303
|
onBlank?: (resolve: BlankResolver) => void;
|
|
333
|
-
/**
|
|
334
|
-
* Whether a stored value that is blank by Excel's AutoFilter rule ({@link isBlankValue}: a
|
|
335
|
-
* `""` result, a string of only spaces) is answered as the blank cell it shows as, never shown
|
|
336
|
-
* to the selector or the operator. Conditional Formatting sets it (`containsBlanks` is
|
|
337
|
-
* `LEN(TRIM(x))=0`); Data Validation does not, since there a blank is an empty cell and a
|
|
338
|
-
* `""` result is judged (DESIGN-DV §5). The filter driver decides per level: a display-shaped
|
|
339
|
-
* one ({@link isDisplayShaped}) takes this rule, any other the calc engine's, where only `""`
|
|
340
|
-
* is blank (DESIGN-FILTER §3.3).
|
|
341
|
-
*/
|
|
342
304
|
spacesAreBlank?: boolean;
|
|
343
305
|
}
|
|
344
306
|
//# sourceMappingURL=_ConditionUtils.d.ts.map
|
|
@@ -111,24 +111,9 @@ export declare class ExternalBookCollection extends AbstractCollection<IExternal
|
|
|
111
111
|
_refresh(bookId: string): Promise<IExternalBook.RefreshResult>;
|
|
112
112
|
/** Excel's record of a refresh that could not complete: `refreshError` on each cached sheet. */
|
|
113
113
|
protected _markRefreshError(bookId: string): void;
|
|
114
|
-
/**
|
|
115
|
-
* The value pass in front of a removal: every cell block that cites the book becomes its current
|
|
116
|
-
* values — the WHOLE formula, as Excel does, not only the external operand.
|
|
117
|
-
*
|
|
118
|
-
* @remarks
|
|
119
|
-
* A dependent that is a NAME (its scope is the name's virtual grid, not a sheet) is left as it
|
|
120
|
-
* is. Its citation then images as `#REF!` once the slot goes, which is one of the three outcomes
|
|
121
|
-
* DESIGN-EXTERNAL-LINKS §6 item 8 lists for Excel; the measurement that picks between them has
|
|
122
|
-
* not been taken, and a name has no computed value to write back until phase D in any case.
|
|
123
|
-
*/
|
|
124
114
|
protected _breakDependents(book: IExternalBook): void;
|
|
125
115
|
/** @internal Backs {@link IExternalBook.getDependents}; empty without an engine to ask. */
|
|
126
116
|
_getDependents(bookId: string): readonly IRange.Coords[];
|
|
127
|
-
/**
|
|
128
|
-
* @internal
|
|
129
|
-
* Records a sheet name a formula cited on a book that did not list it — the authoring half of
|
|
130
|
-
* the bind rule (DESIGN-EXTERNAL-LINKS §5 step 13). Returns the sheet's index in the book.
|
|
131
|
-
*/
|
|
132
117
|
_addSheetName(bookId: string, sheetName: string): number;
|
|
133
118
|
toJSON(): (IExternalBook.JSON | null)[] | null;
|
|
134
119
|
/** {@inheritDoc IListener.ISource.addListeners} */
|
|
@@ -48,7 +48,7 @@ export declare function externalBookFileName(book: IExternalBook): string;
|
|
|
48
48
|
*
|
|
49
49
|
* @remarks
|
|
50
50
|
* This is the form Excel's own formula bar shows for a book it cannot see, which is the state every
|
|
51
|
-
* book is in until a resolver opens one
|
|
51
|
+
* book is in until a resolver opens one. The caller quotes it —
|
|
52
52
|
* `sheetNameToString` does, since a path carries separators no sheet name may.
|
|
53
53
|
*
|
|
54
54
|
* The directory is the first source that carries one: a book Excel recorded by a RELATIVE path
|
|
@@ -70,8 +70,7 @@ export declare const EXTERNAL_LINK_PATH_REL_TYPE = "http://schemas.openxmlformat
|
|
|
70
70
|
*
|
|
71
71
|
* @remarks
|
|
72
72
|
* A Windows path becomes a `file:///` URI with forward slashes and percent-encoding, a UNC path a
|
|
73
|
-
* `file://server/share/…` one, and a URL or a bare relative name is kept verbatim
|
|
74
|
-
* target shapes measured in the corpus (DESIGN-EXTERNAL-LINKS §2.2).
|
|
73
|
+
* `file://server/share/…` one, and a URL or a bare relative name is kept verbatim.
|
|
75
74
|
*/
|
|
76
75
|
export declare function sourceEntryFromPath(path: string): IExternalBook.SourceEntry;
|
|
77
76
|
/**
|
|
@@ -6,8 +6,7 @@ import { ITransaction } from '../transaction';
|
|
|
6
6
|
*
|
|
7
7
|
* @remarks
|
|
8
8
|
* Excel's external link is not a live reference — it is the cache plus enough to go re-fetch the
|
|
9
|
-
* source.
|
|
10
|
-
* `private-assets/design/calc/DESIGN-EXTERNAL-LINKS.md`.
|
|
9
|
+
* source.
|
|
11
10
|
*
|
|
12
11
|
* Two members read as "which book is this", and they answer different questions:
|
|
13
12
|
*
|
|
@@ -67,8 +66,8 @@ export interface IExternalBook {
|
|
|
67
66
|
*
|
|
68
67
|
* @remarks
|
|
69
68
|
* **Sparse.** A cell the cache does not hold — and a sheet it holds nothing for — reads as a
|
|
70
|
-
* BLANK cell, which is what Excel computes with the source closed
|
|
71
|
-
*
|
|
69
|
+
* BLANK cell, which is what Excel computes with the source closed. Values only — no format, no
|
|
70
|
+
* style, no comment; a cached date is a plain serial.
|
|
72
71
|
*
|
|
73
72
|
* @param sheetIndex Position in {@link getSheetNames}, matching the XML's `sheetId` (0-based).
|
|
74
73
|
*/
|
|
@@ -90,8 +89,8 @@ export interface IExternalBook {
|
|
|
90
89
|
* (`[Budget.xlsx]Sheet1`) once a resolver holds it.
|
|
91
90
|
*
|
|
92
91
|
* @remarks
|
|
93
|
-
* A readout of the book's state, not a preference
|
|
94
|
-
*
|
|
92
|
+
* A readout of the book's state, not a preference: without a resolver this is always the closed
|
|
93
|
+
* form. The caller quotes it.
|
|
95
94
|
*
|
|
96
95
|
* @param sheetName Omitted for the book-scoped `[1]!Name` form.
|
|
97
96
|
*/
|
|
@@ -136,8 +135,8 @@ export interface IExternalBook {
|
|
|
136
135
|
* @remarks
|
|
137
136
|
* Needs a resolver (`ICellContainerOptions.externalBookResolver`, given when the workbook is
|
|
138
137
|
* built); without one every book is `'unavailable'` and nothing changes, which is the state a
|
|
139
|
-
* workbook is in until a host supplies one
|
|
140
|
-
* citing the book reads the new values. A resolver that throws leaves the cache as it was and
|
|
138
|
+
* workbook is in until a host supplies one. A replaced cache is one undoable step, and every
|
|
139
|
+
* formula citing the book reads the new values. A resolver that throws leaves the cache as it was and
|
|
141
140
|
* marks each cached sheet `refreshError`, as Excel records a refresh it could not complete.
|
|
142
141
|
*/
|
|
143
142
|
refresh(): Promise<IExternalBook.RefreshResult>;
|
|
@@ -166,8 +165,8 @@ export declare namespace IExternalBook {
|
|
|
166
165
|
* the book is opened from, `absoluteUrl` its 2021 cloud-URL companion.
|
|
167
166
|
*
|
|
168
167
|
* @remarks
|
|
169
|
-
* Not derivable from {@link type} — the two can carry the SAME relationship type (
|
|
170
|
-
*
|
|
168
|
+
* Not derivable from {@link type} — the two can carry the SAME relationship type (a relative
|
|
169
|
+
* and an absolute `externalLinkPath` can sit on one part). Absent for
|
|
171
170
|
* an entry nothing points at, which is a real shape too: an `xlPathMissing` or
|
|
172
171
|
* `externalLinkLongPath` rel rides along on the part without being referenced from it.
|
|
173
172
|
*/
|
|
@@ -206,10 +205,10 @@ export declare namespace IExternalBook {
|
|
|
206
205
|
* Opens a book's source and answers its current contents, or declines.
|
|
207
206
|
*
|
|
208
207
|
* @remarks
|
|
209
|
-
*
|
|
208
|
+
* A resolver for a workbook file should read it with `WorkbookIO.read` and
|
|
210
209
|
* `calcOnLoad: 'none'`, taking the source's own cached values and never evaluating it — that is
|
|
211
|
-
* what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl.
|
|
212
|
-
*
|
|
210
|
+
* what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl. A source that
|
|
211
|
+
* is not a workbook file can be resolved too. WHETHER a source may be opened at all — an
|
|
213
212
|
* untrusted file naming an arbitrary path or URL — is the host's decision, made before this is
|
|
214
213
|
* asked; a resolver never fetches on its own initiative, only on {@link IExternalBook.refresh}.
|
|
215
214
|
*/
|
|
@@ -227,7 +226,7 @@ export declare namespace IExternalBook {
|
|
|
227
226
|
/**
|
|
228
227
|
* Sparse cell values — the same encoding `IWorksheet.JSON.data` uses (`Scalar.JSON` is already just
|
|
229
228
|
* the value+type pair; style/formula live in sibling fields there, none of which apply to a
|
|
230
|
-
* values-only cache
|
|
229
|
+
* values-only cache).
|
|
231
230
|
*/
|
|
232
231
|
data: Tuple.GridTuple<Scalar.JSON>;
|
|
233
232
|
}
|
|
@@ -23,7 +23,8 @@ export interface IFetcher {
|
|
|
23
23
|
* the `https` handler.
|
|
24
24
|
*
|
|
25
25
|
* @returns The response; rejects with a `TypeError` when no handler serves the scheme, as
|
|
26
|
-
* `fetch` does for a URL it cannot reach.
|
|
26
|
+
* `fetch` does for a URL it cannot reach. In a browser the default handlers reject with a
|
|
27
|
+
* `FormulaError.Blocked` when the site responded but does not allow web pages to read it.
|
|
27
28
|
*/
|
|
28
29
|
fetch(input: string, init?: RequestInit): Promise<Response>;
|
|
29
30
|
/**
|
|
@@ -9,7 +9,7 @@ import { IFetcher } from './IFetcher';
|
|
|
9
9
|
* response whose bytes are a picture says what they are, whatever the server called them.
|
|
10
10
|
*
|
|
11
11
|
* It saves nothing itself: what holds a picture adds it as a resource (`IMAGE` through
|
|
12
|
-
* `
|
|
12
|
+
* `IDeferContext.addResource`), and the workbook saves a resource while a value holds it.
|
|
13
13
|
*
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|