@sheetxl/sdk 0.7.28-beta.4 → 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/{DBIu6NUHIcxOOBQp.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/{CHSahmMFYNB0Ajkf.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/{CKk58ZLcrllMzfou.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/{DUYP6faJJHCaW1Xf.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 +49153 -36824
- 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 -106
- package/types/scripting.d.ts +18126 -7971
- 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 +759 -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 +422 -34
- 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 +160 -29
- 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 +53 -4
- package/types/src/calculation/state/IContextContainer.d.ts +159 -26
- 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 +458 -97
- 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 +60 -21
- package/types/src/primitives/Range.d.ts +136 -26
- 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/FunctionArguments.d.ts +22 -0
- 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 +200 -4
- 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 +923 -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 +92 -17
- 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 +28 -0
- 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/BF14ZEAnaqxXroSj.cjs +0 -1
- package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
- package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
- package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
- package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
- package/browser/cjs/index.cjs +0 -3
- package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
- package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
- package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
- package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
- package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
- package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
- 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 -20
- 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
|
@@ -27,6 +27,8 @@ export interface IConditionalFormatCollection extends ICollection<IConditionalFo
|
|
|
27
27
|
* @param template A template to use for the temporary item.
|
|
28
28
|
*/
|
|
29
29
|
createItem(template?: IConditionalFormat): IConditionalFormat;
|
|
30
|
+
/** For runtime type checking. */
|
|
31
|
+
readonly isIConditionalFormatCollection: true;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* {@inheritDoc IConditionalFormatCollection}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
|
|
1
2
|
import { ReferenceableClipboard } from '@sheetxl/utils';
|
|
2
3
|
import { IListener } from '../listener';
|
|
3
4
|
import { ITransaction } from '../transaction';
|
|
4
5
|
import { IGrid } from '../collections';
|
|
5
6
|
import { ICellRange } from '../cellRange';
|
|
7
|
+
import { ICondition } from '../condition';
|
|
8
|
+
import { ListSourceFormula } from '../condition/_ConditionFormula';
|
|
9
|
+
import { BlankResolver } from '../condition/_ConditionUtils';
|
|
6
10
|
import { AnchoredConditional } from '../condition/AnchoredConditional';
|
|
7
11
|
import { IDataValidation } from './IDataValidation';
|
|
8
12
|
/**
|
|
9
13
|
* Implementation of {@link IDataValidation}.
|
|
10
14
|
*/
|
|
11
|
-
export declare class DataValidation extends AnchoredConditional<State,
|
|
15
|
+
export declare class DataValidation extends AnchoredConditional<State, IDataValidation.Events> implements IDataValidation {
|
|
12
16
|
/**
|
|
13
17
|
* Cache of failing cells for quick reads in {@link getAlertAt} — a plain field, NOT transactional
|
|
14
18
|
* state, mirroring ConditionalFormat's `_matches`.
|
|
@@ -20,6 +24,21 @@ export declare class DataValidation extends AnchoredConditional<State, CommitVie
|
|
|
20
24
|
* commit onto the undo stack for a change no user made.
|
|
21
25
|
*/
|
|
22
26
|
protected _results: IGrid<boolean> | null;
|
|
27
|
+
/**
|
|
28
|
+
* How the EMPTY cells answer, one reader per anchored area, or `null` when every blank passes
|
|
29
|
+
* (Ignore blank on, or no condition). Swapped with {@link _results}, never materialized into it:
|
|
30
|
+
* a whole-column rule is one entry here, not a million there.
|
|
31
|
+
*/
|
|
32
|
+
protected _blankAreas: BlankArea[] | null;
|
|
33
|
+
/**
|
|
34
|
+
* Whether the rule's answer for a blank can differ by position (it reads a formula). When it
|
|
35
|
+
* cannot, one question per area answers every blank in it.
|
|
36
|
+
*/
|
|
37
|
+
protected _blankPerCell: boolean;
|
|
38
|
+
/** {@link _blankAreas} split into disjoint pieces, built on the first count or entries read. */
|
|
39
|
+
protected _blankPieces: BlankPiece[] | null;
|
|
40
|
+
/** {@link getAlertCount}'s answer for the current results, or `null` until asked. */
|
|
41
|
+
protected _alertCount: number | null;
|
|
23
42
|
/**
|
|
24
43
|
* Which evaluation round is current. Bumped once per {@link _processValueUpdates}; a round
|
|
25
44
|
* writes its results only if it is still the newest when it finishes. Same shape and reason as
|
|
@@ -34,12 +53,50 @@ export declare class DataValidation extends AnchoredConditional<State, CommitVie
|
|
|
34
53
|
protected _getDefaultState(options: DataValidation.ConstructorOptions): Readonly<State>;
|
|
35
54
|
/** @internal */
|
|
36
55
|
protected _processValueUpdates(_range?: ICellRange | null): void;
|
|
56
|
+
/** Swaps in one evaluation's answers; everything derived from the previous ones goes with them. */
|
|
57
|
+
protected _setResults(results: IGrid<boolean> | null, blankAreas: BlankArea[] | null, blankPerCell?: boolean): void;
|
|
58
|
+
/** Whether an EMPTY cell of `areas` fails. Every area covering the cell has a say, as for values. */
|
|
59
|
+
protected _isBlankFailing(areas: readonly BlankArea[], rowIndex: number, columnIndex: number): boolean;
|
|
60
|
+
/** One area's answer for a blank. A rule reading no formula answers once for the whole area. */
|
|
61
|
+
protected _isBlankPassing(blankArea: BlankArea, rowIndex: number, columnIndex: number): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* The blank areas as disjoint pieces, each knowing every area that covers it — so an overlap is
|
|
64
|
+
* counted once and still answered by all of its rules. Disjoint areas are their own pieces.
|
|
65
|
+
*/
|
|
66
|
+
protected _getBlankPieces(): BlankPiece[];
|
|
67
|
+
/** How many cells of `coords` hold a value — off the value grid's runs, never its cells. */
|
|
68
|
+
protected _countValues(coords: IRange.Coords): number;
|
|
37
69
|
/** {@inheritDoc IDataValidation.getAlertAt} */
|
|
38
70
|
getAlertAt(rowIndex: number, columnIndex: number): boolean;
|
|
39
71
|
/** {@inheritDoc IDataValidation.getAlertEntries} */
|
|
40
72
|
getAlertEntries(options?: ICellRange.IteratorOptions): IGrid.EntryIterator<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Each piece in axis order: its stored results and its blanks, merged as the caller reads. A
|
|
75
|
+
* piece whose blanks pass is read off the results grid alone; one whose blanks fail walks its
|
|
76
|
+
* values, yielding the gaps between them without asking; one read per cell asks per gap cell.
|
|
77
|
+
*/
|
|
78
|
+
protected _pieceEntries(pieces: readonly BlankPiece[], results: IGrid<boolean> | null, axis: IRange.Axis, reverse: boolean): Generator<IGrid.Entry<boolean>, undefined, undefined>;
|
|
41
79
|
/** {@inheritDoc IDataValidation.getAlertCount} */
|
|
42
80
|
getAlertCount(): number;
|
|
81
|
+
/** {@inheritDoc IDataValidation.getListItemsAt} */
|
|
82
|
+
getListItemsAt(rowIndex: number, columnIndex: number): Promise<readonly IDataValidation.ListItem[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Appends what a live base lists at a cell to `listed`: its values, duplicates kept. Returns
|
|
85
|
+
* whether the base holds a blank (an empty cell or a `""` result), which is listed by the caller.
|
|
86
|
+
*/
|
|
87
|
+
protected _listSourceItemsAt(condition: ICondition, source: ListSourceFormula, rowIndex: number, columnIndex: number, listed: IDataValidation.ListItem[]): Promise<boolean>;
|
|
88
|
+
/** {@inheritDoc IDataValidation.validateInputAt} */
|
|
89
|
+
validateInputAt(input: string | Scalar, rowIndex: number, columnIndex: number): Promise<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* The value an entry would leave in a cell: text read as typed text is, a formula evaluated at
|
|
92
|
+
* the cell. `null` for a blank entry.
|
|
93
|
+
*/
|
|
94
|
+
protected _resolveEntryAt(input: string | Scalar, cell: IRange.CellCoords): Promise<Scalar>;
|
|
95
|
+
/**
|
|
96
|
+
* A list source's check for one entry: `MATCH` against the source as filled to the cell, the
|
|
97
|
+
* same check the rule watches per cell (P6), answered as a one-cell range at `cell`.
|
|
98
|
+
*/
|
|
99
|
+
protected _checkListEntryAt(source: ListSourceFormula, value: Scalar, cell: IRange.CellCoords, runtime: IRuntime): Promise<IRange | null>;
|
|
43
100
|
/** {@inheritDoc IDataValidation.setHideDropdown} */
|
|
44
101
|
setHideDropdown(hide: boolean, options?: ITransaction.OperationOptions): this;
|
|
45
102
|
/** {@inheritDoc IDataValidation.isHideDropdown} */
|
|
@@ -114,8 +171,17 @@ interface State extends AnchoredConditional.State {
|
|
|
114
171
|
/** Opaque third-party payload. Carried, never interpreted. */
|
|
115
172
|
ext: Record<string, unknown> | null;
|
|
116
173
|
}
|
|
117
|
-
/**
|
|
118
|
-
interface
|
|
174
|
+
/** One anchored area's reader for its empty cells. */
|
|
175
|
+
interface BlankArea {
|
|
176
|
+
area: IRange.Coords;
|
|
177
|
+
resolve: BlankResolver;
|
|
178
|
+
/** The area's one answer when it cannot vary by position; `null` until asked. */
|
|
179
|
+
passes: boolean | null;
|
|
180
|
+
}
|
|
181
|
+
/** A disjoint piece of the blank areas, with every area that covers all of it. */
|
|
182
|
+
interface BlankPiece {
|
|
183
|
+
coords: IRange.Coords;
|
|
184
|
+
areas: readonly BlankArea[];
|
|
119
185
|
}
|
|
120
186
|
export {};
|
|
121
187
|
//# sourceMappingURL=DataValidation.d.ts.map
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
import { ICellRanges } from '../cellRange';
|
|
2
|
+
import { ICollection, AbstractCollection } from '../type';
|
|
3
|
+
import { IListener } from '../listener';
|
|
2
4
|
import { IDataValidationCollection } from './IDataValidationCollection';
|
|
3
5
|
import { IDataValidation } from './IDataValidation';
|
|
4
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Implementation for {@link IDataValidationCollection}.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* A front over the sheet's own data-validation state — the sheet keeps the store and the
|
|
11
|
+
* events, this class keeps the API. `onCollectionChange` is the sheet's
|
|
12
|
+
* `onDataValidationsChange`, forwarded with this collection as the source.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DataValidationCollection extends AbstractCollection<IDataValidation, IDataValidationCollection.GetItemsOptions> implements IDataValidationCollection {
|
|
5
15
|
private _add;
|
|
6
16
|
private _get;
|
|
7
17
|
private _createItem;
|
|
8
|
-
|
|
18
|
+
private _addListeners;
|
|
19
|
+
constructor(add: (address: ICellRanges.Address | IDataValidation, options?: IDataValidationCollection.AddOptions) => IDataValidation, get: (address: ICellRanges.Address | null | undefined, ignoreHidden?: boolean, fullyContained?: boolean) => IDataValidation[], createItem: (template?: IDataValidation | null) => IDataValidation, addListeners: (listeners: ICollection.IListeners, options?: IListener.Options) => IListener.Remove);
|
|
9
20
|
/** {@inheritDoc IDataValidationCollection.add} */
|
|
10
21
|
add(address: ICellRanges.Address | IDataValidation, options?: IDataValidationCollection.AddOptions): IDataValidation;
|
|
11
|
-
/** {@inheritDoc
|
|
12
|
-
|
|
13
|
-
/** {@inheritDoc IDataValidationCollection.
|
|
14
|
-
getItems(options?: IDataValidationCollection.GetItemsOptions): IDataValidation[];
|
|
15
|
-
/** {@inheritDoc IDataValidationCollection.getCount} */
|
|
16
|
-
getCount(): number;
|
|
17
|
-
/** {@inheritDoc IDataValidationCollection.getCount} */
|
|
22
|
+
/** {@inheritDoc AbstractCollection._getItems} */
|
|
23
|
+
protected _getItems(options?: IDataValidationCollection.GetItemsOptions): IDataValidation[];
|
|
24
|
+
/** {@inheritDoc IDataValidationCollection.createItem} */
|
|
18
25
|
createItem(template?: IDataValidation | null): IDataValidation;
|
|
26
|
+
/** {@inheritDoc ICollection.addListeners} */
|
|
27
|
+
addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
28
|
+
/** {@inheritDoc IDataValidationCollection.isIDataValidationCollection} */
|
|
29
|
+
get isIDataValidationCollection(): true;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=DataValidationCollection.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRange } from '@sheetxl/primitives';
|
|
1
|
+
import { IRange, Scalar } from '@sheetxl/primitives';
|
|
2
2
|
import { ReferenceableClipboard } from '@sheetxl/utils';
|
|
3
3
|
import { ITransaction } from '../transaction';
|
|
4
4
|
import { IHistory } from '../history';
|
|
@@ -9,10 +9,19 @@ import { ICondition } from '../condition';
|
|
|
9
9
|
import { ICellRange, ICellRanges } from '../cellRange';
|
|
10
10
|
import { IDataValidationCollection } from './IDataValidationCollection';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* A data validation: a rule that a cell's value must satisfy, over one or more ranges of a sheet,
|
|
13
|
+
* with the prompt shown when the cell is selected and the alert for a value that fails.
|
|
13
14
|
*
|
|
14
15
|
* @remarks
|
|
15
|
-
*
|
|
16
|
+
* Validations may overlap, and every one covering a cell applies: the cell is valid only when each
|
|
17
|
+
* of them accepts its value. Where a single answer is needed, the rule with the lowest
|
|
18
|
+
* {@link getIndex} wins: the prompt is the first covering rule's that has one, the alert the first
|
|
19
|
+
* failing rule's, and the dropdown offers the items every covering list rule accepts. Excel keeps
|
|
20
|
+
* one validation per cell, and when it opens a file whose validations overlap it honors only the
|
|
21
|
+
* first; see {@link ICell.getDataValidation}.
|
|
22
|
+
*
|
|
23
|
+
* The rule judges the value a cell holds, whatever wrote it. A value set through the API, pasted
|
|
24
|
+
* or filled is never refused; it is simply invalid, and {@link getAlertAt} says so.
|
|
16
25
|
*/
|
|
17
26
|
export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
18
27
|
/** @inheritdoc ICondition.Stateful.getCondition */
|
|
@@ -22,27 +31,83 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
22
31
|
*/
|
|
23
32
|
setCondition(condition: ICondition.Input | null, options?: ITransaction.OperationOptions): this;
|
|
24
33
|
/**
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
* Returns the validation results at the specified cell coordinates.
|
|
34
|
+
* Whether the cell at the specified coordinates fails this validation.
|
|
35
|
+
*
|
|
36
|
+
* @param rowIndex The sheet row.
|
|
37
|
+
* @param columnIndex The sheet column.
|
|
30
38
|
*
|
|
31
39
|
* @remarks
|
|
32
|
-
*
|
|
40
|
+
* This validation's answer alone. Where validations overlap, a cell is invalid when any of the
|
|
41
|
+
* ones covering it fails ({@link ICellRange.getDataValidations}).
|
|
42
|
+
*
|
|
43
|
+
* An empty cell fails when Ignore blank is off ({@link isIncludeBlanks} is `false`) and the rule
|
|
44
|
+
* rejects a blank there, as Excel's Circle Invalid Data circles it. With Ignore blank on, an
|
|
45
|
+
* empty cell never fails. A cell holding `""` (a formula's empty text) is a value, and is judged.
|
|
33
46
|
*/
|
|
34
47
|
getAlertAt(rowIndex: number, columnIndex: number): boolean;
|
|
35
48
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
49
|
+
* The cells that fail this validation, each as a `[coords, true]` entry, empty cells included.
|
|
50
|
+
*
|
|
51
|
+
* @param options `axis` and `reverse` set the order within each of the validation's ranges; the
|
|
52
|
+
* ranges are visited in their own order.
|
|
38
53
|
*
|
|
39
|
-
* @
|
|
54
|
+
* @remarks
|
|
55
|
+
* Lazy: the cost is what the caller reads. Stop early to pay for the first few entries only. When
|
|
56
|
+
* empty cells pass (Ignore blank on), they are skipped without being visited. When they fail, a
|
|
57
|
+
* whole-column rule yields every one of its empty cells, so take what you need.
|
|
40
58
|
*/
|
|
41
59
|
getAlertEntries(options?: ICellRange.IteratorOptions): IGrid.EntryIterator<boolean>;
|
|
42
60
|
/**
|
|
43
|
-
*
|
|
61
|
+
* The number of cells that fail this validation, empty cells included.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* A rule that judges every empty cell alike (no formula) counts them without visiting any. A rule
|
|
65
|
+
* with a formula, a custom formula or a range list source, reads each empty cell's answer, so
|
|
66
|
+
* the first call over a large range can be slow. The answer is kept until the values change.
|
|
44
67
|
*/
|
|
45
68
|
getAlertCount(): number;
|
|
69
|
+
/**
|
|
70
|
+
* The items a list validation offers at a cell: what its in-cell dropdown lists.
|
|
71
|
+
*
|
|
72
|
+
* @param rowIndex The cell's row.
|
|
73
|
+
* @param columnIndex The cell's column. A relative source (`$F1:$G1`, `INDIRECT($E1)`) gives each
|
|
74
|
+
* cell its own list, as it does in Excel.
|
|
75
|
+
*
|
|
76
|
+
* @returns The set's members: its `items`, then what its `source` lists in source order,
|
|
77
|
+
* duplicates kept, then its typed `additions`, with any `subtractions` left out. Empty
|
|
78
|
+
* when this is not a list validation or the set lists nothing. Blank source cells are
|
|
79
|
+
* not listed.
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* Evaluated when asked, for one cell — the check itself does not need the items, so nothing is
|
|
83
|
+
* resolved until a dropdown or a preview asks. `text` is what a source cell shows (a date list
|
|
84
|
+
* reads as dates), the item itself for a typed one.
|
|
85
|
+
*/
|
|
86
|
+
getListItemsAt(rowIndex: number, columnIndex: number): Promise<readonly IDataValidation.ListItem[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Whether an entry would pass this validation if it were typed into a cell: the check a cell
|
|
89
|
+
* editor makes before it writes.
|
|
90
|
+
*
|
|
91
|
+
* @param input What would be written, as `setValue` takes it. Text is read as typed text is: a
|
|
92
|
+
* number, a date or a boolean when it reads as one, a formula when it starts with
|
|
93
|
+
* `=`. Any other value is taken as is.
|
|
94
|
+
* @param rowIndex The cell's row.
|
|
95
|
+
* @param columnIndex The cell's column.
|
|
96
|
+
*
|
|
97
|
+
* @returns `false` when the entry fails. `true` when it passes, when the cell is outside this
|
|
98
|
+
* validation, or when the validation has no condition.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Nothing is written. A formula is judged by its result at that cell (`=9` fails a whole number
|
|
102
|
+
* between 1 and 5). A blank entry passes whatever {@link isIncludeBlanks} says, as typed entry does
|
|
103
|
+
* in Excel. Everything else is read as it stands, so a rule that reads the cell itself
|
|
104
|
+
* (`=COUNTIF($A:$A,A1)=1`) sees the value the cell holds now, not the entry — as Excel does.
|
|
105
|
+
*
|
|
106
|
+
* This validation's answer alone, whatever {@link isShowAlertMessage} says: the caller decides
|
|
107
|
+
* which validations to ask and what to show. Excel asks the active cell's rule only, and only for
|
|
108
|
+
* what is typed or picked; a value set through the API, pasted or filled is never checked.
|
|
109
|
+
*/
|
|
110
|
+
validateInputAt(input: string | Scalar, rowIndex: number, columnIndex: number): Promise<boolean>;
|
|
46
111
|
/**
|
|
47
112
|
* Set whether to suppress the in-cell dropdown arrow for a list validation.
|
|
48
113
|
*
|
|
@@ -59,10 +124,11 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
59
124
|
*/
|
|
60
125
|
isHideDropdown(): boolean;
|
|
61
126
|
/**
|
|
62
|
-
*
|
|
127
|
+
* The message shown while a cell the rule covers is selected (Excel's *Input Message*).
|
|
63
128
|
*
|
|
64
129
|
* @remarks
|
|
65
|
-
*
|
|
130
|
+
* Shown only while {@link isShowPromptMessage} is on. Where validations overlap, the first
|
|
131
|
+
* covering rule with a prompt shows its own.
|
|
66
132
|
*/
|
|
67
133
|
setPromptMessage(message: string, options?: ITransaction.OperationOptions): this;
|
|
68
134
|
/**
|
|
@@ -80,7 +146,11 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
80
146
|
*/
|
|
81
147
|
getPromptTitle(): string;
|
|
82
148
|
/**
|
|
83
|
-
* Sets whether to show the prompt
|
|
149
|
+
* Sets whether to show the prompt when a cell the rule covers is selected.
|
|
150
|
+
*
|
|
151
|
+
* @remarks
|
|
152
|
+
* Separate from the prompt's text, as in Excel: turning the prompt off keeps its title and
|
|
153
|
+
* message, and turning it back on shows them again.
|
|
84
154
|
*/
|
|
85
155
|
setShowPromptMessage(show: boolean, options?: ITransaction.OperationOptions): this;
|
|
86
156
|
/**
|
|
@@ -88,7 +158,7 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
88
158
|
*/
|
|
89
159
|
isShowPromptMessage(): boolean;
|
|
90
160
|
/**
|
|
91
|
-
*
|
|
161
|
+
* The message of the alert raised for a value that fails the rule (Excel's *Error Message*).
|
|
92
162
|
*/
|
|
93
163
|
setAlertMessage(message: string, options?: ITransaction.OperationOptions): this;
|
|
94
164
|
/**
|
|
@@ -106,7 +176,11 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
106
176
|
*/
|
|
107
177
|
getAlertTitle(): string;
|
|
108
178
|
/**
|
|
109
|
-
* Sets whether
|
|
179
|
+
* Sets whether a value that fails the rule raises the alert when a user enters it.
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* With the alert off, a failing entry is accepted silently, whatever the {@link getAlertStyle}.
|
|
183
|
+
* It is still invalid: {@link getAlertAt} reports it either way.
|
|
110
184
|
*/
|
|
111
185
|
setShowAlertMessage(show: boolean, options?: ITransaction.OperationOptions): this;
|
|
112
186
|
/**
|
|
@@ -114,12 +188,20 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
114
188
|
*/
|
|
115
189
|
isShowAlertMessage(): boolean;
|
|
116
190
|
/**
|
|
117
|
-
* Sets the style of the alert
|
|
191
|
+
* Sets the style of the alert raised when a user enters a value that fails the rule.
|
|
118
192
|
*
|
|
119
193
|
* @remarks
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
194
|
+
* `Stop` refuses the entry, `Warning` asks before accepting it, and `Information` accepts it with
|
|
195
|
+
* a message. Where validations overlap, the first failing rule's style is the one used.
|
|
196
|
+
*
|
|
197
|
+
* The alert answers what a user types or picks, as in Excel. A value written through the API,
|
|
198
|
+
* pasted or filled raises no alert and is never refused.
|
|
199
|
+
*
|
|
200
|
+
* The style applies only while {@link setShowAlertMessage} is on. With it off, an invalid entry
|
|
201
|
+
* is accepted without a word whatever the style, as in Excel, so a rule meant to refuse entry
|
|
202
|
+
* needs both.
|
|
203
|
+
*
|
|
204
|
+
* @defaultValue `Stop`
|
|
123
205
|
*/
|
|
124
206
|
setAlertStyle(alertStyle: IDataValidation.AlertStyle, options?: ITransaction.OperationOptions): this;
|
|
125
207
|
/**
|
|
@@ -127,10 +209,15 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
127
209
|
*/
|
|
128
210
|
getAlertStyle(): IDataValidation.AlertStyle;
|
|
129
211
|
/**
|
|
130
|
-
*
|
|
212
|
+
* How a cell the rule covers asks to be drawn and edited, as keywords a client may honor.
|
|
131
213
|
*
|
|
132
214
|
* @remarks
|
|
133
|
-
*
|
|
215
|
+
* Derived from the condition, never stored on it: a rule whose param carries candidates (its
|
|
216
|
+
* operator {@link ICondition.IOperator.getCandidates | lists them}, as `inSet` does under any
|
|
217
|
+
* selector) answers `list`, which is what an in-cell dropdown is shown for; a rule under a date selector
|
|
218
|
+
* answers `date` and `calendar`, under the time selector `time` and `clock`. Whether the
|
|
219
|
+
* dropdown is actually shown is the rule's own {@link isHideDropdown}. Empty when the rule has
|
|
220
|
+
* no condition or nothing to ask for.
|
|
134
221
|
*/
|
|
135
222
|
getRenderHints(): readonly string[];
|
|
136
223
|
/**
|
|
@@ -154,12 +241,16 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
154
241
|
*/
|
|
155
242
|
update(update: Partial<IDataValidation.Properties> | IDataValidation, options?: ITransaction.OperationOptions): this;
|
|
156
243
|
/**
|
|
157
|
-
* Returns the index of this data validation within its container.
|
|
244
|
+
* Returns the index of this data validation within its container: its priority, `0` first.
|
|
245
|
+
*
|
|
246
|
+
* @remarks
|
|
247
|
+
* Where validations overlap, the lowest index supplies the prompt and the alert style; see
|
|
248
|
+
* {@link IDataValidation}. The writer saves the rules in this order.
|
|
158
249
|
*/
|
|
159
250
|
getIndex(): number;
|
|
160
251
|
/**
|
|
161
252
|
* Sets the index of this data validation within its container.
|
|
162
|
-
* @param index The new index to set.
|
|
253
|
+
* @param index The new index to set. See {@link getIndex}.
|
|
163
254
|
*/
|
|
164
255
|
setIndex(index: number): this;
|
|
165
256
|
/**
|
|
@@ -199,7 +290,7 @@ export interface IDataValidation extends IAnchored, ICondition.Stateful {
|
|
|
199
290
|
readonly isIDataValidation: true;
|
|
200
291
|
}
|
|
201
292
|
/**
|
|
202
|
-
*
|
|
293
|
+
* Types for working with data validations.
|
|
203
294
|
*
|
|
204
295
|
* @see
|
|
205
296
|
* ### **Interface**
|
|
@@ -215,19 +306,28 @@ export declare namespace IDataValidation {
|
|
|
215
306
|
*/
|
|
216
307
|
const AlertStyle: {
|
|
217
308
|
/**
|
|
218
|
-
*
|
|
309
|
+
* Refuses an invalid entry.
|
|
219
310
|
*/
|
|
220
311
|
readonly Stop: "stop";
|
|
221
312
|
/**
|
|
222
|
-
*
|
|
313
|
+
* Warns about an invalid entry and asks whether to keep it.
|
|
223
314
|
*/
|
|
224
315
|
readonly Warning: "warning";
|
|
225
316
|
/**
|
|
226
|
-
*
|
|
317
|
+
* Accepts an invalid entry with an informational message.
|
|
227
318
|
*/
|
|
228
319
|
readonly Information: "information";
|
|
229
320
|
};
|
|
230
321
|
type AlertStyle = typeof AlertStyle[keyof typeof AlertStyle];
|
|
322
|
+
/**
|
|
323
|
+
* One item a list validation offers. See {@link IDataValidation.getListItemsAt}.
|
|
324
|
+
*/
|
|
325
|
+
interface ListItem {
|
|
326
|
+
/** The value a pick enters. */
|
|
327
|
+
value: Scalar;
|
|
328
|
+
/** The item as shown. */
|
|
329
|
+
text: string;
|
|
330
|
+
}
|
|
231
331
|
/**
|
|
232
332
|
* A set of values that can be set on a IDataValidation.
|
|
233
333
|
*
|
|
@@ -235,12 +335,31 @@ export declare namespace IDataValidation {
|
|
|
235
335
|
* {@link IDataValidation}
|
|
236
336
|
*/
|
|
237
337
|
interface Properties {
|
|
338
|
+
/** See {@link IDataValidation.setPromptMessage}. */
|
|
238
339
|
prompt?: string;
|
|
340
|
+
/** See {@link IDataValidation.setPromptTitle}. */
|
|
239
341
|
promptTitle?: string;
|
|
342
|
+
/**
|
|
343
|
+
* See {@link IDataValidation.setShowPromptMessage}.
|
|
344
|
+
*
|
|
345
|
+
* @defaultValue false
|
|
346
|
+
*/
|
|
240
347
|
showPromptMessage?: boolean;
|
|
348
|
+
/** See {@link IDataValidation.setAlertMessage}. */
|
|
241
349
|
alert?: string;
|
|
350
|
+
/** See {@link IDataValidation.setAlertTitle}. */
|
|
242
351
|
alertTitle?: string;
|
|
352
|
+
/**
|
|
353
|
+
* See {@link IDataValidation.setShowAlertMessage}.
|
|
354
|
+
*
|
|
355
|
+
* @defaultValue false
|
|
356
|
+
*/
|
|
243
357
|
showAlertMessage?: boolean;
|
|
358
|
+
/**
|
|
359
|
+
* See {@link IDataValidation.setAlertStyle}.
|
|
360
|
+
*
|
|
361
|
+
* @defaultValue `Stop`
|
|
362
|
+
*/
|
|
244
363
|
alertStyle?: IDataValidation.AlertStyle;
|
|
245
364
|
/**
|
|
246
365
|
* The predicate a value must satisfy to be valid.
|
|
@@ -7,7 +7,8 @@ import { IDataValidation } from './IDataValidation';
|
|
|
7
7
|
*/
|
|
8
8
|
export interface IDataValidationCollection extends ICollection<IDataValidation> {
|
|
9
9
|
/**
|
|
10
|
-
* Returns items that match the filter criteria
|
|
10
|
+
* Returns items that match the filter criteria, in priority order
|
|
11
|
+
* ({@link IDataValidation.getIndex}).
|
|
11
12
|
*
|
|
12
13
|
* If no filter criteria is provided, all items will be returned.
|
|
13
14
|
*
|
|
@@ -18,7 +19,12 @@ export interface IDataValidationCollection extends ICollection<IDataValidation>
|
|
|
18
19
|
* Add an `IDataValidation` to the container.
|
|
19
20
|
*
|
|
20
21
|
* @param address The address of the item. May name several discontiguous ranges.
|
|
21
|
-
* @param options
|
|
22
|
+
* @param options The new validation's properties, and where it goes in priority order.
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* A validation already covering some of the cells keeps them, and both apply there (see
|
|
26
|
+
* {@link IDataValidation}); Excel's dialog would replace it. To take cells away from an existing
|
|
27
|
+
* validation, clear them first with `ICellRange.clear(ICell.Content.DataValidations)`.
|
|
22
28
|
*/
|
|
23
29
|
add(address: ICellRanges.Address | IDataValidation, options?: IDataValidationCollection.AddOptions): IDataValidation;
|
|
24
30
|
/**
|
|
@@ -27,6 +33,8 @@ export interface IDataValidationCollection extends ICollection<IDataValidation>
|
|
|
27
33
|
* @param template A template to use for the temporary item.
|
|
28
34
|
*/
|
|
29
35
|
createItem(template?: IDataValidation): IDataValidation;
|
|
36
|
+
/** For runtime type checking. */
|
|
37
|
+
readonly isIDataValidationCollection: true;
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
40
|
* {@inheritDoc IDataValidationCollection}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The unit a date step counts — what makes one date series a different series from another.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* `Weekday` is a BUSINESS day: Saturday and Sunday are not units of it, so `Fri` plus one weekday
|
|
6
|
+
* is the following Monday.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link IAutoFill.DateSeries}, which reports the unit a template turns out to hold.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DateUnit: {
|
|
11
|
+
/** A calendar day. */
|
|
12
|
+
readonly Day: "d";
|
|
13
|
+
/** A business day — Saturday and Sunday are skipped. */
|
|
14
|
+
readonly Weekday: "wd";
|
|
15
|
+
/** A calendar month, the day-of-month carried across it. */
|
|
16
|
+
readonly Month: "m";
|
|
17
|
+
/** A calendar year. */
|
|
18
|
+
readonly Year: "y";
|
|
19
|
+
};
|
|
20
|
+
export type DateUnit = typeof DateUnit[keyof typeof DateUnit];
|
|
1
21
|
/**
|
|
2
22
|
* Returns Date.now() rounded to a nearest time.
|
|
3
23
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NumberFormatRef } from '../numFmt/BuiltInFormats';
|
|
2
2
|
import { IRuntime } from '@sheetxl/primitives';
|
|
3
|
+
import { DateUnit } from './DateUtils';
|
|
3
4
|
export declare const MAX_SERIAL_DATE = 2958465;
|
|
4
5
|
export declare function isValidDate(d: any, jsDateOnly?: boolean): boolean;
|
|
5
6
|
export declare function minutesSinceMidnight(date: Date): number;
|
|
@@ -7,12 +8,82 @@ export declare function dayDiff(d1: Date, d2: Date): number;
|
|
|
7
8
|
export declare function monthDiff(startDate: Date, endDate: Date): number;
|
|
8
9
|
export declare function yearDiff(d1: Date, d2: Date): number;
|
|
9
10
|
export declare function dateUnitDiff(d1: Date, d2: Date, unit: DateUnit | string): number | undefined;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Days in a 1-based `month` — the real calendar. Excel's phantom `1900-02-29` is not modelled here;
|
|
13
|
+
* `serialFromCivil` carries it in serial space, which is where it matters.
|
|
14
|
+
*/
|
|
15
|
+
export declare function daysInMonth(year: number, month: number): number;
|
|
16
|
+
/**
|
|
17
|
+
* The month a serial falls in, as a single ordinal, so a whole-month delta is plain subtraction.
|
|
18
|
+
* `NaN` for a serial outside the calendar.
|
|
19
|
+
*/
|
|
20
|
+
export declare function serialMonthOrdinal(serial: number, date1904?: boolean): number;
|
|
21
|
+
/** The day-of-month a serial falls on, or `NaN` for a serial outside the calendar. */
|
|
22
|
+
export declare function serialDayOfMonth(serial: number, date1904?: boolean): number;
|
|
23
|
+
/** `true` when the serial falls on the last day of its own month. */
|
|
24
|
+
export declare function serialIsMonthEnd(serial: number, date1904?: boolean): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Step `count` whole months in SERIAL space — no `Date` is constructed. The day-of-month is kept
|
|
27
|
+
* where the target month is long enough and clamped where it is not (Excel's `EDATE`: Jan 31 plus
|
|
28
|
+
* one month is Feb 28), and because every step is measured from the same anchor serial a day
|
|
29
|
+
* clamped through a short month recovers afterwards (Dec 29 → Feb 28 → Mar 29).
|
|
30
|
+
*
|
|
31
|
+
* @param monthEnd Land on the target month's LAST day instead — Excel's end-of-month series, where
|
|
32
|
+
* Feb 28 continues Mar 31, Apr 30 rather than Mar 28, Apr 28.
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* The time-of-day fraction rides along untouched.
|
|
36
|
+
*/
|
|
37
|
+
export declare function addMonthsToSerial(serial: number, count: number, monthEnd?: boolean, date1904?: boolean): number;
|
|
38
|
+
/**
|
|
39
|
+
* `true` when the serial falls on a Saturday or a Sunday.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* A weekend serial has no business day of its own, so this is what a caller checks before reading
|
|
43
|
+
* {@link serialWeekdayOrdinal} as a position: the ordinal rounds a weekend forward to the following
|
|
44
|
+
* Monday, which is right for stepping and wrong for deciding whether a template is a weekday series.
|
|
45
|
+
*/
|
|
46
|
+
export declare function serialIsWeekend(serial: number, date1904?: boolean): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* A serial's position in the run of BUSINESS days, so a difference of two of these is a count of
|
|
49
|
+
* weekdays — `Fri` to the following `Mon` is `1`, not `3`.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* A weekend serial has no business day of its own and takes the following Monday's, which makes
|
|
53
|
+
* this monotonic but not injective: `Sat`, `Sun` and `Mon` all report the same ordinal, so a
|
|
54
|
+
* template of weekend dates reads as a step of zero rather than as a series.
|
|
55
|
+
*/
|
|
56
|
+
export declare function serialWeekdayOrdinal(serial: number, date1904?: boolean): number;
|
|
57
|
+
/**
|
|
58
|
+
* Step `count` BUSINESS days in SERIAL space — Saturday and Sunday are skipped, and no `Date` is
|
|
59
|
+
* constructed. The time-of-day fraction rides along untouched.
|
|
60
|
+
*
|
|
61
|
+
* @remarks
|
|
62
|
+
* A weekend anchor is not a business day, so it steps off in the direction of travel first: a
|
|
63
|
+
* Saturday going forward is one step from Monday (Excel's `Fri + 1` and `Sat + 1` are both Monday),
|
|
64
|
+
* and going back is one step from Friday. A `count` of zero simply lands on the next business day,
|
|
65
|
+
* which is what Excel's weekday series does from a weekend.
|
|
66
|
+
*/
|
|
67
|
+
export declare function addWeekdaysToSerial(serial: number, count: number, date1904?: boolean): number;
|
|
68
|
+
/** The number of days in `month` (0-based) of `year` — JS day `0` is the previous month's last. */
|
|
69
|
+
export declare function lastDayOfMonth(year: number, month: number): number;
|
|
70
|
+
/** `true` when `date` falls on the last day of its own month. */
|
|
71
|
+
export declare function isMonthEnd(date: Date): boolean;
|
|
72
|
+
/** A date's month as a single ordinal, so a whole-month delta is plain subtraction. */
|
|
73
|
+
export declare function monthOrdinal(date: Date): number;
|
|
74
|
+
/**
|
|
75
|
+
* Step `count` whole months from `date`, keeping the day-of-month where the target month is long
|
|
76
|
+
* enough and clamping it where it is not — Excel's `EDATE`: Jan 31 plus one month is Feb 28, NOT
|
|
77
|
+
* March 3. Because every step is measured from the same anchor, a day clamped through a short month
|
|
78
|
+
* recovers afterwards (Dec 29 → Feb 28 → Mar 29).
|
|
79
|
+
*
|
|
80
|
+
* @param monthEnd Land on the target month's LAST day instead of the anchor's day — Excel's
|
|
81
|
+
* end-of-month series, where Feb 28 continues Mar 31, Apr 30 rather than Mar 28, Apr 28.
|
|
82
|
+
*
|
|
83
|
+
* @remarks
|
|
84
|
+
* Time-of-day is carried through untouched.
|
|
85
|
+
*/
|
|
86
|
+
export declare function addMonthsClamped(date: Date, count: number, monthEnd?: boolean): Date;
|
|
16
87
|
export declare function addDateUnit(date: Date, count: number, unit: DateUnit | string): Date | null;
|
|
17
88
|
export declare function stringToLocalDate(value: string): Date | null;
|
|
18
89
|
export declare function isISODateString(value: string): boolean;
|
|
@@ -46,6 +117,19 @@ export interface ParsedDateTime {
|
|
|
46
117
|
/**
|
|
47
118
|
* Splits a serial date into its calendar and clock fields.
|
|
48
119
|
*
|
|
120
|
+
* @remarks
|
|
121
|
+
* Excel resolves a serial to whole seconds by adding HALF A SECOND TO THE SERIAL and then
|
|
122
|
+
* truncating — not by rounding the seconds themselves. The distinction is measurable, because
|
|
123
|
+
* the addition happens at the serial's magnitude, where a day is ~3e-7 s wide in the last bit:
|
|
124
|
+
* 12:30:30.5 comes back as :30 (the half second is lost in the sum) while 23:59:59.5 comes back
|
|
125
|
+
* as the next day's midnight. So a serial within half a second of midnight belongs to the NEXT
|
|
126
|
+
* day, in every field at once — `DAY`, `MONTH`, `YEAR` and `WEEKDAY` move together with the
|
|
127
|
+
* clock.
|
|
128
|
+
*
|
|
129
|
+
* Not every date function reads its argument through this. `WEEKNUM`, `ISOWEEKNUM`, `DAYS`,
|
|
130
|
+
* `EDATE`, `EOMONTH`, `WORKDAY` and `NETWORKDAYS` TRUNCATE the same serial instead, and each
|
|
131
|
+
* floors before it gets here — a per-function fact, not a rule with exceptions.
|
|
132
|
+
*
|
|
49
133
|
* @param reuseParts Avoids allocating a fresh `ParsedDateTime`:
|
|
50
134
|
* - An object: the fields are written into THIS object, which is returned. The caller owns the
|
|
51
135
|
* buffer's lifetime — do not hold onto a previous result across a reused call, each call
|
|
@@ -60,7 +144,7 @@ export declare function parseSerialDate(serialDate: number, date1904?: boolean,
|
|
|
60
144
|
* Serial date from parsed date/time fields.
|
|
61
145
|
*
|
|
62
146
|
* Computed directly from the fields (see {@link serialFromFields}) rather than
|
|
63
|
-
* by building a JS `Date` and converting it — that round trip
|
|
147
|
+
* by building a JS `Date` and converting it — that round trip is both lossy
|
|
64
148
|
* (~1e-12, catastrophic for bare times) and unable to express Excel's phantom
|
|
65
149
|
* `1900-02-29`, which a `Date` normalizes away.
|
|
66
150
|
*/
|