@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.2
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/cjs/4f5eoQQfV-V7LO2_.cjs +1 -0
- package/browser/cjs/BEnEDC1m546-gzWS.cjs +1 -0
- package/browser/cjs/CwCUa4IzGNGissLL.cjs +1 -0
- package/browser/cjs/Dg3GaW0QWwnlqetX.cjs +1 -0
- package/browser/cjs/KWQPie2u7AP69web.cjs +93 -0
- package/browser/cjs/index.cjs +2 -2
- package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BJ9hcZAGY8Tj5_9L.mjs} +1 -1
- package/browser/esm/C8vpA2ZBtZf6w4nq.mjs +394 -0
- package/browser/esm/DDojiE2-oycJ7qGi.mjs +20 -0
- package/browser/esm/DEPT7zmpiMdZ-_qC.mjs +70253 -0
- package/browser/esm/DOvCi3lf49To36WP.mjs +8 -0
- package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → Dq3sc4B_HQHBrT5N.mjs} +2 -2
- package/browser/esm/index.mjs +871 -696
- package/browser/esm/{CKk58ZLcrllMzfou.mjs → trwZArJQQq7K9kL7.mjs} +2 -2
- package/licenses/dependencies.txt +204 -204
- package/node/esm/CGWsQOMWdnDeF4dX.mjs +8 -0
- package/node/esm/{DUYP6faJJHCaW1Xf.mjs → CL9MI-b6D9BmtVXW.mjs} +1 -1
- package/node/esm/CressiwiIhxCVp1v.mjs +28 -0
- package/node/esm/O2cOO3xIynWUgOWe.mjs +403 -0
- package/node/esm/index.mjs +53973 -38584
- package/package.json +6 -7
- package/resources/locales/de/model.msg.json +45 -9
- package/resources/locales/en/model.msg.json +42 -9
- package/types/scripting-api.json +7093 -0
- package/types/scripting-enums.json +54 -4
- package/types/scripting.d.ts +7185 -1079
- 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} +41 -40
- package/types/src/border/index.d.ts +1 -1
- package/types/src/calculation/Calculation.d.ts +745 -35
- package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
- package/types/src/calculation/FormulaText.d.ts +74 -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/compiler/ASTTypes.d.ts +58 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +134 -12
- 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 +124 -21
- package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
- package/types/src/calculation/formula/LambdaValue.d.ts +15 -16
- 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/initializeFunctions.d.ts +15 -2
- package/types/src/calculation/grid/CalcGrid.d.ts +384 -158
- package/types/src/calculation/grid/CalcGridBackend.d.ts +450 -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 +236 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +456 -143
- package/types/src/calculation/grid/_CalcRequest.d.ts +272 -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 +39 -3
- 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 +78 -23
- package/types/src/cell/ICellProtection.d.ts +50 -10
- package/types/src/cellRange/ICellRange.d.ts +368 -90
- package/types/src/cellRange/ICellRanges.d.ts +9 -7
- package/types/src/chart/Chart.d.ts +72 -2
- package/types/src/chart/ChartCollection.d.ts +26 -0
- package/types/src/chart/IChart.d.ts +162 -9
- 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/comment/Comment.d.ts +159 -0
- package/types/src/comment/CommentCollection.d.ts +40 -0
- package/types/src/comment/IComment.d.ts +319 -48
- package/types/src/comment/ICommentCollection.d.ts +90 -0
- package/types/src/comment/_CommentUtils.d.ts +28 -0
- package/types/src/comment/index.d.ts +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +76 -17
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +8 -7
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +2 -1
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +3 -6
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +1 -1
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +7 -0
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +9 -0
- package/types/src/condition/Condition.d.ts +16 -0
- package/types/src/condition/ICondition.d.ts +86 -33
- package/types/src/condition/_ConditionFormula.d.ts +152 -0
- package/types/src/condition/_ConditionUtils.d.ts +73 -10
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +21 -10
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +5 -3
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
- package/types/src/dataValidation/DataValidation.d.ts +50 -3
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
- package/types/src/dataValidation/IDataValidation.d.ts +119 -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/fill/IStroke.d.ts +1 -1
- package/types/src/filter/IFilter.d.ts +29 -4
- package/types/src/font/IFont.d.ts +17 -0
- package/types/src/history/IHistory.d.ts +3 -2
- package/types/src/i18n/LanguagePack.d.ts +12 -4
- package/types/src/index.d.ts +3 -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/lib/file/file.browser.d.ts +19 -5
- package/types/src/lib/file/file.node.d.ts +5 -0
- package/types/src/lib/utils/_Utils.d.ts +18 -0
- package/types/src/lib/utils/utils.browser.d.ts +9 -3
- package/types/src/license/license-key.d.ts +27 -0
- 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/Control.d.ts +57 -0
- package/types/src/movable/IControl.d.ts +84 -0
- package/types/src/movable/IMovable.d.ts +23 -1
- package/types/src/movable/IMovableCollection.d.ts +2 -0
- package/types/src/movable/Movable.d.ts +4 -6
- package/types/src/movable/MovableCollection.d.ts +7 -7
- package/types/src/movable/index.d.ts +4 -0
- 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 +15 -7
- package/types/src/numFmt/IFormatEngine.d.ts +2 -0
- package/types/src/numFmt/NumfmtFormatEngine.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 +3 -0
- package/types/src/picture/IPicture.d.ts +2 -0
- package/types/src/picture/Picture.d.ts +2 -0
- package/types/src/pivot/IPivotTable.d.ts +107 -0
- package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
- package/types/src/pivot/PivotTable.d.ts +57 -0
- package/types/src/pivot/PivotTableCollection.d.ts +25 -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/LambdaBrand.d.ts +21 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
- package/types/src/primitives/Range.d.ts +105 -25
- package/types/src/primitives/RangeStats.d.ts +24 -1
- package/types/src/primitives/ReferenceRange.d.ts +42 -0
- package/types/src/primitives/Runtime.d.ts +15 -2
- package/types/src/primitives/stats/FrequencyStats.d.ts +9 -0
- package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
- package/types/src/primitives/stats/SortedNumbers.d.ts +2 -0
- 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 +41 -11
- package/types/src/scripting/IFunctionCollection.d.ts +41 -0
- 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 +18 -0
- 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 +2 -0
- package/types/src/scripting/TypedFunction.d.ts +197 -4
- package/types/src/scripting/_FunctionIndex.d.ts +5 -0
- 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/IRangeSelection.d.ts +9 -4
- package/types/src/selection/RangeSelection.d.ts +2 -0
- package/types/src/shape/IShape.d.ts +41 -3
- package/types/src/shape/Shape.d.ts +10 -0
- package/types/src/shape/_ShapeXml.d.ts +28 -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 +224 -41
- package/types/src/sheet/ISheetCollection.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +16 -7
- package/types/src/sheet/Sheet.d.ts +757 -114
- package/types/src/sheet/SheetCell.d.ts +81 -21
- package/types/src/sheet/SheetCollection.d.ts +19 -8
- package/types/src/sheet/SheetRange.d.ts +65 -14
- package/types/src/sheet/SheetRanges.d.ts +4 -6
- package/types/src/sheet/_CellBuffer.d.ts +214 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +5 -5
- 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 +32 -1
- package/types/src/sheet/_SheetIntents.d.ts +250 -0
- package/types/src/sheet/_SheetMutations.d.ts +179 -59
- package/types/src/sheet/_SheetStateReader.d.ts +16 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +57 -73
- package/types/src/sheet/_SheetUtils.d.ts +2 -18
- 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 +91 -64
- package/types/src/sheet/style/SheetDirectStyle.d.ts +16 -5
- package/types/src/sheet/style/_Resolvers.d.ts +5 -3
- package/types/src/sheet/style/_StyleUtils.d.ts +37 -7
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +14 -0
- 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 +45 -1
- package/types/src/sheetView/SheetView.d.ts +11 -0
- package/types/src/slicer/ISlicer.d.ts +2 -0
- package/types/src/slicer/Slicer.d.ts +2 -0
- package/types/src/sort/ISort.d.ts +2 -0
- package/types/src/string/IStringCollection.d.ts +5 -0
- package/types/src/string/StringCollection.d.ts +6 -6
- package/types/src/style/INamedStyleCollection.d.ts +72 -0
- package/types/src/style/IStyle.d.ts +30 -10
- package/types/src/style/IStyleCollection.d.ts +63 -42
- package/types/src/style/ITableStyleCollection.d.ts +89 -0
- package/types/src/style/NamedStyleCollection.d.ts +39 -0
- package/types/src/style/StyleCollection.d.ts +41 -5
- package/types/src/style/TableStyleCollection.d.ts +49 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +3 -3
- package/types/src/style/index.d.ts +4 -0
- package/types/src/table/AnchoredTable.d.ts +644 -68
- package/types/src/table/AutoTable.d.ts +5 -5
- package/types/src/table/ITable.d.ts +228 -30
- package/types/src/table/ITableCollection.d.ts +2 -0
- package/types/src/table/TableCollection.d.ts +19 -8
- package/types/src/table/_FilterField.d.ts +7 -5
- 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/ITextFrame.d.ts +25 -1
- package/types/src/text/TextBoxAlignment.d.ts +15 -6
- 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/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/theme/ITheme.d.ts +2 -0
- package/types/src/theme/IThemeCollection.d.ts +2 -0
- package/types/src/theme/ThemeCollection.d.ts +8 -7
- package/types/src/transaction/ITransaction.d.ts +238 -36
- package/types/src/transaction/Transaction.d.ts +99 -11
- 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/workbook/IWorkbook.d.ts +171 -40
- package/types/src/workbook/Workbook.d.ts +103 -7
- 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/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/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/dataValidation/_Utils.d.ts +0 -10
- 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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { IExternalBookCollection, ExternalScopeParts } from '../../externalBook';
|
|
2
|
+
import { ExternalBookCollection } from '../../externalBook/ExternalBookCollection';
|
|
3
|
+
import { SheetSymbolHandle } from './SheetSymbolProvider';
|
|
4
|
+
/**
|
|
5
|
+
* The stable-id prefix that marks a sheet symbol as living in an external book.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* `ext:<bookId>` is the book-scoped form (`[1]!Name`); `ext:<bookId>:<sheetIndex>` adds a sheet, and
|
|
9
|
+
* `ext:<bookId>:<first>:<last>` is a 3-D span across the book's sheets (`[1]Alpha:Data Sheet`). The
|
|
10
|
+
* prefix is the test every consumer uses — "is this scope external" is a `startsWith`, which is why
|
|
11
|
+
* external books needed no new {@link SymbolType} and no new branch in the twenty-odd places that
|
|
12
|
+
* ask the Sheet provider (DESIGN-EXTERNAL-LINKS §4B).
|
|
13
|
+
*/
|
|
14
|
+
export declare const EXTERNAL_ID_PREFIX = "ext:";
|
|
15
|
+
/** Is this stable id an external sheet or book? */
|
|
16
|
+
export declare const isExternalSymbolId: (stableId: string | null | undefined) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The book id and sheet positions inside an `ext:` stable id, or `null` if it is not one.
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* A book is `sheetIndex` and `sheetEnd` of `-1`; a sheet has both equal; a 3-D span has the first and
|
|
22
|
+
* last sheet. A uuid carries no `:`, so every `:` after the book id is a separator.
|
|
23
|
+
*/
|
|
24
|
+
export declare function splitExternalSymbolId(stableId: string): {
|
|
25
|
+
bookId: string;
|
|
26
|
+
sheetIndex: number;
|
|
27
|
+
sheetEnd: number;
|
|
28
|
+
} | null;
|
|
29
|
+
/**
|
|
30
|
+
* The stable id of a book (`sheetIndex < 0`), of one of its sheets, or of a 3-D span from
|
|
31
|
+
* `sheetIndex` to `sheetEnd` — the inverse of {@link splitExternalSymbolId}.
|
|
32
|
+
*/
|
|
33
|
+
export declare const externalSymbolId: (bookId: string, sheetIndex: number, sheetEnd?: number) => string;
|
|
34
|
+
/**
|
|
35
|
+
* The authoring half of {@link bindExternalScope}: how a scope that names no existing book, or a
|
|
36
|
+
* sheet no book lists, becomes one. Supplied by the engine from the collection it owns.
|
|
37
|
+
*/
|
|
38
|
+
export interface ExternalBookMinter {
|
|
39
|
+
/** A new book for a typed `<dir>[<file>]` — answers its id. */
|
|
40
|
+
addBook(parts: ExternalScopeParts): string;
|
|
41
|
+
/** Records `sheetName` on an existing book — answers the sheet's index. */
|
|
42
|
+
addSheet(bookId: string, sheetName: string): number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Binds a sheet scope that names an external book, or `null` if it names none of this workbook's.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Every spelling a book answers to binds to the SAME id, so the storage form (`[1]Sheet1`), the
|
|
49
|
+
* closed display form (`C:\dir\[Book.xlsx]Sheet1`) and the open one (`[Book.xlsx]Sheet1`) are three
|
|
50
|
+
* ways of writing one symbol — which is the invariant that lets a handle's `toString()` be fed
|
|
51
|
+
* straight back to `bind` (see {@link SheetSymbolProvider}).
|
|
52
|
+
*
|
|
53
|
+
* A position that does not exist (`[7]` of three books) answers `null`: the typed image is kept
|
|
54
|
+
* verbatim, the reference is `#REF!`, and the writer warns. A file name matching more than one book
|
|
55
|
+
* answers `null` too — the citation is genuinely ambiguous and `[n]` is the only spelling that is
|
|
56
|
+
* not — unless the typed directory picks one of them out.
|
|
57
|
+
*
|
|
58
|
+
* A 3-D span (`[1]Alpha:Data Sheet`) binds to one id with its sheets in the book's own order, so
|
|
59
|
+
* `[1]Data Sheet:Alpha` is the same symbol; both sheets must be listed.
|
|
60
|
+
*
|
|
61
|
+
* With a `minter`, a file name no book carries MINTS one (DESIGN-EXTERNAL-LINKS §4C): typing
|
|
62
|
+
* `'C:\dir\[Book.xlsx]Sheet1'!A1` creates the link, cache empty, exactly as Excel does when it cannot
|
|
63
|
+
* see the source. A sheet a known book does not list is recorded on it the same way. A `[n]` is never
|
|
64
|
+
* minted — a position is a citation of something that exists, and a directory that differs from a
|
|
65
|
+
* same-named book's is a different book, not a respelling of it. A span never mints either.
|
|
66
|
+
*/
|
|
67
|
+
export declare function bindExternalScope(books: ExternalBookCollection | null | undefined, displayName: string, minter?: ExternalBookMinter | null, withinBook?: string | null): string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Resolves an `ext:` stable id to a sheet handle, or `null` if the book has since been removed.
|
|
70
|
+
*
|
|
71
|
+
* @remarks
|
|
72
|
+
* `toString()` is the projection DESIGN-EXTERNAL-LINKS §4B describes: `[n]Sheet1` by default — the
|
|
73
|
+
* form a formula is STORED as, read off the book's current position — and the book's display name
|
|
74
|
+
* when the caller asks for one. Both bind back. A span spells both sheets after one book prefix
|
|
75
|
+
* (`[1]Alpha:Data Sheet`), as Excel writes it.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveExternalSymbol(books: ExternalBookCollection | null | undefined, stableId: string, display: boolean): SheetSymbolHandle | null;
|
|
78
|
+
/** The `AddOptions` a minted book starts from: the typed directory and file, the typed sheet. */
|
|
79
|
+
export declare function mintedBookOptions(parts: ExternalScopeParts): IExternalBookCollection.AddOptions;
|
|
80
|
+
//# sourceMappingURL=ExternalSheetSymbols.d.ts.map
|
|
@@ -10,6 +10,29 @@ export declare const SymbolType: {
|
|
|
10
10
|
};
|
|
11
11
|
export type SymbolType = typeof SymbolType[keyof typeof SymbolType];
|
|
12
12
|
export interface SheetCtx {
|
|
13
|
+
/**
|
|
14
|
+
* Resolve to the form a READER sees rather than the form a formula is stored as.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* The two differ only for an external book: stored is `[n]Sheet1`, where `n` is a position
|
|
18
|
+
* projected from the book's place in the collection, and display is the book's own spelling
|
|
19
|
+
* (`'C:\dir\[Book.xlsx]Sheet1'`). A local sheet has one name and ignores this.
|
|
20
|
+
*/
|
|
21
|
+
display?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Bind is AUTHORING: a scope that names an external book this workbook has none of may create
|
|
24
|
+
* one (`'C:\dir\[Book.xlsx]Sheet1'` typed into a cell is how a link is made — DESIGN-EXTERNAL-LINKS
|
|
25
|
+
* §5 step 13). Off by default, and off for an editing compile, so a keystroke mints nothing; a
|
|
26
|
+
* local sheet is never minted.
|
|
27
|
+
*/
|
|
28
|
+
mint?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The formula being linked belongs to an external BOOK — a cached defined name's body — so a
|
|
31
|
+
* plain sheet name (`Alpha`) is that book's sheet, never one of this workbook's, and a `[n]`
|
|
32
|
+
* position cites the source's own links, which this workbook cannot see (`null`). Nothing is
|
|
33
|
+
* minted inside a book.
|
|
34
|
+
*/
|
|
35
|
+
book?: string;
|
|
13
36
|
}
|
|
14
37
|
export interface NamedFormulaCtx {
|
|
15
38
|
/** The stableId of the sheet that owns the formula scope, if any. */
|
|
@@ -57,6 +57,11 @@ export declare class IndirectSymbolProvider<T extends INamed.INamedValue = IName
|
|
|
57
57
|
*/
|
|
58
58
|
private readonly _getByName;
|
|
59
59
|
private readonly _getById;
|
|
60
|
+
/**
|
|
61
|
+
* The name an item goes by for this provider's reader - what a bind matches and a resolve
|
|
62
|
+
* displays. The item's own name unless the reader holds a copy of the names of its own.
|
|
63
|
+
*/
|
|
64
|
+
private readonly _nameOf;
|
|
60
65
|
private _byName;
|
|
61
66
|
private _byId;
|
|
62
67
|
/**
|
|
@@ -79,7 +84,12 @@ export declare class IndirectSymbolProvider<T extends INamed.INamedValue = IName
|
|
|
79
84
|
* shadowing (a name scoped to that sheet beats a global of the same name). Providers with no
|
|
80
85
|
* scoped items — tables — may ignore it.
|
|
81
86
|
*/
|
|
82
|
-
_getByName: (name: string, scope?: string | null) => T | null, _getById: (id: string) => T | null
|
|
87
|
+
_getByName: (name: string, scope?: string | null) => T | null, _getById: (id: string) => T | null,
|
|
88
|
+
/**
|
|
89
|
+
* The name an item goes by for this provider's reader - what a bind matches and a resolve
|
|
90
|
+
* displays. The item's own name unless the reader holds a copy of the names of its own.
|
|
91
|
+
*/
|
|
92
|
+
_nameOf?: (item: T) => string);
|
|
83
93
|
/**
|
|
84
94
|
* @inheritdoc ISymbolProvider.bind
|
|
85
95
|
*
|
|
@@ -98,8 +108,12 @@ export declare class IndirectSymbolProvider<T extends INamed.INamedValue = IName
|
|
|
98
108
|
* it heals to turns out to be scoped.
|
|
99
109
|
*
|
|
100
110
|
* A miss on `_byName` is not proof the item has no proxy — see {@link _byRealId}.
|
|
111
|
+
*
|
|
112
|
+
* `ctx.existing: true` asks only whether the name is an item NOW: it answers `null` rather than
|
|
113
|
+
* minting a proxy for a name nothing holds. For a caller deciding what a spelling IS (a bare name
|
|
114
|
+
* that may be a table) — a proxy minted for every other name would never heal into anything.
|
|
101
115
|
*/
|
|
102
|
-
bind(displayName: string, ctx?: Record<string, unknown>): string;
|
|
116
|
+
bind(displayName: string, ctx?: Record<string, unknown>): string | null;
|
|
103
117
|
/** Points a proxy at its real item, keeping {@link _byRealId} in step. */
|
|
104
118
|
private _adopt;
|
|
105
119
|
/** Moves a proxy to the `_byName` key its current name/scope spell. */
|
|
@@ -2,17 +2,77 @@ import { IRange } from '@sheetxl/primitives';
|
|
|
2
2
|
import { ISymbolProvider, SymbolHandle } from './ISymbolRegistry';
|
|
3
3
|
/**
|
|
4
4
|
* Strict provider for sheet symbols.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* An EXTERNAL sheet is a sheet symbol too. A scope this workbook has no sheet for, and which names
|
|
8
|
+
* a book (`[1]Sheet1`, `C:\dir\[Book.xlsx]Sheet1`), falls through to `_getExternal` rather than to a
|
|
9
|
+
* `SymbolType` of its own — the twenty-odd consumers of a scope all ask this provider, and teaching
|
|
10
|
+
* one provider a second spelling touches none of them (DESIGN-EXTERNAL-LINKS §4B).
|
|
11
|
+
*
|
|
12
|
+
* So is a 3-D span (`Alpha:Gamma`, PLAN-3D-REFS §2.1): one symbol naming its two endpoint sheets,
|
|
13
|
+
* `<firstId>:<lastId>`, with the endpoints in tab order.
|
|
5
14
|
*/
|
|
6
15
|
export declare class SheetSymbolProvider implements ISymbolProvider {
|
|
7
16
|
private readonly _getId;
|
|
8
17
|
private readonly _getById;
|
|
9
|
-
|
|
18
|
+
private readonly _external?;
|
|
19
|
+
/** A sheet's position in tab order, hidden sheets included, or `-1`. */
|
|
20
|
+
private readonly _getIndexById?;
|
|
21
|
+
constructor(_getId: (displayName: string) => string | null, _getById: (sheetId: string) => SheetSymbolHandle | null, _external?: (ExternalSheetSymbols | null) | undefined,
|
|
22
|
+
/** A sheet's position in tab order, hidden sheets included, or `-1`. */
|
|
23
|
+
_getIndexById?: ((sheetId: string) => number) | null | undefined);
|
|
10
24
|
/** @inheritdoc ISymbolProvider.bind */
|
|
11
|
-
bind(displayName: string,
|
|
25
|
+
bind(displayName: string, ctx?: Record<string, unknown>): string | null;
|
|
12
26
|
/** @inheritdoc ISymbolProvider.resolve */
|
|
13
|
-
resolve(stableId: string,
|
|
27
|
+
resolve(stableId: string, ctx?: Record<string, unknown>): SheetSymbolHandle | null;
|
|
28
|
+
/**
|
|
29
|
+
* `First:Last` (names or ids) to a span id with the endpoints in tab order, the plain sheet id when
|
|
30
|
+
* both ends are one sheet (`Alpha:Alpha` is `Alpha`, as Excel normalizes it), or `null` when either
|
|
31
|
+
* end is not a sheet of this workbook.
|
|
32
|
+
*/
|
|
33
|
+
private _bindSpan;
|
|
34
|
+
/** One end of a span: a sheet's id or name, never a virtual grid (which has no name). */
|
|
35
|
+
private _bindEndpoint;
|
|
36
|
+
private _resolveSpan;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The two endpoint sheet ids of a LOCAL span id (`<firstId>:<lastId>`), or `null` if it is not one.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* A sheet id is `<name>-<uuid>` and a sheet name cannot contain `:`, so a `:` in a non-external id is
|
|
43
|
+
* the separator. Both halves must end in a uuid: typed text that never bound (`Alpha:Nope`) reaches
|
|
44
|
+
* `resolve` too, and must not be mistaken for a span whose sheets are gone.
|
|
45
|
+
*/
|
|
46
|
+
export declare function splitSheetSpanSymbolId(stableId: string | null | undefined): [string, string] | null;
|
|
47
|
+
/**
|
|
48
|
+
* What a local span id becomes when tab order changes from `before` to `after` — `undefined` when it
|
|
49
|
+
* stands.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* An endpoint that is gone, or that `movedId` carried across the other endpoint, is replaced by its
|
|
53
|
+
* inward neighbor in `before`: the nearest sheet between the endpoints that is still there. When both
|
|
54
|
+
* ends land on one sheet the answer is that sheet's plain id, as Excel collapses `Alpha:Beta` to
|
|
55
|
+
* `Beta!A1`. A span that lost every sheet stands too; it has nothing to shrink to.
|
|
56
|
+
*/
|
|
57
|
+
export declare function replaceSheetSpanEndpoints(spanId: string, before: readonly string[], after: readonly string[], movedId?: string): string | undefined;
|
|
58
|
+
/** Whether a sheet stable id is a 3-D span — local `<firstId>:<lastId>` or external `ext:<bookId>:<i>:<j>`. */
|
|
59
|
+
export declare function isSpanSymbolId(stableId: string | null | undefined): boolean;
|
|
60
|
+
/** The external-book half of {@link SheetSymbolProvider}, supplied by `Calculation`. */
|
|
61
|
+
export interface ExternalSheetSymbols {
|
|
62
|
+
/**
|
|
63
|
+
* `mint`: a scope naming a book this workbook has none of may CREATE one — see {@link SheetCtx.mint}.
|
|
64
|
+
* `withinBook`: the id of the book a plain sheet name belongs to — see {@link SheetCtx.book}.
|
|
65
|
+
*/
|
|
66
|
+
bind(displayName: string, mint: boolean, withinBook?: string | null): string | null;
|
|
67
|
+
resolve(stableId: string, display: boolean): SheetSymbolHandle | null;
|
|
14
68
|
}
|
|
15
69
|
export interface SheetSymbolHandle extends SymbolHandle {
|
|
16
70
|
getEntireCoords(): IRange.Coords | null;
|
|
71
|
+
/**
|
|
72
|
+
* The sheet's own name, `null` for a sheet that has none. `toString` is the DISPLAY form and
|
|
73
|
+
* substitutes a placeholder for a nameless sheet; a caller that means to bind or compare a
|
|
74
|
+
* name reads this instead. Absent on a handle that is not a sheet (a virtual grid).
|
|
75
|
+
*/
|
|
76
|
+
getName?(): string | null;
|
|
17
77
|
}
|
|
18
78
|
//# sourceMappingURL=SheetSymbolProvider.d.ts.map
|
|
@@ -16,4 +16,24 @@ export declare class SymbolRegistry implements ISymbolRegistry {
|
|
|
16
16
|
/** @inheritdoc ISymbolRegistry.resolve */
|
|
17
17
|
resolve(type: SymbolType, stableId: string, ctx?: Record<string, unknown>): SymbolHandle | null;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* A registry that answers some symbol types from providers of its own and every other from a base.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* The model's symbol map (DESIGN-CALC-SERVICE §8) is this over the engine's: the types the engine
|
|
24
|
+
* keeps a copy of resolve through the model's live items here, while the rest resolve through the
|
|
25
|
+
* engine's providers. Registering a provider registers it on the base, so a provider that arrives
|
|
26
|
+
* late (the functions, once their module loads) is seen by both.
|
|
27
|
+
*/
|
|
28
|
+
export declare class OverlaidSymbolRegistry implements ISymbolRegistry {
|
|
29
|
+
private readonly _base;
|
|
30
|
+
private readonly _overrides;
|
|
31
|
+
constructor(_base: ISymbolRegistry, _overrides: ReadonlyMap<SymbolType, ISymbolProvider>);
|
|
32
|
+
/** @inheritdoc ISymbolRegistry.registerProvider */
|
|
33
|
+
registerProvider(type: SymbolType, provider: ISymbolProvider): void;
|
|
34
|
+
/** @inheritdoc ISymbolRegistry.bind */
|
|
35
|
+
bind(type: SymbolType, displayName: string, ctx?: Record<string, unknown>): string | null;
|
|
36
|
+
/** @inheritdoc ISymbolRegistry.resolve */
|
|
37
|
+
resolve(type: SymbolType, stableId: string, ctx?: Record<string, unknown>): SymbolHandle | null;
|
|
38
|
+
}
|
|
19
39
|
//# sourceMappingURL=SymbolRegistry.d.ts.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { type ISymbolRegistry, type ISymbolProvider, type SymbolHandle, SymbolType } from './ISymbolRegistry';
|
|
2
2
|
export { type SheetCtx, type NamedFormulaCtx, type TableCtx, type ColumnCtx, type FunctionCtx } from './ISymbolRegistry';
|
|
3
|
-
export { SymbolRegistry } from './SymbolRegistry';
|
|
4
|
-
export { SheetSymbolProvider } from './SheetSymbolProvider';
|
|
3
|
+
export { SymbolRegistry, OverlaidSymbolRegistry } from './SymbolRegistry';
|
|
4
|
+
export { SheetSymbolProvider, isSpanSymbolId, splitSheetSpanSymbolId, replaceSheetSpanEndpoints, type SheetSymbolHandle, type ExternalSheetSymbols } from './SheetSymbolProvider';
|
|
5
|
+
export { EXTERNAL_ID_PREFIX, isExternalSymbolId, splitExternalSymbolId, externalSymbolId, bindExternalScope, resolveExternalSymbol, mintedBookOptions, type ExternalBookMinter } from './ExternalSheetSymbols';
|
|
5
6
|
export { TableSymbolProvider } from './TableSymbolProvider';
|
|
6
7
|
export { IndirectSymbolProvider, IndirectProxy } from './IndirectSymbolProvider';
|
|
7
8
|
export { TableColumnSymbolProvider } from './TableColumnSymbolProvider';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Scalar, ScalarType, InteropScalarType, InteropScalar, IRange } from '@sheetxl/primitives';
|
|
2
2
|
import { Size, Rectangle, Bounds } from '@sheetxl/utils';
|
|
3
3
|
import { ITypes } from '../type';
|
|
4
|
-
import { ITextFrame, TextRotation } from '../text';
|
|
4
|
+
import { ITextFrame, TextRotation, TextStacked } from '../text';
|
|
5
5
|
import { NumberFormat } from '../numFmt';
|
|
6
6
|
import { ITable } from '../table';
|
|
7
7
|
import { IDataValidation } from '../dataValidation';
|
|
@@ -53,16 +53,21 @@ export interface ICell {
|
|
|
53
53
|
* Returns the formula assigned to the cell.
|
|
54
54
|
*
|
|
55
55
|
* @remarks
|
|
56
|
-
* Returns `null` if the cell has no formula
|
|
56
|
+
* Returns `null` if the cell has no formula, or if its protection hides the formula (see
|
|
57
|
+
* {@link ICell.isFormulaHidden}).
|
|
57
58
|
*/
|
|
58
59
|
getFormula(options?: ICalculation.FormulaTextOptions): ICalculation.IFormula | null;
|
|
59
60
|
/**
|
|
60
|
-
* Returns the formula text assigned to the cell,
|
|
61
|
+
* Returns the formula text assigned to the cell, with its leading `=` (`'=SUM(A1:A3)'`).
|
|
61
62
|
*
|
|
62
63
|
* @remarks
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
64
|
+
* The form a formula is entered in and the form Excel's API answers, so it can be written back
|
|
65
|
+
* with {@link ICellRange.setValue}. The `=` is what keeps a formula like `=+A1` apart from the
|
|
66
|
+
* text `+A1`. For the stored form without the `=`, use
|
|
67
|
+
* {@link ICalculation.IFormula.getExpression} on {@link ICell.getFormula}.
|
|
68
|
+
*
|
|
69
|
+
* Returns `null` for a cell without a formula, and when protection hides the formula, like
|
|
70
|
+
* {@link ICell.getFormula}.
|
|
66
71
|
*/
|
|
67
72
|
getFormulaText(options?: ICalculation.FormulaTextOptions): string | null;
|
|
68
73
|
/**
|
|
@@ -77,35 +82,37 @@ export interface ICell {
|
|
|
77
82
|
*
|
|
78
83
|
* @remarks
|
|
79
84
|
* These represent the direct inputs required to compute the cell's value.
|
|
80
|
-
*
|
|
85
|
+
* Resolves `null` if the cell has no precedents.
|
|
86
|
+
* A question for the calculation engine: it resolves once the engine has answered, in order
|
|
87
|
+
* behind the writes made before it, and with `null` while the engine is `Off`.
|
|
81
88
|
*/
|
|
82
|
-
getDirectPrecedents(): ICellRanges
|
|
89
|
+
getDirectPrecedents(): Promise<ICellRanges | null>;
|
|
83
90
|
/**
|
|
84
91
|
* Returns the cells that directly reference this cell in their own formulas.
|
|
85
92
|
*
|
|
86
93
|
* @remarks
|
|
87
94
|
* These represent the immediate consumers of this cell's value.
|
|
88
|
-
*
|
|
95
|
+
* Resolves `null` if the cell has no dependents.
|
|
89
96
|
*/
|
|
90
|
-
getDirectDependents(): ICellRanges
|
|
97
|
+
getDirectDependents(): Promise<ICellRanges | null>;
|
|
91
98
|
/**
|
|
92
99
|
* Returns all ranges that contribute to this cell's value, including
|
|
93
100
|
* those referenced indirectly through the full calculation chain.
|
|
94
101
|
*
|
|
95
102
|
* @remarks
|
|
96
103
|
* This performs a recursive search upstream to find all root data sources.
|
|
97
|
-
*
|
|
104
|
+
* Resolves `null` if the cell has no precedents.
|
|
98
105
|
*/
|
|
99
|
-
getPrecedents(): ICellRanges
|
|
106
|
+
getPrecedents(): Promise<ICellRanges | null>;
|
|
100
107
|
/**
|
|
101
108
|
* Returns all cells that are eventually affected by this cell, including
|
|
102
109
|
* those that depend on it indirectly through the full calculation chain.
|
|
103
110
|
*
|
|
104
111
|
* @remarks
|
|
105
112
|
* This performs a recursive search downstream to find the total impact of a value change.
|
|
106
|
-
*
|
|
113
|
+
* Resolves `null` if the cell has no dependents.
|
|
107
114
|
*/
|
|
108
|
-
getDependents(): ICellRanges
|
|
115
|
+
getDependents(): Promise<ICellRanges | null>;
|
|
109
116
|
/**
|
|
110
117
|
* Returns the hyperlink assigned to the cell.
|
|
111
118
|
*
|
|
@@ -114,11 +121,13 @@ export interface ICell {
|
|
|
114
121
|
*/
|
|
115
122
|
getHyperlink(): IHyperlink | null;
|
|
116
123
|
/**
|
|
117
|
-
*
|
|
124
|
+
* Returns the comment on the cell, or `null` if there is none.
|
|
118
125
|
*
|
|
119
|
-
*
|
|
126
|
+
* @remarks
|
|
127
|
+
* One per cell — the thread's root, with its replies, or a note. The sheet's
|
|
128
|
+
* {@link ISheet.getComments} is where one is added.
|
|
120
129
|
*/
|
|
121
|
-
getComments():
|
|
130
|
+
getComments(): IComment | null;
|
|
122
131
|
/**
|
|
123
132
|
* Retrieves any warnings attached to the cell.
|
|
124
133
|
*
|
|
@@ -215,7 +224,11 @@ export interface ICell {
|
|
|
215
224
|
*/
|
|
216
225
|
getBestFit(colWidth?: number, minContent?: boolean): Readonly<Partial<Size>> | null;
|
|
217
226
|
/**
|
|
218
|
-
* Returns protection
|
|
227
|
+
* Returns the cell's protection format, the same as `getStyle().getProtection()`.
|
|
228
|
+
*
|
|
229
|
+
* @remarks
|
|
230
|
+
* Whether the cell can be edited right now also depends on its sheet and its unlocked ranges; see
|
|
231
|
+
* {@link ICell.isEditAllowed}.
|
|
219
232
|
*/
|
|
220
233
|
getProtection(): ICellProtection;
|
|
221
234
|
/**
|
|
@@ -237,6 +250,15 @@ export interface ICell {
|
|
|
237
250
|
* Returns the range of the cell if it is a spill cell.
|
|
238
251
|
*/
|
|
239
252
|
getSpill(): ICellRange | null;
|
|
253
|
+
/**
|
|
254
|
+
* Returns which {@link ITypes.FormulaArrayKind | kind} of array block the cell belongs to, or
|
|
255
|
+
* `null` if it is not part of one.
|
|
256
|
+
*
|
|
257
|
+
* @remarks
|
|
258
|
+
* Answers for every cell of the block, not only the anchor — a `fixed` (array-entered) block
|
|
259
|
+
* shows `{=…}` on all of its cells, as Excel does.
|
|
260
|
+
*/
|
|
261
|
+
getSpillKind(): ITypes.FormulaArrayKind | null;
|
|
240
262
|
/**
|
|
241
263
|
* Returns `true` if the cell is a spill and not the top left.
|
|
242
264
|
*/
|
|
@@ -270,10 +292,13 @@ export interface ICell {
|
|
|
270
292
|
*/
|
|
271
293
|
getColumn(): ITable.IColumn | null;
|
|
272
294
|
/**
|
|
273
|
-
* Returns the data validation
|
|
295
|
+
* Returns the cell's primary data validation: the highest-priority one that covers it, or `null`
|
|
296
|
+
* when none does.
|
|
274
297
|
*
|
|
275
298
|
* @remarks
|
|
276
|
-
*
|
|
299
|
+
* Validations may overlap, and every one that covers the cell applies; see
|
|
300
|
+
* {@link ICellRange.getDataValidations} for all of them. The primary one is also the one Excel
|
|
301
|
+
* honors when it opens a file whose validations overlap.
|
|
277
302
|
*/
|
|
278
303
|
getDataValidation(): IDataValidation | null;
|
|
279
304
|
/**
|
|
@@ -322,7 +347,13 @@ export interface ICell {
|
|
|
322
347
|
*/
|
|
323
348
|
isEditAllowed(): boolean;
|
|
324
349
|
/**
|
|
325
|
-
* Returns `true` if
|
|
350
|
+
* Returns `true` if protection hides this cell's formula.
|
|
351
|
+
*
|
|
352
|
+
* @remarks
|
|
353
|
+
* The sheet is protected (not paused), and neither the sheet's `showFormulas` nor the cell style's
|
|
354
|
+
* allows it.
|
|
355
|
+
* A hidden formula reads as no formula: {@link ICell.getFormula} and {@link ICell.getFormulaText}
|
|
356
|
+
* return `null`. It still calculates, and is still saved with the workbook.
|
|
326
357
|
*/
|
|
327
358
|
isFormulaHidden(): boolean;
|
|
328
359
|
/**
|
|
@@ -452,6 +483,13 @@ export declare namespace ICell {
|
|
|
452
483
|
* horizontally. See {@link TextRotation.layoutLines} for the model.
|
|
453
484
|
*/
|
|
454
485
|
rotation?: TextRotation.Layout;
|
|
486
|
+
/**
|
|
487
|
+
* Present when the cell's text is stacked ("vertical text"): per-column slot geometry — every
|
|
488
|
+
* glyph upright in its own slot of the line pitch, columns from line breaks (and from wrapping
|
|
489
|
+
* against the content height), each column aligned on its own. See
|
|
490
|
+
* {@link TextStacked.layoutColumns} for the model. {@link bounds} is then the column group.
|
|
491
|
+
*/
|
|
492
|
+
stacked?: TextStacked.Layout;
|
|
455
493
|
}
|
|
456
494
|
/**
|
|
457
495
|
* Expansive way to set cell updates options.
|
|
@@ -475,6 +513,10 @@ export declare namespace ICell {
|
|
|
475
513
|
* Allow to to set a hyperlink to this value.
|
|
476
514
|
*/
|
|
477
515
|
hyperlink?: IHyperlink.Update;
|
|
516
|
+
/**
|
|
517
|
+
* Update the comment: modifiers, a plain string as the content, or `null` to remove.
|
|
518
|
+
*/
|
|
519
|
+
comments?: IComment.Update;
|
|
478
520
|
}
|
|
479
521
|
/**
|
|
480
522
|
* Configuration options for customizing the parsing of a string into an `ICell.Update` object.
|
|
@@ -675,13 +717,26 @@ export declare namespace ICell {
|
|
|
675
717
|
/**
|
|
676
718
|
* Represents notes associated with the cells.
|
|
677
719
|
* @remarks
|
|
678
|
-
*
|
|
720
|
+
* A note is a comment carrying `asNote` — the two share one store — so this selects the
|
|
721
|
+
* notes out of a range rather than naming a store of its own. Displaying a note as Excel's
|
|
722
|
+
* simple yellow box, rather than as a comment, is **NOT IMPLEMENTED**.
|
|
679
723
|
*/
|
|
680
724
|
readonly Notes: "notes";
|
|
681
725
|
/**
|
|
682
|
-
* Represents comments attached to the cells.
|
|
726
|
+
* Represents comments attached to the cells, notes included.
|
|
727
|
+
* @remarks
|
|
728
|
+
* Excel offers a single `Clear Comments and Notes`, and this is it. {@link Content.Notes}
|
|
729
|
+
* is the narrower one, for the notes alone.
|
|
683
730
|
*/
|
|
684
731
|
readonly Comments: "comments";
|
|
732
|
+
/**
|
|
733
|
+
* Represents the data validations covering the cells.
|
|
734
|
+
* @remarks
|
|
735
|
+
* A clear cuts the cells out of every validation covering them; a validation left covering
|
|
736
|
+
* nothing is deleted, and one that also covers other cells keeps them. Office Scripts'
|
|
737
|
+
* `range.getDataValidation().clear()`.
|
|
738
|
+
*/
|
|
739
|
+
readonly DataValidations: "dataValidations";
|
|
685
740
|
};
|
|
686
741
|
type Content = typeof Content[keyof typeof Content];
|
|
687
742
|
}
|
|
@@ -1,20 +1,52 @@
|
|
|
1
|
+
import { IStyle } from '../style';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* The protection format of a cell: whether it stays editable, and whether it shows its formula,
|
|
4
|
+
* while its sheet is protected.
|
|
3
5
|
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* * Part of the style, so it travels with the format — copy, paste, fill and named styles carry it,
|
|
8
|
+
* and clearing formats resets it.
|
|
9
|
+
* * Only consulted while the sheet is protected. {@link ICell.isEditAllowed} and
|
|
10
|
+
* {@link ICell.isFormulaHidden} combine it with the sheet's protection and its unlocked ranges.
|
|
4
11
|
*/
|
|
5
12
|
export interface ICellProtection {
|
|
6
13
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
14
|
+
* Returns `true` if the cell stays editable when its sheet is protected.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* * This is Excel's *Locked* format, inverted.
|
|
18
|
+
* * It never asks for a password, even inside a password-protected unlocked range. An unlocked
|
|
19
|
+
* range is the other way to make a cell editable; either one is enough.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue false
|
|
9
22
|
*/
|
|
10
|
-
|
|
23
|
+
isAlwaysUnlocked(): boolean;
|
|
11
24
|
/**
|
|
12
|
-
*
|
|
25
|
+
* Sets whether the cell stays editable when its sheet is protected.
|
|
26
|
+
*
|
|
27
|
+
* @param alwaysUnlocked `true` to keep the cell editable. `null` to clear.
|
|
28
|
+
*/
|
|
29
|
+
setAlwaysUnlocked(alwaysUnlocked: boolean | null, options?: IStyle.UpdateOptions): ICellProtection;
|
|
30
|
+
/**
|
|
31
|
+
* Returns `true` if the cell's formula stays visible on a protected sheet that hides formulas.
|
|
32
|
+
*
|
|
13
33
|
* @remarks
|
|
14
|
-
*
|
|
34
|
+
* * An exception, like {@link isAlwaysUnlocked}: a formula shows when the sheet
|
|
35
|
+
* (`ISheetProtection.isShowFormulasAllowed`) or the cell allows it, so this only matters while
|
|
36
|
+
* the sheet hides them.
|
|
37
|
+
* * A hidden formula reads as no formula ({@link ICell.getFormula} is `null`), but it still
|
|
38
|
+
* calculates and is still saved with the workbook. It is a view rule, not secrecy.
|
|
39
|
+
*
|
|
15
40
|
* @defaultValue false
|
|
16
41
|
*/
|
|
17
|
-
|
|
42
|
+
isShowFormulas(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Sets whether the cell's formula stays visible on a protected sheet that hides formulas.
|
|
45
|
+
*
|
|
46
|
+
* @param showFormulas `true` to keep the formula visible. `null` to clear.
|
|
47
|
+
*/
|
|
48
|
+
setShowFormulas(showFormulas: boolean | null, options?: IStyle.UpdateOptions): ICellProtection;
|
|
49
|
+
toJSON(): ICellProtection.JSON;
|
|
18
50
|
/**
|
|
19
51
|
* For runtime type checking.
|
|
20
52
|
*/
|
|
@@ -29,13 +61,21 @@ export interface ICellProtection {
|
|
|
29
61
|
*/
|
|
30
62
|
export declare namespace ICellProtection {
|
|
31
63
|
/**
|
|
32
|
-
* Properties for
|
|
64
|
+
* Properties for ICellProtection.
|
|
33
65
|
*/
|
|
34
66
|
interface Properties {
|
|
35
|
-
|
|
36
|
-
|
|
67
|
+
alwaysUnlocked?: boolean;
|
|
68
|
+
showFormulas?: boolean;
|
|
37
69
|
}
|
|
38
70
|
interface JSON extends Properties {
|
|
39
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Modifiers describe a partial list of properties that can be set.
|
|
74
|
+
*/
|
|
75
|
+
type Modifiers = Partial<ICellProtection.Properties>;
|
|
76
|
+
/**
|
|
77
|
+
* Options for updating an ICellProtection.
|
|
78
|
+
*/
|
|
79
|
+
type Update = ICellProtection | Modifiers | null;
|
|
40
80
|
}
|
|
41
81
|
//# sourceMappingURL=ICellProtection.d.ts.map
|