@dxos/plugin-sheet 0.6.11 → 0.6.12-main.5cc132e
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-U4H5D34A.mjs → SheetContainer-Y7ZMFBAP.mjs} +568 -109
- package/dist/lib/browser/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-D5AGLXJP.mjs → chunk-GNNVBNCX.mjs} +55 -47
- package/dist/lib/browser/chunk-GNNVBNCX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-APHOLYUB.mjs → chunk-PGKZPKUD.mjs} +2 -2
- package/dist/lib/browser/chunk-VBF7YENS.mjs +8 -0
- package/dist/lib/browser/{chunk-FUAGSXA4.mjs → chunk-WUPTZUTX.mjs} +6 -3
- package/dist/lib/browser/chunk-WUPTZUTX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +15 -6
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing.mjs +3 -3
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/{SheetContainer-AXQV3ZT5.cjs → SheetContainer-KEOKUKAQ.cjs} +509 -62
- package/dist/lib/node/SheetContainer-KEOKUKAQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-PYXHNAAK.cjs → chunk-57PB2HPY.cjs} +5 -5
- package/dist/lib/node/{chunk-CN3RPESU.cjs → chunk-6LWBQAQZ.cjs} +9 -9
- package/dist/lib/node/{chunk-DSYKOI4E.cjs → chunk-VJU3NPUJ.cjs} +8 -5
- package/dist/lib/node/chunk-VJU3NPUJ.cjs.map +7 -0
- package/dist/lib/node/{chunk-5KKJ4NPP.cjs → chunk-ZRQZFV5T.cjs} +70 -57
- package/dist/lib/node/chunk-ZRQZFV5T.cjs.map +7 -0
- package/dist/lib/node/index.cjs +31 -23
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing.cjs +6 -6
- package/dist/lib/node/types.cjs +9 -9
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs +2231 -0
- package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GNNVBNCX.mjs +3243 -0
- package/dist/lib/node-esm/chunk-GNNVBNCX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JRL5LGCE.mjs +18 -0
- package/dist/lib/node-esm/chunk-JRL5LGCE.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs +175 -0
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs +8 -0
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WUPTZUTX.mjs +85 -0
- package/dist/lib/node-esm/chunk-WUPTZUTX.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +257 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/meta.mjs +9 -0
- package/dist/lib/node-esm/meta.mjs.map +7 -0
- package/dist/lib/node-esm/testing.mjs +92 -0
- package/dist/lib/node-esm/testing.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +22 -0
- package/dist/lib/node-esm/types.mjs.map +7 -0
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/decorations.d.ts +24 -0
- package/dist/types/src/components/Sheet/decorations.d.ts.map +1 -0
- package/dist/types/src/components/Sheet/formatting.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/sheet-context.d.ts +2 -0
- package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/threads.d.ts +2 -0
- package/dist/types/src/components/Sheet/threads.d.ts.map +1 -0
- package/dist/types/src/components/SheetContainer.d.ts +2 -3
- package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -3
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +17 -12
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/model/index.d.ts +1 -0
- package/dist/types/src/model/index.d.ts.map +1 -1
- package/dist/types/src/model/model.d.ts +0 -16
- package/dist/types/src/model/model.d.ts.map +1 -1
- package/dist/types/src/model/util.d.ts +24 -0
- package/dist/types/src/model/util.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +17 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +72 -2
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +36 -32
- package/src/SheetPlugin.tsx +8 -15
- package/src/components/CellEditor/extension.test.ts +1 -2
- package/src/components/ComputeGraph/graph.browser.test.ts +1 -2
- package/src/components/Sheet/Sheet.stories.tsx +5 -1
- package/src/components/Sheet/Sheet.tsx +45 -8
- package/src/components/Sheet/decorations.ts +62 -0
- package/src/components/Sheet/formatting.ts +3 -3
- package/src/components/Sheet/sheet-context.tsx +9 -1
- package/src/components/Sheet/threads.tsx +201 -0
- package/src/components/SheetContainer.tsx +72 -18
- package/src/components/Toolbar/Toolbar.tsx +54 -12
- package/src/model/index.ts +1 -0
- package/src/model/model.browser.test.ts +1 -2
- package/src/model/model.ts +9 -43
- package/src/model/types.test.ts +1 -2
- package/src/model/util.ts +67 -0
- package/src/translations.ts +6 -1
- package/src/types.ts +26 -3
- package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +0 -7
- package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +0 -7
- package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +0 -7
- package/dist/lib/browser/chunk-NU4PBN33.mjs +0 -8
- package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs.map +0 -7
- package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +0 -7
- package/dist/lib/node/chunk-DSYKOI4E.cjs.map +0 -7
- /package/dist/lib/browser/{chunk-APHOLYUB.mjs.map → chunk-PGKZPKUD.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-NU4PBN33.mjs.map → chunk-VBF7YENS.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-PYXHNAAK.cjs.map → chunk-57PB2HPY.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-CN3RPESU.cjs.map → chunk-6LWBQAQZ.cjs.map} +0 -0
|
@@ -26,23 +26,28 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_ZRQZFV5T_exports = {};
|
|
30
|
+
__export(chunk_ZRQZFV5T_exports, {
|
|
31
31
|
CustomPlugin: () => CustomPlugin,
|
|
32
32
|
CustomPluginTranslations: () => CustomPluginTranslations,
|
|
33
33
|
FunctionPluginAsync: () => FunctionPluginAsync,
|
|
34
34
|
SheetModel: () => SheetModel,
|
|
35
35
|
addressFromA1Notation: () => addressFromA1Notation,
|
|
36
|
+
addressFromIndex: () => addressFromIndex,
|
|
36
37
|
addressToA1Notation: () => addressToA1Notation,
|
|
38
|
+
addressToIndex: () => addressToIndex,
|
|
39
|
+
closest: () => closest,
|
|
37
40
|
columnLetter: () => columnLetter,
|
|
41
|
+
compareIndexPositions: () => compareIndexPositions,
|
|
38
42
|
createComputeGraph: () => createComputeGraph,
|
|
39
43
|
defaultFunctions: () => defaultFunctions,
|
|
40
44
|
inRange: () => inRange,
|
|
41
45
|
posEquals: () => posEquals,
|
|
46
|
+
rangeFromIndex: () => rangeFromIndex,
|
|
42
47
|
rangeToA1Notation: () => rangeToA1Notation
|
|
43
48
|
});
|
|
44
|
-
module.exports = __toCommonJS(
|
|
45
|
-
var
|
|
49
|
+
module.exports = __toCommonJS(chunk_ZRQZFV5T_exports);
|
|
50
|
+
var import_chunk_VJU3NPUJ = require("./chunk-VJU3NPUJ.cjs");
|
|
46
51
|
var import_hyperformula = require("hyperformula");
|
|
47
52
|
var import_async = require("@dxos/async");
|
|
48
53
|
var import_keys = require("@dxos/keys");
|
|
@@ -2674,17 +2679,55 @@ var createIndex = (length = 8) => {
|
|
|
2674
2679
|
var createIndices = (length) => Array.from({
|
|
2675
2680
|
length
|
|
2676
2681
|
}).map(() => createIndex());
|
|
2682
|
+
var addressToIndex = (sheet, cell) => {
|
|
2683
|
+
return `${sheet.columns[cell.column]}@${sheet.rows[cell.row]}`;
|
|
2684
|
+
};
|
|
2685
|
+
var addressFromIndex = (sheet, idx) => {
|
|
2686
|
+
const [column, row] = idx.split("@");
|
|
2687
|
+
return {
|
|
2688
|
+
column: sheet.columns.indexOf(column),
|
|
2689
|
+
row: sheet.rows.indexOf(row)
|
|
2690
|
+
};
|
|
2691
|
+
};
|
|
2692
|
+
var rangeFromIndex = (sheet, idx) => {
|
|
2693
|
+
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
2694
|
+
return {
|
|
2695
|
+
from,
|
|
2696
|
+
to
|
|
2697
|
+
};
|
|
2698
|
+
};
|
|
2699
|
+
var closest = (cursor, cells) => {
|
|
2700
|
+
let closestCell;
|
|
2701
|
+
let closestDistance = Number.MAX_SAFE_INTEGER;
|
|
2702
|
+
for (const cell of cells) {
|
|
2703
|
+
const distance = Math.abs(cell.row - cursor.row) + Math.abs(cell.column - cursor.column);
|
|
2704
|
+
if (distance < closestDistance) {
|
|
2705
|
+
closestCell = cell;
|
|
2706
|
+
closestDistance = distance;
|
|
2707
|
+
}
|
|
2708
|
+
}
|
|
2709
|
+
return closestCell;
|
|
2710
|
+
};
|
|
2711
|
+
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
2712
|
+
const { row: rowA, column: columnA } = addressFromIndex(sheet, indexA);
|
|
2713
|
+
const { row: rowB, column: columnB } = addressFromIndex(sheet, indexB);
|
|
2714
|
+
if (rowA !== rowB) {
|
|
2715
|
+
return rowA - rowB;
|
|
2716
|
+
} else {
|
|
2717
|
+
return columnA - columnB;
|
|
2718
|
+
}
|
|
2719
|
+
};
|
|
2677
2720
|
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/model/model.ts";
|
|
2678
2721
|
var DEFAULT_ROWS = 100;
|
|
2679
2722
|
var DEFAULT_COLUMNS = 26;
|
|
2680
2723
|
var typeMap = {
|
|
2681
|
-
BOOLEAN:
|
|
2682
|
-
NUMBER_RAW:
|
|
2683
|
-
NUMBER_PERCENT:
|
|
2684
|
-
NUMBER_CURRENCY:
|
|
2685
|
-
NUMBER_DATETIME:
|
|
2686
|
-
NUMBER_DATE:
|
|
2687
|
-
NUMBER_TIME:
|
|
2724
|
+
BOOLEAN: import_chunk_VJU3NPUJ.ValueTypeEnum.Boolean,
|
|
2725
|
+
NUMBER_RAW: import_chunk_VJU3NPUJ.ValueTypeEnum.Number,
|
|
2726
|
+
NUMBER_PERCENT: import_chunk_VJU3NPUJ.ValueTypeEnum.Percent,
|
|
2727
|
+
NUMBER_CURRENCY: import_chunk_VJU3NPUJ.ValueTypeEnum.Currency,
|
|
2728
|
+
NUMBER_DATETIME: import_chunk_VJU3NPUJ.ValueTypeEnum.DateTime,
|
|
2729
|
+
NUMBER_DATE: import_chunk_VJU3NPUJ.ValueTypeEnum.Date,
|
|
2730
|
+
NUMBER_TIME: import_chunk_VJU3NPUJ.ValueTypeEnum.Time
|
|
2688
2731
|
};
|
|
2689
2732
|
var defaultOptions = {
|
|
2690
2733
|
rows: 50,
|
|
@@ -2826,7 +2869,7 @@ var SheetModel = class {
|
|
|
2826
2869
|
reset() {
|
|
2827
2870
|
this._graph.hf.clearSheet(this._sheetId);
|
|
2828
2871
|
Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
|
|
2829
|
-
const { column, row } = this.
|
|
2872
|
+
const { column, row } = addressFromIndex(this._sheet, key);
|
|
2830
2873
|
if (typeof value === "string" && value.charAt(0) === "=") {
|
|
2831
2874
|
value = this.mapFormulaBindingToFormula(this.mapFormulaBindingFromId(this.mapFormulaIndicesToRefs(value)));
|
|
2832
2875
|
}
|
|
@@ -2867,14 +2910,14 @@ var SheetModel = class {
|
|
|
2867
2910
|
const values = this._iterRange(range, () => null);
|
|
2868
2911
|
this._graph.hf.setCellContents(toSimpleCellAddress(this._sheetId, topLeft), values);
|
|
2869
2912
|
this._iterRange(range, (cell) => {
|
|
2870
|
-
const idx = this.
|
|
2913
|
+
const idx = addressToIndex(this._sheet, cell);
|
|
2871
2914
|
delete this._sheet.cells[idx];
|
|
2872
2915
|
});
|
|
2873
2916
|
}
|
|
2874
2917
|
cut(range) {
|
|
2875
2918
|
this._graph.hf.cut(toModelRange(this._sheetId, range));
|
|
2876
2919
|
this._iterRange(range, (cell) => {
|
|
2877
|
-
const idx = this.
|
|
2920
|
+
const idx = addressToIndex(this._sheet, cell);
|
|
2878
2921
|
delete this._sheet.cells[idx];
|
|
2879
2922
|
});
|
|
2880
2923
|
}
|
|
@@ -2887,7 +2930,7 @@ var SheetModel = class {
|
|
|
2887
2930
|
for (const change of changes) {
|
|
2888
2931
|
if (change instanceof import_hyperformula3.ExportedCellChange) {
|
|
2889
2932
|
const { address, newValue } = change;
|
|
2890
|
-
const idx = this.
|
|
2933
|
+
const idx = addressToIndex(this._sheet, {
|
|
2891
2934
|
row: address.row,
|
|
2892
2935
|
column: address.col
|
|
2893
2936
|
});
|
|
@@ -2915,7 +2958,7 @@ var SheetModel = class {
|
|
|
2915
2958
|
* Get value from sheet.
|
|
2916
2959
|
*/
|
|
2917
2960
|
getCellValue(cell) {
|
|
2918
|
-
const idx = this.
|
|
2961
|
+
const idx = addressToIndex(this._sheet, cell);
|
|
2919
2962
|
return this._sheet.cells[idx]?.value ?? null;
|
|
2920
2963
|
}
|
|
2921
2964
|
/**
|
|
@@ -2984,7 +3027,7 @@ var SheetModel = class {
|
|
|
2984
3027
|
typeof value === "string" && value.charAt(0) === "=" ? this.mapFormulaBindingToFormula(value) : value
|
|
2985
3028
|
]
|
|
2986
3029
|
]);
|
|
2987
|
-
const idx = this.
|
|
3030
|
+
const idx = addressToIndex(this._sheet, cell);
|
|
2988
3031
|
if (value === void 0 || value === null) {
|
|
2989
3032
|
delete this._sheet.cells[idx];
|
|
2990
3033
|
} else {
|
|
@@ -3056,41 +3099,6 @@ var SheetModel = class {
|
|
|
3056
3099
|
// Indices.
|
|
3057
3100
|
//
|
|
3058
3101
|
/**
|
|
3059
|
-
* E.g., "A1" => "x1@y1".
|
|
3060
|
-
*/
|
|
3061
|
-
addressToIndex(cell) {
|
|
3062
|
-
return `${this._sheet.columns[cell.column]}@${this._sheet.rows[cell.row]}`;
|
|
3063
|
-
}
|
|
3064
|
-
/**
|
|
3065
|
-
* E.g., "x1@y1" => "A1".
|
|
3066
|
-
*/
|
|
3067
|
-
addressFromIndex(idx) {
|
|
3068
|
-
const [column, row] = idx.split("@");
|
|
3069
|
-
return {
|
|
3070
|
-
column: this._sheet.columns.indexOf(column),
|
|
3071
|
-
row: this._sheet.rows.indexOf(row)
|
|
3072
|
-
};
|
|
3073
|
-
}
|
|
3074
|
-
/**
|
|
3075
|
-
* E.g., "A1:B2" => "x1@y1:x2@y2".
|
|
3076
|
-
*/
|
|
3077
|
-
rangeToIndex(range) {
|
|
3078
|
-
return [
|
|
3079
|
-
range.from,
|
|
3080
|
-
range.to ?? range.from
|
|
3081
|
-
].map((cell) => this.addressToIndex(cell)).join(":");
|
|
3082
|
-
}
|
|
3083
|
-
/**
|
|
3084
|
-
* E.g., "x1@y1:x2@y2" => "A1:B2".
|
|
3085
|
-
*/
|
|
3086
|
-
rangeFromIndex(idx) {
|
|
3087
|
-
const [from, to] = idx.split(":").map((idx2) => this.addressFromIndex(idx2));
|
|
3088
|
-
return {
|
|
3089
|
-
from,
|
|
3090
|
-
to
|
|
3091
|
-
};
|
|
3092
|
-
}
|
|
3093
|
-
/**
|
|
3094
3102
|
* E.g., "HELLO()" => "EDGE("HELLO")".
|
|
3095
3103
|
*/
|
|
3096
3104
|
mapFormulaBindingToFormula(formula) {
|
|
@@ -3134,7 +3142,7 @@ var SheetModel = class {
|
|
|
3134
3142
|
mapFormulaRefsToIndices(formula) {
|
|
3135
3143
|
(0, import_invariant.invariant)(formula.charAt(0) === "=", void 0, {
|
|
3136
3144
|
F: __dxlog_file4,
|
|
3137
|
-
L:
|
|
3145
|
+
L: 475,
|
|
3138
3146
|
S: this,
|
|
3139
3147
|
A: [
|
|
3140
3148
|
"formula.charAt(0) === '='",
|
|
@@ -3142,7 +3150,7 @@ var SheetModel = class {
|
|
|
3142
3150
|
]
|
|
3143
3151
|
});
|
|
3144
3152
|
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
3145
|
-
return this.
|
|
3153
|
+
return addressToIndex(this._sheet, addressFromA1Notation(match));
|
|
3146
3154
|
});
|
|
3147
3155
|
}
|
|
3148
3156
|
/**
|
|
@@ -3151,7 +3159,7 @@ var SheetModel = class {
|
|
|
3151
3159
|
mapFormulaIndicesToRefs(formula) {
|
|
3152
3160
|
(0, import_invariant.invariant)(formula.charAt(0) === "=", void 0, {
|
|
3153
3161
|
F: __dxlog_file4,
|
|
3154
|
-
L:
|
|
3162
|
+
L: 485,
|
|
3155
3163
|
S: this,
|
|
3156
3164
|
A: [
|
|
3157
3165
|
"formula.charAt(0) === '='",
|
|
@@ -3159,7 +3167,7 @@ var SheetModel = class {
|
|
|
3159
3167
|
]
|
|
3160
3168
|
});
|
|
3161
3169
|
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
3162
|
-
return addressToA1Notation(this.
|
|
3170
|
+
return addressToA1Notation(addressFromIndex(this._sheet, idx));
|
|
3163
3171
|
});
|
|
3164
3172
|
}
|
|
3165
3173
|
//
|
|
@@ -3248,12 +3256,17 @@ var CustomPluginTranslations = {
|
|
|
3248
3256
|
FunctionPluginAsync,
|
|
3249
3257
|
SheetModel,
|
|
3250
3258
|
addressFromA1Notation,
|
|
3259
|
+
addressFromIndex,
|
|
3251
3260
|
addressToA1Notation,
|
|
3261
|
+
addressToIndex,
|
|
3262
|
+
closest,
|
|
3252
3263
|
columnLetter,
|
|
3264
|
+
compareIndexPositions,
|
|
3253
3265
|
createComputeGraph,
|
|
3254
3266
|
defaultFunctions,
|
|
3255
3267
|
inRange,
|
|
3256
3268
|
posEquals,
|
|
3269
|
+
rangeFromIndex,
|
|
3257
3270
|
rangeToA1Notation
|
|
3258
3271
|
});
|
|
3259
|
-
//# sourceMappingURL=chunk-
|
|
3272
|
+
//# sourceMappingURL=chunk-ZRQZFV5T.cjs.map
|