@pixerate/editor 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -13
- package/THIRD_PARTY_NOTICES.md +88 -0
- package/dist/agent/index.cjs +86 -111
- package/dist/agent/index.cjs.map +1 -1
- package/dist/agent/index.d.cts +69 -211
- package/dist/agent/index.d.ts +69 -211
- package/dist/agent/index.js +77 -102
- package/dist/agent/index.js.map +1 -1
- package/dist/arrangeShortcuts-B8O3f8-P.d.cts +184 -0
- package/dist/arrangeShortcuts-sLlD2rSX.d.ts +184 -0
- package/dist/canvas/index.cjs +2112 -60
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +712 -181
- package/dist/canvas/index.d.ts +712 -181
- package/dist/canvas/index.js +2105 -53
- package/dist/canvas/index.js.map +1 -1
- package/dist/chunk-26BVFKHU.cjs +453 -0
- package/dist/chunk-26BVFKHU.cjs.map +1 -0
- package/dist/chunk-2H7ZHPEJ.js +762 -0
- package/dist/chunk-2H7ZHPEJ.js.map +1 -0
- package/dist/chunk-7DWMJCAT.js +453 -0
- package/dist/chunk-7DWMJCAT.js.map +1 -0
- package/dist/{chunk-TVRC4KVT.cjs → chunk-AA4ZEVCC.cjs} +845 -90
- package/dist/chunk-AA4ZEVCC.cjs.map +1 -0
- package/dist/chunk-ARRTP33I.js +101 -0
- package/dist/chunk-ARRTP33I.js.map +1 -0
- package/dist/{chunk-LA7PEGU3.cjs → chunk-CL37JGFW.cjs} +4 -4
- package/dist/{chunk-LA7PEGU3.cjs.map → chunk-CL37JGFW.cjs.map} +1 -1
- package/dist/chunk-CPOKFNBG.cjs +101 -0
- package/dist/chunk-CPOKFNBG.cjs.map +1 -0
- package/dist/chunk-G2I4QJOT.cjs +762 -0
- package/dist/chunk-G2I4QJOT.cjs.map +1 -0
- package/dist/{chunk-4QPLEUL2.cjs → chunk-GVSMRPHB.cjs} +1046 -54
- package/dist/chunk-GVSMRPHB.cjs.map +1 -0
- package/dist/{chunk-KYRZDWM4.js → chunk-JJDLPEWL.js} +2 -2
- package/dist/{chunk-GVW4P7BG.js → chunk-K3R5NG2D.js} +448 -54
- package/dist/chunk-K3R5NG2D.js.map +1 -0
- package/dist/{chunk-3TYMNULT.js → chunk-MJZBNWG7.js} +807 -52
- package/dist/chunk-MJZBNWG7.js.map +1 -0
- package/dist/{chunk-A7DKIA72.js → chunk-QBJ22YZR.js} +1059 -93
- package/dist/chunk-QBJ22YZR.js.map +1 -0
- package/dist/{chunk-CYFJCKC4.js → chunk-QGHGJ56O.js} +997 -5
- package/dist/chunk-QGHGJ56O.js.map +1 -0
- package/dist/{chunk-JYRIOFEN.cjs → chunk-RIKBJLS2.cjs} +1064 -98
- package/dist/chunk-RIKBJLS2.cjs.map +1 -0
- package/dist/{chunk-U6NDQFOK.cjs → chunk-XDMXXC4Z.cjs} +569 -175
- package/dist/chunk-XDMXXC4Z.cjs.map +1 -0
- package/dist/commands/index.cjs +860 -0
- package/dist/commands/index.cjs.map +1 -0
- package/dist/commands/index.d.cts +592 -0
- package/dist/commands/index.d.ts +592 -0
- package/dist/commands/index.js +860 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/{controller-OUdxPY-X.d.ts → controller-pePCJLT1.d.cts} +216 -11
- package/dist/{controller-OUdxPY-X.d.cts → controller-pePCJLT1.d.ts} +216 -11
- package/dist/extensions/index.cjs +14 -4
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.d.cts +3 -3
- package/dist/extensions/index.d.ts +3 -3
- package/dist/extensions/index.js +13 -3
- package/dist/history/index.cjs +12 -2
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +211 -7
- package/dist/history/index.d.ts +211 -7
- package/dist/history/index.js +13 -3
- package/dist/image-editor/index.cjs +418 -13
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +154 -3
- package/dist/image-editor/index.d.ts +154 -3
- package/dist/image-editor/index.js +417 -12
- package/dist/image-editor/index.js.map +1 -1
- package/dist/{index-k3mFbPx_.d.cts → index-CCr_z9kF.d.cts} +3 -3
- package/dist/{index-Ng1pG7JE.d.ts → index-Ck6ajwXh.d.ts} +3 -3
- package/dist/index.cjs +275 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +296 -47
- package/dist/index.d.ts +296 -47
- package/dist/index.js +266 -74
- package/dist/index.js.map +1 -1
- package/dist/registry-D5-R90p0.d.cts +209 -0
- package/dist/registry-D5-R90p0.d.ts +209 -0
- package/dist/{registry-iAHbqkYt.d.cts → registry-GJI4gToU.d.cts} +15 -4
- package/dist/{registry-iAHbqkYt.d.ts → registry-GJI4gToU.d.ts} +15 -4
- package/dist/serializers/index.cjs +3 -3
- package/dist/serializers/index.d.cts +1 -1
- package/dist/serializers/index.d.ts +1 -1
- package/dist/serializers/index.js +2 -2
- package/dist/spreadsheet/index.cjs +23 -3
- package/dist/spreadsheet/index.cjs.map +1 -1
- package/dist/spreadsheet/index.d.cts +97 -10
- package/dist/spreadsheet/index.d.ts +97 -10
- package/dist/spreadsheet/index.js +22 -2
- package/dist/{track-changes-G8JcWB8b.d.cts → track-changes-BSF58RK0.d.cts} +92 -9
- package/dist/{track-changes-G8JcWB8b.d.ts → track-changes-BSF58RK0.d.ts} +92 -9
- package/dist/{types-DMe0vFB1.d.cts → types-DX4Mh4SL.d.cts} +1 -1
- package/dist/{types-DMe0vFB1.d.ts → types-DX4Mh4SL.d.ts} +1 -1
- package/dist/types-GT5a5YAX.d.cts +86 -0
- package/dist/types-GT5a5YAX.d.ts +86 -0
- package/package.json +8 -2
- package/dist/chunk-2TWGLC5K.cjs +0 -262
- package/dist/chunk-2TWGLC5K.cjs.map +0 -1
- package/dist/chunk-3TYMNULT.js.map +0 -1
- package/dist/chunk-4QPLEUL2.cjs.map +0 -1
- package/dist/chunk-A7DKIA72.js.map +0 -1
- package/dist/chunk-CYFJCKC4.js.map +0 -1
- package/dist/chunk-GVW4P7BG.js.map +0 -1
- package/dist/chunk-JYRIOFEN.cjs.map +0 -1
- package/dist/chunk-KAADNAPF.js +0 -262
- package/dist/chunk-KAADNAPF.js.map +0 -1
- package/dist/chunk-TVRC4KVT.cjs.map +0 -1
- package/dist/chunk-U6NDQFOK.cjs.map +0 -1
- package/dist/types-BZgcDsC5.d.cts +0 -42
- package/dist/types-BZgcDsC5.d.ts +0 -42
- /package/dist/{chunk-KYRZDWM4.js.map → chunk-JJDLPEWL.js.map} +0 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkCL37JGFWcjs = require('../chunk-CL37JGFW.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -27,7 +27,7 @@ var _chunkLA7PEGU3cjs = require('../chunk-LA7PEGU3.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkAA4ZEVCCcjs = require('../chunk-AA4ZEVCC.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
@@ -54,5 +54,5 @@ var _chunkTVRC4KVTcjs = require('../chunk-TVRC4KVT.cjs');
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
exports.MARKDOWN_MENTION_SPLIT_REGEX =
|
|
57
|
+
exports.MARKDOWN_MENTION_SPLIT_REGEX = _chunkAA4ZEVCCcjs.MARKDOWN_MENTION_SPLIT_REGEX; exports.MENTION_REGEX = _chunkAA4ZEVCCcjs.MENTION_REGEX; exports.PIXERATE_DOCUMENT_MIME = _chunkCL37JGFWcjs.PIXERATE_DOCUMENT_MIME; exports.escapeHtml = _chunkAA4ZEVCCcjs.escapeHtml; exports.extractMentions = _chunkAA4ZEVCCcjs.extractMentions; exports.extractMentionsFromDoc = _chunkAA4ZEVCCcjs.extractMentionsFromDoc; exports.getClipboardData = _chunkCL37JGFWcjs.getClipboardData; exports.getEditorMarkdown = _chunkAA4ZEVCCcjs.getEditorMarkdown; exports.getEditorText = _chunkAA4ZEVCCcjs.getEditorText; exports.getSchemaSignature = _chunkCL37JGFWcjs.getSchemaSignature; exports.htmlToPlainText = _chunkAA4ZEVCCcjs.htmlToPlainText; exports.markdownToTipTapHtml = _chunkAA4ZEVCCcjs.markdownToTipTapHtml; exports.parseMentionSegments = _chunkAA4ZEVCCcjs.parseMentionSegments; exports.parseRichClipboardPayload = _chunkCL37JGFWcjs.parseRichClipboardPayload; exports.plainTextToParagraphHtml = _chunkCL37JGFWcjs.plainTextToParagraphHtml; exports.plainTextToSlice = _chunkAA4ZEVCCcjs.plainTextToSlice; exports.plainTextToTipTapHtml = _chunkAA4ZEVCCcjs.plainTextToTipTapHtml; exports.preprocessMarkdownFileLinks = _chunkAA4ZEVCCcjs.preprocessMarkdownFileLinks; exports.preprocessMarkdownMentions = _chunkAA4ZEVCCcjs.preprocessMarkdownMentions; exports.readRichClipboard = _chunkCL37JGFWcjs.readRichClipboard; exports.rtfToPlainText = _chunkCL37JGFWcjs.rtfToPlainText; exports.sanitizeHtml = _chunkAA4ZEVCCcjs.sanitizeHtml; exports.sanitizeImportedHtml = _chunkCL37JGFWcjs.sanitizeImportedHtml; exports.serializeRichClipboardPayload = _chunkCL37JGFWcjs.serializeRichClipboardPayload; exports.stripMarkdownCode = _chunkAA4ZEVCCcjs.stripMarkdownCode;
|
|
58
58
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema, Slice } from '@tiptap/pm/model';
|
|
2
|
-
import {
|
|
2
|
+
import { t as TrackedChangesView, h as MentionEntity } from '../track-changes-BSF58RK0.cjs';
|
|
3
3
|
import '@tiptap/core';
|
|
4
4
|
import '@tiptap/extension-mention';
|
|
5
5
|
import '@tiptap/suggestion';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema, Slice } from '@tiptap/pm/model';
|
|
2
|
-
import {
|
|
2
|
+
import { t as TrackedChangesView, h as MentionEntity } from '../track-changes-BSF58RK0.js';
|
|
3
3
|
import '@tiptap/core';
|
|
4
4
|
import '@tiptap/extension-mention';
|
|
5
5
|
import '@tiptap/suggestion';
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
rtfToPlainText,
|
|
10
10
|
sanitizeImportedHtml,
|
|
11
11
|
serializeRichClipboardPayload
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-JJDLPEWL.js";
|
|
13
13
|
import {
|
|
14
14
|
MARKDOWN_MENTION_SPLIT_REGEX,
|
|
15
15
|
MENTION_REGEX,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
preprocessMarkdownMentions,
|
|
28
28
|
sanitizeHtml,
|
|
29
29
|
stripMarkdownCode
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-MJZBNWG7.js";
|
|
31
31
|
export {
|
|
32
32
|
MARKDOWN_MENTION_SPLIT_REGEX,
|
|
33
33
|
MENTION_REGEX,
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
var _chunkU6NDQFOKcjs = require('../chunk-U6NDQFOK.cjs');
|
|
55
54
|
|
|
55
|
+
var _chunkXDMXXC4Zcjs = require('../chunk-XDMXXC4Z.cjs');
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
|
|
@@ -77,7 +77,6 @@ var _chunkU6NDQFOKcjs = require('../chunk-U6NDQFOK.cjs');
|
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
|
|
80
|
-
var _chunkJYRIOFENcjs = require('../chunk-JYRIOFEN.cjs');
|
|
81
80
|
|
|
82
81
|
|
|
83
82
|
|
|
@@ -88,6 +87,7 @@ var _chunkJYRIOFENcjs = require('../chunk-JYRIOFEN.cjs');
|
|
|
88
87
|
|
|
89
88
|
|
|
90
89
|
|
|
90
|
+
var _chunkRIKBJLS2cjs = require('../chunk-RIKBJLS2.cjs');
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
|
|
@@ -155,5 +155,25 @@ var _chunkJYRIOFENcjs = require('../chunk-JYRIOFEN.cjs');
|
|
|
155
155
|
|
|
156
156
|
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
exports.DEFAULT_COLUMN_WIDTH = _chunkXDMXXC4Zcjs.DEFAULT_COLUMN_WIDTH; exports.DEFAULT_ROW_HEIGHT = _chunkXDMXXC4Zcjs.DEFAULT_ROW_HEIGHT; exports.DataSourceBinder = _chunkXDMXXC4Zcjs.DataSourceBinder; exports.DependencyGraph = _chunkXDMXXC4Zcjs.DependencyGraph; exports.FORMULA_ERRORS = _chunkRIKBJLS2cjs.FORMULA_ERRORS; exports.FormulaEvaluator = _chunkRIKBJLS2cjs.FormulaEvaluator; exports.FormulaParser = _chunkRIKBJLS2cjs.FormulaParser; exports.MAX_FORMULA_ARRAY_SIZE = _chunkRIKBJLS2cjs.MAX_FORMULA_ARRAY_SIZE; exports.SPREADSHEET_CLIPBOARD_MIME = _chunkXDMXXC4Zcjs.SPREADSHEET_CLIPBOARD_MIME; exports.SPREADSHEET_IMPORT_ADAPTERS = _chunkXDMXXC4Zcjs.SPREADSHEET_IMPORT_ADAPTERS; exports.SPREADSHEET_TABLE_ACTIONS = _chunkXDMXXC4Zcjs.SPREADSHEET_TABLE_ACTIONS; exports.SpreadsheetController = _chunkXDMXXC4Zcjs.SpreadsheetController; exports.WHOLE_COLUMN_END_ROW = _chunkRIKBJLS2cjs.WHOLE_COLUMN_END_ROW; exports.aggregateValues = _chunkXDMXXC4Zcjs.aggregateValues; exports.applyFormulaSuggestion = _chunkXDMXXC4Zcjs.applyFormulaSuggestion; exports.bindSpreadsheetTableActions = _chunkXDMXXC4Zcjs.bindSpreadsheetTableActions; exports.buildSpreadsheetView = _chunkXDMXXC4Zcjs.buildSpreadsheetView; exports.checkFormulaArgumentCount = _chunkRIKBJLS2cjs.checkFormulaArgumentCount; exports.clampMenuPosition = _chunkXDMXXC4Zcjs.clampMenuPosition; exports.colNameToIndex = _chunkRIKBJLS2cjs.colNameToIndex; exports.columnDependencyKey = _chunkXDMXXC4Zcjs.columnDependencyKey; exports.compareCellValues = _chunkXDMXXC4Zcjs.compareCellValues; exports.compareNumbers = _chunkRIKBJLS2cjs.compareNumbers; exports.compareValues = _chunkRIKBJLS2cjs.compareValues; exports.computeFillTarget = _chunkXDMXXC4Zcjs.computeFillTarget; exports.computeRowGroups = _chunkXDMXXC4Zcjs.computeRowGroups; exports.createSpreadsheetClipboardData = _chunkXDMXXC4Zcjs.createSpreadsheetClipboardData; exports.csvImportAdapter = _chunkXDMXXC4Zcjs.csvImportAdapter; exports.describeFormulaError = _chunkRIKBJLS2cjs.describeFormulaError; exports.escapeCsvField = _chunkXDMXXC4Zcjs.escapeCsvField; exports.extractCellDependencies = _chunkXDMXXC4Zcjs.extractCellDependencies; exports.fillSeries = _chunkXDMXXC4Zcjs.fillSeries; exports.formatCellDisplay = _chunkRIKBJLS2cjs.formatCellDisplay; exports.formatValueWithCode = _chunkRIKBJLS2cjs.formatValueWithCode; exports.getFillDirection = _chunkXDMXXC4Zcjs.getFillDirection; exports.getFormulaArgumentSpecIndex = _chunkRIKBJLS2cjs.getFormulaArgumentSpecIndex; exports.getFormulaCaretContext = _chunkXDMXXC4Zcjs.getFormulaCaretContext; exports.getFormulaFunction = _chunkRIKBJLS2cjs.getFormulaFunction; exports.getFormulaHints = _chunkXDMXXC4Zcjs.getFormulaHints; exports.getFormulaSignature = _chunkRIKBJLS2cjs.getFormulaSignature; exports.getFormulaSignatureParts = _chunkRIKBJLS2cjs.getFormulaSignatureParts; exports.getRowSection = _chunkXDMXXC4Zcjs.getRowSection; exports.getSpreadsheetMenuItems = _chunkXDMXXC4Zcjs.getSpreadsheetMenuItems; exports.getTableSections = _chunkXDMXXC4Zcjs.getTableSections; exports.importFileIntoSpreadsheet = _chunkXDMXXC4Zcjs.importFileIntoSpreadsheet; exports.indexToColName = _chunkRIKBJLS2cjs.indexToColName; exports.isBlankValue = _chunkXDMXXC4Zcjs.isBlankValue; exports.isFormulaError = _chunkRIKBJLS2cjs.isFormulaError; exports.isSingleCellRange = _chunkXDMXXC4Zcjs.isSingleCellRange; exports.listFormulaFunctions = _chunkRIKBJLS2cjs.listFormulaFunctions; exports.mapFormulaReferences = _chunkXDMXXC4Zcjs.mapFormulaReferences; exports.matchesFilterRule = _chunkXDMXXC4Zcjs.matchesFilterRule; exports.normalizeRange = _chunkXDMXXC4Zcjs.normalizeRange; exports.numberToText = _chunkRIKBJLS2cjs.numberToText; exports.offsetFormulaReferences = _chunkXDMXXC4Zcjs.offsetFormulaReferences; exports.parseCellInput = _chunkRIKBJLS2cjs.parseCellInput; exports.parseCellReference = _chunkRIKBJLS2cjs.parseCellReference; exports.parseCriteria = _chunkRIKBJLS2cjs.parseCriteria; exports.parseCsv = _chunkXDMXXC4Zcjs.parseCsv; exports.parseFormula = _chunkRIKBJLS2cjs.parseFormula; exports.parseHtmlTable = _chunkXDMXXC4Zcjs.parseHtmlTable; exports.parseNumberText = _chunkRIKBJLS2cjs.parseNumberText; exports.parseRange = _chunkRIKBJLS2cjs.parseRange; exports.parseTsv = _chunkXDMXXC4Zcjs.parseTsv; exports.rangeContains = _chunkXDMXXC4Zcjs.rangeContains; exports.rangeContainsRange = _chunkXDMXXC4Zcjs.rangeContainsRange; exports.rangesIntersect = _chunkXDMXXC4Zcjs.rangesIntersect; exports.readSpreadsheetClipboard = _chunkXDMXXC4Zcjs.readSpreadsheetClipboard; exports.rebaseClipboardRows = _chunkXDMXXC4Zcjs.rebaseClipboardRows; exports.registerFormulaFunction = _chunkRIKBJLS2cjs.registerFormulaFunction; exports.registerSpreadsheetImportAdapters = _chunkXDMXXC4Zcjs.registerSpreadsheetImportAdapters; exports.remapFormulaReferences = _chunkXDMXXC4Zcjs.remapFormulaReferences; exports.roundFloat = _chunkXDMXXC4Zcjs.roundFloat; exports.rowPassesFilters = _chunkXDMXXC4Zcjs.rowPassesFilters; exports.searchFormulaFunctions = _chunkRIKBJLS2cjs.searchFormulaFunctions; exports.serialFromYmd = _chunkRIKBJLS2cjs.serialFromYmd; exports.serializeCsv = _chunkXDMXXC4Zcjs.serializeCsv; exports.serializeHtmlTable = _chunkXDMXXC4Zcjs.serializeHtmlTable; exports.serializeTsv = _chunkXDMXXC4Zcjs.serializeTsv; exports.shiftFormulaReferences = _chunkXDMXXC4Zcjs.shiftFormulaReferences; exports.sortCompareValues = _chunkRIKBJLS2cjs.sortCompareValues; exports.toNumber = _chunkXDMXXC4Zcjs.toNumber; exports.tokenizeFormula = _chunkRIKBJLS2cjs.tokenizeFormula; exports.tsvImportAdapter = _chunkXDMXXC4Zcjs.tsvImportAdapter; exports.unregisterFormulaFunction = _chunkRIKBJLS2cjs.unregisterFormulaFunction; exports.wildcardToRegExp = _chunkRIKBJLS2cjs.wildcardToRegExp;
|
|
159
179
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/spreadsheet/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/spreadsheet/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ykLAAC","file":"/home/runner/work/editor/editor/packages/core/dist/spreadsheet/index.cjs"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as ASTNode, r as FormulaErrorCode, v as FormulaRange, G as GroupAggregate,
|
|
2
|
-
export { B as BinaryOpNode, C as CellCoordinate,
|
|
3
|
-
import { I as ImportAdapterRegistry, c as ImportAdapter, h as ImportInput, a as ImportOutcome } from '../registry-
|
|
1
|
+
import { A as ASTNode, r as FormulaErrorCode, v as FormulaRange, a as CellData, c as CellFormat, G as GroupAggregate, O as SortDirection, e as CellRange, d as CellPosition, p as FilterRule, S as SpreadsheetController } from '../controller-pePCJLT1.cjs';
|
|
2
|
+
export { B as BinaryOpNode, C as CellCoordinate, b as CellDep, f as CellRefNode, g as CellValueReader, h as ColumnBinding, i as ColumnType, j as CsvExportOptions, k as CsvImportOptions, D as DEFAULT_COLUMN_WIDTH, l as DEFAULT_ROW_HEIGHT, m as DataSourceBinder, n as DependencyGraph, E as EvaluationContext, F as FORMULA_ERRORS, o as FilterOperator, q as FormulaDiagnostic, s as FormulaEvaluationResult, t as FormulaEvaluator, u as FormulaParser, w as FormulaToken, x as FormulaTokenType, y as FunctionCallNode, z as GroupSummary, L as LiteralNode, M as MAX_FORMULA_ARRAY_SIZE, N as NameNode, H as NewFilterRule, P as ParsedSpreadsheetClipboard, I as PropertyRefNode, R as RangeNode, J as RowType, K as SPREADSHEET_CLIPBOARD_MIME, Q as SortKey, T as SpillRefNode, U as SpreadsheetCellSpan, V as SpreadsheetClipboardCell, W as SpreadsheetClipboardData, X as SpreadsheetClipboardPayload, Y as SpreadsheetClipboardSource, Z as SpreadsheetColumn, _ as SpreadsheetControllerOptions, $ as SpreadsheetDataSource, a0 as SpreadsheetDataSourceField, a1 as SpreadsheetDocument, a2 as SpreadsheetFilterState, a3 as SpreadsheetGrouping, a4 as SpreadsheetRow, a5 as SpreadsheetRowGroup, a6 as SpreadsheetRowSection, a7 as SpreadsheetSpill, a8 as SpreadsheetTableSettings, a9 as SpreadsheetViewColumn, aa as SpreadsheetViewModel, ab as SpreadsheetViewRow, ac as StructuralChange, ad as UnaryOpNode, ae as WHOLE_COLUMN_END_ROW, af as buildSpreadsheetView, ag as colNameToIndex, ah as columnDependencyKey, ai as compareNumbers, aj as compareValues, ak as computeRowGroups, al as createSpreadsheetClipboardData, am as describeFormulaError, an as extractCellDependencies, ao as getRowSection, ap as getTableSections, aq as indexToColName, ar as isFormulaError, as as mapFormulaReferences, at as numberToText, au as offsetFormulaReferences, av as parseCellReference, aw as parseFormula, ax as parseHtmlTable, ay as parseRange, az as readSpreadsheetClipboard, aA as rebaseClipboardRows, aB as remapFormulaReferences, aC as rowPassesFilters, aD as serializeHtmlTable, aE as shiftFormulaReferences, aF as sortCompareValues, aG as tokenizeFormula } from '../controller-pePCJLT1.cjs';
|
|
3
|
+
import { I as ImportAdapterRegistry, c as ImportAdapter, h as ImportInput, a as ImportOutcome } from '../registry-GJI4gToU.cjs';
|
|
4
4
|
|
|
5
5
|
type FormulaFunctionCategory = 'math' | 'statistical' | 'logical' | 'text' | 'lookup' | 'date' | 'information';
|
|
6
6
|
/** What an argument expects. Used for documentation, hints and messages. */
|
|
@@ -75,6 +75,14 @@ interface FormulaFunctionDefinition {
|
|
|
75
75
|
* Otherwise a group must be complete.
|
|
76
76
|
*/
|
|
77
77
|
allowTrailingArgument?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* A scalar function that is applied element by element when given arrays
|
|
80
|
+
* (dynamic arrays): `=LEN(A1:A3)` returns three lengths. `true` lifts when
|
|
81
|
+
* any argument is a multi-value array; a list of argument indices lifts
|
|
82
|
+
* only when one of those is (IF lifts on its condition). Arguments typed
|
|
83
|
+
* `range` are always passed whole.
|
|
84
|
+
*/
|
|
85
|
+
elementwise?: boolean | readonly number[];
|
|
78
86
|
evaluate(ctx: FormulaFunctionContext): any;
|
|
79
87
|
}
|
|
80
88
|
/**
|
|
@@ -194,13 +202,22 @@ declare function wildcardToRegExp(pattern: string): RegExp;
|
|
|
194
202
|
* Parses a criterion as used by SUMIF, COUNTIFS etc.:
|
|
195
203
|
* - a number or boolean matches equal values (`5` matches 5 and the text "5");
|
|
196
204
|
* - text may start with `=`, `<>`, `<`, `<=`, `>` or `>=`. Numeric operands
|
|
197
|
-
*
|
|
205
|
+
* (typed-input rules: `">1,000"`, `"<50%"`, `">$5"`) compare numbers; date
|
|
206
|
+
* operands (`">=3/1/2026"`, `"<2026-03-01"`) compare ISO dates (and serial
|
|
207
|
+
* numbers) chronologically; text operands compare text case-insensitively;
|
|
198
208
|
* - `=`/`<>` text operands and plain text support `*` and `?` wildcards;
|
|
199
209
|
* - `""` and `"="` match blank cells, `"<>"` matches non-blank cells.
|
|
200
210
|
* Error values in the data never match.
|
|
201
211
|
*/
|
|
202
212
|
declare function parseCriteria(criterion: unknown): FormulaCriteriaPredicate;
|
|
203
213
|
|
|
214
|
+
/**
|
|
215
|
+
* The text a cell shows: its error, or its value formatted with the number
|
|
216
|
+
* format chosen for typed input (`numberFormat`, e.g. `"$"#,##0.00` for
|
|
217
|
+
* `$1,200.50`, `0%` for `10%`, `m/d/yyyy` for `3/4/2026`). Other numbers use
|
|
218
|
+
* up to 15 significant digits and booleans show as TRUE/FALSE.
|
|
219
|
+
*/
|
|
220
|
+
declare function formatCellDisplay(cell: Pick<CellData, 'value' | 'error' | 'numberFormat'> | null | undefined): string;
|
|
204
221
|
/**
|
|
205
222
|
* A subset of spreadsheet number format codes, as used by TEXT():
|
|
206
223
|
* - numbers: `0`, `#`, `0.00`, `#,##0`, `#,##0.00`, `0%`, `0.0%`, `0.00E+00`,
|
|
@@ -212,6 +229,53 @@ declare function parseCriteria(criterion: unknown): FormulaCriteriaPredicate;
|
|
|
212
229
|
*/
|
|
213
230
|
declare function formatValueWithCode(value: unknown, format: string): string | null;
|
|
214
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Parsing what people type into a cell (and numeric text in formulas).
|
|
234
|
+
*
|
|
235
|
+
* Recognises numbers with thousands separators, percentages, currency,
|
|
236
|
+
* scientific notation, fractions (`1 1/2`), dates (`3/4/2026`, `2026-03-04`,
|
|
237
|
+
* `4-Mar-2026`, `Mar 4, 2026`), times (`10:30`, `10:30:15 PM`) and
|
|
238
|
+
* date-times. Locale: en-US (month/day/year).
|
|
239
|
+
*
|
|
240
|
+
* Representation: our engine keeps dates as ISO text (`2026-03-04`, or
|
|
241
|
+
* `2026-03-04 18:00:00` with a time), so a typed date becomes ISO text, not a
|
|
242
|
+
* serial number. A time typed on its own (`12:00`) has no date to anchor ISO
|
|
243
|
+
* text to, so it becomes a fraction of a day (0.5), as in Excel.
|
|
244
|
+
*/
|
|
245
|
+
|
|
246
|
+
/** Kind of automatic number format chosen for typed input. */
|
|
247
|
+
type CellInputFormatKind = 'number' | 'currency' | 'percentage' | 'date' | 'time';
|
|
248
|
+
interface ParsedCellInput {
|
|
249
|
+
/** The typed value: number, boolean, ISO date text, error code or text. `''` for empty input. */
|
|
250
|
+
value: string | number | boolean;
|
|
251
|
+
type: 'empty' | 'text' | 'number' | 'boolean' | 'error' | 'date';
|
|
252
|
+
/**
|
|
253
|
+
* Number format code Excel would apply automatically (e.g. `"$"#,##0.00`,
|
|
254
|
+
* `0%`, `#,##0`, `m/d/yyyy`, `h:mm`), or undefined for General.
|
|
255
|
+
*/
|
|
256
|
+
numberFormat?: string;
|
|
257
|
+
/** What kind of format that is, if any. */
|
|
258
|
+
formatKind?: CellInputFormatKind;
|
|
259
|
+
/** `formatKind` mapped onto `CellFormat` (times have no `CellFormat` and map to undefined). */
|
|
260
|
+
cellFormat?: CellFormat;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Excel 1900-system serial for a date (1 = 1900-01-01, 60 = the fictitious
|
|
264
|
+
* 1900-02-29). Month and day overflow roll over like `DATE()`; years 0–1899
|
|
265
|
+
* are added to 1900. Null before the epoch or after 9999-12-31.
|
|
266
|
+
*/
|
|
267
|
+
declare function serialFromYmd(year: number, month: number, day: number): number | null;
|
|
268
|
+
/**
|
|
269
|
+
* Interprets typed cell input (not formulas). Text that isn't a number,
|
|
270
|
+
* date, time, boolean or error stays text; a leading apostrophe forces text.
|
|
271
|
+
*/
|
|
272
|
+
declare function parseCellInput(input: string): ParsedCellInput;
|
|
273
|
+
/**
|
|
274
|
+
* Numeric text as arithmetic coerces it ("1,000", "50%", "$3", "1/2/2020",
|
|
275
|
+
* "10:00"); dates become 1900-system serial numbers. Null when it isn't numeric.
|
|
276
|
+
*/
|
|
277
|
+
declare function parseNumberText(text: string): number | null;
|
|
278
|
+
|
|
215
279
|
/**
|
|
216
280
|
* RFC 4180 CSV (and other delimiter-separated values) parsing and
|
|
217
281
|
* serialization.
|
|
@@ -280,9 +344,11 @@ declare function isBlankValue(value: unknown): boolean;
|
|
|
280
344
|
/** The numeric value of a number or numeric string, or null. */
|
|
281
345
|
declare function toNumber(value: unknown): number | null;
|
|
282
346
|
/**
|
|
283
|
-
* Sort order for cell values: numbers (ascending)
|
|
284
|
-
*
|
|
285
|
-
*
|
|
347
|
+
* Sort order for cell values, as in Excel: numbers (ascending), then text,
|
|
348
|
+
* booleans and errors; `desc` reverses that order. Numbers compare at 15
|
|
349
|
+
* significant digits and ISO dates chronologically. Text uses a natural,
|
|
350
|
+
* case-insensitive order ("Item 2" before "Item 10"). Blanks always sort
|
|
351
|
+
* last, whatever the direction.
|
|
286
352
|
*/
|
|
287
353
|
declare function compareCellValues(a: unknown, b: unknown, direction?: SortDirection): number;
|
|
288
354
|
/** Whether a cell value passes one filter rule. */
|
|
@@ -300,8 +366,8 @@ declare function roundFloat(value: number): number;
|
|
|
300
366
|
* nearest-first) by `count` values, the way a fill handle does:
|
|
301
367
|
*
|
|
302
368
|
* - numbers: one value repeats; two or more continue their linear trend
|
|
303
|
-
* -
|
|
304
|
-
* continue their day or month step
|
|
369
|
+
* - dates (ISO `YYYY-MM-DD`, or typed like `3/4/2026`): one date counts up
|
|
370
|
+
* by a day; two or more continue their day or month step (as ISO dates)
|
|
305
371
|
* - text ending in a number ("Item 1"): the number counts up (or continues
|
|
306
372
|
* the step of several values with the same prefix/suffix)
|
|
307
373
|
* - anything else (or a mix) repeats the source cyclically
|
|
@@ -337,6 +403,27 @@ interface SpreadsheetMenuItem {
|
|
|
337
403
|
separatorBefore?: boolean;
|
|
338
404
|
run: () => void;
|
|
339
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Where to place a `position: fixed` menu opened at `point` so it stays inside
|
|
408
|
+
* the viewport: it flips to the left of / above the pointer when it would
|
|
409
|
+
* overflow the right / bottom edge, or, when the flipped menu would not fit
|
|
410
|
+
* either, slides back just enough to fit. It is kept at least `margin` px from
|
|
411
|
+
* every edge (a menu taller than the viewport is pinned to the top and should
|
|
412
|
+
* scroll, e.g. with `max-height: calc(100vh - 2 * margin)`).
|
|
413
|
+
*/
|
|
414
|
+
declare function clampMenuPosition(point: {
|
|
415
|
+
x: number;
|
|
416
|
+
y: number;
|
|
417
|
+
}, size: {
|
|
418
|
+
width: number;
|
|
419
|
+
height: number;
|
|
420
|
+
}, viewport: {
|
|
421
|
+
width: number;
|
|
422
|
+
height: number;
|
|
423
|
+
}, margin?: number): {
|
|
424
|
+
x: number;
|
|
425
|
+
y: number;
|
|
426
|
+
};
|
|
340
427
|
/**
|
|
341
428
|
* Menu items for a right-click on `cell`. When the cell is inside the
|
|
342
429
|
* selection, range actions (hide, merge, transpose) apply to the selection;
|
|
@@ -398,4 +485,4 @@ interface ImportFileIntoSpreadsheetOptions {
|
|
|
398
485
|
*/
|
|
399
486
|
declare function importFileIntoSpreadsheet(controller: SpreadsheetController, input: ImportInput, options: ImportFileIntoSpreadsheetOptions): Promise<ImportOutcome<SpreadsheetImport>>;
|
|
400
487
|
|
|
401
|
-
export { ASTNode, CellPosition, CellRange, type CsvParseOptions, type CsvSerializeOptions, type FillDirection, FilterRule, type FormulaActiveCall, type FormulaArgument, type FormulaArgumentSpec, type FormulaArgumentType, type FormulaCaretContext, type FormulaCriteriaPredicate, FormulaErrorCode, type FormulaFunctionCategory, type FormulaFunctionContext, type FormulaFunctionDefinition, type FormulaFunctionSuggestion, type FormulaHints, FormulaRange, type FormulaSignaturePart, GroupAggregate, type ImportFileIntoSpreadsheetOptions, SPREADSHEET_IMPORT_ADAPTERS, SPREADSHEET_TABLE_ACTIONS, SortDirection, SpreadsheetController, type SpreadsheetImport, type SpreadsheetImportAdapter, type SpreadsheetMenuItem, type SpreadsheetTableActionName, type SpreadsheetTableActions, aggregateValues, applyFormulaSuggestion, bindSpreadsheetTableActions, checkFormulaArgumentCount, compareCellValues, computeFillTarget, csvImportAdapter, escapeCsvField, fillSeries, formatValueWithCode, getFillDirection, getFormulaArgumentSpecIndex, getFormulaCaretContext, getFormulaFunction, getFormulaHints, getFormulaSignature, getFormulaSignatureParts, getSpreadsheetMenuItems, importFileIntoSpreadsheet, isBlankValue, isSingleCellRange, listFormulaFunctions, matchesFilterRule, normalizeRange, parseCriteria, parseCsv, parseTsv, rangeContains, rangeContainsRange, rangesIntersect, registerFormulaFunction, registerSpreadsheetImportAdapters, roundFloat, searchFormulaFunctions, serializeCsv, serializeTsv, toNumber, tsvImportAdapter, unregisterFormulaFunction, wildcardToRegExp };
|
|
488
|
+
export { ASTNode, CellData, CellFormat, type CellInputFormatKind, CellPosition, CellRange, type CsvParseOptions, type CsvSerializeOptions, type FillDirection, FilterRule, type FormulaActiveCall, type FormulaArgument, type FormulaArgumentSpec, type FormulaArgumentType, type FormulaCaretContext, type FormulaCriteriaPredicate, FormulaErrorCode, type FormulaFunctionCategory, type FormulaFunctionContext, type FormulaFunctionDefinition, type FormulaFunctionSuggestion, type FormulaHints, FormulaRange, type FormulaSignaturePart, GroupAggregate, type ImportFileIntoSpreadsheetOptions, type ParsedCellInput, SPREADSHEET_IMPORT_ADAPTERS, SPREADSHEET_TABLE_ACTIONS, SortDirection, SpreadsheetController, type SpreadsheetImport, type SpreadsheetImportAdapter, type SpreadsheetMenuItem, type SpreadsheetTableActionName, type SpreadsheetTableActions, aggregateValues, applyFormulaSuggestion, bindSpreadsheetTableActions, checkFormulaArgumentCount, clampMenuPosition, compareCellValues, computeFillTarget, csvImportAdapter, escapeCsvField, fillSeries, formatCellDisplay, formatValueWithCode, getFillDirection, getFormulaArgumentSpecIndex, getFormulaCaretContext, getFormulaFunction, getFormulaHints, getFormulaSignature, getFormulaSignatureParts, getSpreadsheetMenuItems, importFileIntoSpreadsheet, isBlankValue, isSingleCellRange, listFormulaFunctions, matchesFilterRule, normalizeRange, parseCellInput, parseCriteria, parseCsv, parseNumberText, parseTsv, rangeContains, rangeContainsRange, rangesIntersect, registerFormulaFunction, registerSpreadsheetImportAdapters, roundFloat, searchFormulaFunctions, serialFromYmd, serializeCsv, serializeTsv, toNumber, tsvImportAdapter, unregisterFormulaFunction, wildcardToRegExp };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as ASTNode, r as FormulaErrorCode, v as FormulaRange, G as GroupAggregate,
|
|
2
|
-
export { B as BinaryOpNode, C as CellCoordinate,
|
|
3
|
-
import { I as ImportAdapterRegistry, c as ImportAdapter, h as ImportInput, a as ImportOutcome } from '../registry-
|
|
1
|
+
import { A as ASTNode, r as FormulaErrorCode, v as FormulaRange, a as CellData, c as CellFormat, G as GroupAggregate, O as SortDirection, e as CellRange, d as CellPosition, p as FilterRule, S as SpreadsheetController } from '../controller-pePCJLT1.js';
|
|
2
|
+
export { B as BinaryOpNode, C as CellCoordinate, b as CellDep, f as CellRefNode, g as CellValueReader, h as ColumnBinding, i as ColumnType, j as CsvExportOptions, k as CsvImportOptions, D as DEFAULT_COLUMN_WIDTH, l as DEFAULT_ROW_HEIGHT, m as DataSourceBinder, n as DependencyGraph, E as EvaluationContext, F as FORMULA_ERRORS, o as FilterOperator, q as FormulaDiagnostic, s as FormulaEvaluationResult, t as FormulaEvaluator, u as FormulaParser, w as FormulaToken, x as FormulaTokenType, y as FunctionCallNode, z as GroupSummary, L as LiteralNode, M as MAX_FORMULA_ARRAY_SIZE, N as NameNode, H as NewFilterRule, P as ParsedSpreadsheetClipboard, I as PropertyRefNode, R as RangeNode, J as RowType, K as SPREADSHEET_CLIPBOARD_MIME, Q as SortKey, T as SpillRefNode, U as SpreadsheetCellSpan, V as SpreadsheetClipboardCell, W as SpreadsheetClipboardData, X as SpreadsheetClipboardPayload, Y as SpreadsheetClipboardSource, Z as SpreadsheetColumn, _ as SpreadsheetControllerOptions, $ as SpreadsheetDataSource, a0 as SpreadsheetDataSourceField, a1 as SpreadsheetDocument, a2 as SpreadsheetFilterState, a3 as SpreadsheetGrouping, a4 as SpreadsheetRow, a5 as SpreadsheetRowGroup, a6 as SpreadsheetRowSection, a7 as SpreadsheetSpill, a8 as SpreadsheetTableSettings, a9 as SpreadsheetViewColumn, aa as SpreadsheetViewModel, ab as SpreadsheetViewRow, ac as StructuralChange, ad as UnaryOpNode, ae as WHOLE_COLUMN_END_ROW, af as buildSpreadsheetView, ag as colNameToIndex, ah as columnDependencyKey, ai as compareNumbers, aj as compareValues, ak as computeRowGroups, al as createSpreadsheetClipboardData, am as describeFormulaError, an as extractCellDependencies, ao as getRowSection, ap as getTableSections, aq as indexToColName, ar as isFormulaError, as as mapFormulaReferences, at as numberToText, au as offsetFormulaReferences, av as parseCellReference, aw as parseFormula, ax as parseHtmlTable, ay as parseRange, az as readSpreadsheetClipboard, aA as rebaseClipboardRows, aB as remapFormulaReferences, aC as rowPassesFilters, aD as serializeHtmlTable, aE as shiftFormulaReferences, aF as sortCompareValues, aG as tokenizeFormula } from '../controller-pePCJLT1.js';
|
|
3
|
+
import { I as ImportAdapterRegistry, c as ImportAdapter, h as ImportInput, a as ImportOutcome } from '../registry-GJI4gToU.js';
|
|
4
4
|
|
|
5
5
|
type FormulaFunctionCategory = 'math' | 'statistical' | 'logical' | 'text' | 'lookup' | 'date' | 'information';
|
|
6
6
|
/** What an argument expects. Used for documentation, hints and messages. */
|
|
@@ -75,6 +75,14 @@ interface FormulaFunctionDefinition {
|
|
|
75
75
|
* Otherwise a group must be complete.
|
|
76
76
|
*/
|
|
77
77
|
allowTrailingArgument?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* A scalar function that is applied element by element when given arrays
|
|
80
|
+
* (dynamic arrays): `=LEN(A1:A3)` returns three lengths. `true` lifts when
|
|
81
|
+
* any argument is a multi-value array; a list of argument indices lifts
|
|
82
|
+
* only when one of those is (IF lifts on its condition). Arguments typed
|
|
83
|
+
* `range` are always passed whole.
|
|
84
|
+
*/
|
|
85
|
+
elementwise?: boolean | readonly number[];
|
|
78
86
|
evaluate(ctx: FormulaFunctionContext): any;
|
|
79
87
|
}
|
|
80
88
|
/**
|
|
@@ -194,13 +202,22 @@ declare function wildcardToRegExp(pattern: string): RegExp;
|
|
|
194
202
|
* Parses a criterion as used by SUMIF, COUNTIFS etc.:
|
|
195
203
|
* - a number or boolean matches equal values (`5` matches 5 and the text "5");
|
|
196
204
|
* - text may start with `=`, `<>`, `<`, `<=`, `>` or `>=`. Numeric operands
|
|
197
|
-
*
|
|
205
|
+
* (typed-input rules: `">1,000"`, `"<50%"`, `">$5"`) compare numbers; date
|
|
206
|
+
* operands (`">=3/1/2026"`, `"<2026-03-01"`) compare ISO dates (and serial
|
|
207
|
+
* numbers) chronologically; text operands compare text case-insensitively;
|
|
198
208
|
* - `=`/`<>` text operands and plain text support `*` and `?` wildcards;
|
|
199
209
|
* - `""` and `"="` match blank cells, `"<>"` matches non-blank cells.
|
|
200
210
|
* Error values in the data never match.
|
|
201
211
|
*/
|
|
202
212
|
declare function parseCriteria(criterion: unknown): FormulaCriteriaPredicate;
|
|
203
213
|
|
|
214
|
+
/**
|
|
215
|
+
* The text a cell shows: its error, or its value formatted with the number
|
|
216
|
+
* format chosen for typed input (`numberFormat`, e.g. `"$"#,##0.00` for
|
|
217
|
+
* `$1,200.50`, `0%` for `10%`, `m/d/yyyy` for `3/4/2026`). Other numbers use
|
|
218
|
+
* up to 15 significant digits and booleans show as TRUE/FALSE.
|
|
219
|
+
*/
|
|
220
|
+
declare function formatCellDisplay(cell: Pick<CellData, 'value' | 'error' | 'numberFormat'> | null | undefined): string;
|
|
204
221
|
/**
|
|
205
222
|
* A subset of spreadsheet number format codes, as used by TEXT():
|
|
206
223
|
* - numbers: `0`, `#`, `0.00`, `#,##0`, `#,##0.00`, `0%`, `0.0%`, `0.00E+00`,
|
|
@@ -212,6 +229,53 @@ declare function parseCriteria(criterion: unknown): FormulaCriteriaPredicate;
|
|
|
212
229
|
*/
|
|
213
230
|
declare function formatValueWithCode(value: unknown, format: string): string | null;
|
|
214
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Parsing what people type into a cell (and numeric text in formulas).
|
|
234
|
+
*
|
|
235
|
+
* Recognises numbers with thousands separators, percentages, currency,
|
|
236
|
+
* scientific notation, fractions (`1 1/2`), dates (`3/4/2026`, `2026-03-04`,
|
|
237
|
+
* `4-Mar-2026`, `Mar 4, 2026`), times (`10:30`, `10:30:15 PM`) and
|
|
238
|
+
* date-times. Locale: en-US (month/day/year).
|
|
239
|
+
*
|
|
240
|
+
* Representation: our engine keeps dates as ISO text (`2026-03-04`, or
|
|
241
|
+
* `2026-03-04 18:00:00` with a time), so a typed date becomes ISO text, not a
|
|
242
|
+
* serial number. A time typed on its own (`12:00`) has no date to anchor ISO
|
|
243
|
+
* text to, so it becomes a fraction of a day (0.5), as in Excel.
|
|
244
|
+
*/
|
|
245
|
+
|
|
246
|
+
/** Kind of automatic number format chosen for typed input. */
|
|
247
|
+
type CellInputFormatKind = 'number' | 'currency' | 'percentage' | 'date' | 'time';
|
|
248
|
+
interface ParsedCellInput {
|
|
249
|
+
/** The typed value: number, boolean, ISO date text, error code or text. `''` for empty input. */
|
|
250
|
+
value: string | number | boolean;
|
|
251
|
+
type: 'empty' | 'text' | 'number' | 'boolean' | 'error' | 'date';
|
|
252
|
+
/**
|
|
253
|
+
* Number format code Excel would apply automatically (e.g. `"$"#,##0.00`,
|
|
254
|
+
* `0%`, `#,##0`, `m/d/yyyy`, `h:mm`), or undefined for General.
|
|
255
|
+
*/
|
|
256
|
+
numberFormat?: string;
|
|
257
|
+
/** What kind of format that is, if any. */
|
|
258
|
+
formatKind?: CellInputFormatKind;
|
|
259
|
+
/** `formatKind` mapped onto `CellFormat` (times have no `CellFormat` and map to undefined). */
|
|
260
|
+
cellFormat?: CellFormat;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Excel 1900-system serial for a date (1 = 1900-01-01, 60 = the fictitious
|
|
264
|
+
* 1900-02-29). Month and day overflow roll over like `DATE()`; years 0–1899
|
|
265
|
+
* are added to 1900. Null before the epoch or after 9999-12-31.
|
|
266
|
+
*/
|
|
267
|
+
declare function serialFromYmd(year: number, month: number, day: number): number | null;
|
|
268
|
+
/**
|
|
269
|
+
* Interprets typed cell input (not formulas). Text that isn't a number,
|
|
270
|
+
* date, time, boolean or error stays text; a leading apostrophe forces text.
|
|
271
|
+
*/
|
|
272
|
+
declare function parseCellInput(input: string): ParsedCellInput;
|
|
273
|
+
/**
|
|
274
|
+
* Numeric text as arithmetic coerces it ("1,000", "50%", "$3", "1/2/2020",
|
|
275
|
+
* "10:00"); dates become 1900-system serial numbers. Null when it isn't numeric.
|
|
276
|
+
*/
|
|
277
|
+
declare function parseNumberText(text: string): number | null;
|
|
278
|
+
|
|
215
279
|
/**
|
|
216
280
|
* RFC 4180 CSV (and other delimiter-separated values) parsing and
|
|
217
281
|
* serialization.
|
|
@@ -280,9 +344,11 @@ declare function isBlankValue(value: unknown): boolean;
|
|
|
280
344
|
/** The numeric value of a number or numeric string, or null. */
|
|
281
345
|
declare function toNumber(value: unknown): number | null;
|
|
282
346
|
/**
|
|
283
|
-
* Sort order for cell values: numbers (ascending)
|
|
284
|
-
*
|
|
285
|
-
*
|
|
347
|
+
* Sort order for cell values, as in Excel: numbers (ascending), then text,
|
|
348
|
+
* booleans and errors; `desc` reverses that order. Numbers compare at 15
|
|
349
|
+
* significant digits and ISO dates chronologically. Text uses a natural,
|
|
350
|
+
* case-insensitive order ("Item 2" before "Item 10"). Blanks always sort
|
|
351
|
+
* last, whatever the direction.
|
|
286
352
|
*/
|
|
287
353
|
declare function compareCellValues(a: unknown, b: unknown, direction?: SortDirection): number;
|
|
288
354
|
/** Whether a cell value passes one filter rule. */
|
|
@@ -300,8 +366,8 @@ declare function roundFloat(value: number): number;
|
|
|
300
366
|
* nearest-first) by `count` values, the way a fill handle does:
|
|
301
367
|
*
|
|
302
368
|
* - numbers: one value repeats; two or more continue their linear trend
|
|
303
|
-
* -
|
|
304
|
-
* continue their day or month step
|
|
369
|
+
* - dates (ISO `YYYY-MM-DD`, or typed like `3/4/2026`): one date counts up
|
|
370
|
+
* by a day; two or more continue their day or month step (as ISO dates)
|
|
305
371
|
* - text ending in a number ("Item 1"): the number counts up (or continues
|
|
306
372
|
* the step of several values with the same prefix/suffix)
|
|
307
373
|
* - anything else (or a mix) repeats the source cyclically
|
|
@@ -337,6 +403,27 @@ interface SpreadsheetMenuItem {
|
|
|
337
403
|
separatorBefore?: boolean;
|
|
338
404
|
run: () => void;
|
|
339
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Where to place a `position: fixed` menu opened at `point` so it stays inside
|
|
408
|
+
* the viewport: it flips to the left of / above the pointer when it would
|
|
409
|
+
* overflow the right / bottom edge, or, when the flipped menu would not fit
|
|
410
|
+
* either, slides back just enough to fit. It is kept at least `margin` px from
|
|
411
|
+
* every edge (a menu taller than the viewport is pinned to the top and should
|
|
412
|
+
* scroll, e.g. with `max-height: calc(100vh - 2 * margin)`).
|
|
413
|
+
*/
|
|
414
|
+
declare function clampMenuPosition(point: {
|
|
415
|
+
x: number;
|
|
416
|
+
y: number;
|
|
417
|
+
}, size: {
|
|
418
|
+
width: number;
|
|
419
|
+
height: number;
|
|
420
|
+
}, viewport: {
|
|
421
|
+
width: number;
|
|
422
|
+
height: number;
|
|
423
|
+
}, margin?: number): {
|
|
424
|
+
x: number;
|
|
425
|
+
y: number;
|
|
426
|
+
};
|
|
340
427
|
/**
|
|
341
428
|
* Menu items for a right-click on `cell`. When the cell is inside the
|
|
342
429
|
* selection, range actions (hide, merge, transpose) apply to the selection;
|
|
@@ -398,4 +485,4 @@ interface ImportFileIntoSpreadsheetOptions {
|
|
|
398
485
|
*/
|
|
399
486
|
declare function importFileIntoSpreadsheet(controller: SpreadsheetController, input: ImportInput, options: ImportFileIntoSpreadsheetOptions): Promise<ImportOutcome<SpreadsheetImport>>;
|
|
400
487
|
|
|
401
|
-
export { ASTNode, CellPosition, CellRange, type CsvParseOptions, type CsvSerializeOptions, type FillDirection, FilterRule, type FormulaActiveCall, type FormulaArgument, type FormulaArgumentSpec, type FormulaArgumentType, type FormulaCaretContext, type FormulaCriteriaPredicate, FormulaErrorCode, type FormulaFunctionCategory, type FormulaFunctionContext, type FormulaFunctionDefinition, type FormulaFunctionSuggestion, type FormulaHints, FormulaRange, type FormulaSignaturePart, GroupAggregate, type ImportFileIntoSpreadsheetOptions, SPREADSHEET_IMPORT_ADAPTERS, SPREADSHEET_TABLE_ACTIONS, SortDirection, SpreadsheetController, type SpreadsheetImport, type SpreadsheetImportAdapter, type SpreadsheetMenuItem, type SpreadsheetTableActionName, type SpreadsheetTableActions, aggregateValues, applyFormulaSuggestion, bindSpreadsheetTableActions, checkFormulaArgumentCount, compareCellValues, computeFillTarget, csvImportAdapter, escapeCsvField, fillSeries, formatValueWithCode, getFillDirection, getFormulaArgumentSpecIndex, getFormulaCaretContext, getFormulaFunction, getFormulaHints, getFormulaSignature, getFormulaSignatureParts, getSpreadsheetMenuItems, importFileIntoSpreadsheet, isBlankValue, isSingleCellRange, listFormulaFunctions, matchesFilterRule, normalizeRange, parseCriteria, parseCsv, parseTsv, rangeContains, rangeContainsRange, rangesIntersect, registerFormulaFunction, registerSpreadsheetImportAdapters, roundFloat, searchFormulaFunctions, serializeCsv, serializeTsv, toNumber, tsvImportAdapter, unregisterFormulaFunction, wildcardToRegExp };
|
|
488
|
+
export { ASTNode, CellData, CellFormat, type CellInputFormatKind, CellPosition, CellRange, type CsvParseOptions, type CsvSerializeOptions, type FillDirection, FilterRule, type FormulaActiveCall, type FormulaArgument, type FormulaArgumentSpec, type FormulaArgumentType, type FormulaCaretContext, type FormulaCriteriaPredicate, FormulaErrorCode, type FormulaFunctionCategory, type FormulaFunctionContext, type FormulaFunctionDefinition, type FormulaFunctionSuggestion, type FormulaHints, FormulaRange, type FormulaSignaturePart, GroupAggregate, type ImportFileIntoSpreadsheetOptions, type ParsedCellInput, SPREADSHEET_IMPORT_ADAPTERS, SPREADSHEET_TABLE_ACTIONS, SortDirection, SpreadsheetController, type SpreadsheetImport, type SpreadsheetImportAdapter, type SpreadsheetMenuItem, type SpreadsheetTableActionName, type SpreadsheetTableActions, aggregateValues, applyFormulaSuggestion, bindSpreadsheetTableActions, checkFormulaArgumentCount, clampMenuPosition, compareCellValues, computeFillTarget, csvImportAdapter, escapeCsvField, fillSeries, formatCellDisplay, formatValueWithCode, getFillDirection, getFormulaArgumentSpecIndex, getFormulaCaretContext, getFormulaFunction, getFormulaHints, getFormulaSignature, getFormulaSignatureParts, getSpreadsheetMenuItems, importFileIntoSpreadsheet, isBlankValue, isSingleCellRange, listFormulaFunctions, matchesFilterRule, normalizeRange, parseCellInput, parseCriteria, parseCsv, parseNumberText, parseTsv, rangeContains, rangeContainsRange, rangesIntersect, registerFormulaFunction, registerSpreadsheetImportAdapters, roundFloat, searchFormulaFunctions, serialFromYmd, serializeCsv, serializeTsv, toNumber, tsvImportAdapter, unregisterFormulaFunction, wildcardToRegExp };
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
applyFormulaSuggestion,
|
|
12
12
|
bindSpreadsheetTableActions,
|
|
13
13
|
buildSpreadsheetView,
|
|
14
|
+
clampMenuPosition,
|
|
14
15
|
columnDependencyKey,
|
|
15
16
|
compareCellValues,
|
|
16
17
|
computeFillTarget,
|
|
@@ -51,15 +52,19 @@ import {
|
|
|
51
52
|
shiftFormulaReferences,
|
|
52
53
|
toNumber,
|
|
53
54
|
tsvImportAdapter
|
|
54
|
-
} from "../chunk-
|
|
55
|
+
} from "../chunk-K3R5NG2D.js";
|
|
55
56
|
import {
|
|
56
57
|
FORMULA_ERRORS,
|
|
57
58
|
FormulaEvaluator,
|
|
58
59
|
FormulaParser,
|
|
60
|
+
MAX_FORMULA_ARRAY_SIZE,
|
|
59
61
|
WHOLE_COLUMN_END_ROW,
|
|
60
62
|
checkFormulaArgumentCount,
|
|
61
63
|
colNameToIndex,
|
|
64
|
+
compareNumbers,
|
|
65
|
+
compareValues,
|
|
62
66
|
describeFormulaError,
|
|
67
|
+
formatCellDisplay,
|
|
63
68
|
formatValueWithCode,
|
|
64
69
|
getFormulaArgumentSpecIndex,
|
|
65
70
|
getFormulaFunction,
|
|
@@ -68,16 +73,21 @@ import {
|
|
|
68
73
|
indexToColName,
|
|
69
74
|
isFormulaError,
|
|
70
75
|
listFormulaFunctions,
|
|
76
|
+
numberToText,
|
|
77
|
+
parseCellInput,
|
|
71
78
|
parseCellReference,
|
|
72
79
|
parseCriteria,
|
|
73
80
|
parseFormula,
|
|
81
|
+
parseNumberText,
|
|
74
82
|
parseRange,
|
|
75
83
|
registerFormulaFunction,
|
|
76
84
|
searchFormulaFunctions,
|
|
85
|
+
serialFromYmd,
|
|
86
|
+
sortCompareValues,
|
|
77
87
|
tokenizeFormula,
|
|
78
88
|
unregisterFormulaFunction,
|
|
79
89
|
wildcardToRegExp
|
|
80
|
-
} from "../chunk-
|
|
90
|
+
} from "../chunk-QBJ22YZR.js";
|
|
81
91
|
export {
|
|
82
92
|
DEFAULT_COLUMN_WIDTH,
|
|
83
93
|
DEFAULT_ROW_HEIGHT,
|
|
@@ -86,6 +96,7 @@ export {
|
|
|
86
96
|
FORMULA_ERRORS,
|
|
87
97
|
FormulaEvaluator,
|
|
88
98
|
FormulaParser,
|
|
99
|
+
MAX_FORMULA_ARRAY_SIZE,
|
|
89
100
|
SPREADSHEET_CLIPBOARD_MIME,
|
|
90
101
|
SPREADSHEET_IMPORT_ADAPTERS,
|
|
91
102
|
SPREADSHEET_TABLE_ACTIONS,
|
|
@@ -96,9 +107,12 @@ export {
|
|
|
96
107
|
bindSpreadsheetTableActions,
|
|
97
108
|
buildSpreadsheetView,
|
|
98
109
|
checkFormulaArgumentCount,
|
|
110
|
+
clampMenuPosition,
|
|
99
111
|
colNameToIndex,
|
|
100
112
|
columnDependencyKey,
|
|
101
113
|
compareCellValues,
|
|
114
|
+
compareNumbers,
|
|
115
|
+
compareValues,
|
|
102
116
|
computeFillTarget,
|
|
103
117
|
computeRowGroups,
|
|
104
118
|
createSpreadsheetClipboardData,
|
|
@@ -107,6 +121,7 @@ export {
|
|
|
107
121
|
escapeCsvField,
|
|
108
122
|
extractCellDependencies,
|
|
109
123
|
fillSeries,
|
|
124
|
+
formatCellDisplay,
|
|
110
125
|
formatValueWithCode,
|
|
111
126
|
getFillDirection,
|
|
112
127
|
getFormulaArgumentSpecIndex,
|
|
@@ -127,12 +142,15 @@ export {
|
|
|
127
142
|
mapFormulaReferences,
|
|
128
143
|
matchesFilterRule,
|
|
129
144
|
normalizeRange,
|
|
145
|
+
numberToText,
|
|
130
146
|
offsetFormulaReferences,
|
|
147
|
+
parseCellInput,
|
|
131
148
|
parseCellReference,
|
|
132
149
|
parseCriteria,
|
|
133
150
|
parseCsv,
|
|
134
151
|
parseFormula,
|
|
135
152
|
parseHtmlTable,
|
|
153
|
+
parseNumberText,
|
|
136
154
|
parseRange,
|
|
137
155
|
parseTsv,
|
|
138
156
|
rangeContains,
|
|
@@ -146,10 +164,12 @@ export {
|
|
|
146
164
|
roundFloat,
|
|
147
165
|
rowPassesFilters,
|
|
148
166
|
searchFormulaFunctions,
|
|
167
|
+
serialFromYmd,
|
|
149
168
|
serializeCsv,
|
|
150
169
|
serializeHtmlTable,
|
|
151
170
|
serializeTsv,
|
|
152
171
|
shiftFormulaReferences,
|
|
172
|
+
sortCompareValues,
|
|
153
173
|
toNumber,
|
|
154
174
|
tokenizeFormula,
|
|
155
175
|
tsvImportAdapter,
|