@dxos/plugin-sheet 0.8.4-main.28f8d3d → 0.8.4-main.2c6827d
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/dist/lib/browser/{SheetContainer-JZNFXBW3.mjs → SheetContainer-67YEU5EA.mjs} +41 -43
- package/dist/lib/browser/SheetContainer-67YEU5EA.mjs.map +7 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs +23 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BVTHIA5U.mjs → chunk-6WBJDEKF.mjs} +37 -32
- package/dist/lib/browser/chunk-6WBJDEKF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KJWZUQVA.mjs → chunk-73AV3NH6.mjs} +4 -4
- package/dist/lib/browser/chunk-73AV3NH6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VTTKAHAY.mjs → chunk-7VEWYJJN.mjs} +2 -2
- package/dist/lib/browser/chunk-7VEWYJJN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ELAASQ5H.mjs → chunk-DVJ3QW3F.mjs} +215 -207
- package/dist/lib/browser/chunk-DVJ3QW3F.mjs.map +7 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs +28 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs.map +7 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs +21 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +20 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-SSLPTP5O.mjs → intent-resolver-66OAYVQF.mjs} +9 -9
- package/dist/lib/browser/intent-resolver-66OAYVQF.mjs.map +7 -0
- package/dist/lib/browser/{markdown-3VPZYNGU.mjs → markdown-B6VKYY2S.mjs} +6 -6
- package/dist/lib/browser/{markdown-3VPZYNGU.mjs.map → markdown-B6VKYY2S.mjs.map} +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-Y7KTPJW2.mjs → react-surface-HARAYCN7.mjs} +16 -15
- package/dist/lib/browser/react-surface-HARAYCN7.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +4 -12
- package/dist/lib/node-esm/{SheetContainer-GOIBAE2P.mjs → SheetContainer-NJONAMYZ.mjs} +41 -43
- package/dist/lib/node-esm/SheetContainer-NJONAMYZ.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-YM2UBIKL.mjs → anchor-sort-ZE7IS7SH.mjs} +10 -11
- package/dist/lib/node-esm/anchor-sort-ZE7IS7SH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6SK5LJ5S.mjs → chunk-44YTKTMP.mjs} +4 -4
- package/dist/lib/node-esm/chunk-44YTKTMP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4L5CIB7E.mjs → chunk-4H2EHVWE.mjs} +215 -207
- package/dist/lib/node-esm/chunk-4H2EHVWE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FXRXBHWM.mjs → chunk-4QV4AGWK.mjs} +2 -2
- package/dist/lib/node-esm/chunk-4QV4AGWK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs +29 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-56HYMW55.mjs → chunk-S3RJ7IY6.mjs} +37 -32
- package/dist/lib/node-esm/chunk-S3RJ7IY6.mjs.map +7 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs +22 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +20 -21
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-5P6DBGK2.mjs → intent-resolver-VNKIMQQT.mjs} +9 -9
- package/dist/lib/node-esm/intent-resolver-VNKIMQQT.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-SFDGQWYE.mjs → markdown-VKY7HXU2.mjs} +6 -6
- package/dist/lib/node-esm/{markdown-SFDGQWYE.mjs.map → markdown-VKY7HXU2.mjs.map} +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-6Z5FAOBH.mjs → react-surface-KTQWXV2L.mjs} +16 -15
- package/dist/lib/node-esm/react-surface-KTQWXV2L.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +4 -12
- package/dist/types/src/SheetPlugin.d.ts +1 -1
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -4
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +5 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -3
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +50 -3
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -20
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
- package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
- package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -2
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +52 -5
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +2 -2
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.d.ts +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +10 -13
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/index.d.ts +1 -1
- package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
- package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +5 -5
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/model/testing.d.ts +2 -2
- package/dist/types/src/model/testing.d.ts.map +1 -1
- package/dist/types/src/model/useSheetModel.d.ts +2 -2
- package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
- package/dist/types/src/serializer.d.ts +2 -2
- package/dist/types/src/serializer.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts +2 -2
- package/dist/types/src/testing/data.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +27 -3
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/{schema.d.ts → Sheet.d.ts} +37 -4
- package/dist/types/src/types/Sheet.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts +2 -2
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +7 -16
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/types/util.d.ts +9 -10
- package/dist/types/src/types/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +65 -64
- package/src/SheetPlugin.tsx +70 -61
- package/src/capabilities/anchor-sort.ts +7 -8
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/compute-graph-registry.ts +8 -13
- package/src/capabilities/intent-resolver.ts +4 -4
- package/src/capabilities/react-surface.tsx +9 -8
- package/src/components/ComputeGraph/compute-graph.stories.tsx +18 -18
- package/src/components/FunctionEditor/FunctionEditor.tsx +2 -2
- package/src/components/GridSheet/GridSheet.stories.tsx +17 -12
- package/src/components/GridSheet/GridSheet.tsx +24 -12
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +40 -42
- package/src/components/GridSheet/util.ts +9 -3
- package/src/components/RangeList/RangeList.tsx +8 -8
- package/src/components/SheetContainer/SheetContainer.stories.tsx +45 -42
- package/src/components/SheetContainer/SheetContainer.tsx +10 -5
- package/src/components/SheetContext/SheetContext.tsx +4 -4
- package/src/components/SheetToolbar/SheetToolbar.stories.tsx +17 -12
- package/src/components/SheetToolbar/SheetToolbar.tsx +27 -29
- package/src/components/SheetToolbar/align.ts +3 -3
- package/src/components/SheetToolbar/style.ts +2 -2
- package/src/extensions/compute.stories.tsx +29 -26
- package/src/extensions/compute.ts +1 -2
- package/src/extensions/editor/index.ts +1 -1
- package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
- package/src/integrations/thread-ranges.ts +15 -20
- package/src/meta.ts +7 -5
- package/src/model/sheet-model.test.ts +4 -4
- package/src/model/sheet-model.ts +4 -4
- package/src/model/testing.ts +4 -4
- package/src/model/useSheetModel.ts +2 -2
- package/src/sanity.test.ts +3 -4
- package/src/serializer.ts +3 -3
- package/src/testing/data.ts +2 -2
- package/src/testing/testing.tsx +11 -5
- package/src/translations.ts +2 -2
- package/src/types/Sheet.ts +103 -0
- package/src/types/index.ts +1 -1
- package/src/types/sheet-range-types.ts +2 -2
- package/src/types/types.ts +6 -16
- package/src/types/util.ts +10 -38
- package/dist/lib/browser/SheetContainer-JZNFXBW3.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-VRX3YZKT.mjs +0 -24
- package/dist/lib/browser/anchor-sort-VRX3YZKT.mjs.map +0 -7
- package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
- package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
- package/dist/lib/browser/chunk-BVTHIA5U.mjs.map +0 -7
- package/dist/lib/browser/chunk-ELAASQ5H.mjs.map +0 -7
- package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
- package/dist/lib/browser/chunk-VTTKAHAY.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs +0 -30
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SSLPTP5O.mjs.map +0 -7
- package/dist/lib/browser/react-surface-Y7KTPJW2.mjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-GOIBAE2P.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-YM2UBIKL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4L5CIB7E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-56HYMW55.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FXRXBHWM.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs +0 -31
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-5P6DBGK2.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-6Z5FAOBH.mjs.map +0 -7
- package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
- package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
- package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -61
- /package/src/extensions/editor/{extension.ts → sheet-extension.ts} +0 -0
|
@@ -1,10 +1,127 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
__export,
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-FWFAAGXL.mjs";
|
|
4
5
|
|
|
5
|
-
// src/types/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
// src/types/Sheet.ts
|
|
7
|
+
var Sheet_exports = {};
|
|
8
|
+
__export(Sheet_exports, {
|
|
9
|
+
CellValue: () => CellValue,
|
|
10
|
+
Range: () => Range,
|
|
11
|
+
RowColumnMeta: () => RowColumnMeta,
|
|
12
|
+
Sheet: () => Sheet,
|
|
13
|
+
make: () => make
|
|
14
|
+
});
|
|
15
|
+
import * as Schema from "effect/Schema";
|
|
16
|
+
import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
|
|
17
|
+
import { Obj, Type } from "@dxos/echo";
|
|
18
|
+
import { FormAnnotation } from "@dxos/echo/internal";
|
|
19
|
+
|
|
20
|
+
// src/types/util.ts
|
|
21
|
+
import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute";
|
|
22
|
+
import { randomBytes } from "@dxos/crypto";
|
|
23
|
+
import { invariant } from "@dxos/invariant";
|
|
24
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
|
|
25
|
+
var MAX_ROWS = 500;
|
|
26
|
+
var MAX_COLS = 676;
|
|
27
|
+
var DEFAULT_ROWS = 50;
|
|
28
|
+
var DEFAULT_COLS = 26;
|
|
29
|
+
var ApiError = class extends Error {
|
|
30
|
+
};
|
|
31
|
+
var ReadonlyException = class extends ApiError {
|
|
32
|
+
};
|
|
33
|
+
var RangeException = class extends ApiError {
|
|
34
|
+
constructor(n) {
|
|
35
|
+
super();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var createIndex = (length = 8) => {
|
|
39
|
+
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
40
|
+
const charactersLength = characters.length;
|
|
41
|
+
const randomBuffer = randomBytes(length);
|
|
42
|
+
return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
|
|
43
|
+
};
|
|
44
|
+
var createIndices = (length) => Array.from({
|
|
45
|
+
length
|
|
46
|
+
}).map(() => createIndex());
|
|
47
|
+
var insertIndices = (indices, i, n, max) => {
|
|
48
|
+
if (i + n > max) {
|
|
49
|
+
throw new RangeException(i + n);
|
|
50
|
+
}
|
|
51
|
+
const idx = createIndices(n);
|
|
52
|
+
indices.splice(i, 0, ...idx);
|
|
53
|
+
return idx;
|
|
54
|
+
};
|
|
55
|
+
var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
|
|
56
|
+
if (!sheet.rows.length) {
|
|
57
|
+
insertIndices(sheet.rows, 0, rows, MAX_ROWS);
|
|
58
|
+
}
|
|
59
|
+
if (!sheet.columns.length) {
|
|
60
|
+
insertIndices(sheet.columns, 0, columns, MAX_COLS);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var addressToIndex = (sheet, cell) => {
|
|
64
|
+
return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
|
|
65
|
+
};
|
|
66
|
+
var addressFromIndex = (sheet, idx) => {
|
|
67
|
+
const [column, row] = idx.split("@");
|
|
68
|
+
return {
|
|
69
|
+
col: sheet.columns.indexOf(column),
|
|
70
|
+
row: sheet.rows.indexOf(row)
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
var rangeToIndex = (sheet, range) => {
|
|
74
|
+
return [
|
|
75
|
+
range.from,
|
|
76
|
+
range.to ?? range.from
|
|
77
|
+
].map((cell) => addressToIndex(sheet, cell)).join(":");
|
|
78
|
+
};
|
|
79
|
+
var rangeFromIndex = (sheet, idx) => {
|
|
80
|
+
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
81
|
+
return {
|
|
82
|
+
from,
|
|
83
|
+
to
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
87
|
+
const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
|
|
88
|
+
const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
|
|
89
|
+
if (rowA !== rowB) {
|
|
90
|
+
return rowA - rowB;
|
|
91
|
+
} else {
|
|
92
|
+
return columnA - columnB;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var mapFormulaRefsToIndices = (sheet, formula) => {
|
|
96
|
+
invariant(isFormula(formula), void 0, {
|
|
97
|
+
F: __dxlog_file,
|
|
98
|
+
L: 124,
|
|
99
|
+
S: void 0,
|
|
100
|
+
A: [
|
|
101
|
+
"isFormula(formula)",
|
|
102
|
+
""
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
106
|
+
return addressToIndex(sheet, addressFromA1Notation(match));
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
var mapFormulaIndicesToRefs = (sheet, formula) => {
|
|
110
|
+
invariant(isFormula(formula), void 0, {
|
|
111
|
+
F: __dxlog_file,
|
|
112
|
+
L: 134,
|
|
113
|
+
S: void 0,
|
|
114
|
+
A: [
|
|
115
|
+
"isFormula(formula)",
|
|
116
|
+
""
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
120
|
+
return addressToA1Notation(addressFromIndex(sheet, idx));
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// src/types/Sheet.ts
|
|
8
125
|
var CellValue = Schema.Struct({
|
|
9
126
|
// TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
|
|
10
127
|
// Consider import/export; natural access for other plugins. Special handling for currency (precision).
|
|
@@ -19,33 +136,57 @@ var Range = Schema.Struct({
|
|
|
19
136
|
var RowColumnMeta = Schema.Struct({
|
|
20
137
|
size: Schema.optional(Schema.Number)
|
|
21
138
|
});
|
|
22
|
-
var
|
|
139
|
+
var Sheet = Schema.Struct({
|
|
23
140
|
name: Schema.optional(Schema.String),
|
|
24
141
|
// Sparse map of cells referenced by index.
|
|
25
|
-
cells: Schema.
|
|
142
|
+
cells: Schema.Record({
|
|
26
143
|
key: Schema.String,
|
|
27
144
|
value: Schema.mutable(CellValue)
|
|
28
|
-
})),
|
|
145
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
29
146
|
// Ordered row indices.
|
|
30
|
-
rows: Schema.
|
|
147
|
+
rows: Schema.Array(Schema.String).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
31
148
|
// Ordered column indices.
|
|
32
|
-
columns: Schema.
|
|
149
|
+
columns: Schema.Array(Schema.String).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
33
150
|
// Row metadata referenced by index.
|
|
34
|
-
rowMeta: Schema.
|
|
151
|
+
rowMeta: Schema.Record({
|
|
35
152
|
key: Schema.String,
|
|
36
153
|
value: Schema.mutable(RowColumnMeta)
|
|
37
|
-
})),
|
|
154
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
38
155
|
// Column metadata referenced by index.
|
|
39
|
-
columnMeta: Schema.
|
|
156
|
+
columnMeta: Schema.Record({
|
|
40
157
|
key: Schema.String,
|
|
41
158
|
value: Schema.mutable(RowColumnMeta)
|
|
42
|
-
})),
|
|
159
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
43
160
|
// Cell formatting referenced by indexed range.
|
|
44
|
-
ranges: Schema.
|
|
161
|
+
ranges: Schema.Array(Range).pipe(Schema.mutable, FormAnnotation.set(false))
|
|
45
162
|
}).pipe(Type.Obj({
|
|
46
163
|
typename: "dxos.org/type/Sheet",
|
|
47
164
|
version: "0.1.0"
|
|
48
165
|
}));
|
|
166
|
+
var make = ({ name, cells = {}, ...size } = {}) => {
|
|
167
|
+
const sheet = Obj.make(Sheet, {
|
|
168
|
+
name,
|
|
169
|
+
cells: {},
|
|
170
|
+
rows: [],
|
|
171
|
+
columns: [],
|
|
172
|
+
rowMeta: {},
|
|
173
|
+
columnMeta: {},
|
|
174
|
+
ranges: []
|
|
175
|
+
});
|
|
176
|
+
initialize(sheet, size);
|
|
177
|
+
if (cells) {
|
|
178
|
+
Object.entries(cells).forEach(([key, { value }]) => {
|
|
179
|
+
const idx = addressToIndex(sheet, addressFromA1Notation2(key));
|
|
180
|
+
if (isFormula2(value)) {
|
|
181
|
+
value = mapFormulaRefsToIndices(sheet, value);
|
|
182
|
+
}
|
|
183
|
+
sheet.cells[idx] = {
|
|
184
|
+
value
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
return sheet;
|
|
189
|
+
};
|
|
49
190
|
|
|
50
191
|
// src/types/sheet-range-types.ts
|
|
51
192
|
var alignKey = "alignment";
|
|
@@ -81,18 +222,18 @@ var cellClassNameForRange = ({ key, value }) => {
|
|
|
81
222
|
};
|
|
82
223
|
|
|
83
224
|
// src/types/types.ts
|
|
84
|
-
import
|
|
225
|
+
import * as Schema2 from "effect/Schema";
|
|
85
226
|
|
|
86
227
|
// src/model/sheet-model.ts
|
|
87
228
|
import { Event } from "@dxos/async";
|
|
88
|
-
import { DetailedCellError, ExportedCellChange, addressFromA1Notation, addressToA1Notation, createSheetName, isFormula } from "@dxos/compute";
|
|
229
|
+
import { DetailedCellError, ExportedCellChange, addressFromA1Notation as addressFromA1Notation3, addressToA1Notation as addressToA1Notation2, createSheetName, isFormula as isFormula3 } from "@dxos/compute";
|
|
89
230
|
import { Resource } from "@dxos/context";
|
|
90
|
-
import { Obj } from "@dxos/echo";
|
|
91
|
-
import { FormatEnum, TypeEnum } from "@dxos/echo
|
|
92
|
-
import { invariant } from "@dxos/invariant";
|
|
231
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
232
|
+
import { FormatEnum, TypeEnum } from "@dxos/echo/internal";
|
|
233
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
93
234
|
import { PublicKey } from "@dxos/keys";
|
|
94
235
|
import { log } from "@dxos/log";
|
|
95
|
-
var
|
|
236
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
|
|
96
237
|
var typeMap = {
|
|
97
238
|
BOOLEAN: {
|
|
98
239
|
type: TypeEnum.Boolean
|
|
@@ -141,12 +282,12 @@ var SheetModel = class extends Resource {
|
|
|
141
282
|
_graph;
|
|
142
283
|
_sheet;
|
|
143
284
|
_options;
|
|
144
|
-
id
|
|
285
|
+
id = `model-${PublicKey.random().truncate()}`;
|
|
145
286
|
// Wraps compute node.
|
|
146
|
-
update;
|
|
287
|
+
update = new Event();
|
|
147
288
|
_node;
|
|
148
289
|
constructor(_graph, _sheet, _options = {}) {
|
|
149
|
-
super(), this._graph = _graph, this._sheet = _sheet, this._options = _options
|
|
290
|
+
super(), this._graph = _graph, this._sheet = _sheet, this._options = _options;
|
|
150
291
|
}
|
|
151
292
|
get graph() {
|
|
152
293
|
return this._graph;
|
|
@@ -170,7 +311,7 @@ var SheetModel = class extends Resource {
|
|
|
170
311
|
log("initialize", {
|
|
171
312
|
id: this.id
|
|
172
313
|
}, {
|
|
173
|
-
F:
|
|
314
|
+
F: __dxlog_file2,
|
|
174
315
|
L: 124,
|
|
175
316
|
S: this,
|
|
176
317
|
C: (f, a) => f(...a)
|
|
@@ -182,7 +323,7 @@ var SheetModel = class extends Resource {
|
|
|
182
323
|
}
|
|
183
324
|
});
|
|
184
325
|
this._node = this._graph.getOrCreateNode(createSheetName({
|
|
185
|
-
type:
|
|
326
|
+
type: Obj2.getTypename(this._sheet),
|
|
186
327
|
id: this._sheet.id
|
|
187
328
|
}));
|
|
188
329
|
await this._node.open();
|
|
@@ -196,8 +337,8 @@ var SheetModel = class extends Resource {
|
|
|
196
337
|
* @deprecated
|
|
197
338
|
*/
|
|
198
339
|
reset() {
|
|
199
|
-
|
|
200
|
-
F:
|
|
340
|
+
invariant2(this._node, void 0, {
|
|
341
|
+
F: __dxlog_file2,
|
|
201
342
|
L: 152,
|
|
202
343
|
S: this,
|
|
203
344
|
A: [
|
|
@@ -207,8 +348,8 @@ var SheetModel = class extends Resource {
|
|
|
207
348
|
});
|
|
208
349
|
this._node.graph.hf.clearSheet(this._node.sheetId);
|
|
209
350
|
Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
|
|
210
|
-
|
|
211
|
-
F:
|
|
351
|
+
invariant2(this._node, void 0, {
|
|
352
|
+
F: __dxlog_file2,
|
|
212
353
|
L: 155,
|
|
213
354
|
S: this,
|
|
214
355
|
A: [
|
|
@@ -217,7 +358,7 @@ var SheetModel = class extends Resource {
|
|
|
217
358
|
]
|
|
218
359
|
});
|
|
219
360
|
const { col, row } = addressFromIndex(this._sheet, key);
|
|
220
|
-
if (
|
|
361
|
+
if (isFormula3(value)) {
|
|
221
362
|
const binding = this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
|
|
222
363
|
if (binding) {
|
|
223
364
|
value = this._graph.mapFormulaToNative(binding);
|
|
@@ -326,8 +467,8 @@ var SheetModel = class extends Resource {
|
|
|
326
467
|
* Clear range of values.
|
|
327
468
|
*/
|
|
328
469
|
clear(range) {
|
|
329
|
-
|
|
330
|
-
F:
|
|
470
|
+
invariant2(this._node, void 0, {
|
|
471
|
+
F: __dxlog_file2,
|
|
331
472
|
L: 258,
|
|
332
473
|
S: this,
|
|
333
474
|
A: [
|
|
@@ -344,8 +485,8 @@ var SheetModel = class extends Resource {
|
|
|
344
485
|
});
|
|
345
486
|
}
|
|
346
487
|
cut(range) {
|
|
347
|
-
|
|
348
|
-
F:
|
|
488
|
+
invariant2(this._node, void 0, {
|
|
489
|
+
F: __dxlog_file2,
|
|
349
490
|
L: 269,
|
|
350
491
|
S: this,
|
|
351
492
|
A: [
|
|
@@ -360,8 +501,8 @@ var SheetModel = class extends Resource {
|
|
|
360
501
|
});
|
|
361
502
|
}
|
|
362
503
|
copy(range) {
|
|
363
|
-
|
|
364
|
-
F:
|
|
504
|
+
invariant2(this._node, void 0, {
|
|
505
|
+
F: __dxlog_file2,
|
|
365
506
|
L: 278,
|
|
366
507
|
S: this,
|
|
367
508
|
A: [
|
|
@@ -372,8 +513,8 @@ var SheetModel = class extends Resource {
|
|
|
372
513
|
this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));
|
|
373
514
|
}
|
|
374
515
|
paste(cell) {
|
|
375
|
-
|
|
376
|
-
F:
|
|
516
|
+
invariant2(this._node, void 0, {
|
|
517
|
+
F: __dxlog_file2,
|
|
377
518
|
L: 283,
|
|
378
519
|
S: this,
|
|
379
520
|
A: [
|
|
@@ -399,8 +540,8 @@ var SheetModel = class extends Resource {
|
|
|
399
540
|
}
|
|
400
541
|
// TODO(burdon): Display undo/redo state.
|
|
401
542
|
undo() {
|
|
402
|
-
|
|
403
|
-
F:
|
|
543
|
+
invariant2(this._node, void 0, {
|
|
544
|
+
F: __dxlog_file2,
|
|
404
545
|
L: 298,
|
|
405
546
|
S: this,
|
|
406
547
|
A: [
|
|
@@ -413,8 +554,8 @@ var SheetModel = class extends Resource {
|
|
|
413
554
|
}
|
|
414
555
|
}
|
|
415
556
|
redo() {
|
|
416
|
-
|
|
417
|
-
F:
|
|
557
|
+
invariant2(this._node, void 0, {
|
|
558
|
+
F: __dxlog_file2,
|
|
418
559
|
L: 306,
|
|
419
560
|
S: this,
|
|
420
561
|
A: [
|
|
@@ -441,7 +582,7 @@ var SheetModel = class extends Resource {
|
|
|
441
582
|
if (value == null) {
|
|
442
583
|
return void 0;
|
|
443
584
|
}
|
|
444
|
-
if (
|
|
585
|
+
if (isFormula3(value)) {
|
|
445
586
|
return this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
|
|
446
587
|
} else {
|
|
447
588
|
return String(value);
|
|
@@ -457,8 +598,8 @@ var SheetModel = class extends Resource {
|
|
|
457
598
|
* Gets the regular or computed value from the engine.
|
|
458
599
|
*/
|
|
459
600
|
getValue(cell) {
|
|
460
|
-
|
|
461
|
-
F:
|
|
601
|
+
invariant2(this._node, void 0, {
|
|
602
|
+
F: __dxlog_file2,
|
|
462
603
|
L: 349,
|
|
463
604
|
S: this,
|
|
464
605
|
A: [
|
|
@@ -473,7 +614,7 @@ var SheetModel = class extends Resource {
|
|
|
473
614
|
cell,
|
|
474
615
|
error: value
|
|
475
616
|
}, {
|
|
476
|
-
F:
|
|
617
|
+
F: __dxlog_file2,
|
|
477
618
|
L: 354,
|
|
478
619
|
S: this,
|
|
479
620
|
C: (f, a) => f(...a)
|
|
@@ -486,8 +627,8 @@ var SheetModel = class extends Resource {
|
|
|
486
627
|
* Get value type.
|
|
487
628
|
*/
|
|
488
629
|
getValueDescription(cell) {
|
|
489
|
-
|
|
490
|
-
F:
|
|
630
|
+
invariant2(this._node, void 0, {
|
|
631
|
+
F: __dxlog_file2,
|
|
491
632
|
L: 365,
|
|
492
633
|
S: this,
|
|
493
634
|
A: [
|
|
@@ -503,8 +644,8 @@ var SheetModel = class extends Resource {
|
|
|
503
644
|
* Sets the value, updating the sheet and engine.
|
|
504
645
|
*/
|
|
505
646
|
setValue(cell, value) {
|
|
506
|
-
|
|
507
|
-
F:
|
|
647
|
+
invariant2(this._node, void 0, {
|
|
648
|
+
F: __dxlog_file2,
|
|
508
649
|
L: 375,
|
|
509
650
|
S: this,
|
|
510
651
|
A: [
|
|
@@ -533,14 +674,14 @@ var SheetModel = class extends Resource {
|
|
|
533
674
|
col: cell.col
|
|
534
675
|
}, [
|
|
535
676
|
[
|
|
536
|
-
|
|
677
|
+
isFormula3(value) ? this._graph.mapFormulaToNative(value) : value
|
|
537
678
|
]
|
|
538
679
|
]);
|
|
539
680
|
const idx = addressToIndex(this._sheet, cell);
|
|
540
681
|
if (value === void 0 || value === null) {
|
|
541
682
|
delete this._sheet.cells[idx];
|
|
542
683
|
} else {
|
|
543
|
-
if (
|
|
684
|
+
if (isFormula3(value)) {
|
|
544
685
|
value = this._graph.mapFunctionBindingToId(mapFormulaRefsToIndices(this._sheet, value));
|
|
545
686
|
}
|
|
546
687
|
this._sheet.cells[idx] = {
|
|
@@ -553,7 +694,7 @@ var SheetModel = class extends Resource {
|
|
|
553
694
|
*/
|
|
554
695
|
setValues(values) {
|
|
555
696
|
Object.entries(values).forEach(([key, { value }]) => {
|
|
556
|
-
this.setValue(
|
|
697
|
+
this.setValue(addressFromA1Notation3(key), value);
|
|
557
698
|
});
|
|
558
699
|
}
|
|
559
700
|
/**
|
|
@@ -597,8 +738,8 @@ var SheetModel = class extends Resource {
|
|
|
597
738
|
* Map from indices to A1 notation.
|
|
598
739
|
*/
|
|
599
740
|
mapFormulaIndicesToRefs(formula) {
|
|
600
|
-
|
|
601
|
-
F:
|
|
741
|
+
invariant2(isFormula3(formula), void 0, {
|
|
742
|
+
F: __dxlog_file2,
|
|
602
743
|
L: 460,
|
|
603
744
|
S: this,
|
|
604
745
|
A: [
|
|
@@ -607,7 +748,7 @@ var SheetModel = class extends Resource {
|
|
|
607
748
|
]
|
|
608
749
|
});
|
|
609
750
|
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
610
|
-
return
|
|
751
|
+
return addressToA1Notation2(addressFromIndex(this._sheet, idx));
|
|
611
752
|
});
|
|
612
753
|
}
|
|
613
754
|
//
|
|
@@ -623,8 +764,8 @@ var SheetModel = class extends Resource {
|
|
|
623
764
|
return new Date(year, month - 1, day, hours, minutes, seconds);
|
|
624
765
|
}
|
|
625
766
|
toDateTime(num) {
|
|
626
|
-
|
|
627
|
-
F:
|
|
767
|
+
invariant2(this._node, void 0, {
|
|
768
|
+
F: __dxlog_file2,
|
|
628
769
|
L: 481,
|
|
629
770
|
S: this,
|
|
630
771
|
A: [
|
|
@@ -635,8 +776,8 @@ var SheetModel = class extends Resource {
|
|
|
635
776
|
return this._node.graph.hf.numberToDateTime(num);
|
|
636
777
|
}
|
|
637
778
|
toDate(num) {
|
|
638
|
-
|
|
639
|
-
F:
|
|
779
|
+
invariant2(this._node, void 0, {
|
|
780
|
+
F: __dxlog_file2,
|
|
640
781
|
L: 486,
|
|
641
782
|
S: this,
|
|
642
783
|
A: [
|
|
@@ -647,8 +788,8 @@ var SheetModel = class extends Resource {
|
|
|
647
788
|
return this._node.graph.hf.numberToDate(num);
|
|
648
789
|
}
|
|
649
790
|
toTime(num) {
|
|
650
|
-
|
|
651
|
-
F:
|
|
791
|
+
invariant2(this._node, void 0, {
|
|
792
|
+
F: __dxlog_file2,
|
|
652
793
|
L: 491,
|
|
653
794
|
S: this,
|
|
654
795
|
A: [
|
|
@@ -690,13 +831,13 @@ var useSheetModel = (graph, sheet, { readonly } = {}) => {
|
|
|
690
831
|
|
|
691
832
|
// src/types/types.ts
|
|
692
833
|
(function(SheetAction2) {
|
|
693
|
-
const SHEET_ACTION = `${
|
|
834
|
+
const SHEET_ACTION = `${meta.id}/action`;
|
|
694
835
|
class Create extends Schema2.TaggedClass()(`${SHEET_ACTION}/create`, {
|
|
695
836
|
input: Schema2.Struct({
|
|
696
837
|
name: Schema2.optional(Schema2.String)
|
|
697
838
|
}),
|
|
698
839
|
output: Schema2.Struct({
|
|
699
|
-
object:
|
|
840
|
+
object: Sheet
|
|
700
841
|
})
|
|
701
842
|
}) {
|
|
702
843
|
}
|
|
@@ -736,146 +877,7 @@ var useSheetModel = (graph, sheet, { readonly } = {}) => {
|
|
|
736
877
|
})(SheetAction || (SheetAction = {}));
|
|
737
878
|
var SheetAction;
|
|
738
879
|
|
|
739
|
-
// src/types/util.ts
|
|
740
|
-
import { addressFromA1Notation as addressFromA1Notation2, addressToA1Notation as addressToA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
|
|
741
|
-
import { randomBytes } from "@dxos/crypto";
|
|
742
|
-
import { Obj as Obj2 } from "@dxos/echo";
|
|
743
|
-
import { invariant as invariant2 } from "@dxos/invariant";
|
|
744
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
|
|
745
|
-
var MAX_ROWS = 500;
|
|
746
|
-
var MAX_COLS = 676;
|
|
747
|
-
var DEFAULT_ROWS = 50;
|
|
748
|
-
var DEFAULT_COLS = 26;
|
|
749
|
-
var ApiError = class extends Error {
|
|
750
|
-
};
|
|
751
|
-
var ReadonlyException = class extends ApiError {
|
|
752
|
-
};
|
|
753
|
-
var RangeException = class extends ApiError {
|
|
754
|
-
constructor(n) {
|
|
755
|
-
super();
|
|
756
|
-
}
|
|
757
|
-
};
|
|
758
|
-
var createIndex = (length = 8) => {
|
|
759
|
-
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
760
|
-
const charactersLength = characters.length;
|
|
761
|
-
const randomBuffer = randomBytes(length);
|
|
762
|
-
return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
|
|
763
|
-
};
|
|
764
|
-
var createIndices = (length) => Array.from({
|
|
765
|
-
length
|
|
766
|
-
}).map(() => createIndex());
|
|
767
|
-
var insertIndices = (indices, i, n, max) => {
|
|
768
|
-
if (i + n > max) {
|
|
769
|
-
throw new RangeException(i + n);
|
|
770
|
-
}
|
|
771
|
-
const idx = createIndices(n);
|
|
772
|
-
indices.splice(i, 0, ...idx);
|
|
773
|
-
return idx;
|
|
774
|
-
};
|
|
775
|
-
var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
|
|
776
|
-
if (!sheet.rows.length) {
|
|
777
|
-
insertIndices(sheet.rows, 0, rows, MAX_ROWS);
|
|
778
|
-
}
|
|
779
|
-
if (!sheet.columns.length) {
|
|
780
|
-
insertIndices(sheet.columns, 0, columns, MAX_COLS);
|
|
781
|
-
}
|
|
782
|
-
};
|
|
783
|
-
var createSheet = ({ name, cells, ...size } = {}) => {
|
|
784
|
-
const sheet = Obj2.make(SheetType, {
|
|
785
|
-
name,
|
|
786
|
-
cells: {},
|
|
787
|
-
rows: [],
|
|
788
|
-
columns: [],
|
|
789
|
-
rowMeta: {},
|
|
790
|
-
columnMeta: {},
|
|
791
|
-
ranges: []
|
|
792
|
-
});
|
|
793
|
-
initialize(sheet, size);
|
|
794
|
-
if (cells) {
|
|
795
|
-
Object.entries(cells).forEach(([key, { value }]) => {
|
|
796
|
-
const idx = addressToIndex(sheet, addressFromA1Notation2(key));
|
|
797
|
-
if (isFormula2(value)) {
|
|
798
|
-
value = mapFormulaRefsToIndices(sheet, value);
|
|
799
|
-
}
|
|
800
|
-
sheet.cells[idx] = {
|
|
801
|
-
value
|
|
802
|
-
};
|
|
803
|
-
});
|
|
804
|
-
}
|
|
805
|
-
return sheet;
|
|
806
|
-
};
|
|
807
|
-
var addressToIndex = (sheet, cell) => {
|
|
808
|
-
return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
|
|
809
|
-
};
|
|
810
|
-
var addressFromIndex = (sheet, idx) => {
|
|
811
|
-
const [column, row] = idx.split("@");
|
|
812
|
-
return {
|
|
813
|
-
col: sheet.columns.indexOf(column),
|
|
814
|
-
row: sheet.rows.indexOf(row)
|
|
815
|
-
};
|
|
816
|
-
};
|
|
817
|
-
var rangeToIndex = (sheet, range) => {
|
|
818
|
-
return [
|
|
819
|
-
range.from,
|
|
820
|
-
range.to ?? range.from
|
|
821
|
-
].map((cell) => addressToIndex(sheet, cell)).join(":");
|
|
822
|
-
};
|
|
823
|
-
var rangeFromIndex = (sheet, idx) => {
|
|
824
|
-
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
825
|
-
return {
|
|
826
|
-
from,
|
|
827
|
-
to
|
|
828
|
-
};
|
|
829
|
-
};
|
|
830
|
-
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
831
|
-
const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
|
|
832
|
-
const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
|
|
833
|
-
if (rowA !== rowB) {
|
|
834
|
-
return rowA - rowB;
|
|
835
|
-
} else {
|
|
836
|
-
return columnA - columnB;
|
|
837
|
-
}
|
|
838
|
-
};
|
|
839
|
-
var mapFormulaRefsToIndices = (sheet, formula) => {
|
|
840
|
-
invariant2(isFormula2(formula), void 0, {
|
|
841
|
-
F: __dxlog_file2,
|
|
842
|
-
L: 152,
|
|
843
|
-
S: void 0,
|
|
844
|
-
A: [
|
|
845
|
-
"isFormula(formula)",
|
|
846
|
-
""
|
|
847
|
-
]
|
|
848
|
-
});
|
|
849
|
-
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
850
|
-
return addressToIndex(sheet, addressFromA1Notation2(match));
|
|
851
|
-
});
|
|
852
|
-
};
|
|
853
|
-
var mapFormulaIndicesToRefs = (sheet, formula) => {
|
|
854
|
-
invariant2(isFormula2(formula), void 0, {
|
|
855
|
-
F: __dxlog_file2,
|
|
856
|
-
L: 162,
|
|
857
|
-
S: void 0,
|
|
858
|
-
A: [
|
|
859
|
-
"isFormula(formula)",
|
|
860
|
-
""
|
|
861
|
-
]
|
|
862
|
-
});
|
|
863
|
-
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
864
|
-
return addressToA1Notation2(addressFromIndex(sheet, idx));
|
|
865
|
-
});
|
|
866
|
-
};
|
|
867
|
-
|
|
868
880
|
export {
|
|
869
|
-
CellValue,
|
|
870
|
-
Range,
|
|
871
|
-
RowColumnMeta,
|
|
872
|
-
SheetType,
|
|
873
|
-
alignKey,
|
|
874
|
-
commentKey,
|
|
875
|
-
styleKey,
|
|
876
|
-
cellClassNameForRange,
|
|
877
|
-
useSheetModel,
|
|
878
|
-
SheetAction,
|
|
879
881
|
MAX_ROWS,
|
|
880
882
|
MAX_COLS,
|
|
881
883
|
DEFAULT_ROWS,
|
|
@@ -887,13 +889,19 @@ export {
|
|
|
887
889
|
createIndices,
|
|
888
890
|
insertIndices,
|
|
889
891
|
initialize,
|
|
890
|
-
createSheet,
|
|
891
892
|
addressToIndex,
|
|
892
893
|
addressFromIndex,
|
|
893
894
|
rangeToIndex,
|
|
894
895
|
rangeFromIndex,
|
|
895
896
|
compareIndexPositions,
|
|
896
897
|
mapFormulaRefsToIndices,
|
|
897
|
-
mapFormulaIndicesToRefs
|
|
898
|
+
mapFormulaIndicesToRefs,
|
|
899
|
+
Sheet_exports,
|
|
900
|
+
alignKey,
|
|
901
|
+
commentKey,
|
|
902
|
+
styleKey,
|
|
903
|
+
cellClassNameForRange,
|
|
904
|
+
useSheetModel,
|
|
905
|
+
SheetAction
|
|
898
906
|
};
|
|
899
|
-
//# sourceMappingURL=chunk-
|
|
907
|
+
//# sourceMappingURL=chunk-DVJ3QW3F.mjs.map
|