@sheetxl/sdk 0.8.0-beta.1 → 0.8.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/browser/esm/{B0HS42a7lga1k1U_.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
- package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
- package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
- package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
- package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
- package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
- package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
- package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
- package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
- package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
- package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
- package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
- package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
- package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
- package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
- package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
- package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
- package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
- package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
- package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
- package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
- package/browser/esm/index.mjs +1472 -1023
- package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
- package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
- package/licenses/dependencies.txt +209 -209
- package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
- package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
- package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
- package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
- package/node/esm/{Cku7XiUvw1xrRasi.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
- package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
- package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
- package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
- package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
- package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
- package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
- package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
- package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
- package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
- package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
- package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
- package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
- package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
- package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
- package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
- package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
- package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
- package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
- package/node/esm/index.mjs +51616 -39665
- package/package.json +15 -16
- package/resources/contents.json +64 -0
- package/resources/fonts/arial-bold-italic.metrics.json +139 -0
- package/resources/fonts/arial-bold.metrics.json +139 -0
- package/resources/fonts/arial-italic.metrics.json +139 -0
- package/resources/fonts/arial-regular.metrics.json +139 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
- package/resources/fonts/calibri-bold.metrics.json +137 -0
- package/resources/fonts/calibri-italic.metrics.json +137 -0
- package/resources/fonts/calibri-regular.metrics.json +137 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
- package/resources/fonts/cambria-bold.metrics.json +66 -0
- package/resources/fonts/cambria-italic.metrics.json +66 -0
- package/resources/fonts/cambria-regular.metrics.json +66 -0
- package/resources/fonts/contents.json +126 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
- package/resources/fonts/courier-new-bold.metrics.json +143 -0
- package/resources/fonts/courier-new-italic.metrics.json +143 -0
- package/resources/fonts/courier-new-regular.metrics.json +143 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
- package/resources/locales/de/model.msg.json +112 -12
- package/resources/locales/en/model.msg.json +119 -13
- package/types/scripting-api.json +8048 -0
- package/types/scripting-enums.json +277 -110
- package/types/scripting.d.ts +13077 -3224
- package/types/src/anchored/AbstractAnchored.d.ts +18 -8
- package/types/src/anchored/AnchoredMap.d.ts +2 -0
- package/types/src/anchored/IAnchoredMap.d.ts +52 -4
- package/types/src/autoFill/AutoFill.d.ts +316 -32
- package/types/src/autoFill/IAutoFill.d.ts +232 -15
- package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
- package/types/src/border/index.d.ts +1 -1
- package/types/src/calculation/Calculation.d.ts +754 -49
- package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
- package/types/src/calculation/FormulaText.d.ts +82 -0
- package/types/src/calculation/ICalculation.d.ts +318 -81
- package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
- package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
- package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
- package/types/src/calculation/TokenType.d.ts +9 -0
- package/types/src/calculation/Types.d.ts +83 -2
- package/types/src/calculation/_CloneBoundary.d.ts +80 -0
- package/types/src/calculation/_TableRename.d.ts +13 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
- package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
- package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
- package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
- package/types/src/calculation/compiler/SRParser.d.ts +2 -1
- package/types/src/calculation/compiler/Types.d.ts +79 -9
- package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
- package/types/src/calculation/executor/CircularReference.d.ts +2 -0
- package/types/src/calculation/formula/Formula.d.ts +58 -21
- package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
- package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
- package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
- package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
- package/types/src/calculation/formula/LazyValue.d.ts +96 -0
- package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
- package/types/src/calculation/formula/index.d.ts +1 -0
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
- package/types/src/calculation/functions/Operators.d.ts +8 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
- package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
- package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
- package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
- package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
- package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
- package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
- package/types/src/calculation/grid/index.d.ts +4 -0
- package/types/src/calculation/index.d.ts +2 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
- package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
- package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
- package/types/src/calculation/spatial/index.d.ts +1 -0
- package/types/src/calculation/state/CalcInputs.d.ts +41 -0
- package/types/src/calculation/state/CalcNode.d.ts +141 -30
- package/types/src/calculation/state/CalcScope.d.ts +37 -0
- package/types/src/calculation/state/CalcState.d.ts +22 -1
- package/types/src/calculation/state/CalculationContext.d.ts +50 -3
- package/types/src/calculation/state/IContextContainer.d.ts +129 -27
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
- package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
- package/types/src/calculation/state/index.d.ts +1 -0
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
- package/types/src/calculation/symbol/index.d.ts +3 -2
- package/types/src/cell/ICell.d.ts +104 -29
- package/types/src/cell/ICellHeader.d.ts +24 -2
- package/types/src/cell/ICellProtection.d.ts +50 -10
- package/types/src/cellRange/ICellRange.d.ts +419 -79
- package/types/src/cellRange/ICellRanges.d.ts +23 -21
- package/types/src/chart/Chart.d.ts +41 -13
- package/types/src/chart/ChartCollection.d.ts +26 -0
- package/types/src/chart/IChart.d.ts +166 -12
- package/types/src/chart/IChartCollection.d.ts +25 -0
- package/types/src/chart/_ChartXml.d.ts +70 -0
- package/types/src/chart/index.d.ts +1 -3
- package/types/src/collections/ArraysGrid.d.ts +1 -1
- package/types/src/collections/IGrid.d.ts +1 -1
- package/types/src/collections/ISparseGrid.d.ts +9 -0
- package/types/src/collections/ISpatialMap.d.ts +59 -21
- package/types/src/collections/ImmutableList.d.ts +28 -0
- package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
- package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
- package/types/src/collections/RepeatingList.d.ts +7 -0
- package/types/src/collections/ScalarGrid.d.ts +50 -0
- package/types/src/collections/SparseGrid.d.ts +1 -1
- package/types/src/collections/SpatialMap.d.ts +13 -21
- package/types/src/collections/Tuple.d.ts +128 -16
- package/types/src/collections/_GridUtils.d.ts +19 -6
- package/types/src/collections/_RangeSweep.d.ts +97 -0
- package/types/src/collections/_SpatialUtils.d.ts +20 -2
- package/types/src/collections/index.d.ts +1 -0
- package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
- package/types/src/comment/Comment.d.ts +223 -0
- package/types/src/comment/CommentCollection.d.ts +40 -0
- package/types/src/comment/IComment.d.ts +340 -50
- package/types/src/comment/ICommentCollection.d.ts +90 -0
- package/types/src/comment/NoteMovable.d.ts +26 -0
- package/types/src/comment/_CommentUtils.d.ts +50 -0
- package/types/src/comment/_NoteBox.d.ts +50 -0
- package/types/src/comment/index.d.ts +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +82 -17
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
- package/types/src/condition/Condition.d.ts +19 -1
- package/types/src/condition/ICondition.d.ts +293 -73
- package/types/src/condition/_ConditionFormula.d.ts +152 -0
- package/types/src/condition/_ConditionUtils.d.ts +167 -13
- package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
- package/types/src/dataValidation/DataValidation.d.ts +69 -3
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
- package/types/src/dataValidation/IDataValidation.d.ts +149 -30
- package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
- package/types/src/date/DateUtils.d.ts +20 -0
- package/types/src/date/_DateUtils.d.ts +91 -7
- package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
- package/types/src/externalBook/ExternalBookName.d.ts +96 -0
- package/types/src/externalBook/IExternalBook.d.ts +170 -18
- package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
- package/types/src/externalBook/index.d.ts +1 -0
- package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
- package/types/src/{lib/file → file}/file.node.d.ts +7 -2
- package/types/src/fill/IEffect.d.ts +5 -5
- package/types/src/fill/IFill.d.ts +123 -78
- package/types/src/fill/IStroke.d.ts +190 -64
- package/types/src/fill/RectAlignment.d.ts +20 -0
- package/types/src/fill/_Fills.d.ts +187 -0
- package/types/src/fill/_Stroke.d.ts +89 -0
- package/types/src/fill/index.d.ts +1 -0
- package/types/src/filter/IFilter.d.ts +188 -5
- package/types/src/font/AdvanceBuilder.d.ts +25 -0
- package/types/src/font/AdvanceTable.d.ts +114 -0
- package/types/src/font/FontCollection.d.ts +57 -0
- package/types/src/font/IFont.d.ts +17 -0
- package/types/src/font/IFontCollection.d.ts +120 -22
- package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
- package/types/src/font/_BuiltinFontTables.d.ts +10 -0
- package/types/src/font/index.d.ts +4 -1
- package/types/src/group/Group.d.ts +136 -0
- package/types/src/group/GroupMovableCollection.d.ts +37 -0
- package/types/src/group/IGroup.d.ts +129 -0
- package/types/src/group/index.d.ts +2 -0
- package/types/src/history/IHistory.d.ts +3 -2
- package/types/src/hyperlink/IHyperlink.d.ts +13 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
- package/types/src/i18n/LanguagePack.d.ts +12 -4
- package/types/src/index.d.ts +5 -0
- package/types/src/io/AbstractBackingStore.d.ts +24 -1
- package/types/src/io/ArrayBackingStore.d.ts +1 -1
- package/types/src/io/EmbeddedPart.d.ts +20 -0
- package/types/src/io/IEmbeddedPart.d.ts +63 -0
- package/types/src/io/IWorkbookIO.d.ts +185 -18
- package/types/src/io/WorkbookIO.d.ts +9 -0
- package/types/src/io/WorkbookOrigin.d.ts +20 -11
- package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
- package/types/src/io/_XmlFragment.d.ts +49 -0
- package/types/src/io/index.d.ts +1 -0
- package/types/src/license/LicenseDetails.d.ts +1 -0
- package/types/src/license/LicenseManager.d.ts +4 -1
- package/types/src/license/Types.d.ts +38 -0
- package/types/src/license/_Utils.d.ts +22 -0
- package/types/src/license/details.d.ts +24 -0
- package/types/src/license/license-key.d.ts +49 -2
- package/types/src/license/runtime.browser.d.ts +41 -0
- package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
- package/types/src/listener/IListener.d.ts +12 -7
- package/types/src/listener/ListenerEmitter.d.ts +46 -5
- package/types/src/model/AbstractModel.d.ts +14 -5
- package/types/src/movable/AbstractMovableContent.d.ts +182 -0
- package/types/src/movable/CustomElement.d.ts +4 -5
- package/types/src/movable/ErrorContent.d.ts +49 -0
- package/types/src/movable/FormControl.d.ts +285 -0
- package/types/src/movable/GroupMember.d.ts +87 -0
- package/types/src/movable/ICustomElement.d.ts +7 -2
- package/types/src/movable/IErrorContent.d.ts +23 -0
- package/types/src/movable/IFormControl.d.ts +455 -0
- package/types/src/movable/IMovable.d.ts +378 -46
- package/types/src/movable/IMovableCollection.d.ts +63 -3
- package/types/src/movable/Movable.d.ts +149 -49
- package/types/src/movable/MovableCollection.d.ts +15 -8
- package/types/src/movable/MovableContentRegistry.d.ts +113 -0
- package/types/src/movable/_BuiltInContents.d.ts +14 -0
- package/types/src/movable/_ContentFactory.d.ts +35 -0
- package/types/src/movable/_DrawnBounds.d.ts +37 -0
- package/types/src/movable/_InsertableCollection.d.ts +28 -0
- package/types/src/movable/_MovableUtils.d.ts +5 -0
- package/types/src/movable/_PendingContent.d.ts +25 -0
- package/types/src/movable/_PlacementUtils.d.ts +55 -0
- package/types/src/movable/_RotatedFrame.d.ts +20 -0
- package/types/src/movable/index.d.ts +7 -1
- package/types/src/named/AbstractNamed.d.ts +1 -1
- package/types/src/named/INamed.d.ts +4 -1
- package/types/src/named/INamedCollection.d.ts +26 -0
- package/types/src/named/NamedCollection.d.ts +16 -15
- package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
- package/types/src/numFmt/IFormatEngine.d.ts +2 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
- package/types/src/numFmt/_FormatCell.d.ts +11 -2
- package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
- package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
- package/types/src/outline/IOutline.d.ts +186 -0
- package/types/src/outline/Outline.d.ts +157 -0
- package/types/src/outline/index.d.ts +2 -0
- package/types/src/person/IPerson.d.ts +99 -0
- package/types/src/person/IPersonCollection.d.ts +51 -0
- package/types/src/person/Person.d.ts +32 -0
- package/types/src/person/PersonCollection.d.ts +49 -0
- package/types/src/person/index.d.ts +4 -0
- package/types/src/picture/IPicture.d.ts +33 -3
- package/types/src/picture/Picture.d.ts +33 -13
- package/types/src/pivot/IPivotTable.d.ts +72 -0
- package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
- package/types/src/pivot/PivotCache.d.ts +34 -0
- package/types/src/pivot/PivotTable.d.ts +61 -0
- package/types/src/pivot/PivotTableCollection.d.ts +25 -0
- package/types/src/pivot/_PivotXml.d.ts +24 -0
- package/types/src/pivot/index.d.ts +6 -0
- package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
- package/types/src/primitives/Criteria.d.ts +1 -1
- package/types/src/primitives/Grouping.d.ts +65 -0
- package/types/src/primitives/LambdaBrand.d.ts +26 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
- package/types/src/primitives/Range.d.ts +133 -25
- package/types/src/primitives/RangeStats.d.ts +30 -2
- package/types/src/primitives/ReferenceRange.d.ts +44 -0
- package/types/src/primitives/Runtime.d.ts +15 -2
- package/types/src/primitives/environment.browser.d.ts +9 -0
- package/types/src/primitives/environment.node.d.ts +10 -0
- package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
- package/types/src/primitives/stats/Cancellation.d.ts +13 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
- package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
- package/types/src/primitives/stats/Ranked.d.ts +1 -1
- package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
- package/types/src/primitives/stats/index.d.ts +1 -0
- package/types/src/print/IPrint.d.ts +0 -22
- package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
- package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
- package/types/src/protection/DefaultProtection.d.ts +12 -1
- package/types/src/protection/IProtection.d.ts +36 -2
- package/types/src/reference/ReferenceUtils.d.ts +80 -0
- package/types/src/reference/index.d.ts +2 -0
- package/types/src/resource/IResource.d.ts +21 -1
- package/types/src/resource/IResourceCollection.d.ts +9 -1
- package/types/src/resource/ResourceCollection.d.ts +6 -6
- package/types/src/scripting/FunctionCollection.d.ts +49 -15
- package/types/src/scripting/IFunctionCollection.d.ts +62 -32
- package/types/src/scripting/IModule.d.ts +25 -0
- package/types/src/scripting/IModuleCollection.d.ts +17 -0
- package/types/src/scripting/IScript.d.ts +28 -26
- package/types/src/scripting/Module.d.ts +34 -6
- package/types/src/scripting/ModuleCollection.d.ts +17 -12
- package/types/src/scripting/Runtime.d.ts +15 -0
- package/types/src/scripting/Scripts.d.ts +3 -7
- package/types/src/scripting/TypedFunction.d.ts +154 -18
- package/types/src/scripting/_FunctionIndex.d.ts +8 -3
- package/types/src/scripting/_ModuleUtils.d.ts +11 -1
- package/types/src/scripting/_ScriptUtils.d.ts +3 -0
- package/types/src/scripting/declarations.browser.d.ts +10 -0
- package/types/src/scripting/declarations.d.ts +49 -0
- package/types/src/scripting/declarations.node.d.ts +9 -0
- package/types/src/scripting/index.d.ts +3 -0
- package/types/src/selection/IMovableSelection.d.ts +148 -0
- package/types/src/selection/IRangeSelection.d.ts +9 -4
- package/types/src/selection/MovableSelection.d.ts +48 -0
- package/types/src/selection/RangeSelection.d.ts +15 -0
- package/types/src/selection/index.d.ts +1 -0
- package/types/src/shape/GeometryPreset.d.ts +197 -0
- package/types/src/shape/IGeometry.d.ts +380 -0
- package/types/src/shape/IShape.d.ts +341 -194
- package/types/src/shape/IShapeStyle.d.ts +135 -0
- package/types/src/shape/Shape.d.ts +107 -21
- package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
- package/types/src/shape/_ConnectorFrame.d.ts +32 -0
- package/types/src/shape/_ConnectorRoute.d.ts +33 -0
- package/types/src/shape/_Connectors.d.ts +108 -0
- package/types/src/shape/_Geometry.d.ts +14 -0
- package/types/src/shape/_GeometryLoader.d.ts +21 -0
- package/types/src/shape/_ShapeStyle.d.ts +70 -0
- package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
- package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
- package/types/src/shape/_builtIn/arrows.d.ts +6 -0
- package/types/src/shape/_builtIn/basic.d.ts +6 -0
- package/types/src/shape/_builtIn/callouts.d.ts +6 -0
- package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
- package/types/src/shape/_builtIn/lines.d.ts +6 -0
- package/types/src/shape/_builtIn/math.d.ts +6 -0
- package/types/src/shape/_builtIn/other.d.ts +6 -0
- package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
- package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
- package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
- package/types/src/shape/geometry/format.d.ts +3 -0
- package/types/src/shape/geometry/geometry.d.ts +85 -0
- package/types/src/shape/geometry/guides.d.ts +54 -0
- package/types/src/shape/geometry/handles.d.ts +14 -0
- package/types/src/shape/geometry/index.d.ts +7 -0
- package/types/src/shape/geometry/lineEnds.d.ts +54 -0
- package/types/src/shape/geometry/paths.d.ts +35 -0
- package/types/src/shape/geometry/segments.d.ts +114 -0
- package/types/src/shape/index.d.ts +3 -0
- package/types/src/sheet/CellRegion.d.ts +6 -0
- package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
- package/types/src/sheet/ISheet.d.ts +197 -50
- package/types/src/sheet/ISheetCollection.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +16 -7
- package/types/src/sheet/NamedRange.d.ts +8 -0
- package/types/src/sheet/Sheet.d.ts +915 -138
- package/types/src/sheet/SheetCell.d.ts +92 -32
- package/types/src/sheet/SheetCollection.d.ts +19 -8
- package/types/src/sheet/SheetRange.d.ts +90 -18
- package/types/src/sheet/SheetRanges.d.ts +22 -9
- package/types/src/sheet/_CellBuffer.d.ts +214 -0
- package/types/src/sheet/_HeldFormula.d.ts +69 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
- package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
- package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
- package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
- package/types/src/sheet/_SheetEvents.d.ts +43 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
- package/types/src/sheet/_SheetIntents.d.ts +296 -0
- package/types/src/sheet/_SheetMutations.d.ts +182 -62
- package/types/src/sheet/_SheetStateReader.d.ts +19 -13
- package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
- package/types/src/sheet/_SheetUtils.d.ts +39 -22
- package/types/src/sheet/_WatchAnchor.d.ts +93 -0
- package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
- package/types/src/sheet/spatial/index.d.ts +1 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
- package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
- package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
- package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
- package/types/src/sheet/style/_Resolvers.d.ts +14 -8
- package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
- package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
- package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
- package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
- package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
- package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
- package/types/src/sheetView/ISheetView.d.ts +69 -15
- package/types/src/sheetView/SheetView.d.ts +20 -11
- package/types/src/slicer/ISlicer.d.ts +304 -17
- package/types/src/slicer/ISlicerStyle.d.ts +109 -0
- package/types/src/slicer/Slicer.d.ts +128 -13
- package/types/src/slicer/SlicerStyle.d.ts +25 -0
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
- package/types/src/slicer/_SlicerUtils.d.ts +30 -0
- package/types/src/slicer/index.d.ts +1 -0
- package/types/src/sort/ISort.d.ts +4 -2
- package/types/src/string/IStringCollection.d.ts +5 -0
- package/types/src/string/StringCollection.d.ts +6 -6
- package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
- package/types/src/style/INamedStyleCollection.d.ts +72 -0
- package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
- package/types/src/style/IStyleCollection.d.ts +91 -60
- package/types/src/style/ITableStyleCollection.d.ts +89 -0
- package/types/src/style/NamedStyleCollection.d.ts +39 -0
- package/types/src/style/SlicerStyleCollection.d.ts +46 -0
- package/types/src/style/StyleCollection.d.ts +81 -26
- package/types/src/style/TableStyleCollection.d.ts +49 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
- package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
- package/types/src/style/index.d.ts +7 -1
- package/types/src/table/AnchoredTable.d.ts +701 -72
- package/types/src/table/AutoTable.d.ts +7 -5
- package/types/src/table/ITable.d.ts +261 -34
- package/types/src/table/ITableCollection.d.ts +12 -0
- package/types/src/table/ITableStyle.d.ts +37 -37
- package/types/src/table/TableCollection.d.ts +19 -8
- package/types/src/table/_FilterField.d.ts +19 -6
- package/types/src/table/_NamedTable.d.ts +17 -1
- package/types/src/table/_NamedTableSource.d.ts +1 -0
- package/types/src/table/_SortField.d.ts +2 -0
- package/types/src/table/_TableColumn.d.ts +13 -2
- package/types/src/table/_TableMessages.d.ts +1 -0
- package/types/src/table/_TableUtils.d.ts +40 -0
- package/types/src/text/Bullet.d.ts +4 -0
- package/types/src/text/IText.d.ts +182 -0
- package/types/src/text/ITextFrame.d.ts +110 -1
- package/types/src/text/TextBoxAlignment.d.ts +25 -16
- package/types/src/text/TextFrame.d.ts +4 -0
- package/types/src/text/TextLine.d.ts +4 -0
- package/types/src/text/TextParagraph.d.ts +4 -0
- package/types/src/text/TextRotation.d.ts +3 -3
- package/types/src/text/TextRun.d.ts +9 -0
- package/types/src/text/TextStacked.d.ts +83 -0
- package/types/src/text/index.d.ts +1 -0
- package/types/src/text/richtext/IRichText.d.ts +36 -0
- package/types/src/text/richtext/IStyledFont.d.ts +18 -18
- package/types/src/text/richtext/index.d.ts +1 -0
- package/types/src/theme/ITheme.d.ts +45 -4
- package/types/src/theme/IThemeCollection.d.ts +2 -0
- package/types/src/theme/ThemeCollection.d.ts +11 -7
- package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
- package/types/src/transaction/ITransaction.d.ts +258 -45
- package/types/src/transaction/Transaction.d.ts +101 -11
- package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
- package/types/src/type/AbstractCollection.d.ts +101 -0
- package/types/src/type/ICollection.d.ts +117 -0
- package/types/src/type/ITypes.d.ts +9 -7
- package/types/src/type/index.d.ts +1 -0
- package/types/src/utils/_CSSUtils.d.ts +3 -3
- package/types/src/wasm/_sdkWasm.d.ts +7 -0
- package/types/src/wasm/index.d.ts +2 -0
- package/types/src/wasm/sdkWasm.d.ts +29 -0
- package/types/src/workbook/IWorkbook.d.ts +180 -40
- package/types/src/workbook/Workbook.d.ts +123 -10
- package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
- package/types/src/workbookView/IWorkbookView.d.ts +12 -0
- package/types/src/workbookView/WorkbookView.d.ts +5 -0
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
- package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
- package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
- package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
- package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
- package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
- package/browser/cjs/index.cjs +0 -3
- package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
- package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
- package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
- package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
- package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
- package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
- package/types/src/cellRange/_GraphNode.d.ts +0 -38
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
- package/types/src/dataValidation/_Utils.d.ts +0 -10
- package/types/src/lib/utils/_Utils.d.ts +0 -27
- package/types/src/lib/utils/utils.browser.d.ts +0 -33
- package/types/src/movable/IGroup.d.ts +0 -30
- package/types/src/movable/IMovableSelection.d.ts +0 -49
- package/types/src/sheet/listener/RangesListener.d.ts +0 -32
- package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
- package/types/src/sheet/listener/index.d.ts +0 -3
- /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
|
+
import { ITransaction } from '../transaction';
|
|
3
|
+
import { ICellRanges, ICellRange } from '../cellRange';
|
|
4
|
+
import { ICalculation } from '../calculation/ICalculation';
|
|
5
|
+
import { FormulaHost } from '../calculation/grid';
|
|
6
|
+
/**
|
|
7
|
+
* What a condition formula needs from the rule that owns it: the engine to compile with, and the
|
|
8
|
+
* cell — and sheet — its text is authored at.
|
|
9
|
+
*/
|
|
10
|
+
export interface ConditionFormulaBinding {
|
|
11
|
+
getCalculation(): ICalculation | null;
|
|
12
|
+
getAnchor(): IRange.CellCoords | null;
|
|
13
|
+
/** The display name of the sheet the rule is on. */
|
|
14
|
+
getScope(): string | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* `text` (as a view images it at `at`) imaged through `transform`, or the text itself when there
|
|
18
|
+
* is no transform, the text does not parse, or the transform changes nothing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function imageTransformed(text: string, at: IRange.CellCoords, transform: ICalculation.FormulaTransform | undefined): string;
|
|
21
|
+
/** Drops the qualifier from a cell reference to `sheetName`, so it reads as authored on that sheet. */
|
|
22
|
+
export declare function unqualifyTransform(sheetName: string): ICalculation.FormulaTransform;
|
|
23
|
+
/**
|
|
24
|
+
* Compiles storage `text` at `anchor`, or `null` when the engine cannot compile yet.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createStoredFormula(calculation: ICalculation, text: string, anchor: Partial<IRange.CellCoords> | null): ICalculation.IFormula | null;
|
|
27
|
+
/**
|
|
28
|
+
* A formula held by a condition — an `expression` param, a comparison operand, a between bound.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* Its text is CANONICAL, and once the owning rule watches it the engine holds the body: the text is
|
|
32
|
+
* then read back from the watch's body on every access, so what the engine did to the body — a row
|
|
33
|
+
* insert, a sheet rename, an undo — is what the condition reports and what `toJSON` persists. Before
|
|
34
|
+
* that (no engine, a standalone condition) it answers from the text it was created with, and it keeps
|
|
35
|
+
* the last text the body had when the watch goes away.
|
|
36
|
+
*
|
|
37
|
+
* The rest of {@link ICalculation.IFormula} is a detached formula compiled from that text, with the
|
|
38
|
+
* storage compiler, at the rule's anchor.
|
|
39
|
+
*/
|
|
40
|
+
export declare class ConditionFormula implements ICalculation.IFormula {
|
|
41
|
+
protected _text: string;
|
|
42
|
+
protected readonly _marked: boolean;
|
|
43
|
+
protected _host: FormulaHost | null;
|
|
44
|
+
protected _binding: ConditionFormulaBinding | null;
|
|
45
|
+
protected _compiled: {
|
|
46
|
+
key: string;
|
|
47
|
+
formula: ICalculation.IFormula;
|
|
48
|
+
} | null;
|
|
49
|
+
/**
|
|
50
|
+
* @param text Canonical formula text, with or without a leading `=`.
|
|
51
|
+
* @param marked Whether the slot spells the formula with a leading `=` on the wire (a comparison
|
|
52
|
+
* operand, a between bound) or bare (an `expression` param).
|
|
53
|
+
*/
|
|
54
|
+
constructor(text: string, marked: boolean);
|
|
55
|
+
/** Whether the wire form carries the leading `=`. */
|
|
56
|
+
isMarked(): boolean;
|
|
57
|
+
/** @internal */
|
|
58
|
+
bind(binding: ConditionFormulaBinding | null): void;
|
|
59
|
+
/**
|
|
60
|
+
* Reads the text from `host`'s body from now on; `null` stops, keeping the body's last text.
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
bindHost(host: FormulaHost | null): void;
|
|
64
|
+
protected _readHost(host: FormulaHost): string | null;
|
|
65
|
+
/** The transform the body's text is imaged through; see {@link _readHost}. */
|
|
66
|
+
protected _readTransform(scope: string | null): ICalculation.FormulaTransform | undefined;
|
|
67
|
+
/** The canonical text, without a leading `=`. */
|
|
68
|
+
getText(): string;
|
|
69
|
+
protected _formula(): ICalculation.IFormula | null;
|
|
70
|
+
/** {@inheritDoc ICalculation.IFormula.evaluate} */
|
|
71
|
+
evaluate(options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
|
|
72
|
+
/** {@inheritDoc ICalculation.IFormula.getCalculationStatus} */
|
|
73
|
+
getCalculationStatus(): ICalculation.ResultStatus;
|
|
74
|
+
/** {@inheritDoc ICalculation.IFormula.isCompiled} */
|
|
75
|
+
isCompiled(): boolean;
|
|
76
|
+
/** {@inheritDoc ICalculation.IFormula.getExpression} */
|
|
77
|
+
getExpression(options?: ICalculation.FormulaTextOptions): string;
|
|
78
|
+
/** {@inheritDoc ICalculation.IFormula.getAnchor} */
|
|
79
|
+
getAnchor(): IRange.CellCoords | null;
|
|
80
|
+
/** {@inheritDoc ICalculation.IFormula.shift} */
|
|
81
|
+
shift(target: IRange.CellCoords): ICalculation.IFormula | null;
|
|
82
|
+
/** {@inheritDoc ICalculation.IFormula.getReferences} */
|
|
83
|
+
getReferences(): ICellRanges | null;
|
|
84
|
+
/** {@inheritDoc ICalculation.IFormula.hasRefError} */
|
|
85
|
+
hasRefError(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* {@inheritDoc ICalculation.IFormula.setReferenceAt}
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* Not supported: a condition's formula changes by setting the condition.
|
|
91
|
+
*/
|
|
92
|
+
setReferenceAt(_index: number, _reference: ICellRange.Address, _options?: string | ITransaction.OperationOptions): Promise<this>;
|
|
93
|
+
/**
|
|
94
|
+
* {@inheritDoc ICalculation.IFormula.setReferenceModeAt}
|
|
95
|
+
*
|
|
96
|
+
* @remarks
|
|
97
|
+
* Not supported: a condition's formula changes by setting the condition.
|
|
98
|
+
*/
|
|
99
|
+
setReferenceModeAt(_index: number, _side?: ICalculation.ReferenceSide, _mode?: number, _options?: string | ITransaction.OperationOptions): Promise<this>;
|
|
100
|
+
/** {@inheritDoc ICalculation.IFormula.isReferenceOnly} */
|
|
101
|
+
isReferenceOnly(): boolean;
|
|
102
|
+
/** {@inheritDoc ICalculation.IFormula.isVolatile} */
|
|
103
|
+
isVolatile(): Promise<boolean>;
|
|
104
|
+
/** {@inheritDoc ICalculation.IFormula.getTokens} */
|
|
105
|
+
getTokens(evalIndex?: number): readonly ICalculation.FormulaToken[];
|
|
106
|
+
/** {@inheritDoc ICalculation.IFormula.isValid} */
|
|
107
|
+
isValid(): boolean;
|
|
108
|
+
/** {@inheritDoc ICalculation.IFormula.autoCorrect} */
|
|
109
|
+
autoCorrect(): ICalculation.IFormula | null;
|
|
110
|
+
/** The wire form: canonical text, `=`-prefixed for a marked slot. */
|
|
111
|
+
toJSON(): string;
|
|
112
|
+
/** The expression, `=`-prefixed for a marked slot. */
|
|
113
|
+
toString(): string;
|
|
114
|
+
get [Symbol.toStringTag](): string;
|
|
115
|
+
/** {@inheritDoc ICalculation.IFormula.isIFormula} */
|
|
116
|
+
get isIFormula(): true;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The live base of a set (`inSet`'s `source`): a reference, a name, or a formula whose result is
|
|
120
|
+
* the list.
|
|
121
|
+
*
|
|
122
|
+
* @remarks
|
|
123
|
+
* What the rule WATCHES is not the source but the check Excel makes with it,
|
|
124
|
+
* `ISNUMBER(MATCH(<cell>, <source>, 0))`: `MATCH`'s exact mode is Excel's list-validation rule
|
|
125
|
+
* (wildcards, text case-insensitive, type strict), and as a per-cell formula it resolves a
|
|
126
|
+
* relative source (`INDIRECT($E11)`) against each cell's own row the way every condition formula
|
|
127
|
+
* does. The text this holds is still the source's: read back from the watched body with the root
|
|
128
|
+
* swapped for `MATCH`'s second argument, so a row insert above the source moves the source here
|
|
129
|
+
* as it does any condition formula.
|
|
130
|
+
*/
|
|
131
|
+
export declare class ListSourceFormula extends ConditionFormula {
|
|
132
|
+
constructor(text: string);
|
|
133
|
+
/**
|
|
134
|
+
* The per-cell check, authored at `at`: `<cell>` is `at` itself, relative, so a fill to each
|
|
135
|
+
* cell tests that cell's own value.
|
|
136
|
+
*
|
|
137
|
+
* @remarks
|
|
138
|
+
* A source that does not compile on its own fails every cell (`FALSE`) rather than being spliced
|
|
139
|
+
* in: an unclosed one (`OFFSET($A$1,0,0,3`) would take the check's own `,0))` as its arguments,
|
|
140
|
+
* and the text read back from the check would carry them.
|
|
141
|
+
*/
|
|
142
|
+
getCheckExpression(at: IRange.CellCoords): string;
|
|
143
|
+
/**
|
|
144
|
+
* Not for a source that does not compile: its check does not hold it (see
|
|
145
|
+
* {@link getCheckExpression}), so its text stays as authored.
|
|
146
|
+
*/
|
|
147
|
+
bindHost(host: FormulaHost | null): void;
|
|
148
|
+
/** {@inheritDoc ConditionFormula._readTransform} */
|
|
149
|
+
protected _readTransform(scope: string | null): ICalculation.FormulaTransform | undefined;
|
|
150
|
+
get [Symbol.toStringTag](): string;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=_ConditionFormula.d.ts.map
|
|
@@ -3,6 +3,7 @@ import { RunCoords, MaybePromise } from '@sheetxl/utils';
|
|
|
3
3
|
import { ISparseGrid } from '../collections';
|
|
4
4
|
import { ICalculation } from '../calculation';
|
|
5
5
|
import { ICondition } from './ICondition';
|
|
6
|
+
import { ConditionFormula } from './_ConditionFormula';
|
|
6
7
|
export declare class ConditionOperator<P = any> implements ICondition.IOperator<P> {
|
|
7
8
|
protected _delegate: ICondition.IOperator;
|
|
8
9
|
protected _types: readonly (InteropScalarType | null)[] | null;
|
|
@@ -13,8 +14,6 @@ export declare class ConditionOperator<P = any> implements ICondition.IOperator<
|
|
|
13
14
|
createPredicate(param: P, ctx: ICondition.IContext): MaybePromise<ICondition.Predicate | null>;
|
|
14
15
|
/** {@inheritDoc ICondition.getAcceptsTypes} */
|
|
15
16
|
getAcceptsTypes(): readonly (InteropScalarType | null)[] | null;
|
|
16
|
-
/** {@inheritDoc ICondition.acceptsList} */
|
|
17
|
-
acceptsList(): boolean;
|
|
18
17
|
/** {@inheritDoc ICondition.getParamType} */
|
|
19
18
|
getParamType(lhsSelector?: ICondition.ISelector): string | null;
|
|
20
19
|
/** {@inheritDoc ICondition.isCombinator} */
|
|
@@ -24,7 +23,9 @@ export declare class ConditionOperator<P = any> implements ICondition.IOperator<
|
|
|
24
23
|
/** {@inheritDoc ICondition.getDescription} */
|
|
25
24
|
getDescription(): string | null;
|
|
26
25
|
/** {@inheritDoc ICondition.createDefaultParam} */
|
|
27
|
-
createDefaultParam(lhsSelector?: ICondition.ISelector): P | null | undefined;
|
|
26
|
+
createDefaultParam(lhsSelector?: ICondition.ISelector, context?: ICondition.DefaultConditionContext): P | null | undefined;
|
|
27
|
+
/** {@inheritDoc ICondition.IOperator.validateParam} */
|
|
28
|
+
validateParam(param: P, lhsSelector?: ICondition.ISelector | null): string | null;
|
|
28
29
|
/** {@inheritDoc ICondition.doBatch} */
|
|
29
30
|
doBatch(keys: Set<any>, param: P, ctx: ICondition.IContext): MaybePromise<IRange<boolean> | null> | undefined;
|
|
30
31
|
/** {@inheritDoc ICondition.toString} */
|
|
@@ -48,6 +49,56 @@ export declare function encodeParamJSON(param: any): any;
|
|
|
48
49
|
* are left encoded — they decode when their own input resolves.
|
|
49
50
|
*/
|
|
50
51
|
export declare function decodeParamJSON(param: any): any;
|
|
52
|
+
/**
|
|
53
|
+
* The operators whose Scalar param may be a `=`-prefixed formula operand. The text rules
|
|
54
|
+
* (`textContains` &c.) are not among them: their param is text by type.
|
|
55
|
+
*/
|
|
56
|
+
export declare const FormulaOperandOperators: ReadonlySet<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Lifts the formula slots of `param`, for `operatorName`, into {@link ConditionFormula}s: an
|
|
59
|
+
* `expression` param, a `=`-prefixed comparison operand, a between bound, an `inSet`'s live base,
|
|
60
|
+
* and the same inside a combinator's raw children. An `IFormula` is taken by its canonical text.
|
|
61
|
+
*/
|
|
62
|
+
export declare function liftFormulaParam(operatorName: string | null | undefined, param: any): any;
|
|
63
|
+
/**
|
|
64
|
+
* An `inSet` param with each part under its own name (see {@link ICondition.InSetOption}), or
|
|
65
|
+
* `param` itself when it already is.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* `items` once carried all three kinds of list, told apart by the spelling of a string. Those
|
|
69
|
+
* spellings are still read, here and nowhere else: a quoted literal (`"Yes,No"`) is `additions`,
|
|
70
|
+
* any other text is a `source`, and a bare string param is `items` holding it.
|
|
71
|
+
*/
|
|
72
|
+
export declare function normalizeInSetParam(param: any): any;
|
|
73
|
+
/**
|
|
74
|
+
* Whether `text` is a list LITERAL (`"a,b,c"`): one string token, a doubled quote inside being one
|
|
75
|
+
* quote. Anything else is a reference or a formula whose result is the list.
|
|
76
|
+
*/
|
|
77
|
+
export declare function isListLiteral(text: string): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* The items of a list literal, or `null` when `text` is not one (see {@link isListLiteral}).
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* Excel's reading: the string's doubled quotes become one quote, then the whole is split on `,`
|
|
83
|
+
* with no quoting inside, so `"q,r",s` is the three items `"q`, `r"` and `s`. The items are returned
|
|
84
|
+
* as stored, spaces and all; matching is {@link createListLiteralMatcher}'s business.
|
|
85
|
+
*/
|
|
86
|
+
export declare function parseListLiteral(text: string): string[] | null;
|
|
87
|
+
/**
|
|
88
|
+
* `items` spelled as a list literal (`"a,b,c"`), the inverse of {@link parseListLiteral}: items kept
|
|
89
|
+
* as given, a quote doubled. `null` when an item holds `,`, which a literal has no way to spell.
|
|
90
|
+
*/
|
|
91
|
+
export declare function formatListLiteral(items: readonly string[]): string | null;
|
|
92
|
+
/**
|
|
93
|
+
* Whether a cell's `text` is on a literal list, the way Excel checks one: the text trimmed of
|
|
94
|
+
* spaces, against each item with its LEADING spaces dropped, case-sensitively. An item with a
|
|
95
|
+
* trailing space can therefore never match, as in Excel.
|
|
96
|
+
*/
|
|
97
|
+
export declare function createListLiteralMatcher(items: readonly string[]): (text: string) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Visits every {@link ConditionFormula} a condition holds, at any combinator depth.
|
|
100
|
+
*/
|
|
101
|
+
export declare function forEachConditionFormula(condition: ICondition | null | undefined, visit: (formula: ConditionFormula) => void): void;
|
|
51
102
|
export declare function resolveInput(condition: ICondition.Input | null): ICondition | null;
|
|
52
103
|
/**
|
|
53
104
|
* A condition whose selector or operator is not in the registry.
|
|
@@ -83,6 +134,8 @@ export declare class UnresolvedCondition<P = any> implements ICondition<P> {
|
|
|
83
134
|
getParam(): P;
|
|
84
135
|
/** {@inheritDoc ICondition.isIncludeBlanks} */
|
|
85
136
|
isIncludeBlanks(): boolean;
|
|
137
|
+
/** {@inheritDoc ICondition.validate} */
|
|
138
|
+
validate(): string | null;
|
|
86
139
|
/** {@inheritDoc ICondition.toString} */
|
|
87
140
|
toString(): string;
|
|
88
141
|
/** {@inheritDoc ICondition.toJSON} */
|
|
@@ -99,6 +152,78 @@ export declare class UnresolvedCondition<P = any> implements ICondition<P> {
|
|
|
99
152
|
* of an exception that costs the caller the entire rule.
|
|
100
153
|
*/
|
|
101
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
|
+
export declare function readThroughSelector(transformer: ICondition.Transformer<any, any> | null | undefined, value: Scalar, ctx: ICondition.IContext): Scalar | typeof ICondition.NotApplicable;
|
|
163
|
+
/**
|
|
164
|
+
* The condition's answer for the BLANK cells of a range, asked per cell — lazily, by the caller,
|
|
165
|
+
* for the cells it actually reads. Blank cells are never visited by the engine.
|
|
166
|
+
*/
|
|
167
|
+
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
|
+
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
|
+
export declare function isBlankByValue(value: Scalar): boolean;
|
|
180
|
+
/** Whether a selector, by name or instance, is {@link ICondition.BuiltInSelectorNames.Display}. */
|
|
181
|
+
export declare function isDisplaySelector(selector: unknown): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Whether a filter level reads displayed text somewhere in it — a leaf under the Display
|
|
184
|
+
* selector, at the top or inside a combinator — and so takes the display rule for blanks (a
|
|
185
|
+
* string of only spaces is a blank cell). Anything else takes the calc engine's.
|
|
186
|
+
*/
|
|
187
|
+
export declare function isDisplayShaped(condition: ICondition | ICondition.JSON | null | undefined): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Options for {@link evalConditionAt}.
|
|
190
|
+
*/
|
|
191
|
+
export interface EvalConditionAtOptions {
|
|
192
|
+
runtime: IRuntime;
|
|
193
|
+
/**
|
|
194
|
+
* The engine the condition's formulas are evaluated by. Absent, a formula answers nothing and
|
|
195
|
+
* its condition is inert (passes).
|
|
196
|
+
*/
|
|
197
|
+
calculation?: ICalculation | null;
|
|
198
|
+
/**
|
|
199
|
+
* {@inheritDoc DoRunConditionsOptions.watchFormula}
|
|
200
|
+
*
|
|
201
|
+
* Here a one-shot caller's hook: it may answer `undefined` to leave a formula to the context,
|
|
202
|
+
* which evaluates it once as a temporary formula at the cell.
|
|
203
|
+
*/
|
|
204
|
+
watchFormula?: ((formula: ICalculation.IFormula | string) => MaybePromise<IRange | null> | undefined) | null;
|
|
205
|
+
/**
|
|
206
|
+
* Where the condition's formulas were authored: the first cell of the rule's area the cell is in.
|
|
207
|
+
* A formula is shifted from there to the cell, as the rule's own evaluation reads it there.
|
|
208
|
+
*
|
|
209
|
+
* @defaultValue the cell itself
|
|
210
|
+
*/
|
|
211
|
+
anchor?: IRange.CellCoords;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Whether `value` would pass `condition` at `cell`: the check a cell editor makes before it writes,
|
|
215
|
+
* for a value that is not in any grid.
|
|
216
|
+
*
|
|
217
|
+
* @remarks
|
|
218
|
+
* The judgment {@link evalConditions} makes per cell, made once: the selector gates and projects
|
|
219
|
+
* the value, the operator's predicate answers, and a deferring operator is settled with its one
|
|
220
|
+
* key. A blank (`null`) answers as the rule answers a blank cell: `true` with Ignore Blank, else
|
|
221
|
+
* what the predicate says of `null`. An inert condition (no operator) passes.
|
|
222
|
+
*
|
|
223
|
+
* The condition's formulas are temporary ones, evaluated at the cell and discarded; nothing is
|
|
224
|
+
* registered with the engine or kept on the condition.
|
|
225
|
+
*/
|
|
226
|
+
export declare function evalConditionAt(condition: ICondition, value: Scalar, cell: IRange.CellCoords, options: EvalConditionAtOptions): Promise<boolean>;
|
|
102
227
|
/**
|
|
103
228
|
* Iterates through all values executing a single condition (`conditions[0]`) and calling the
|
|
104
229
|
* appropriate callbacks. Used by Data Validation and Conditional Formatting.
|
|
@@ -120,10 +245,16 @@ export interface DoRunRangeConditionsOptions extends ICondition.RangeOptions {
|
|
|
120
245
|
* long-lived owner; absent for a one-shot evaluation, which leaves the operator to evaluate for
|
|
121
246
|
* itself.
|
|
122
247
|
*/
|
|
123
|
-
watchFormula?: ((
|
|
248
|
+
watchFormula?: ((formula: ICalculation.IFormula | string) => MaybePromise<IRange | null>) | null;
|
|
124
249
|
values: ISparseGrid<Scalar>;
|
|
125
250
|
coords: Readonly<IRange.Coords>;
|
|
126
251
|
getHiddenRuns?: (axis: IRange.Axis) => readonly RunCoords[];
|
|
252
|
+
/**
|
|
253
|
+
* The text a cell shows, backing {@link ICondition.IContext.getDisplayText}. Supplied by the
|
|
254
|
+
* sheet; asked only for the cells an operator matching displayed text reads. `value` is the
|
|
255
|
+
* cell's, which the driver holds already.
|
|
256
|
+
*/
|
|
257
|
+
getDisplayText?: (rowIndex: number, colIndex: number, value: Scalar) => string;
|
|
127
258
|
/**
|
|
128
259
|
* Called once per contiguous run of rows/columns (per {@link ICondition.RangeOptions.axis})
|
|
129
260
|
* that remain visible once every condition has been applied, in ascending order.
|
|
@@ -135,6 +266,15 @@ export interface DoRunRangeConditionsOptions extends ICondition.RangeOptions {
|
|
|
135
266
|
*/
|
|
136
267
|
onHiddenRun?: (run: Readonly<RunCoords>) => void;
|
|
137
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* The `RangeOptions` a filter call means: a bare `ICondition.Input` is one condition at index 0
|
|
271
|
+
* (the JSDoc example on `ICellRange.filter`), a `RangeOptions` (identified by its `conditions`
|
|
272
|
+
* array) passes through unchanged, and nothing is an empty list.
|
|
273
|
+
*
|
|
274
|
+
* @remarks
|
|
275
|
+
* Shared by `ICellRange.filter` and `ITable.filter`, so a bare input means the same to both.
|
|
276
|
+
*/
|
|
277
|
+
export declare function normalizeFilterInput(condition: ICondition.Input | ICondition.RangeOptions | null | undefined): ICondition.RangeOptions;
|
|
138
278
|
/**
|
|
139
279
|
* Evaluates `conditions[]` in array order against the row (or column) axis, ANDing each condition
|
|
140
280
|
* into a running visibility mask — Excel's own AutoFilter model (DESIGN-FILTER.md §2): a dynamic
|
|
@@ -151,13 +291,12 @@ export declare function evalRangeConditions(options: DoRunRangeConditionsOptions
|
|
|
151
291
|
export interface DoRunConditionsOptions extends ICondition.RangeOptions {
|
|
152
292
|
runtime: IRuntime;
|
|
153
293
|
/**
|
|
154
|
-
* The calculation engine backing {@link ICondition.IContext.createFormula}
|
|
155
|
-
* {@link ICondition.IContext.
|
|
294
|
+
* The calculation engine backing {@link ICondition.IContext.createFormula} and the unwatched
|
|
295
|
+
* fallback of {@link ICondition.IContext.watchFormula}.
|
|
156
296
|
*
|
|
157
297
|
* @remarks
|
|
158
298
|
* Optional — a caller with no live workbook (e.g. a headless condition eval) simply gets a
|
|
159
|
-
* context where
|
|
160
|
-
* was implemented. See `ConditionContext.createFormula`.
|
|
299
|
+
* context where both return `null`. See `ConditionContext.createFormula`.
|
|
161
300
|
*/
|
|
162
301
|
calculation?: ICalculation | null;
|
|
163
302
|
/**
|
|
@@ -166,7 +305,7 @@ export interface DoRunConditionsOptions extends ICondition.RangeOptions {
|
|
|
166
305
|
* long-lived owner; absent for a one-shot evaluation, which leaves the operator to evaluate for
|
|
167
306
|
* itself.
|
|
168
307
|
*/
|
|
169
|
-
watchFormula?: ((
|
|
308
|
+
watchFormula?: ((formula: ICalculation.IFormula | string) => MaybePromise<IRange | null>) | null;
|
|
170
309
|
values: ISparseGrid<Scalar>;
|
|
171
310
|
coords: Readonly<IRange.Coords>;
|
|
172
311
|
getHiddenRuns?: (axis: IRange.Axis) => readonly RunCoords[];
|
|
@@ -179,12 +318,27 @@ export interface DoRunConditionsOptions extends ICondition.RangeOptions {
|
|
|
179
318
|
*/
|
|
180
319
|
onFalse?: (coords: IRange.CellCoords, value: Scalar) => void;
|
|
181
320
|
/**
|
|
182
|
-
*
|
|
321
|
+
* How to answer for the BLANK cells of `coords`, delivered ONCE per evaluation and only when
|
|
322
|
+
* the range has at least one.
|
|
183
323
|
*
|
|
184
324
|
* @remarks
|
|
185
|
-
*
|
|
186
|
-
*
|
|
325
|
+
* Blank cells are not stored and are never visited. What the caller gets is a reader to ask per
|
|
326
|
+
* cell, lazily, for the cells it actually reads — a render asks for the cells on screen — so the
|
|
327
|
+
* evaluation itself costs nothing for them however many there are. A reader rather than one
|
|
328
|
+
* precomputed answer because the answer can differ per blank: an `expression` shifts its
|
|
329
|
+
* references with the cell, so `Key!B3="#"` over an all-blank grid is TRUE in some cells and
|
|
330
|
+
* FALSE in others, and the formula's own block evaluation already holds each one.
|
|
331
|
+
*/
|
|
332
|
+
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).
|
|
187
341
|
*/
|
|
188
|
-
|
|
342
|
+
spacesAreBlank?: boolean;
|
|
189
343
|
}
|
|
190
344
|
//# sourceMappingURL=_ConditionUtils.d.ts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Scalar, IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { IProperties } from '../type';
|
|
3
|
-
import {
|
|
3
|
+
import { ICellStyle } from '../style';
|
|
4
4
|
import { ISpatialMap } from '../collections/ISpatialMap';
|
|
5
5
|
import { IConditionalFormat } from './IConditionalFormat';
|
|
6
|
-
export declare class ConditionalEntry implements IProperties.ICellRanged<
|
|
6
|
+
export declare class ConditionalEntry implements IProperties.ICellRanged<ICellStyle.Properties>, ISpatialMap.IUpdatableValue {
|
|
7
7
|
protected _c: IRange.Coords;
|
|
8
8
|
protected _m: IConditionalFormat;
|
|
9
9
|
constructor(coords: IRange.Coords, model: IConditionalFormat);
|
|
@@ -11,7 +11,7 @@ export declare class ConditionalEntry implements IProperties.ICellRanged<IStyle.
|
|
|
11
11
|
/** {@inheritDoc IProperties.ICellRanged.getCoords} */
|
|
12
12
|
getCoords(): IRange.Coords;
|
|
13
13
|
/** {@inheritDoc IProperties.ICellRanged.getPropertiesAt} */
|
|
14
|
-
getPropertiesAt(rowIndex: number, colIndex: number, value: Scalar): Readonly<
|
|
14
|
+
getPropertiesAt(rowIndex: number, colIndex: number, value: Scalar): Readonly<ICellStyle.Properties>;
|
|
15
15
|
/** {@inheritDoc IConditionalFormat.getDecorationAt} */
|
|
16
16
|
getDecorationAt(rowIndex: number, colIndex: number, value: Scalar): IConditionalFormat.Decoration | null;
|
|
17
17
|
/** {@inheritDoc ISpatialMap.IUpdatableValue.getSplit} */
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { ReferenceableClipboard } from '@sheetxl/utils';
|
|
3
3
|
import { ITransaction } from '../transaction';
|
|
4
4
|
import { IListener } from '../listener';
|
|
5
5
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
6
|
-
import {
|
|
6
|
+
import { ICellStyle, IStyleCollection } from '../style';
|
|
7
7
|
import { ISheet } from '../sheet';
|
|
8
8
|
import { ISparseGrid, ISpatialMap } from '../collections';
|
|
9
|
+
import { ICalculation } from '../calculation';
|
|
10
|
+
import { BlankResolver } from '../condition/_ConditionUtils';
|
|
11
|
+
import { ConditionFormula } from '../condition/_ConditionFormula';
|
|
9
12
|
import { AnchoredConditional } from '../condition/AnchoredConditional';
|
|
10
13
|
import { IConditionalFormat } from './IConditionalFormat';
|
|
11
14
|
/**
|
|
12
15
|
* Implementation of {@link IConditionalFormat}.
|
|
13
16
|
*/
|
|
14
|
-
export declare class ConditionalFormat extends AnchoredConditional<State,
|
|
17
|
+
export declare class ConditionalFormat extends AnchoredConditional<State, IConditionalFormat.Events> implements IConditionalFormat {
|
|
15
18
|
protected _styles: IStyleCollection;
|
|
16
19
|
protected _stylesRemoveListener: IListener.Remove | null;
|
|
17
20
|
protected _colorScale: PreparedColorScale | null;
|
|
@@ -19,7 +22,16 @@ export declare class ConditionalFormat extends AnchoredConditional<State, Commit
|
|
|
19
22
|
protected _iconSet: PreparedIconSet | null;
|
|
20
23
|
protected _matches: ISparseGrid<boolean> | null;
|
|
21
24
|
/**
|
|
22
|
-
*
|
|
25
|
+
* How to answer for the BLANK cells, one reader per anchored area, asked per cell read. Blanks
|
|
26
|
+
* are never materialized into `_matches`: a rule over a whole empty column is one entry here,
|
|
27
|
+
* not a million there.
|
|
28
|
+
*/
|
|
29
|
+
protected _blankResolvers: {
|
|
30
|
+
area: IRange.Coords;
|
|
31
|
+
resolve: BlankResolver;
|
|
32
|
+
}[] | null;
|
|
33
|
+
/**
|
|
34
|
+
* What each `formula` stop currently resolves to, keyed by its formula — kept fresh by the
|
|
23
35
|
* watches {@link _syncStopWatches} registers, and read (never computed) while preparing a scale.
|
|
24
36
|
*
|
|
25
37
|
* @remarks
|
|
@@ -27,9 +39,10 @@ export declare class ConditionalFormat extends AnchoredConditional<State, Commit
|
|
|
27
39
|
* listener cannot see. Resolving it during the prepare therefore answered once and then aged
|
|
28
40
|
* silently; a watch is what makes it keep answering.
|
|
29
41
|
*/
|
|
30
|
-
protected _stopValues: Map<
|
|
31
|
-
/** Removes for those watches, and the (anchor,
|
|
42
|
+
protected _stopValues: Map<ICalculation.IFormula, number | null>;
|
|
43
|
+
/** Removes for those watches, the formulas they hold, and the (anchor, formulas) pair they were registered for. */
|
|
32
44
|
protected _stopWatchRemoves: IListener.Remove[] | null;
|
|
45
|
+
protected _stopWatchFormulas: ConditionFormula[] | null;
|
|
33
46
|
protected _stopWatchKey: string | null;
|
|
34
47
|
/**
|
|
35
48
|
* Which round of prepares is current. Bumped once per {@link _processValueUpdates}; a prepare
|
|
@@ -68,9 +81,9 @@ export declare class ConditionalFormat extends AnchoredConditional<State, Commit
|
|
|
68
81
|
*/
|
|
69
82
|
protected _resolveStopValues(ranges: ICellRanges, stops: IConditionalFormat.Stop[]): Promise<(number | null)[]>;
|
|
70
83
|
/**
|
|
71
|
-
* The cell a stop's formula is anchored at — the top-left of the
|
|
72
|
-
* origin an `expression` rule's relative references shift from (and the origin
|
|
73
|
-
* anchors a generated formula to).
|
|
84
|
+
* The cell a stop's formula is anchored at — the top-left of the bounding box of the rule's
|
|
85
|
+
* ranges, the same origin an `expression` rule's relative references shift from (and the origin
|
|
86
|
+
* the writer anchors a generated formula to).
|
|
74
87
|
*/
|
|
75
88
|
protected _formulaAnchor(ranges: ICellRanges): Partial<IRange.CellCoords> | null;
|
|
76
89
|
/**
|
|
@@ -120,7 +133,7 @@ export declare class ConditionalFormat extends AnchoredConditional<State, Commit
|
|
|
120
133
|
/** {@inheritDoc IConditionalFormat.getScale} */
|
|
121
134
|
getScale(): IConditionalFormat.Scale | null;
|
|
122
135
|
/** {@inheritDoc IConditionalFormat.getStyle} */
|
|
123
|
-
getStyle():
|
|
136
|
+
getStyle(): ICellStyle.Properties | null;
|
|
124
137
|
/**
|
|
125
138
|
* {@inheritDoc AnchoredConditional._rebaseAnchorFormulas}
|
|
126
139
|
*
|
|
@@ -147,7 +160,7 @@ export declare class ConditionalFormat extends AnchoredConditional<State, Commit
|
|
|
147
160
|
/** @internal */
|
|
148
161
|
protected _fromJSON(json: IConditionalFormat.JSON): void;
|
|
149
162
|
/** {@inheritDoc IProperties.ICellRanged.getPropertiesAt} */
|
|
150
|
-
getPropertiesAt(rowIndex: number, colIndex: number, value: Scalar): Readonly<
|
|
163
|
+
getPropertiesAt(rowIndex: number, colIndex: number, value: Scalar): Readonly<ICellStyle.Properties>;
|
|
151
164
|
/** {@inheritDoc IConditionalFormat.getDecorationAt} */
|
|
152
165
|
getDecorationAt(_rowIndex: number, _colIndex: number, value: Scalar): IConditionalFormat.Decoration | null;
|
|
153
166
|
/** {@inheritDoc IConditionalFormat.isIConditionalFormat} */
|
|
@@ -166,15 +179,13 @@ interface State extends AnchoredConditional.State {
|
|
|
166
179
|
* Mutually exclusive with {@link State.scale} — a rule either tests cells and formats them, or
|
|
167
180
|
* renders across the range itself.
|
|
168
181
|
*/
|
|
169
|
-
style:
|
|
182
|
+
style: ICellStyle.Properties | null;
|
|
170
183
|
scale: IConditionalFormat.Scale | null;
|
|
171
184
|
stopIfTrue: boolean;
|
|
172
185
|
pivot: boolean;
|
|
173
186
|
/** Opaque third-party payload. Carried, never interpreted. */
|
|
174
187
|
ext: Record<string, unknown> | null;
|
|
175
188
|
}
|
|
176
|
-
interface CommitView extends AnchoredConditional.CommitView {
|
|
177
|
-
}
|
|
178
189
|
type RGB = readonly [number, number, number];
|
|
179
190
|
interface ResolvedStop {
|
|
180
191
|
v: number;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
import { ICellRanges } from '../cellRange';
|
|
2
|
+
import { ICollection, AbstractCollection } from '../type';
|
|
3
|
+
import { IListener } from '../listener';
|
|
2
4
|
import { IConditionalFormatCollection } from './IConditionalFormatCollection';
|
|
3
5
|
import { IConditionalFormat } from './IConditionalFormat';
|
|
4
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Implementation for {@link IConditionalFormatCollection}.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* A front over the sheet's own conditional-format state — the sheet keeps the store and the
|
|
11
|
+
* events, this class keeps the API. `onCollectionChange` is the sheet's
|
|
12
|
+
* `onConditionalFormatsChange`, forwarded with this collection as the source.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ConditionalFormatCollection extends AbstractCollection<IConditionalFormat, IConditionalFormatCollection.GetItemsOptions> implements IConditionalFormatCollection {
|
|
5
15
|
private _add;
|
|
6
16
|
private _get;
|
|
7
17
|
private _createItem;
|
|
8
|
-
|
|
18
|
+
private _addListeners;
|
|
19
|
+
constructor(add: (address: ICellRanges.Address | IConditionalFormat, options?: IConditionalFormatCollection.AddOptions) => IConditionalFormat, get: (address: ICellRanges.Address | null | undefined, ignoreHidden?: boolean, fullyContained?: boolean) => IConditionalFormat[], createItem: (template?: IConditionalFormat | null) => IConditionalFormat, addListeners: (listeners: ICollection.IListeners, options?: IListener.Options) => IListener.Remove);
|
|
9
20
|
/** {@inheritDoc IConditionalFormatCollection.add} */
|
|
10
21
|
add(address: ICellRanges.Address | IConditionalFormat, options?: IConditionalFormatCollection.AddOptions): IConditionalFormat;
|
|
11
|
-
/** {@inheritDoc
|
|
12
|
-
|
|
13
|
-
/** {@inheritDoc IConditionalFormatCollection.getItems} */
|
|
14
|
-
getItems(options?: IConditionalFormatCollection.GetItemsOptions): IConditionalFormat[];
|
|
22
|
+
/** {@inheritDoc AbstractCollection._getItems} */
|
|
23
|
+
protected _getItems(options?: IConditionalFormatCollection.GetItemsOptions): IConditionalFormat[];
|
|
15
24
|
/** {@inheritDoc IConditionalFormatCollection.createItem} */
|
|
16
25
|
createItem(template?: IConditionalFormat | null): IConditionalFormat;
|
|
17
|
-
/** {@inheritDoc
|
|
18
|
-
|
|
26
|
+
/** {@inheritDoc ICollection.addListeners} */
|
|
27
|
+
addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
28
|
+
/** {@inheritDoc IConditionalFormatCollection.isIConditionalFormatCollection} */
|
|
29
|
+
get isIConditionalFormatCollection(): true;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=ConditionalFormatCollection.d.ts.map
|
|
@@ -6,8 +6,9 @@ import { IHistory } from '../history';
|
|
|
6
6
|
import { IAnchored } from '../anchored';
|
|
7
7
|
import { ICellRanges } from '../cellRange';
|
|
8
8
|
import { IListener } from '../listener';
|
|
9
|
+
import { ICalculation } from '../calculation';
|
|
9
10
|
import { ICondition } from '../condition';
|
|
10
|
-
import {
|
|
11
|
+
import { ICellStyle } from '../style';
|
|
11
12
|
import { IConditionalFormatCollection } from './IConditionalFormatCollection';
|
|
12
13
|
/**
|
|
13
14
|
* Represents a conditional formatting rule for a range.
|
|
@@ -21,7 +22,7 @@ import { IConditionalFormatCollection } from './IConditionalFormatCollection';
|
|
|
21
22
|
* * Conditional formatting help users identify patterns, trends, and exceptions
|
|
22
23
|
* in data by applying visual styles dynamically.
|
|
23
24
|
*/
|
|
24
|
-
export interface IConditionalFormat extends IAnchored, ICondition.Stateful, IProperties.ICellRanged<
|
|
25
|
+
export interface IConditionalFormat extends IAnchored, ICondition.Stateful, IProperties.ICellRanged<ICellStyle.Properties> {
|
|
25
26
|
/**
|
|
26
27
|
* Re-anchors this rule to `address`, REPLACING every range it currently covers.
|
|
27
28
|
*
|
|
@@ -97,7 +98,7 @@ export interface IConditionalFormat extends IAnchored, ICondition.Stateful, IPro
|
|
|
97
98
|
* @remarks
|
|
98
99
|
* The OOXML `dxf`, inlined. A differential format: only the properties it names are overridden.
|
|
99
100
|
*/
|
|
100
|
-
getStyle():
|
|
101
|
+
getStyle(): ICellStyle.Properties | null;
|
|
101
102
|
/**
|
|
102
103
|
* Returns what this rule draws in a cell, or `null` if it draws nothing there.
|
|
103
104
|
*
|
|
@@ -241,10 +242,11 @@ export declare namespace IConditionalFormat {
|
|
|
241
242
|
* - Num: absolute number
|
|
242
243
|
* - Percent: 0..100 of min..max span
|
|
243
244
|
* - Percentile: 0..100 quantile (requires percentile stats)
|
|
244
|
-
* * For
|
|
245
|
-
* - Formula: a formula
|
|
245
|
+
* * For formulas:
|
|
246
|
+
* - Formula: a formula whose result is the threshold. Authored as formula text or an
|
|
247
|
+
* {@link ICalculation.IFormula}; a rule holds it as an `IFormula`.
|
|
246
248
|
*/
|
|
247
|
-
value?: number | string;
|
|
249
|
+
value?: number | string | ICalculation.IFormula;
|
|
248
250
|
/**
|
|
249
251
|
* Upper bound exclusivity.
|
|
250
252
|
*
|
|
@@ -338,13 +340,13 @@ export declare namespace IConditionalFormat {
|
|
|
338
340
|
* from and its zero-based index within that set.
|
|
339
341
|
*/
|
|
340
342
|
icon?: {
|
|
341
|
-
set:
|
|
343
|
+
set: ICellStyle.IconSet;
|
|
342
344
|
id: number;
|
|
343
345
|
}[];
|
|
344
346
|
/**
|
|
345
347
|
* The icon set to use
|
|
346
348
|
*/
|
|
347
|
-
iconSet?:
|
|
349
|
+
iconSet?: ICellStyle.IconSet;
|
|
348
350
|
reverse?: boolean;
|
|
349
351
|
/**
|
|
350
352
|
* If true, the value will be shown in the cell.
|
|
@@ -406,7 +408,7 @@ export declare namespace IConditionalFormat {
|
|
|
406
408
|
/** Which band the value fell in. `0` is the lowest band, matching `stops[0]`. */
|
|
407
409
|
index: number;
|
|
408
410
|
/** The set {@link index} indexes into — the rule's own, or a per-stop override. */
|
|
409
|
-
set:
|
|
411
|
+
set: ICellStyle.IconSet;
|
|
410
412
|
/** How many bands {@link set} has, so a renderer can bounds-check {@link index}. */
|
|
411
413
|
count: number;
|
|
412
414
|
/** Draw the cell's value beside the icon. When `false` the icon is the cell's only content. */
|
|
@@ -449,7 +451,7 @@ export declare namespace IConditionalFormat {
|
|
|
449
451
|
/**
|
|
450
452
|
* The differential style applied where the condition holds.
|
|
451
453
|
*/
|
|
452
|
-
style?:
|
|
454
|
+
style?: ICellStyle.Properties;
|
|
453
455
|
/**
|
|
454
456
|
* The value→visual mapping, for the three rules that are not predicates.
|
|
455
457
|
*
|