@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.12
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/README.md +1 -1
- package/browser/esm/{CYyv6uGjo10ig5FP.mjs → -Jx-jNHmtIQQfLvK.mjs} +1 -1
- package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → 2WuhYrIpYmOR5H73.mjs} +110 -261
- package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → 2mIwPy2D2JUX-9wx.mjs} +2 -2
- package/browser/esm/B3wf5vZCsWfWsDbj.mjs +12 -0
- package/browser/esm/{BzLfNyc6OOShIErH.mjs → BIHrHjRGWVlJglcp.mjs} +2 -2
- package/browser/esm/{C9B0djuUarfNdoj0.mjs → BTFBedJMRWGvZyCE.mjs} +1 -1
- package/browser/esm/{Btg43M1Bf-ENDreu.mjs → BdCJNawfifyPupCP.mjs} +1 -1
- package/browser/esm/{ClB5ix51roQOpZEr.mjs → Bg5Di9GLNAkbqQ1P.mjs} +2877 -2067
- package/browser/esm/BnC4-27Igwb8oDf2.mjs +1552 -0
- package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → Bt8_m94tBdks209L.mjs} +1 -1
- package/browser/esm/{zqJOaweiXE9D8RY1.mjs → BudSIfXBAsTxvu-K.mjs} +31835 -40812
- package/browser/esm/C9u8FUewte5ugUjH.mjs +5132 -0
- package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → CBYMTDzMf1Vh7pkw.mjs} +1 -1
- package/browser/esm/CNdjyofiRu6CYOrr.mjs +12835 -0
- package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → CRkYR-siY2C994KV.mjs} +1 -1
- package/browser/esm/CTe2qfmIUEad6FJv.mjs +199 -0
- package/browser/esm/CUzYuYTTGsChC_kZ.mjs +8422 -0
- package/browser/esm/CdEO8CEee6lEhabA.mjs +117 -0
- package/browser/esm/CfRqiPDg6RBTg1EN.mjs +367 -0
- package/browser/esm/CndRBvVfQUJIYRRj.mjs +193 -0
- package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → CwOPLXU3-9ZHGyOT.mjs} +1 -1
- package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → Cxjxk0ncRKx80I-w.mjs} +1 -1
- package/browser/esm/D2RZh0O9neOsyLAE.mjs +281 -0
- package/browser/esm/{De175LygU7ot4nQm.mjs → D64dM68B1pKYFzdP.mjs} +2 -2
- package/browser/esm/{o8MFgcVXns987D6_.mjs → D9xNz46kAfXMZzp4.mjs} +6 -6
- package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → DK899HhWX1HINMC1.mjs} +55 -55
- package/browser/esm/DPhGQLNGmDZwODwJ.mjs +395 -0
- package/browser/esm/DVroRnhi-5IDXNgM.mjs +210 -0
- package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → DZiivy0NmO1Vnyzk.mjs} +2 -2
- package/browser/esm/{CZ5oa92wZEAXebgk.mjs → DgrAuRD2qr2DvFeJ.mjs} +78 -68
- package/browser/esm/{D4uVlrG0xEFctsSM.mjs → DobHLF6VjHr7Xi40.mjs} +285 -67
- package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → DwZCT7DZiiXoTweg.mjs} +2 -2
- package/browser/esm/DwwR3O2sEZApPSTF.mjs +86 -0
- package/browser/esm/Tah7cnFb_HNZdLtj.mjs +128 -0
- package/browser/esm/{BEAY9XgKNx-bakXW.mjs → fXWUMDhZ5yMSO629.mjs} +1 -1
- package/browser/esm/{BqskM7wA8oPfFQue.mjs → hCQJcmIzPDxDEv2q.mjs} +2 -2
- package/browser/esm/index.mjs +1294 -1008
- package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → qO-ujUrgq6H3TQix.mjs} +1 -1
- package/browser/esm/w6Jea0TiclPrYZ2M.mjs +1703 -0
- package/browser/esm/yuhcOYw6SHQ-RCm3.mjs +114 -0
- package/licenses/dependencies.txt +75 -75
- package/node/esm/-TA0MneBDKdGhsib.mjs +8668 -0
- package/node/esm/B-HUPAcqvK0eeeCz.mjs +134 -0
- package/node/esm/BL2iiEoqxDEV2Xrg.mjs +8320 -0
- package/node/esm/{C6ZXsNyLXI6zA63X.mjs → BNXLOEddJ6O9gYws.mjs} +9 -9
- package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BSvOluusoDM4z_dx.mjs} +151 -302
- package/node/esm/{CD9wbvufChVYYkrI.mjs → BskP3b8vUoIOGLY6.mjs} +2 -2
- package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → Btw4148Ot8ifhNc1.mjs} +285 -64
- package/node/esm/{B6D7sSetrcOWLsKj.mjs → C14-R6tifRh7pc0p.mjs} +1 -1
- package/node/esm/C99zzq8DImQXi4BQ.mjs +133 -0
- package/node/esm/{BtuY37FumvLE7EBo.mjs → CBuEu5Jk-LfaDy-H.mjs} +176 -166
- package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → CG-qBU5BAaVz7e-P.mjs} +1 -1
- package/node/esm/CPI58duc0j0a-HpJ.mjs +115 -0
- package/node/esm/CRt3vXe6YmXzqk3H.mjs +406 -0
- package/node/esm/{CUUoseJmFsCf82bb.mjs → C_aL7CGS1lrNn1Ng.mjs} +1 -1
- package/node/esm/{D7MfcID2Wf6l6VpC.mjs → C_xf5Bz30VqiJjXn.mjs} +1 -1
- package/node/esm/CiIymQN6aJCul62g.mjs +610 -0
- package/node/esm/{B9ljpEIZg6wOTzRE.mjs → Ci_zLYmCD7e-C79O.mjs} +1 -1
- package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CkRYLed8Mmn3giNg.mjs} +2 -2
- package/node/esm/D3ptRKzASqBut1DE.mjs +117 -0
- package/node/esm/{DefYISWfdZJFx57m.mjs → D4ROK9UwDpS6jO3Z.mjs} +1 -1
- package/node/esm/D8hO07ToAibIuniw.mjs +13014 -0
- package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → DUTmDHbFbhLDT4F3.mjs} +1 -1
- package/node/esm/{DCplLG93GfTs1vNw.mjs → DV5CU37aEbFbWFL0.mjs} +1 -1
- package/node/esm/{CUQi5ZtMO02nhG0W.mjs → DdoiuKg9BKubtF1V.mjs} +1 -1
- package/node/esm/DggQ23jKMpwhENfa.mjs +372 -0
- package/node/esm/DhS6yWjrrSNIJMsn.mjs +1033 -0
- package/node/esm/{DMD12JUh7HJw2-jl.mjs → DhTya_mhmN53vskv.mjs} +1 -1
- package/node/esm/Dn1M7YWi25DeeYUb.mjs +210 -0
- package/node/esm/DrCf6ITcBhVOFpRj.mjs +86 -0
- package/node/esm/{BN9j8V9gCExMjVtJ.mjs → DxazKtROyaI51dWl.mjs} +1 -1
- package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → Q_S1g46ZOTrdhTae.mjs} +1 -1
- package/node/esm/Vocy-I9dKzZMr0Ct.mjs +59323 -0
- package/node/esm/ZXPFcsT2zrALCZux.mjs +289 -0
- package/node/esm/eimUGjiIP-b8HiM6.mjs +199 -0
- package/node/esm/icn2nX5Z8e_3mNAv.mjs +12 -0
- package/node/esm/index.mjs +2808 -65678
- package/node/esm/lGJ42sHqg5if2bba.mjs +1770 -0
- package/node/esm/{Bsx9uijd4X_SKV3L.mjs → pYtP7wPyS96NQyXS.mjs} +51 -51
- package/package.json +6 -7
- package/resources/contents.json +120 -0
- package/resources/fonts/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/arial-bold-italic.metrics.json +13 -13
- package/resources/fonts/arial-bold-italic.rows.json +9 -0
- package/resources/fonts/arial-bold.hinted.json +125 -0
- package/resources/fonts/arial-bold.metrics.json +12 -12
- package/resources/fonts/arial-bold.rows.json +9 -0
- package/resources/fonts/arial-italic.hinted.json +125 -0
- package/resources/fonts/arial-italic.metrics.json +13 -13
- package/resources/fonts/arial-italic.rows.json +9 -0
- package/resources/fonts/arial-regular.hinted.json +125 -0
- package/resources/fonts/arial-regular.metrics.json +12 -12
- package/resources/fonts/arial-regular.rows.json +9 -0
- package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
- package/resources/fonts/calibri-bold-italic.rows.json +9 -0
- package/resources/fonts/calibri-bold.hinted.json +122 -0
- package/resources/fonts/calibri-bold.metrics.json +1 -1
- package/resources/fonts/calibri-bold.rows.json +9 -0
- package/resources/fonts/calibri-italic.hinted.json +121 -0
- package/resources/fonts/calibri-italic.metrics.json +2 -2
- package/resources/fonts/calibri-italic.rows.json +9 -0
- package/resources/fonts/calibri-regular.hinted.json +121 -0
- package/resources/fonts/calibri-regular.metrics.json +1 -1
- package/resources/fonts/calibri-regular.rows.json +9 -0
- package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
- package/resources/fonts/cambria-bold-italic.rows.json +9 -0
- package/resources/fonts/cambria-bold.hinted.json +108 -0
- package/resources/fonts/cambria-bold.metrics.json +19 -19
- package/resources/fonts/cambria-bold.rows.json +9 -0
- package/resources/fonts/cambria-italic.hinted.json +102 -0
- package/resources/fonts/cambria-italic.metrics.json +23 -23
- package/resources/fonts/cambria-italic.rows.json +9 -0
- package/resources/fonts/cambria-regular.hinted.json +110 -0
- package/resources/fonts/cambria-regular.metrics.json +18 -18
- package/resources/fonts/cambria-regular.rows.json +9 -0
- package/resources/fonts/contents.json +280 -0
- package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
- package/resources/fonts/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/courier-new-bold.metrics.json +12 -12
- package/resources/fonts/courier-new-bold.rows.json +9 -0
- package/resources/fonts/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/courier-new-italic.metrics.json +12 -12
- package/resources/fonts/courier-new-italic.rows.json +9 -0
- package/resources/fonts/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/courier-new-regular.metrics.json +12 -12
- package/resources/fonts/courier-new-regular.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
- package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
- package/resources/fonts/times-new-roman-bold.rows.json +9 -0
- package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
- package/resources/fonts/times-new-roman-italic.rows.json +9 -0
- package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
- package/resources/fonts/times-new-roman-regular.rows.json +9 -0
- package/resources/locales/de/model.msg.json +93 -9
- package/resources/locales/en/model.msg.json +95 -10
- package/types/scripting-api.json +10809 -8021
- package/types/scripting-enums.json +201 -44
- package/types/scripting.d.ts +17030 -8666
- package/types/src/.generated/wasm/fonts.d.ts +161 -0
- package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
- package/types/src/.generated/wasm/sdk.d.ts +122 -0
- package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
- package/types/src/address/AddressUtils.d.ts +10 -1
- package/types/src/address/_StructuredAddress.d.ts +58 -0
- package/types/src/anomalies/_Anomalies.d.ts +109 -0
- package/types/src/anomalies/_FocusTable.d.ts +11 -0
- package/types/src/anomalies/_FormulaChecks.d.ts +133 -0
- package/types/src/anomalies/_LabelChecks.d.ts +21 -0
- package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
- package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
- package/types/src/border/IBorders.d.ts +16 -0
- package/types/src/calculation/Calculation.d.ts +139 -371
- package/types/src/calculation/ExternalBookBindings.d.ts +2 -3
- package/types/src/calculation/FormulaLiterals.d.ts +2 -1
- package/types/src/calculation/FormulaText.d.ts +18 -2
- package/types/src/calculation/ICalculation.d.ts +133 -18
- package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +293 -22
- package/types/src/calculation/_CloneBoundary.d.ts +1 -1
- package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
- package/types/src/calculation/_TableExtent.d.ts +60 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +6 -2
- package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
- package/types/src/calculation/compiler/Types.d.ts +9 -1
- package/types/src/calculation/engine/CalcBackend.d.ts +953 -0
- package/types/src/calculation/engine/index.d.ts +10 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +94 -24
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +23 -1
- package/types/src/calculation/executor/_WhatIf.d.ts +50 -0
- package/types/src/calculation/formula/Formula.d.ts +9 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +10 -3
- package/types/src/calculation/formula/IFormulaBlock.d.ts +21 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
- package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
- package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
- package/types/src/calculation/grid/CalcGrid.d.ts +44 -10
- package/types/src/calculation/grid/CalcGridBackend.d.ts +35 -27
- package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -2
- package/types/src/calculation/grid/CalcGridUtils.d.ts +12 -3
- package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
- package/types/src/calculation/grid/ICalcGrid.d.ts +48 -15
- package/types/src/calculation/grid/_CalcRequest.d.ts +28 -6
- package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +29 -2
- package/types/src/calculation/spatial/SpillEntry.d.ts +16 -2
- package/types/src/calculation/state/CalcNode.d.ts +0 -1
- package/types/src/calculation/state/CalcScope.d.ts +44 -6
- package/types/src/calculation/state/CalcState.d.ts +36 -4
- package/types/src/calculation/state/CalculationContext.d.ts +30 -3
- package/types/src/calculation/state/DeferredCalls.d.ts +260 -0
- package/types/src/calculation/state/IContextContainer.d.ts +32 -0
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +6 -0
- package/types/src/calculation/state/_WhatIfLayer.d.ts +91 -0
- package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
- package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
- package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
- package/types/src/calculation/toolkit/index.d.ts +12 -0
- package/types/src/cell/ICell.d.ts +302 -34
- package/types/src/cell/ICellHeader.d.ts +7 -6
- package/types/src/cell/ICellProtection.d.ts +1 -1
- package/types/src/cellControl/CellControl.d.ts +67 -0
- package/types/src/cellControl/CellControlCollection.d.ts +29 -0
- package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
- package/types/src/cellControl/ICellControl.d.ts +99 -0
- package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
- package/types/src/cellControl/index.d.ts +4 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
- package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
- package/types/src/cellRange/ICellRange.d.ts +525 -110
- package/types/src/cellRange/ICellRanges.d.ts +12 -6
- package/types/src/chart/Chart.d.ts +217 -15
- package/types/src/chart/ChartCollection.d.ts +7 -2
- package/types/src/chart/IChart.d.ts +1921 -35
- package/types/src/chart/IChartCollection.d.ts +27 -2
- package/types/src/chart/_ChartParts.d.ts +1066 -0
- package/types/src/chart/_ChartSource.d.ts +47 -0
- package/types/src/chart/createChart.d.ts +26 -0
- package/types/src/chart/index.d.ts +4 -0
- package/types/src/chart/kinds/ChartKind.d.ts +252 -0
- package/types/src/chart/kinds/_Area.d.ts +3 -0
- package/types/src/chart/kinds/_Bar.d.ts +4 -0
- package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
- package/types/src/chart/kinds/_Bubble.d.ts +3 -0
- package/types/src/chart/kinds/_Funnel.d.ts +4 -0
- package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
- package/types/src/chart/kinds/_Histogram.d.ts +4 -0
- package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
- package/types/src/chart/kinds/_Line.d.ts +4 -0
- package/types/src/chart/kinds/_OfPie.d.ts +4 -0
- package/types/src/chart/kinds/_Pie.d.ts +4 -0
- package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
- package/types/src/chart/kinds/_Radar.d.ts +4 -0
- package/types/src/chart/kinds/_Scatter.d.ts +8 -0
- package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
- package/types/src/chart/kinds/_Surface.d.ts +4 -0
- package/types/src/chart/kinds/_Treemap.d.ts +4 -0
- package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
- package/types/src/chart/kinds/_builtIns.d.ts +11 -0
- package/types/src/chart/layout/ChartLayout.d.ts +829 -0
- package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
- package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
- package/types/src/chart/layout/_HitTest.d.ts +36 -0
- package/types/src/chart/layout/_Layout.d.ts +25 -0
- package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
- package/types/src/chart/math/BoxStats.d.ts +35 -0
- package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
- package/types/src/chart/math/DisplayUnits.d.ts +53 -0
- package/types/src/chart/math/Histogram.d.ts +48 -0
- package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
- package/types/src/chart/math/Treemap.d.ts +28 -0
- package/types/src/chart/math/Trendlines.d.ts +71 -0
- package/types/src/chart/math/UnitCalcs.d.ts +98 -0
- package/types/src/chart/model/ChartModel.d.ts +681 -0
- package/types/src/chart/model/_ChartType.d.ts +14 -0
- package/types/src/chart/model/_Edits.d.ts +489 -0
- package/types/src/chart/model/_Grouping.d.ts +83 -0
- package/types/src/chart/model/_Inference.d.ts +52 -0
- package/types/src/chart/model/_ModelFacts.d.ts +112 -0
- package/types/src/chart/model/_NewChart.d.ts +208 -0
- package/types/src/chart/model/_OfPie.d.ts +18 -0
- package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
- package/types/src/chart/resolve/_Resolve.d.ts +61 -0
- package/types/src/chart/resolve/_ResolvedChart.d.ts +447 -0
- package/types/src/collections/ISparseGrid.d.ts +11 -2
- package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
- package/types/src/collections/RTree.d.ts +116 -36
- package/types/src/collections/SparseGrid.d.ts +9 -11
- package/types/src/collections/SpatialMap.d.ts +2 -8
- package/types/src/collections/SpatialMap3D.d.ts +2 -0
- package/types/src/collections/index.d.ts +1 -1
- package/types/src/comment/Comment.d.ts +32 -9
- package/types/src/comment/IComment.d.ts +41 -4
- package/types/src/comment/_NoteBox.d.ts +19 -2
- package/types/src/condition/AnchoredConditional.d.ts +30 -4
- package/types/src/condition/ICondition.d.ts +3 -2
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
- package/types/src/dataValidation/DataValidation.d.ts +1 -1
- package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
- package/types/src/dataValidation/IDataValidation.d.ts +1 -1
- package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
- package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
- package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
- package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
- package/types/src/documentProperties/index.d.ts +3 -0
- package/types/src/externalBook/IExternalBook.d.ts +3 -4
- package/types/src/fetch/Fetcher.d.ts +15 -0
- package/types/src/fetch/IFetcher.d.ts +47 -0
- package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
- package/types/src/fetch/index.d.ts +3 -0
- package/types/src/fill/IFill.d.ts +7 -0
- package/types/src/fill/IFillable.d.ts +47 -0
- package/types/src/fill/IStroke.d.ts +15 -1
- package/types/src/fill/PaintUtils.d.ts +24 -0
- package/types/src/fill/index.d.ts +2 -0
- package/types/src/font/AdvanceBuilder.d.ts +34 -0
- package/types/src/font/AdvanceTable.d.ts +128 -14
- package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
- package/types/src/font/FontCapture.d.ts +4 -0
- package/types/src/font/FontCollection.d.ts +53 -2
- package/types/src/font/FontPlatform.d.ts +20 -0
- package/types/src/font/FontUtils.d.ts +5 -0
- package/types/src/font/IFont.d.ts +191 -61
- package/types/src/font/IFontCollection.d.ts +20 -14
- package/types/src/font/IFontStyle.d.ts +207 -0
- package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
- package/types/src/font/_FontUtils.d.ts +11 -4
- package/types/src/font/_FontsVersion.d.ts +7 -0
- package/types/src/font/index.d.ts +1 -3
- package/types/src/font/platform.browser.d.ts +15 -0
- package/types/src/font/platform.node.d.ts +5 -0
- package/types/src/group/Group.d.ts +5 -0
- package/types/src/group/GroupMovableCollection.d.ts +4 -0
- package/types/src/history/IHistory.d.ts +19 -2
- package/types/src/hyperlink/IHyperlink.d.ts +17 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
- package/types/src/index.d.ts +4 -0
- package/types/src/license/LicenseManager.d.ts +21 -0
- package/types/src/license/_Utils.d.ts +18 -1
- package/types/src/license/runtime.browser.d.ts +5 -0
- package/types/src/license/runtime.node.d.ts +10 -0
- package/types/src/listener/IListener.d.ts +14 -2
- package/types/src/listener/ListenerEmitter.d.ts +11 -3
- package/types/src/movable/IMovable.d.ts +28 -15
- package/types/src/movable/IMovableCollection.d.ts +1 -1
- package/types/src/movable/Movable.d.ts +12 -1
- package/types/src/movable/MovableCollection.d.ts +7 -3
- package/types/src/movable/_InsertableCollection.d.ts +16 -5
- package/types/src/named/INamed.d.ts +30 -0
- package/types/src/named/INamedCollection.d.ts +38 -2
- package/types/src/named/NamedCollection.d.ts +34 -4
- package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
- package/types/src/outline/IOutline.d.ts +1 -1
- package/types/src/outline/Outline.d.ts +2 -2
- package/types/src/picture/IPicture.d.ts +98 -1
- package/types/src/picture/Picture.d.ts +15 -7
- package/types/src/pivot/IPivotTable.d.ts +2 -2
- package/types/src/pivot/PivotTable.d.ts +5 -5
- package/types/src/primitives/AsyncValue.d.ts +58 -0
- package/types/src/primitives/ReferenceRange.d.ts +2 -2
- package/types/src/print/IPageLayout.d.ts +635 -0
- package/types/src/print/PageLayout.d.ts +258 -0
- package/types/src/print/index.d.ts +1 -1
- package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
- package/types/src/protection/IProtection.d.ts +6 -0
- package/types/src/protection/PasswordHasher.d.ts +13 -0
- package/types/src/resource/IResource.d.ts +9 -0
- package/types/src/resource/IResourceCollection.d.ts +4 -0
- package/types/src/resource/Resource.d.ts +2 -0
- package/types/src/resource/_AddResource.d.ts +13 -0
- package/types/src/richData/CellImage.d.ts +95 -0
- package/types/src/richData/Hyperlink.d.ts +49 -0
- package/types/src/richData/IRichDataCollection.d.ts +76 -0
- package/types/src/richData/IRichDataKind.d.ts +66 -0
- package/types/src/richData/RichArray.d.ts +42 -0
- package/types/src/richData/RichDataCollection.d.ts +23 -0
- package/types/src/richData/RichDataRegistry.d.ts +89 -0
- package/types/src/richData/RichDataValues.d.ts +20 -0
- package/types/src/richData/RichRecord.d.ts +68 -0
- package/types/src/richData/RichText.d.ts +59 -0
- package/types/src/richData/index.d.ts +9 -0
- package/types/src/scripting/FunctionArguments.d.ts +17 -1
- package/types/src/scripting/FunctionCollection.d.ts +8 -0
- package/types/src/scripting/IModule.d.ts +3 -3
- package/types/src/scripting/IScript.d.ts +2 -2
- package/types/src/scripting/ITypedFunction.d.ts +1 -1
- package/types/src/scripting/Scripts.d.ts +10 -0
- package/types/src/scripting/TypedFunction.d.ts +2 -0
- package/types/src/scripting/declarations.d.ts +3 -0
- package/types/src/selection/ChartElementSelection.d.ts +39 -0
- package/types/src/selection/IChartElementSelection.d.ts +103 -0
- package/types/src/selection/IItemSelection.d.ts +131 -0
- package/types/src/selection/IMovableSelection.d.ts +6 -34
- package/types/src/selection/IRangeSelection.d.ts +4 -4
- package/types/src/selection/ItemSelection.d.ts +49 -0
- package/types/src/selection/MovableSelection.d.ts +11 -30
- package/types/src/selection/RangeSelection.d.ts +4 -4
- package/types/src/selection/index.d.ts +3 -0
- package/types/src/shape/IShape.d.ts +2 -1
- package/types/src/shape/IShapeStyle.d.ts +5 -31
- package/types/src/shape/ITextBoxStyle.d.ts +85 -0
- package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
- package/types/src/shape/_Connectors.d.ts +9 -9
- package/types/src/shape/_ShapeStyle.d.ts +9 -0
- package/types/src/shape/index.d.ts +1 -0
- package/types/src/sheet/CellRegion.d.ts +37 -3
- package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
- package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
- package/types/src/sheet/ISheet.d.ts +81 -1078
- package/types/src/sheet/IWorksheet.d.ts +1521 -0
- package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
- package/types/src/sheet/NamedCellRange.d.ts +2 -2
- package/types/src/sheet/NamedRange.d.ts +2 -2
- package/types/src/sheet/OpaqueSheet.d.ts +114 -0
- package/types/src/sheet/SheetCell.d.ts +40 -27
- package/types/src/sheet/SheetRange.d.ts +50 -13
- package/types/src/sheet/SheetRanges.d.ts +14 -12
- package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +591 -171
- package/types/src/sheet/WorksheetCollection.d.ts +39 -0
- package/types/src/sheet/_CellBuffer.d.ts +11 -1
- package/types/src/sheet/_CopyUtils.d.ts +13 -6
- package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
- package/types/src/sheet/_Kinds.d.ts +34 -0
- package/types/src/sheet/_Labels.d.ts +38 -0
- package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
- package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
- package/types/src/sheet/_ScalarListFactory.d.ts +55 -7
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
- package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
- package/types/src/sheet/_SheetCoords.d.ts +3 -3
- package/types/src/sheet/_SheetEvents.d.ts +1 -1
- package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
- package/types/src/sheet/_SheetIntents.d.ts +32 -14
- package/types/src/sheet/_SheetMessages.d.ts +1 -1
- package/types/src/sheet/_SheetMutations.d.ts +11 -9
- package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
- package/types/src/sheet/_SheetStateReader.d.ts +18 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +80 -9
- package/types/src/sheet/_SheetUtils.d.ts +20 -19
- package/types/src/sheet/_WatchAnchor.d.ts +15 -2
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
- package/types/src/sheet/index.d.ts +5 -2
- package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
- package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
- package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
- package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
- package/types/src/sheet/style/_Resolvers.d.ts +3 -2
- package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
- package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
- package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
- package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
- package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
- package/types/src/sheetProtection/index.d.ts +1 -1
- package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
- package/types/src/sheetView/WorksheetView.d.ts +139 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
- package/types/src/sheetView/index.d.ts +1 -1
- package/types/src/slicer/ISlicer.d.ts +2 -2
- package/types/src/sort/ISort.d.ts +35 -5
- package/types/src/style/ICellStyle.d.ts +56 -44
- package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
- package/types/src/table/AnchoredTable.d.ts +23 -7
- package/types/src/table/AutoTable.d.ts +1 -1
- package/types/src/table/ITable.d.ts +32 -19
- package/types/src/table/_NamedTable.d.ts +3 -3
- package/types/src/table/_NamedTableSource.d.ts +2 -2
- package/types/src/text/IText.d.ts +4 -51
- package/types/src/text/TextEngine.d.ts +34 -0
- package/types/src/text/TextFrame.d.ts +4 -2
- package/types/src/text/TextRun.d.ts +3 -2
- package/types/src/text/TextWrapper.d.ts +32 -26
- package/types/src/text/_TextUtils.d.ts +5 -5
- package/types/src/text/_TextWrapperFallback.d.ts +49 -0
- package/types/src/text/impl/TabStrategy.d.ts +3 -1
- package/types/src/text/richtext/IRichText.d.ts +16 -2
- package/types/src/text/richtext/index.d.ts +0 -1
- package/types/src/theme/ITheme.d.ts +108 -7
- package/types/src/theme/ThemeCollection.d.ts +5 -0
- package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
- package/types/src/transaction/ITransaction.d.ts +20 -1
- package/types/src/transaction/Transaction.d.ts +8 -1
- package/types/src/transaction/_BatchHandle.d.ts +118 -0
- package/types/src/type/AbstractCollection.d.ts +4 -13
- package/types/src/type/ICollection.d.ts +17 -4
- package/types/src/type/IProperties.d.ts +1 -1
- package/types/src/utils/_CSSUtils.d.ts +1 -1
- package/types/src/wasm/_fontsWasm.d.ts +7 -0
- package/types/src/wasm/_sdkWasm.d.ts +1 -1
- package/types/src/wasm/fontsWasm.d.ts +32 -0
- package/types/src/wasm/index.d.ts +1 -0
- package/types/src/wasm/loader.browser.d.ts +9 -0
- package/types/src/wasm/loader.node.d.ts +9 -0
- package/types/src/wasm/sdkWasm.d.ts +6 -3
- package/types/src/workbook/IWorkbook.d.ts +269 -39
- package/types/src/workbook/Workbook.d.ts +102 -25
- package/types/src/workbook/WorkbookRange.d.ts +2 -2
- package/types/src/workbook/WorkbookRanges.d.ts +3 -3
- package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
- package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
- package/types/src/workbookView/IWorkbookView.d.ts +82 -0
- package/types/src/workbookView/WorkbookView.d.ts +21 -0
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
- package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
- package/node/esm/CImNvdz1iP-lUlro.mjs +0 -610
- package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
- package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
- package/types/src/chart/_ChartXml.d.ts +0 -70
- package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
- package/types/src/collections/_RangeSweep.d.ts +0 -97
- package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
- package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
- package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
- package/types/src/print/IPrint.d.ts +0 -212
- package/types/src/sheet/SheetCollection.d.ts +0 -29
- package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
- package/types/src/sheetView/SheetView.d.ts +0 -122
- package/types/src/text/richtext/IStyledFont.d.ts +0 -330
|
@@ -4,26 +4,43 @@ import { RangeCoordValue, RangeCoords } from '@sheetxl/utils';
|
|
|
4
4
|
*
|
|
5
5
|
* Use this to answer "which items overlap this region?" without a linear scan.
|
|
6
6
|
*
|
|
7
|
-
* @
|
|
7
|
+
* {@link clone} is O(1): the copies share every node, and a change to either copies only the
|
|
8
|
+
* nodes on its path from the root, so each keeps the version it had.
|
|
9
|
+
*
|
|
10
|
+
* Items are returned by identity: {@link search} and {@link all} return the objects that were
|
|
11
|
+
* inserted. An item's coordinates must not change while it is in the tree.
|
|
8
12
|
*
|
|
9
|
-
* @
|
|
13
|
+
* @typeParam T must extend `RangeCoordValue` (carries `colStart/rowStart/colEnd/rowEnd`)
|
|
10
14
|
*/
|
|
11
15
|
export declare class RTree<T extends RangeCoordValue> {
|
|
12
16
|
protected _maxEntries: number;
|
|
13
17
|
protected _minEntries: number;
|
|
14
|
-
|
|
18
|
+
/** The nodes and items, shared with every clone of this tree. */
|
|
19
|
+
protected _arena: Arena<T>;
|
|
20
|
+
/** The id carried by the arena nodes this tree may write in place. */
|
|
21
|
+
protected _owner: number;
|
|
22
|
+
protected _root: number;
|
|
23
|
+
protected _size: number;
|
|
24
|
+
/** The nodes reachable from the root; the arena holding many more is what triggers a compaction. */
|
|
25
|
+
protected _nodes: number;
|
|
26
|
+
protected _colStart: number;
|
|
27
|
+
protected _rowStart: number;
|
|
28
|
+
protected _colEnd: number;
|
|
29
|
+
protected _rowEnd: number;
|
|
15
30
|
/**
|
|
16
31
|
* Constructs an `RTree`, a high-performance 2D spatial index for points and
|
|
17
32
|
* rectangles. Based on an optimized __R-tree__ data structure with
|
|
18
33
|
* __bulk-insertion__ support.
|
|
19
34
|
*
|
|
20
35
|
* @param maxEntries An optional argument to RTree defines the maximum
|
|
21
|
-
* number of entries in a tree node
|
|
22
|
-
* is a reasonable choice for most
|
|
23
|
-
* value means faster insertion and
|
|
24
|
-
* vice versa.
|
|
36
|
+
* number of entries in a tree node, from `4` to `12`. `9`
|
|
37
|
+
* (used by default) is a reasonable choice for most
|
|
38
|
+
* applications. Higher value means faster insertion and
|
|
39
|
+
* slower search, and vice versa.
|
|
25
40
|
*/
|
|
26
41
|
constructor(maxEntries?: number);
|
|
42
|
+
/** Returns the number of items in the tree. */
|
|
43
|
+
size(): number;
|
|
27
44
|
/** Returns all items contained in the tree. */
|
|
28
45
|
all(result?: T[]): T[];
|
|
29
46
|
/**
|
|
@@ -64,6 +81,10 @@ export declare class RTree<T extends RangeCoordValue> {
|
|
|
64
81
|
* Removes all items.
|
|
65
82
|
*/
|
|
66
83
|
clear(): RTree<T>;
|
|
84
|
+
/**
|
|
85
|
+
* Returns a copy that shares this tree's nodes; changing either leaves the other as it was.
|
|
86
|
+
*/
|
|
87
|
+
clone(): this;
|
|
67
88
|
/**
|
|
68
89
|
* Inserts an item. To insert many items at once, use `load()`.
|
|
69
90
|
*/
|
|
@@ -73,39 +94,98 @@ export declare class RTree<T extends RangeCoordValue> {
|
|
|
73
94
|
* Pass `equals` to compare by value instead.
|
|
74
95
|
*/
|
|
75
96
|
remove(item: T, equals?: (a: T, b: T) => boolean): RTree<T>;
|
|
76
|
-
protected
|
|
77
|
-
protected
|
|
78
|
-
|
|
79
|
-
protected
|
|
80
|
-
|
|
81
|
-
protected
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
97
|
+
protected _rootIntersects(coords: RangeCoords): boolean;
|
|
98
|
+
protected _setRootBox(): void;
|
|
99
|
+
/** The arena, created on the first write: an empty tree holds none. */
|
|
100
|
+
protected _writableArena(): Arena<T>;
|
|
101
|
+
/** `node` if this tree owns it, otherwise an owned copy of it that nothing points at yet. */
|
|
102
|
+
protected _ownDetached(node: number): number;
|
|
103
|
+
/**
|
|
104
|
+
* `node` if this tree owns it, otherwise an owned copy put in its place: in slot `slot` of
|
|
105
|
+
* `parent` (which this tree must own), or as the root when `parent` is `NONE`.
|
|
106
|
+
*/
|
|
107
|
+
protected _own(node: number, parent: number, slot: number): number;
|
|
108
|
+
protected _all(node: number, result: T[]): T[];
|
|
109
|
+
/**
|
|
110
|
+
* Builds a subtree over `order[left..right]` (indices into `itemBoxes`, four numbers an item,
|
|
111
|
+
* and into the payload from `first`) and returns its node, leaving its box in `_bx0`..`_bx3` and
|
|
112
|
+
* its height in `_BuiltHeight`. The same overlap-minimizing tiling as rbush's bulk load.
|
|
113
|
+
*/
|
|
114
|
+
protected _build(order: Int32Array, itemBoxes: Float64Array, first: number, left: number, right: number, height: number): number;
|
|
115
|
+
/**
|
|
116
|
+
* Adds `child` (an item's payload index when `height` is `0`, otherwise a node of height
|
|
117
|
+
* `height - 1`) to a node of height `height`, copying the shared nodes on the way down and
|
|
118
|
+
* splitting full ones on the way up.
|
|
119
|
+
*/
|
|
120
|
+
protected _insertEntry(child: number, colStart: number, rowStart: number, colEnd: number, rowEnd: number, height: number): void;
|
|
121
|
+
/**
|
|
122
|
+
* Adds an entry to an owned node; when the node is full, splits it and returns the new sibling
|
|
123
|
+
* (for the caller to add to the parent), otherwise `NONE`.
|
|
124
|
+
*/
|
|
125
|
+
protected _addEntry(node: number, child: number, colStart: number, rowStart: number, colEnd: number, rowEnd: number): number;
|
|
126
|
+
/** Grows the tree by a level: a new root over the old root and `sibling`, of the same height. */
|
|
127
|
+
protected _splitRoot(sibling: number): void;
|
|
128
|
+
/**
|
|
129
|
+
* Finds `item` under `node` as `remove` does: a leaf's items are compared, a node whose children
|
|
130
|
+
* are leaves has every leaf searched, a deeper node only the children that contain the item. On
|
|
131
|
+
* a match, records the path in `_RemovePath`/`_RemoveSlots` and the item's slot in `_RemoveSlot`.
|
|
132
|
+
*
|
|
133
|
+
* The path is written only on the way back up, after the last call to `equals`, so an `equals`
|
|
134
|
+
* that uses another tree cannot disturb it.
|
|
135
|
+
*/
|
|
136
|
+
protected _findItem(node: number, depth: number, item: T, equals: ((a: T, b: T) => boolean) | undefined): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Removes every item under `node` that `isRemove` matches, visiting only children that intersect
|
|
139
|
+
* the given box. A node is written only when something under it is removed, and copied first
|
|
140
|
+
* when it is shared, so a subtree with nothing to remove is never copied.
|
|
141
|
+
*
|
|
142
|
+
* @returns `UNCHANGED`, `EMPTY` (the node should be removed from its parent), or the node to keep
|
|
143
|
+
* in its place (a copy when it was shared).
|
|
144
|
+
*/
|
|
145
|
+
protected _removeWithin(node: number, isRemove: (item: T) => boolean, colStart: number, rowStart: number, colEnd: number, rowEnd: number): number;
|
|
146
|
+
/**
|
|
147
|
+
* Compacts when the arena holds much more than this tree reaches: the nodes and items other
|
|
148
|
+
* versions still use, and the ones no version does. A compaction copies the tree's nodes and
|
|
149
|
+
* items, so it waits until the unreached nodes outnumber both, which keeps its cost per write
|
|
150
|
+
* constant.
|
|
151
|
+
*/
|
|
152
|
+
protected _maybeCompact(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Moves this tree into an arena of its own, copying what it reaches depth first so a parent is
|
|
155
|
+
* next to its first child. Other versions keep the old arena, which is freed with the last of them.
|
|
156
|
+
*/
|
|
157
|
+
protected _detach(): void;
|
|
158
|
+
/**
|
|
159
|
+
* Throws if the tree is inconsistent: heights, boxes, counts, the size and the node count. For
|
|
160
|
+
* tests.
|
|
161
|
+
*/
|
|
162
|
+
protected _validate(): void;
|
|
85
163
|
}
|
|
86
164
|
/**
|
|
87
|
-
*
|
|
165
|
+
* The storage of a tree and every clone of it.
|
|
88
166
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
167
|
+
* Nodes are appended and never freed or rewritten once another version can reach them: a tree
|
|
168
|
+
* writes a node in place only when the node carries the tree's owner id, and {@link RTree.clone}
|
|
169
|
+
* gives both trees new ids, so no existing node carries either. That is what makes a clone free
|
|
170
|
+
* and an old version immutable. The garbage collects as a whole: a tree that reaches much less
|
|
171
|
+
* than its arena holds moves to a new one ({@link RTree._detach}), and the old one goes when the
|
|
172
|
+
* last version using it does.
|
|
92
173
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
174
|
+
declare class Arena<T> {
|
|
175
|
+
boxes: Float64Array;
|
|
176
|
+
meta: Int32Array;
|
|
177
|
+
/** The number of nodes allocated. */
|
|
178
|
+
top: number;
|
|
179
|
+
/** Item by payload index. */
|
|
180
|
+
payload: T[];
|
|
181
|
+
/** The last owner id handed out. */
|
|
182
|
+
owners: number;
|
|
183
|
+
constructor(capacity: number);
|
|
184
|
+
/** A new node carrying `owner`; may replace `boxes` and `meta`, so neither is held across it. */
|
|
185
|
+
alloc(owner: number): number;
|
|
186
|
+
/** Grows the arrays to hold at least `capacity` nodes; replaces `boxes` and `meta` when it does. */
|
|
187
|
+
reserve(capacity: number): void;
|
|
188
|
+
nextOwner(): number;
|
|
97
189
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Rearranges items so that all items in the [left, k] are the smallest.
|
|
100
|
-
* The k-th element will have the (k - left + 1)-th smallest value in [left, right].
|
|
101
|
-
*
|
|
102
|
-
* @template T
|
|
103
|
-
* @param arr the array to partially sort (in place)
|
|
104
|
-
* @param k middle index for partial sorting (as defined above)
|
|
105
|
-
* @param left left index of the range to sort
|
|
106
|
-
* @param right right index
|
|
107
|
-
* @param compare compare function
|
|
108
|
-
*/
|
|
109
|
-
export declare function quickSelect<T>(arr: T[], k: number, left?: number | undefined, right?: number | undefined, compare?: ((a: T, b: T) => number) | undefined): void;
|
|
110
190
|
export {};
|
|
111
191
|
//# sourceMappingURL=RTree.d.ts.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
|
|
2
2
|
import { Tuple } from './Tuple';
|
|
3
3
|
import { IReadableList } from './IReadableList';
|
|
4
4
|
import { IGrid } from './IGrid';
|
|
5
5
|
import { ISparseGrid } from './ISparseGrid';
|
|
6
|
+
import { IListLike } from './IList';
|
|
6
7
|
/**
|
|
7
8
|
* Implementation of {@link IGrid} that uses a ISparseList of ISparseList.
|
|
8
9
|
*/
|
|
@@ -19,13 +20,7 @@ export declare class SparseGrid<T = any> implements ISparseGrid<T> {
|
|
|
19
20
|
private _isShared;
|
|
20
21
|
private _createRun;
|
|
21
22
|
constructor(options?: SparseGrid.ConstructorOptions);
|
|
22
|
-
/**
|
|
23
|
-
* Returns an IterableIterator over all the runs in the sparse grid.
|
|
24
|
-
* Each run is a contiguous list of values in the grid.
|
|
25
|
-
*
|
|
26
|
-
* @returns An iterator that yields [majorIndex, minorIndex, IReadableList] entries
|
|
27
|
-
*/
|
|
28
|
-
/** {@inheritDoc ISparseGrid.getMaxCoords} */
|
|
23
|
+
/** {@inheritDoc ISparseGrid.getRuns} */
|
|
29
24
|
getRuns(options?: ISparseGrid.RunIteratorOptions): ISparseGrid.RunIterableIterator<T>;
|
|
30
25
|
/** {@inheritDoc IGrid.getAxis} */
|
|
31
26
|
getAxis(): RangeAxis;
|
|
@@ -35,6 +30,7 @@ export declare class SparseGrid<T = any> implements ISparseGrid<T> {
|
|
|
35
30
|
values(options?: IGrid.IteratorOptions): IGrid.ValueIterator;
|
|
36
31
|
/** {@inheritDoc IGrid.keys} */
|
|
37
32
|
keys(options?: IGrid.IteratorOptions): IGrid.KeyIterator;
|
|
33
|
+
private _entriesPrivateResult;
|
|
38
34
|
private _updateMajorSpan;
|
|
39
35
|
/** {@inheritDoc IGrid.setValues} */
|
|
40
36
|
setValues(values: Tuple.GridTuple<T>): this;
|
|
@@ -89,11 +85,13 @@ export declare namespace SparseGrid {
|
|
|
89
85
|
*/
|
|
90
86
|
axis?: RangeAxis;
|
|
91
87
|
/**
|
|
92
|
-
*
|
|
88
|
+
* Makes the list a run of contiguous values is stored as: the one place a value enters this
|
|
89
|
+
* grid, so a grid with a policy about what it holds applies it here, once per run.
|
|
93
90
|
*
|
|
94
|
-
* @param values The values
|
|
91
|
+
* @param values The run's values: a writer's array, or a list another grid already held.
|
|
92
|
+
* @defaultValue wraps the values as they are
|
|
95
93
|
*/
|
|
96
|
-
createRun?: (values: T[]) => IReadableList<T>;
|
|
94
|
+
createRun?: (values: IListLike<T> | T[]) => IReadableList<T>;
|
|
97
95
|
}
|
|
98
96
|
}
|
|
99
97
|
//# sourceMappingURL=SparseGrid.d.ts.map
|
|
@@ -5,7 +5,6 @@ import { ISpatialMap } from './ISpatialMap';
|
|
|
5
5
|
* The default implementation for {@link ISpatialMap}
|
|
6
6
|
*/
|
|
7
7
|
export declare class SpatialMap<T = any> implements ISpatialMap<T> {
|
|
8
|
-
protected _shared: SharedRecord<T> | null;
|
|
9
8
|
protected _rTree: FilterRTree<T>;
|
|
10
9
|
protected _cloneKey: any;
|
|
11
10
|
protected _options: ISpatialMap.ConstructorOptions<T> | undefined;
|
|
@@ -60,13 +59,12 @@ export declare class SpatialMap<T = any> implements ISpatialMap<T> {
|
|
|
60
59
|
delete(coords: RangeCoords | null): this;
|
|
61
60
|
/** {@inheritDoc ISpatialMap.clone} */
|
|
62
61
|
clone(cloneKey?: any): this;
|
|
63
|
-
protected _copy(source: SharedRecord<T>, entries?: ReadonlyArray<ISpatialMap.Entry<T>>): SharedRecord<T>;
|
|
64
62
|
protected _updateNodes(nodesInsert: ISpatialMap.Entry<T>[], nodesRemove?: ISpatialMap.Entry<T>[], onUpdates?: (nodesInsert: ISpatialMap.Entry<T>[], nodesRemove: ISpatialMap.Entry<T>[], map: ISpatialMap<T>) => void): void;
|
|
65
63
|
protected _mergeNodes(range: RangeCoords, fullyContained?: boolean): ISpatialMap.Entry<T>[];
|
|
66
64
|
protected _getReadTree(): FilterRTree<T>;
|
|
67
|
-
protected _ensureWritable(entries?: ReadonlyArray<ISpatialMap.Entry<T>>): void;
|
|
68
65
|
/**
|
|
69
|
-
*
|
|
66
|
+
* The tree, with the search caches invalidated for a write; loads `entries` into it first if
|
|
67
|
+
* given.
|
|
70
68
|
*/
|
|
71
69
|
protected _getWritableTree(entries?: ReadonlyArray<ISpatialMap.Entry<T>>): FilterRTree<T>;
|
|
72
70
|
/**
|
|
@@ -78,10 +76,6 @@ export declare class SpatialMap<T = any> implements ISpatialMap<T> {
|
|
|
78
76
|
*/
|
|
79
77
|
protected _createClone(options: ISpatialMap.ConstructorOptions<T> | undefined): this;
|
|
80
78
|
}
|
|
81
|
-
interface SharedRecord<T> {
|
|
82
|
-
refCount: number;
|
|
83
|
-
rTree: FilterRTree<T>;
|
|
84
|
-
}
|
|
85
79
|
/**
|
|
86
80
|
* Internal class that extends RTree to support Filters.
|
|
87
81
|
* is needed — the default passthrough in RTree works directly.
|
|
@@ -11,6 +11,8 @@ import { ISpatialMap3D } from './ISpatialMap3D';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class SpatialMap3D<T = any> implements ISpatialMap3D<T> {
|
|
13
13
|
protected _mapScopeTo2Ds: Map<string, ISpatialMap<T>>;
|
|
14
|
+
/** The key this map was cloned under, if any - see {@link clone}. */
|
|
15
|
+
protected _cloneKey: any;
|
|
14
16
|
protected _last2DKey: string | null | undefined;
|
|
15
17
|
protected _last2DMap: ISpatialMap<T> | undefined;
|
|
16
18
|
protected _options: SpatialMap3D.ConstructorOptions<T> | undefined;
|
|
@@ -9,7 +9,7 @@ export * from './ISpatialMap3D';
|
|
|
9
9
|
export * as IteratorUtils from './IteratorUtils';
|
|
10
10
|
export * from './ImmutableList';
|
|
11
11
|
export * from './IList';
|
|
12
|
-
export
|
|
12
|
+
export { OverlappingRange } from '@sheetxl/utils';
|
|
13
13
|
export * from './SortedMap';
|
|
14
14
|
export * from './SparseGrid';
|
|
15
15
|
export * from './ScalarGrid';
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { IRange } from '@sheetxl/primitives';
|
|
2
|
+
import { Bounds } from '@sheetxl/utils';
|
|
2
3
|
import { IListener } from '../listener';
|
|
3
4
|
import { ITransaction } from '../transaction';
|
|
4
5
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
5
|
-
import {
|
|
6
|
+
import { IWorksheet } from '../sheet';
|
|
6
7
|
import { IPerson, IPersonCollection } from '../person';
|
|
7
8
|
import { IMovable } from '../movable';
|
|
8
9
|
import { IRichText } from '../text';
|
|
10
|
+
import { IFill, IStroke } from '../fill';
|
|
11
|
+
import { IStyleCollection } from '../style';
|
|
12
|
+
import { IShapeStyle } from '../shape';
|
|
9
13
|
import { Anchored } from '../anchored/Anchored';
|
|
10
14
|
import { AbstractAnchored } from '../anchored/AbstractAnchored';
|
|
11
15
|
import { IComment } from './IComment';
|
|
@@ -31,6 +35,7 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
|
|
|
31
35
|
* brings the same one back, and a note made again from a thread is given a new one.
|
|
32
36
|
*/
|
|
33
37
|
private _boxes;
|
|
38
|
+
private _style;
|
|
34
39
|
/** @internal */
|
|
35
40
|
protected _initialize(options: Comment.ConstructorOptions): void;
|
|
36
41
|
/** @internal */
|
|
@@ -54,8 +59,8 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
|
|
|
54
59
|
* never asks the model for it, so this is free to answer the way Office Scripts does.
|
|
55
60
|
*/
|
|
56
61
|
getId(): string;
|
|
57
|
-
/** {@inheritDoc IComment.
|
|
58
|
-
|
|
62
|
+
/** {@inheritDoc IComment.getWorksheet} */
|
|
63
|
+
getWorksheet(): IWorksheet;
|
|
59
64
|
/** {@inheritDoc IComment.getRange} */
|
|
60
65
|
getRange(options?: ICellRange.GetRangeOptions): ICellRange;
|
|
61
66
|
/** {@inheritDoc IComment.getContent} */
|
|
@@ -94,17 +99,19 @@ export declare class Comment extends AbstractAnchored<State, IComment.Events> im
|
|
|
94
99
|
setDescription(description: string | null): this;
|
|
95
100
|
/** {@inheritDoc IComment.getMovable} */
|
|
96
101
|
getMovable(): IMovable | null;
|
|
102
|
+
/** {@inheritDoc IComment.getStyle} */
|
|
103
|
+
getStyle(): IShapeStyle | null;
|
|
97
104
|
/**
|
|
98
105
|
* The live box, if there is one.
|
|
99
106
|
* @internal
|
|
100
107
|
*/
|
|
101
108
|
protected _getBox(): NoteMovable | null;
|
|
102
109
|
/**
|
|
103
|
-
* Asks the sheet for a box: at `
|
|
104
|
-
*
|
|
110
|
+
* Asks the sheet for a box: at `placement`, or where Excel puts a new note's. A comment with no
|
|
111
|
+
* sheet to place one on has no box.
|
|
105
112
|
* @internal
|
|
106
113
|
*/
|
|
107
|
-
protected _placeBox(
|
|
114
|
+
protected _placeBox(placement: Comment.BoxPlacement | null, hidden: boolean): void;
|
|
108
115
|
/**
|
|
109
116
|
* The note is gone, or is a thread now: its box goes with it.
|
|
110
117
|
* @internal
|
|
@@ -182,7 +189,20 @@ export declare namespace Comment {
|
|
|
182
189
|
* What places a note's box. A comment given none has no movable.
|
|
183
190
|
*/
|
|
184
191
|
boxes?: Comment.Boxes;
|
|
192
|
+
/**
|
|
193
|
+
* The workbook's styles, for resolving a note's colors. Lazy, as {@link getPeople} is.
|
|
194
|
+
*/
|
|
195
|
+
getStyles?: () => IStyleCollection | null;
|
|
185
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Where a note's box is placed: by its cells counted from the note's, or by pixels from the
|
|
199
|
+
* sheet's top-left (see {@link IComment.BoxJSON.bounds}).
|
|
200
|
+
*/
|
|
201
|
+
type BoxPlacement = {
|
|
202
|
+
anchor: IMovable.AnchorOffset;
|
|
203
|
+
} | {
|
|
204
|
+
bounds: Bounds;
|
|
205
|
+
};
|
|
186
206
|
/**
|
|
187
207
|
* What a note's box needs of the sheet it is on: to be placed, and to know whether it is where
|
|
188
208
|
* a new note's goes.
|
|
@@ -192,11 +212,10 @@ export declare namespace Comment {
|
|
|
192
212
|
* Places a note's box among the sheet's movables, with the note as its content.
|
|
193
213
|
*
|
|
194
214
|
* @param comment The note.
|
|
195
|
-
* @param
|
|
196
|
-
* puts a new note's.
|
|
215
|
+
* @param placement Where the box is; `null` for where Excel puts a new note's.
|
|
197
216
|
* @param hidden Whether the box appears only while its cell is pointed at.
|
|
198
217
|
*/
|
|
199
|
-
add(comment: Comment,
|
|
218
|
+
add(comment: Comment, placement: BoxPlacement | null, hidden: boolean): NoteMovable;
|
|
200
219
|
/**
|
|
201
220
|
* Whether a box is where a new note's goes, which a note saves nothing for.
|
|
202
221
|
*/
|
|
@@ -218,6 +237,10 @@ interface State extends AbstractAnchored.State {
|
|
|
218
237
|
description: string | null;
|
|
219
238
|
/** How a note's box is drawn when not the default: markup a file's writer replays. */
|
|
220
239
|
boxXml: string | null;
|
|
240
|
+
/** The fill a note's box states. */
|
|
241
|
+
boxFill: IFill.JSON | null;
|
|
242
|
+
/** The line a note's box states. */
|
|
243
|
+
boxStroke: IStroke.JSON | null;
|
|
221
244
|
}
|
|
222
245
|
export {};
|
|
223
246
|
//# sourceMappingURL=Comment.d.ts.map
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { Bounds } from '@sheetxl/utils';
|
|
1
2
|
import { IAnchored } from '../anchored';
|
|
2
3
|
import { ICellRange } from '../cellRange';
|
|
3
4
|
import { IListener } from '../listener';
|
|
4
5
|
import { ITransaction } from '../transaction';
|
|
5
6
|
import { IPerson } from '../person';
|
|
6
|
-
import {
|
|
7
|
+
import { IWorksheet } from '../sheet';
|
|
7
8
|
import { IMovable } from '../movable';
|
|
8
9
|
import { IRichText } from '../text';
|
|
10
|
+
import { IFill, IStroke } from '../fill';
|
|
11
|
+
import { IShapeStyle } from '../shape';
|
|
9
12
|
/**
|
|
10
13
|
* A comment on a cell: the root of a thread, with its replies, or a note.
|
|
11
14
|
*
|
|
@@ -54,6 +57,22 @@ export interface IComment extends IAnchored, IMovable.IContent {
|
|
|
54
57
|
* ```
|
|
55
58
|
*/
|
|
56
59
|
getMovable(): IMovable | null;
|
|
60
|
+
/**
|
|
61
|
+
* The fill and line of a note's box, or `null` for a threaded comment, which has no box.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* A note that states neither draws Excel's default: the system tooltip background
|
|
65
|
+
* ({@link IColor.Named.InfoBk}) and a thin line in the tooltip text color. Excel takes only
|
|
66
|
+
* literal colors here; a theme color is written to a file as the color it resolves to.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* const note = sheet.getComments().add('B2', 'Check this', { asNote: true });
|
|
71
|
+
* note.getStyle()!.setFill('#ccffcc');
|
|
72
|
+
* note.getStyle()!.getStroke().setWidth(2.25);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
getStyle(): IShapeStyle | null;
|
|
57
76
|
/**
|
|
58
77
|
* Deletes the comment: its replies with it, or a note's box.
|
|
59
78
|
*/
|
|
@@ -61,7 +80,7 @@ export interface IComment extends IAnchored, IMovable.IContent {
|
|
|
61
80
|
/**
|
|
62
81
|
* The sheet the comment is on.
|
|
63
82
|
*/
|
|
64
|
-
|
|
83
|
+
getWorksheet(): IWorksheet;
|
|
65
84
|
/**
|
|
66
85
|
* The cell the comment is on.
|
|
67
86
|
*
|
|
@@ -339,8 +358,26 @@ export declare namespace IComment {
|
|
|
339
358
|
*/
|
|
340
359
|
anchor?: IMovable.AnchorOffset;
|
|
341
360
|
/**
|
|
342
|
-
*
|
|
343
|
-
*
|
|
361
|
+
* Where the box is in pixels from the sheet's top-left, for a box placed by position rather
|
|
362
|
+
* than by cells. Used only when there is no {@link anchor}; once loaded, the box is anchored
|
|
363
|
+
* to the cells under it and saves an `anchor`.
|
|
364
|
+
*
|
|
365
|
+
* @remarks
|
|
366
|
+
* A VML note shape with no `<x:Anchor>` (openpyxl writes them) is placed this way in Excel,
|
|
367
|
+
* literally, wherever its note's cell is.
|
|
368
|
+
*/
|
|
369
|
+
bounds?: Bounds;
|
|
370
|
+
/**
|
|
371
|
+
* The box's fill, where it states one. Absent draws Excel's default.
|
|
372
|
+
*/
|
|
373
|
+
fill?: IFill.JSON;
|
|
374
|
+
/**
|
|
375
|
+
* The box's line, where it states one. Absent draws Excel's default.
|
|
376
|
+
*/
|
|
377
|
+
stroke?: IStroke.JSON;
|
|
378
|
+
/**
|
|
379
|
+
* The rest of how the box is drawn when that is not Excel's default, held as it was read: the
|
|
380
|
+
* VML `<v:shape>` without its id, its position, its cell, its fill or its line.
|
|
344
381
|
*/
|
|
345
382
|
xml?: string;
|
|
346
383
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { Bounds } from '@sheetxl/utils';
|
|
3
3
|
import { IMovable } from '../movable';
|
|
4
|
+
import { IWorksheet } from '../sheet';
|
|
4
5
|
import { Movable } from '../movable/Movable';
|
|
5
6
|
/**
|
|
6
7
|
* Where a note's box goes when nothing has moved it, and how a note stores where its box is.
|
|
@@ -8,7 +9,8 @@ import { Movable } from '../movable/Movable';
|
|
|
8
9
|
* @remarks
|
|
9
10
|
* The default is Excel's, probed with hidden COM on a 96-DPI machine (2026-09-30): a 144×79 px
|
|
10
11
|
* box hung 15 px right of its cell and 10 px above its top, flipped to the other side when it
|
|
11
|
-
* would pass the sheet's last column or row.
|
|
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
|
|
12
14
|
* pixels fall on second, so tall, narrow and hidden rows and columns need no rule of their own.
|
|
13
15
|
*
|
|
14
16
|
* A note stores its box's anchor with the cells counted from the note's own, so a note copied
|
|
@@ -24,10 +26,25 @@ export declare const NOTE_DEFAULT_HEIGHT = 79;
|
|
|
24
26
|
* The cell geometry placing a box needs: the same three a movable is built with.
|
|
25
27
|
*/
|
|
26
28
|
export type NoteLayout = Required<Pick<Movable.ConstructorOptions, 'getBoundsAtCoords' | 'getCoordsAtBounds' | 'getMaxBounds'>>;
|
|
29
|
+
/** The merge a cell is in, or `null` when it is in none. */
|
|
30
|
+
export type MergeAt = (cell: IRange.CellCoords) => IRange.Coords | null;
|
|
31
|
+
/** {@link MergeAt} through a sheet's cells, for once it has loaded. */
|
|
32
|
+
export declare const sheetMergeAt: (sheet: IWorksheet) => MergeAt;
|
|
33
|
+
/**
|
|
34
|
+
* The cells a note's box hangs beside: the note's cell, or the merge it anchors.
|
|
35
|
+
*/
|
|
36
|
+
export declare function noteBoxTarget(mergeAt: MergeAt, cell: IRange.CellCoords): IRange.Coords;
|
|
27
37
|
/**
|
|
28
38
|
* The bounds of a note's box when nothing has moved or resized it.
|
|
39
|
+
*
|
|
40
|
+
* @param target The cells the box hangs beside, from {@link noteBoxTarget}.
|
|
41
|
+
*/
|
|
42
|
+
export declare function defaultNoteBounds(target: IRange.Coords, layout: NoteLayout): Bounds;
|
|
43
|
+
/**
|
|
44
|
+
* Bounds measured from the sheet's top-left (as a file's VML `style` places a box with no anchor)
|
|
45
|
+
* in the layout's coordinates.
|
|
29
46
|
*/
|
|
30
|
-
export declare function
|
|
47
|
+
export declare function sheetNoteBounds(bounds: Bounds, layout: NoteLayout): Bounds;
|
|
31
48
|
/**
|
|
32
49
|
* The cells and offsets a box's corners fall on, as a movable is loaded from.
|
|
33
50
|
*/
|
|
@@ -4,6 +4,7 @@ import { IListener } from '../listener';
|
|
|
4
4
|
import { ITransaction } from '../transaction';
|
|
5
5
|
import { Tuple, ISparseGrid } from '../collections';
|
|
6
6
|
import { ICalculation } from '../calculation';
|
|
7
|
+
import { FormulaHost } from '../calculation/grid';
|
|
7
8
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
8
9
|
import { ICondition } from '../condition';
|
|
9
10
|
import { ConditionFormulaBinding } from '../condition/_ConditionFormula';
|
|
@@ -15,7 +16,7 @@ import * as _ConditionUtils from '../condition/_ConditionUtils';
|
|
|
15
16
|
* Implementation of {@link IDataValidation}.
|
|
16
17
|
*/
|
|
17
18
|
export declare abstract class AnchoredConditional<STATE extends AnchoredConditional.State, EVENTS extends ICondition.Events = ICondition.Events, JSON = any> extends AbstractAnchored<STATE, EVENTS> implements IAnchored, ITransaction.ITransactional, IListener.ISource<IAnchored> {
|
|
18
|
-
protected _rangeListener: ICellRange.Listener | null;
|
|
19
|
+
protected _rangeListener: ICellRange.Listener<ICellRanges> | null;
|
|
19
20
|
protected _getValueGrid: () => ISparseGrid<Scalar>;
|
|
20
21
|
/**
|
|
21
22
|
* One registered watch per formula the condition asked for, keyed by the formula: its remove, and
|
|
@@ -45,8 +46,29 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
|
|
|
45
46
|
protected abstract _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
|
|
46
47
|
/** @internal */
|
|
47
48
|
protected abstract _getType(): string;
|
|
48
|
-
/**
|
|
49
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Re-judges the rule after a change.
|
|
51
|
+
*
|
|
52
|
+
* @returns What the re-judging awaits, when it does: counted as calculation in flight until it
|
|
53
|
+
* settles (see `ICalculation.waitUntil`).
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
protected abstract _processValueUpdates(range: ICellRange | null): void | Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Whether this rule's formula watches evaluate a blank region the answer of which depends on
|
|
59
|
+
* the position only where the rule is read (`WatchAnchor.Options.paged`): a cell not read yet
|
|
60
|
+
* has no answer and judges as no match until its tile is delivered. Right for a rule read a
|
|
61
|
+
* window at a time - a format, painted where it is on screen - and not for one whose every
|
|
62
|
+
* answer is wanted at once.
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
protected _pagesWatches(): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Whether every formula watch of this rule holds its answer at a cell of the area at
|
|
68
|
+
* `areaIndex`, asking for the cell where one does not (see `FormulaHost.request`).
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
protected _requestWatchedCell(areaIndex: number, row: number, column: number): boolean;
|
|
50
72
|
/** @internal */
|
|
51
73
|
protected abstract _fromJSON(json: JSON | undefined, options?: ITransaction.OperationOptions): void;
|
|
52
74
|
/** @internal */
|
|
@@ -64,7 +86,7 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
|
|
|
64
86
|
* cluster: one calc pass notifies each rule it intersects, and a burst of deliveries would
|
|
65
87
|
* otherwise start a burst of evaluations for the newest one to win. Coalescing on a microtask
|
|
66
88
|
* rather than a commit hook is deliberate: the calc-results path notifies AFTER its transaction
|
|
67
|
-
* commits (`
|
|
89
|
+
* commits (a `'data'` event with no commit), so a commit hook never sees the most frequent trigger.
|
|
68
90
|
*
|
|
69
91
|
* Two same-tick marks widen to the whole rule rather than accumulating a range list — the
|
|
70
92
|
* subclasses evaluate per whole range anyway, and a rule's ranges are small.
|
|
@@ -309,9 +331,13 @@ export declare class AreaResultCollector {
|
|
|
309
331
|
*/
|
|
310
332
|
interface WatchEntry {
|
|
311
333
|
remove: IListener.Remove;
|
|
334
|
+
/** The areas the watch was registered over, as an address: a rule reshaped since asks again. */
|
|
335
|
+
areas: string;
|
|
312
336
|
values: (IRange | null)[];
|
|
313
337
|
/** Resolvers waiting on an area's first delivery — a LIST: passes overlap, and each has its own. */
|
|
314
338
|
pending: (((values: IRange | null) => void)[])[];
|
|
339
|
+
/** Each area's host, once registered: what a paged watch is asked for cells through. */
|
|
340
|
+
hosts: (FormulaHost | undefined)[];
|
|
315
341
|
}
|
|
316
342
|
/**
|
|
317
343
|
* Tables are designed to be instantiated as both standalone and anchored items that represent a table of data on a sheet.
|
|
@@ -389,9 +389,10 @@ export declare namespace ICondition {
|
|
|
389
389
|
*/
|
|
390
390
|
cellColor?: boolean;
|
|
391
391
|
/**
|
|
392
|
-
*
|
|
392
|
+
* The format to match: its fill when {@link ICondition.ColorOption.cellColor} is `true`,
|
|
393
|
+
* otherwise its font color.
|
|
393
394
|
*/
|
|
394
|
-
|
|
395
|
+
style?: ICellStyle.Properties;
|
|
395
396
|
}
|
|
396
397
|
/**
|
|
397
398
|
* Types of time-periods.
|
|
@@ -4,7 +4,7 @@ import { ITransaction } from '../transaction';
|
|
|
4
4
|
import { IListener } from '../listener';
|
|
5
5
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
6
6
|
import { ICellStyle, IStyleCollection } from '../style';
|
|
7
|
-
import {
|
|
7
|
+
import { IWorksheet } from '../sheet';
|
|
8
8
|
import { ISparseGrid, ISpatialMap } from '../collections';
|
|
9
9
|
import { ICalculation } from '../calculation';
|
|
10
10
|
import { BlankResolver } from '../condition/_ConditionUtils';
|
|
@@ -61,12 +61,18 @@ export declare class ConditionalFormat extends AnchoredConditional<State, ICondi
|
|
|
61
61
|
protected _initialize(options: ConditionalFormat.ConstructorOptions): void;
|
|
62
62
|
/** @internal */
|
|
63
63
|
protected _getType(): string;
|
|
64
|
+
/**
|
|
65
|
+
* A format is read where it is painted, so a whole-column rule whose answer depends on the row
|
|
66
|
+
* (`ISODD(ROW())`) is evaluated a window at a time rather than a million cells at once.
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
protected _pagesWatches(): boolean;
|
|
64
70
|
/** @internal */
|
|
65
71
|
protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
|
|
66
72
|
/** @internal */
|
|
67
73
|
protected _getDefaultState(options: ConditionalFormat.ConstructorOptions): Readonly<State>;
|
|
68
74
|
/** @internal */
|
|
69
|
-
protected _processValueUpdates(_range?: ICellRange | null): void
|
|
75
|
+
protected _processValueUpdates(_range?: ICellRange | null): Promise<void>;
|
|
70
76
|
/**
|
|
71
77
|
* Resolves every stop to the number it stands for, in the order they were authored.
|
|
72
78
|
*
|
|
@@ -168,7 +174,7 @@ export declare class ConditionalFormat extends AnchoredConditional<State, ICondi
|
|
|
168
174
|
}
|
|
169
175
|
export declare namespace ConditionalFormat {
|
|
170
176
|
interface ConstructorOptions extends AnchoredConditional.ConstructorOptions<IConditionalFormat.JSON> {
|
|
171
|
-
sheet?:
|
|
177
|
+
sheet?: IWorksheet;
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
180
|
interface State extends AnchoredConditional.State {
|