@dxos/plugin-sheet 0.6.12-main.89e9959 → 0.6.12-main.ac23639
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-LG77O4RM.mjs → SheetContainer-XBTEYQ6T.mjs} +4 -4
- package/dist/lib/browser/{chunk-QILRZNE5.mjs → chunk-D3QTX46O.mjs} +4 -5
- package/dist/lib/browser/chunk-D3QTX46O.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CHQAW4F4.mjs → chunk-NA6NLHDE.mjs} +117 -260
- package/dist/lib/browser/chunk-NA6NLHDE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WZMOZKQZ.mjs → chunk-NZBWHQSR.mjs} +21 -25
- package/dist/lib/browser/chunk-NZBWHQSR.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +8 -17
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/types.mjs +4 -8
- package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs → SheetContainer-HSRYKV52.cjs} +16 -16
- package/dist/lib/node/{chunk-BNARJ5GM.cjs → chunk-QIFIGEKV.cjs} +6 -7
- package/dist/lib/node/chunk-QIFIGEKV.cjs.map +7 -0
- package/dist/lib/node/{chunk-5FTFZL5W.cjs → chunk-UXH6GKEU.cjs} +61 -202
- package/dist/lib/node/chunk-UXH6GKEU.cjs.map +7 -0
- package/dist/lib/node/{chunk-AOP42UAA.cjs → chunk-XYGN3RTG.cjs} +27 -33
- package/dist/lib/node/chunk-XYGN3RTG.cjs.map +7 -0
- package/dist/lib/node/index.cjs +29 -37
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.cjs +3 -3
- package/dist/lib/node/meta.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types.cjs +8 -12
- package/dist/lib/node/types.cjs.map +2 -2
- package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs → SheetContainer-Q4PHM7ZE.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs → chunk-GH33JLIW.mjs} +21 -25
- package/dist/lib/node-esm/chunk-GH33JLIW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KK3XL37M.mjs → chunk-J2KAVUQA.mjs} +117 -260
- package/dist/lib/node-esm/chunk-J2KAVUQA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IU2L277A.mjs → chunk-VCYJWE3O.mjs} +4 -5
- package/dist/lib/node-esm/chunk-VCYJWE3O.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +8 -17
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/meta.mjs +1 -1
- package/dist/lib/node-esm/types.mjs +4 -8
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/{CellEditor/CellEditor.stories.d.ts → GridSheet/SheetCellEditor.stories.d.ts} +2 -2
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/GridSheet/util.d.ts +2 -2
- package/dist/types/src/components/GridSheet/util.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/extensions/editor/extension.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/extension.test.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/index.d.ts +2 -0
- package/dist/types/src/extensions/editor/index.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +3 -6
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/formatting-model.d.ts +3 -0
- package/dist/types/src/model/formatting-model.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +3 -2
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +4 -20
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +36 -34
- package/src/components/GridSheet/GridSheet.tsx +14 -32
- package/src/components/{CellEditor/CellEditor.stories.tsx → GridSheet/SheetCellEditor.stories.tsx} +2 -2
- package/src/components/GridSheet/util.ts +2 -6
- package/src/components/Sheet/Sheet.stories.tsx +4 -3
- package/src/components/Sheet/Sheet.tsx +2 -8
- package/src/{components/CellEditor → extensions/editor}/index.ts +0 -1
- package/src/extensions/index.ts +1 -0
- package/src/{meta.tsx → meta.ts} +3 -3
- package/src/model/formatting-model.ts +11 -8
- package/src/model/sheet-model.test.ts +1 -3
- package/src/model/sheet-model.ts +13 -11
- package/src/types.ts +8 -35
- package/dist/lib/browser/chunk-CHQAW4F4.mjs.map +0 -7
- package/dist/lib/browser/chunk-QILRZNE5.mjs.map +0 -7
- package/dist/lib/browser/chunk-WZMOZKQZ.mjs.map +0 -7
- package/dist/lib/node/chunk-5FTFZL5W.cjs.map +0 -7
- package/dist/lib/node/chunk-AOP42UAA.cjs.map +0 -7
- package/dist/lib/node/chunk-BNARJ5GM.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KK3XL37M.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RR2AO4SM.mjs.map +0 -7
- package/dist/types/src/components/CellEditor/CellEditor.d.ts +0 -34
- package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +0 -1
- package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/CellEditor/extension.d.ts.map +0 -1
- package/dist/types/src/components/CellEditor/extension.test.d.ts.map +0 -1
- package/dist/types/src/components/CellEditor/index.d.ts +0 -3
- package/dist/types/src/components/CellEditor/index.d.ts.map +0 -1
- package/src/components/CellEditor/CellEditor.tsx +0 -163
- /package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs.map → SheetContainer-XBTEYQ6T.mjs.map} +0 -0
- /package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs.map → SheetContainer-HSRYKV52.cjs.map} +0 -0
- /package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs.map → SheetContainer-Q4PHM7ZE.mjs.map} +0 -0
- /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.d.ts +0 -0
- /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.test.d.ts +0 -0
- /package/src/{components/CellEditor → extensions/editor}/extension.test.ts +0 -0
- /package/src/{components/CellEditor → extensions/editor}/extension.ts +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
SheetType
|
|
4
|
-
|
|
5
|
-
} from "./chunk-RR2AO4SM.mjs";
|
|
3
|
+
SheetType
|
|
4
|
+
} from "./chunk-GH33JLIW.mjs";
|
|
6
5
|
import {
|
|
7
6
|
SHEET_PLUGIN
|
|
8
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VCYJWE3O.mjs";
|
|
9
8
|
import {
|
|
10
9
|
createSheetName
|
|
11
10
|
} from "./chunk-5WPZCXNS.mjs";
|
|
@@ -16,13 +15,14 @@ import { restrictToHorizontalAxis, restrictToVerticalAxis } from "@dnd-kit/modif
|
|
|
16
15
|
import { getEventCoordinates, useCombinedRefs } from "@dnd-kit/utilities";
|
|
17
16
|
import { Function as FunctionIcon } from "@phosphor-icons/react";
|
|
18
17
|
import { Resizable } from "re-resizable";
|
|
19
|
-
import
|
|
18
|
+
import React5, { forwardRef, useEffect as useEffect4, useImperativeHandle, useMemo as useMemo4, useRef, useState as useState5 } from "react";
|
|
20
19
|
import { createPortal } from "react-dom";
|
|
21
20
|
import { useResizeDetector } from "react-resize-detector";
|
|
22
|
-
import { debounce as
|
|
21
|
+
import { debounce as debounce3 } from "@dxos/async";
|
|
23
22
|
import { fullyQualifiedId as fullyQualifiedId2, createDocAccessor } from "@dxos/client/echo";
|
|
24
23
|
import { log as log2 } from "@dxos/log";
|
|
25
24
|
import { ATTENABLE_ATTRIBUTE, useAttendableAttributes, useAttention, useAttentionPath } from "@dxos/react-ui-attention";
|
|
25
|
+
import { CellEditor, editorKeys } from "@dxos/react-ui-grid";
|
|
26
26
|
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
27
27
|
|
|
28
28
|
// packages/plugins/plugin-sheet/src/components/Sheet/grid.ts
|
|
@@ -545,7 +545,7 @@ var ComputeGraphContextProvider = ({ registry, children }) => {
|
|
|
545
545
|
};
|
|
546
546
|
|
|
547
547
|
// packages/plugins/plugin-sheet/src/components/index.ts
|
|
548
|
-
var SheetContainer = React2.lazy(() => import("./SheetContainer-
|
|
548
|
+
var SheetContainer = React2.lazy(() => import("./SheetContainer-Q4PHM7ZE.mjs"));
|
|
549
549
|
|
|
550
550
|
// packages/plugins/plugin-sheet/src/hooks/useComputeGraph.ts
|
|
551
551
|
var useComputeGraph = (space) => {
|
|
@@ -567,6 +567,7 @@ var useComputeGraph = (space) => {
|
|
|
567
567
|
import { useMemo } from "react";
|
|
568
568
|
|
|
569
569
|
// packages/plugins/plugin-sheet/src/model/formatting-model.ts
|
|
570
|
+
import { FieldValueType } from "@dxos/schema";
|
|
570
571
|
var FormattingModel = class {
|
|
571
572
|
constructor(_model) {
|
|
572
573
|
this._model = _model;
|
|
@@ -599,7 +600,7 @@ var FormattingModel = class {
|
|
|
599
600
|
const defaultNumber = "justify-end font-mono";
|
|
600
601
|
const type = formatting?.type ?? this._model.getValueType(cell);
|
|
601
602
|
switch (type) {
|
|
602
|
-
case
|
|
603
|
+
case FieldValueType.Boolean: {
|
|
603
604
|
return {
|
|
604
605
|
value: value.toLocaleString().toUpperCase(),
|
|
605
606
|
classNames: [
|
|
@@ -611,7 +612,7 @@ var FormattingModel = class {
|
|
|
611
612
|
//
|
|
612
613
|
// Numbers.
|
|
613
614
|
//
|
|
614
|
-
case
|
|
615
|
+
case FieldValueType.Number: {
|
|
615
616
|
return {
|
|
616
617
|
value: value.toLocaleString(locales),
|
|
617
618
|
classNames: [
|
|
@@ -620,7 +621,7 @@ var FormattingModel = class {
|
|
|
620
621
|
]
|
|
621
622
|
};
|
|
622
623
|
}
|
|
623
|
-
case
|
|
624
|
+
case FieldValueType.Percent: {
|
|
624
625
|
return {
|
|
625
626
|
value: value * 100 + "%",
|
|
626
627
|
classNames: [
|
|
@@ -629,7 +630,7 @@ var FormattingModel = class {
|
|
|
629
630
|
]
|
|
630
631
|
};
|
|
631
632
|
}
|
|
632
|
-
case
|
|
633
|
+
case FieldValueType.Currency: {
|
|
633
634
|
return {
|
|
634
635
|
value: value.toLocaleString(locales, {
|
|
635
636
|
style: "currency",
|
|
@@ -646,21 +647,21 @@ var FormattingModel = class {
|
|
|
646
647
|
//
|
|
647
648
|
// Dates.
|
|
648
649
|
//
|
|
649
|
-
case
|
|
650
|
+
case FieldValueType.DateTime: {
|
|
650
651
|
const date = this._model.toLocalDate(value);
|
|
651
652
|
return {
|
|
652
653
|
value: date.toLocaleString(locales),
|
|
653
654
|
classNames
|
|
654
655
|
};
|
|
655
656
|
}
|
|
656
|
-
case
|
|
657
|
+
case FieldValueType.Date: {
|
|
657
658
|
const date = this._model.toLocalDate(value);
|
|
658
659
|
return {
|
|
659
660
|
value: date.toLocaleDateString(locales),
|
|
660
661
|
classNames
|
|
661
662
|
};
|
|
662
663
|
}
|
|
663
|
-
case
|
|
664
|
+
case FieldValueType.Time: {
|
|
664
665
|
const date = this._model.toLocalDate(value);
|
|
665
666
|
return {
|
|
666
667
|
value: date.toLocaleTimeString(locales),
|
|
@@ -684,16 +685,17 @@ import { getTypename } from "@dxos/echo-schema";
|
|
|
684
685
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
685
686
|
import { PublicKey } from "@dxos/keys";
|
|
686
687
|
import { log } from "@dxos/log";
|
|
688
|
+
import { FieldValueType as FieldValueType2 } from "@dxos/schema";
|
|
687
689
|
import { DetailedCellError, ExportedCellChange } from "#hyperformula";
|
|
688
690
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
|
|
689
691
|
var typeMap = {
|
|
690
|
-
BOOLEAN:
|
|
691
|
-
NUMBER_RAW:
|
|
692
|
-
NUMBER_PERCENT:
|
|
693
|
-
NUMBER_CURRENCY:
|
|
694
|
-
NUMBER_DATETIME:
|
|
695
|
-
NUMBER_DATE:
|
|
696
|
-
NUMBER_TIME:
|
|
692
|
+
BOOLEAN: FieldValueType2.Boolean,
|
|
693
|
+
NUMBER_RAW: FieldValueType2.Number,
|
|
694
|
+
NUMBER_PERCENT: FieldValueType2.Percent,
|
|
695
|
+
NUMBER_CURRENCY: FieldValueType2.Currency,
|
|
696
|
+
NUMBER_DATETIME: FieldValueType2.DateTime,
|
|
697
|
+
NUMBER_DATE: FieldValueType2.Date,
|
|
698
|
+
NUMBER_TIME: FieldValueType2.Time
|
|
697
699
|
};
|
|
698
700
|
var getTopLeft = (range) => {
|
|
699
701
|
const to = range.to ?? range.from;
|
|
@@ -743,7 +745,7 @@ var SheetModel = class extends Resource {
|
|
|
743
745
|
id: this.id
|
|
744
746
|
}, {
|
|
745
747
|
F: __dxlog_file2,
|
|
746
|
-
L:
|
|
748
|
+
L: 106,
|
|
747
749
|
S: this,
|
|
748
750
|
C: (f, a) => f(...a)
|
|
749
751
|
});
|
|
@@ -765,7 +767,7 @@ var SheetModel = class extends Resource {
|
|
|
765
767
|
reset() {
|
|
766
768
|
invariant2(this._node, void 0, {
|
|
767
769
|
F: __dxlog_file2,
|
|
768
|
-
L:
|
|
770
|
+
L: 126,
|
|
769
771
|
S: this,
|
|
770
772
|
A: [
|
|
771
773
|
"this._node",
|
|
@@ -776,7 +778,7 @@ var SheetModel = class extends Resource {
|
|
|
776
778
|
Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
|
|
777
779
|
invariant2(this._node, void 0, {
|
|
778
780
|
F: __dxlog_file2,
|
|
779
|
-
L:
|
|
781
|
+
L: 129,
|
|
780
782
|
S: this,
|
|
781
783
|
A: [
|
|
782
784
|
"this._node",
|
|
@@ -822,7 +824,7 @@ var SheetModel = class extends Resource {
|
|
|
822
824
|
clear(range) {
|
|
823
825
|
invariant2(this._node, void 0, {
|
|
824
826
|
F: __dxlog_file2,
|
|
825
|
-
L:
|
|
827
|
+
L: 171,
|
|
826
828
|
S: this,
|
|
827
829
|
A: [
|
|
828
830
|
"this._node",
|
|
@@ -840,7 +842,7 @@ var SheetModel = class extends Resource {
|
|
|
840
842
|
cut(range) {
|
|
841
843
|
invariant2(this._node, void 0, {
|
|
842
844
|
F: __dxlog_file2,
|
|
843
|
-
L:
|
|
845
|
+
L: 182,
|
|
844
846
|
S: this,
|
|
845
847
|
A: [
|
|
846
848
|
"this._node",
|
|
@@ -856,7 +858,7 @@ var SheetModel = class extends Resource {
|
|
|
856
858
|
copy(range) {
|
|
857
859
|
invariant2(this._node, void 0, {
|
|
858
860
|
F: __dxlog_file2,
|
|
859
|
-
L:
|
|
861
|
+
L: 191,
|
|
860
862
|
S: this,
|
|
861
863
|
A: [
|
|
862
864
|
"this._node",
|
|
@@ -868,7 +870,7 @@ var SheetModel = class extends Resource {
|
|
|
868
870
|
paste(cell) {
|
|
869
871
|
invariant2(this._node, void 0, {
|
|
870
872
|
F: __dxlog_file2,
|
|
871
|
-
L:
|
|
873
|
+
L: 196,
|
|
872
874
|
S: this,
|
|
873
875
|
A: [
|
|
874
876
|
"this._node",
|
|
@@ -895,7 +897,7 @@ var SheetModel = class extends Resource {
|
|
|
895
897
|
undo() {
|
|
896
898
|
invariant2(this._node, void 0, {
|
|
897
899
|
F: __dxlog_file2,
|
|
898
|
-
L:
|
|
900
|
+
L: 211,
|
|
899
901
|
S: this,
|
|
900
902
|
A: [
|
|
901
903
|
"this._node",
|
|
@@ -909,7 +911,7 @@ var SheetModel = class extends Resource {
|
|
|
909
911
|
redo() {
|
|
910
912
|
invariant2(this._node, void 0, {
|
|
911
913
|
F: __dxlog_file2,
|
|
912
|
-
L:
|
|
914
|
+
L: 219,
|
|
913
915
|
S: this,
|
|
914
916
|
A: [
|
|
915
917
|
"this._node",
|
|
@@ -953,7 +955,7 @@ var SheetModel = class extends Resource {
|
|
|
953
955
|
getValue(cell) {
|
|
954
956
|
invariant2(this._node, void 0, {
|
|
955
957
|
F: __dxlog_file2,
|
|
956
|
-
L:
|
|
958
|
+
L: 262,
|
|
957
959
|
S: this,
|
|
958
960
|
A: [
|
|
959
961
|
"this._node",
|
|
@@ -972,7 +974,7 @@ var SheetModel = class extends Resource {
|
|
|
972
974
|
getValueType(cell) {
|
|
973
975
|
invariant2(this._node, void 0, {
|
|
974
976
|
F: __dxlog_file2,
|
|
975
|
-
L:
|
|
977
|
+
L: 275,
|
|
976
978
|
S: this,
|
|
977
979
|
A: [
|
|
978
980
|
"this._node",
|
|
@@ -989,7 +991,7 @@ var SheetModel = class extends Resource {
|
|
|
989
991
|
setValue(cell, value) {
|
|
990
992
|
invariant2(this._node, void 0, {
|
|
991
993
|
F: __dxlog_file2,
|
|
992
|
-
L:
|
|
994
|
+
L: 285,
|
|
993
995
|
S: this,
|
|
994
996
|
A: [
|
|
995
997
|
"this._node",
|
|
@@ -1086,7 +1088,7 @@ var SheetModel = class extends Resource {
|
|
|
1086
1088
|
mapFormulaRefsToIndices(formula) {
|
|
1087
1089
|
invariant2(formula.charAt(0) === "=", void 0, {
|
|
1088
1090
|
F: __dxlog_file2,
|
|
1089
|
-
L:
|
|
1091
|
+
L: 374,
|
|
1090
1092
|
S: this,
|
|
1091
1093
|
A: [
|
|
1092
1094
|
"formula.charAt(0) === '='",
|
|
@@ -1103,7 +1105,7 @@ var SheetModel = class extends Resource {
|
|
|
1103
1105
|
mapFormulaIndicesToRefs(formula) {
|
|
1104
1106
|
invariant2(formula.charAt(0) === "=", void 0, {
|
|
1105
1107
|
F: __dxlog_file2,
|
|
1106
|
-
L:
|
|
1108
|
+
L: 384,
|
|
1107
1109
|
S: this,
|
|
1108
1110
|
A: [
|
|
1109
1111
|
"formula.charAt(0) === '='",
|
|
@@ -1129,7 +1131,7 @@ var SheetModel = class extends Resource {
|
|
|
1129
1131
|
toDateTime(num) {
|
|
1130
1132
|
invariant2(this._node, void 0, {
|
|
1131
1133
|
F: __dxlog_file2,
|
|
1132
|
-
L:
|
|
1134
|
+
L: 405,
|
|
1133
1135
|
S: this,
|
|
1134
1136
|
A: [
|
|
1135
1137
|
"this._node",
|
|
@@ -1141,7 +1143,7 @@ var SheetModel = class extends Resource {
|
|
|
1141
1143
|
toDate(num) {
|
|
1142
1144
|
invariant2(this._node, void 0, {
|
|
1143
1145
|
F: __dxlog_file2,
|
|
1144
|
-
L:
|
|
1146
|
+
L: 410,
|
|
1145
1147
|
S: this,
|
|
1146
1148
|
A: [
|
|
1147
1149
|
"this._node",
|
|
@@ -1153,7 +1155,7 @@ var SheetModel = class extends Resource {
|
|
|
1153
1155
|
toTime(num) {
|
|
1154
1156
|
invariant2(this._node, void 0, {
|
|
1155
1157
|
F: __dxlog_file2,
|
|
1156
|
-
L:
|
|
1158
|
+
L: 415,
|
|
1157
1159
|
S: this,
|
|
1158
1160
|
A: [
|
|
1159
1161
|
"this._node",
|
|
@@ -1439,169 +1441,23 @@ var scrollIntoView = (scrollContainer, el) => {
|
|
|
1439
1441
|
}
|
|
1440
1442
|
};
|
|
1441
1443
|
|
|
1442
|
-
// packages/plugins/plugin-sheet/src/
|
|
1443
|
-
import {
|
|
1444
|
-
import
|
|
1445
|
-
import {
|
|
1446
|
-
import {
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
run: (editor) => {
|
|
1452
|
-
const value = editor.state.doc.toString();
|
|
1453
|
-
onNav?.(value, {
|
|
1454
|
-
key: "ArrowUp"
|
|
1455
|
-
});
|
|
1456
|
-
return !!onNav;
|
|
1457
|
-
}
|
|
1458
|
-
},
|
|
1459
|
-
{
|
|
1460
|
-
key: "ArrowDown",
|
|
1461
|
-
run: (editor) => {
|
|
1462
|
-
const value = editor.state.doc.toString();
|
|
1463
|
-
onNav?.(value, {
|
|
1464
|
-
key: "ArrowDown"
|
|
1465
|
-
});
|
|
1466
|
-
return !!onNav;
|
|
1467
|
-
}
|
|
1468
|
-
},
|
|
1469
|
-
{
|
|
1470
|
-
key: "ArrowLeft",
|
|
1471
|
-
run: (editor) => {
|
|
1472
|
-
const value = editor.state.doc.toString();
|
|
1473
|
-
onNav?.(value, {
|
|
1474
|
-
key: "ArrowLeft"
|
|
1475
|
-
});
|
|
1476
|
-
return !!onNav;
|
|
1477
|
-
}
|
|
1478
|
-
},
|
|
1479
|
-
{
|
|
1480
|
-
key: "ArrowRight",
|
|
1481
|
-
run: (editor) => {
|
|
1482
|
-
const value = editor.state.doc.toString();
|
|
1483
|
-
onNav?.(value, {
|
|
1484
|
-
key: "ArrowRight"
|
|
1485
|
-
});
|
|
1486
|
-
return !!onNav;
|
|
1487
|
-
}
|
|
1488
|
-
},
|
|
1489
|
-
{
|
|
1490
|
-
key: "Enter",
|
|
1491
|
-
run: (editor) => {
|
|
1492
|
-
onClose(editor.state.doc.toString(), {
|
|
1493
|
-
key: "Enter"
|
|
1494
|
-
});
|
|
1495
|
-
return true;
|
|
1496
|
-
},
|
|
1497
|
-
shift: (editor) => {
|
|
1498
|
-
onClose(editor.state.doc.toString(), {
|
|
1499
|
-
key: "Enter",
|
|
1500
|
-
shift: true
|
|
1501
|
-
});
|
|
1502
|
-
return true;
|
|
1503
|
-
}
|
|
1504
|
-
},
|
|
1505
|
-
{
|
|
1506
|
-
key: "Tab",
|
|
1507
|
-
run: (editor) => {
|
|
1508
|
-
onClose(editor.state.doc.toString(), {
|
|
1509
|
-
key: "Tab"
|
|
1510
|
-
});
|
|
1511
|
-
return true;
|
|
1512
|
-
},
|
|
1513
|
-
shift: (editor) => {
|
|
1514
|
-
onClose(editor.state.doc.toString(), {
|
|
1515
|
-
key: "Tab",
|
|
1516
|
-
shift: true
|
|
1517
|
-
});
|
|
1518
|
-
return true;
|
|
1519
|
-
}
|
|
1520
|
-
},
|
|
1521
|
-
{
|
|
1522
|
-
key: "Escape",
|
|
1523
|
-
run: () => {
|
|
1524
|
-
onClose(void 0, {
|
|
1525
|
-
key: "Escape"
|
|
1526
|
-
});
|
|
1527
|
-
return true;
|
|
1528
|
-
}
|
|
1529
|
-
}
|
|
1530
|
-
]);
|
|
1531
|
-
};
|
|
1532
|
-
var editorVariants = {
|
|
1533
|
-
// TODO(thure): remove when legacy is no longer used.
|
|
1534
|
-
legacy: {
|
|
1535
|
-
root: "flex w-full",
|
|
1536
|
-
editor: "flex w-full [&>.cm-scroller]:scrollbar-none",
|
|
1537
|
-
content: "!px-2 !py-1"
|
|
1538
|
-
},
|
|
1539
|
-
grid: {
|
|
1540
|
-
root: "absolute z-[1]",
|
|
1541
|
-
editor: "[&>.cm-scroller]:scrollbar-none tabular-nums",
|
|
1542
|
-
content: "!border !border-transparent !p-0.5"
|
|
1543
|
-
}
|
|
1544
|
-
};
|
|
1545
|
-
var CellEditor = ({ value, extension, autoFocus, onBlur, variant = "legacy", box, gridId }) => {
|
|
1546
|
-
const { themeMode } = useThemeContext();
|
|
1547
|
-
const { parentRef } = useTextEditor(() => {
|
|
1548
|
-
return {
|
|
1549
|
-
autoFocus,
|
|
1550
|
-
initialValue: value,
|
|
1551
|
-
selection: {
|
|
1552
|
-
anchor: value?.length ?? 0
|
|
1553
|
-
},
|
|
1554
|
-
extensions: [
|
|
1555
|
-
extension ?? [],
|
|
1556
|
-
preventNewline,
|
|
1557
|
-
EditorView.focusChangeEffect.of((_, focusing) => {
|
|
1558
|
-
if (!focusing) {
|
|
1559
|
-
onBlur?.({
|
|
1560
|
-
type: "blur"
|
|
1561
|
-
});
|
|
1562
|
-
}
|
|
1563
|
-
return null;
|
|
1564
|
-
}),
|
|
1565
|
-
createBasicExtensions({
|
|
1566
|
-
lineWrapping: false
|
|
1567
|
-
}),
|
|
1568
|
-
createThemeExtensions({
|
|
1569
|
-
themeMode,
|
|
1570
|
-
slots: {
|
|
1571
|
-
editor: {
|
|
1572
|
-
className: editorVariants[variant].editor
|
|
1573
|
-
},
|
|
1574
|
-
content: {
|
|
1575
|
-
className: editorVariants[variant].content
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
})
|
|
1579
|
-
]
|
|
1580
|
-
};
|
|
1581
|
-
}, [
|
|
1582
|
-
extension,
|
|
1583
|
-
autoFocus,
|
|
1584
|
-
value,
|
|
1585
|
-
variant,
|
|
1586
|
-
onBlur
|
|
1587
|
-
]);
|
|
1588
|
-
return /* @__PURE__ */ React5.createElement("div", {
|
|
1589
|
-
ref: parentRef,
|
|
1590
|
-
className: editorVariants[variant].root,
|
|
1591
|
-
style: box,
|
|
1592
|
-
...gridId && {
|
|
1593
|
-
"data-grid": gridId
|
|
1594
|
-
}
|
|
1595
|
-
});
|
|
1596
|
-
};
|
|
1444
|
+
// packages/plugins/plugin-sheet/src/extensions/compute.ts
|
|
1445
|
+
import { syntaxTree } from "@codemirror/language";
|
|
1446
|
+
import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
|
|
1447
|
+
import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
|
|
1448
|
+
import { debounce as debounce2 } from "@dxos/async";
|
|
1449
|
+
import { invariant as invariant4 } from "@dxos/invariant";
|
|
1450
|
+
import { documentId, singleValueFacet } from "@dxos/react-ui-editor/state";
|
|
1451
|
+
var updateAllDecorations = StateEffect.define();
|
|
1452
|
+
var computeGraphFacet = singleValueFacet();
|
|
1597
1453
|
|
|
1598
|
-
// packages/plugins/plugin-sheet/src/
|
|
1454
|
+
// packages/plugins/plugin-sheet/src/extensions/editor/extension.ts
|
|
1599
1455
|
import { acceptCompletion, autocompletion, completionStatus, startCompletion } from "@codemirror/autocomplete";
|
|
1600
1456
|
import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
|
|
1601
|
-
import { ViewPlugin, keymap
|
|
1457
|
+
import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
|
|
1602
1458
|
import { tags } from "@lezer/highlight";
|
|
1603
1459
|
import { spreadsheet } from "codemirror-lang-spreadsheet";
|
|
1604
|
-
import { singleValueFacet } from "@dxos/react-ui-editor/state";
|
|
1460
|
+
import { singleValueFacet as singleValueFacet2 } from "@dxos/react-ui-editor/state";
|
|
1605
1461
|
import { mx } from "@dxos/react-ui-theme";
|
|
1606
1462
|
var highlightStyles = HighlightStyle.define([
|
|
1607
1463
|
// Function.
|
|
@@ -1633,7 +1489,7 @@ var highlightStyles = HighlightStyle.define([
|
|
|
1633
1489
|
class: "text-unAccent"
|
|
1634
1490
|
}
|
|
1635
1491
|
]);
|
|
1636
|
-
var languageFacet =
|
|
1492
|
+
var languageFacet = singleValueFacet2();
|
|
1637
1493
|
var sheetExtension = ({ functions = [] }) => {
|
|
1638
1494
|
const { extension, language } = spreadsheet({
|
|
1639
1495
|
idiom: "en-US",
|
|
@@ -1715,7 +1571,7 @@ var sheetExtension = ({ functions = [] }) => {
|
|
|
1715
1571
|
icons: false,
|
|
1716
1572
|
tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
|
|
1717
1573
|
}),
|
|
1718
|
-
|
|
1574
|
+
keymap.of([
|
|
1719
1575
|
{
|
|
1720
1576
|
key: "Tab",
|
|
1721
1577
|
run: (view) => {
|
|
@@ -1742,7 +1598,7 @@ var rangeExtension = (onInit) => {
|
|
|
1742
1598
|
}
|
|
1743
1599
|
view.focus();
|
|
1744
1600
|
};
|
|
1745
|
-
return
|
|
1601
|
+
return ViewPlugin2.fromClass(class {
|
|
1746
1602
|
constructor(_view) {
|
|
1747
1603
|
view = _view;
|
|
1748
1604
|
onInit(provider);
|
|
@@ -1810,7 +1666,7 @@ var fragments = {
|
|
|
1810
1666
|
cellSelected: "bg-gridCellSelected text-baseText border !border-accentSurface"
|
|
1811
1667
|
};
|
|
1812
1668
|
var SheetRoot = ({ children, ...props }) => {
|
|
1813
|
-
return /* @__PURE__ */
|
|
1669
|
+
return /* @__PURE__ */ React5.createElement(SheetContextProvider, props, children);
|
|
1814
1670
|
};
|
|
1815
1671
|
var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, forwardRef2) => {
|
|
1816
1672
|
const { model, cursor, setCursor, setRange, setEditing } = useSheetContext();
|
|
@@ -1829,7 +1685,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1829
1685
|
const columnsAccessor = createDocAccessor(model.sheet, [
|
|
1830
1686
|
"columns"
|
|
1831
1687
|
]);
|
|
1832
|
-
const handleUpdate =
|
|
1688
|
+
const handleUpdate = debounce3(() => {
|
|
1833
1689
|
setRows([
|
|
1834
1690
|
...model.sheet.rows
|
|
1835
1691
|
]);
|
|
@@ -1884,7 +1740,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1884
1740
|
const columnAccessor = createDocAccessor(model.sheet, [
|
|
1885
1741
|
"columnMeta"
|
|
1886
1742
|
]);
|
|
1887
|
-
const handleUpdate =
|
|
1743
|
+
const handleUpdate = debounce3(() => {
|
|
1888
1744
|
const mapSizes = (values) => values.reduce((map, [idx, meta]) => {
|
|
1889
1745
|
if (meta.size) {
|
|
1890
1746
|
map[idx] = meta.size;
|
|
@@ -1926,16 +1782,16 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1926
1782
|
}));
|
|
1927
1783
|
}
|
|
1928
1784
|
};
|
|
1929
|
-
return /* @__PURE__ */
|
|
1785
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
1930
1786
|
role: "none",
|
|
1931
1787
|
className: mx2("grid grid-cols-[calc(var(--rail-size)-2px)_1fr] grid-rows-[32px_1fr_32px] bs-full is-full overflow-hidden", classNames)
|
|
1932
|
-
}, /* @__PURE__ */
|
|
1788
|
+
}, /* @__PURE__ */ React5.createElement(GridCorner, {
|
|
1933
1789
|
onClick: () => {
|
|
1934
1790
|
setCursor(void 0);
|
|
1935
1791
|
setRange(void 0);
|
|
1936
1792
|
setEditing(false);
|
|
1937
1793
|
}
|
|
1938
|
-
}), /* @__PURE__ */
|
|
1794
|
+
}), /* @__PURE__ */ React5.createElement(SheetColumns, {
|
|
1939
1795
|
ref: columnsRef,
|
|
1940
1796
|
columns,
|
|
1941
1797
|
sizes: columnSizes,
|
|
@@ -1946,7 +1802,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1946
1802
|
}),
|
|
1947
1803
|
onResize: handleResizeColumn,
|
|
1948
1804
|
onMove: handleMoveColumns
|
|
1949
|
-
}), /* @__PURE__ */
|
|
1805
|
+
}), /* @__PURE__ */ React5.createElement(SheetRows, {
|
|
1950
1806
|
ref: rowsRef,
|
|
1951
1807
|
rows,
|
|
1952
1808
|
sizes: rowSizes,
|
|
@@ -1957,7 +1813,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1957
1813
|
}),
|
|
1958
1814
|
onResize: handleResizeRow,
|
|
1959
1815
|
onMove: handleMoveRows
|
|
1960
|
-
}), /* @__PURE__ */
|
|
1816
|
+
}), /* @__PURE__ */ React5.createElement(SheetGrid, {
|
|
1961
1817
|
ref: contentRef,
|
|
1962
1818
|
size: {
|
|
1963
1819
|
numRows: numRows ?? rows.length,
|
|
@@ -1967,7 +1823,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
|
|
|
1967
1823
|
columns,
|
|
1968
1824
|
rowSizes,
|
|
1969
1825
|
columnSizes
|
|
1970
|
-
}), /* @__PURE__ */
|
|
1826
|
+
}), /* @__PURE__ */ React5.createElement(GridCorner, null), /* @__PURE__ */ React5.createElement(SheetStatusBar, null));
|
|
1971
1827
|
});
|
|
1972
1828
|
var useScrollHandlers = () => {
|
|
1973
1829
|
const rowsRef = useRef(null);
|
|
@@ -2010,13 +1866,13 @@ var useScrollHandlers = () => {
|
|
|
2010
1866
|
};
|
|
2011
1867
|
};
|
|
2012
1868
|
var GridCorner = (props) => {
|
|
2013
|
-
return /* @__PURE__ */
|
|
1869
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2014
1870
|
className: fragments.axis,
|
|
2015
1871
|
...props
|
|
2016
1872
|
});
|
|
2017
1873
|
};
|
|
2018
1874
|
var MovingOverlay = ({ label }) => {
|
|
2019
|
-
return /* @__PURE__ */
|
|
1875
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2020
1876
|
className: "flex w-full h-full justify-center items-center text-sm p-1 bg-gridOverlay cursor-pointer"
|
|
2021
1877
|
}, label);
|
|
2022
1878
|
};
|
|
@@ -2060,18 +1916,18 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
|
|
|
2060
1916
|
}
|
|
2061
1917
|
return transform;
|
|
2062
1918
|
};
|
|
2063
|
-
return /* @__PURE__ */
|
|
1919
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2064
1920
|
className: "relative flex grow overflow-hidden"
|
|
2065
|
-
}, /* @__PURE__ */
|
|
1921
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2066
1922
|
className: mx2("z-20 absolute inset-0 border-y border-gridLine pointer-events-none"),
|
|
2067
1923
|
style: {
|
|
2068
1924
|
width: axisWidth
|
|
2069
1925
|
}
|
|
2070
|
-
}), /* @__PURE__ */
|
|
1926
|
+
}), /* @__PURE__ */ React5.createElement("div", {
|
|
2071
1927
|
ref: forwardRef2,
|
|
2072
1928
|
role: "rowheader",
|
|
2073
1929
|
className: "grow overflow-y-auto scrollbar-none"
|
|
2074
|
-
}, /* @__PURE__ */
|
|
1930
|
+
}, /* @__PURE__ */ React5.createElement(DndContext, {
|
|
2075
1931
|
sensors,
|
|
2076
1932
|
modifiers: [
|
|
2077
1933
|
restrictToVerticalAxis,
|
|
@@ -2079,12 +1935,12 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
|
|
|
2079
1935
|
],
|
|
2080
1936
|
onDragStart: handleDragStart,
|
|
2081
1937
|
onDragEnd: handleDragEnd
|
|
2082
|
-
}, /* @__PURE__ */
|
|
1938
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2083
1939
|
className: "flex flex-col",
|
|
2084
1940
|
style: {
|
|
2085
1941
|
width: axisWidth
|
|
2086
1942
|
}
|
|
2087
|
-
}, rows.map((idx, index) => /* @__PURE__ */
|
|
1943
|
+
}, rows.map((idx, index) => /* @__PURE__ */ React5.createElement(GridRowCell, {
|
|
2088
1944
|
key: idx,
|
|
2089
1945
|
idx,
|
|
2090
1946
|
index,
|
|
@@ -2094,7 +1950,7 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
|
|
|
2094
1950
|
selected: selected === index,
|
|
2095
1951
|
onResize,
|
|
2096
1952
|
onSelect
|
|
2097
|
-
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */
|
|
1953
|
+
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
|
|
2098
1954
|
label: String(active.data.current.index + 1)
|
|
2099
1955
|
})), document.body))));
|
|
2100
1956
|
});
|
|
@@ -2135,7 +1991,7 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
|
|
|
2135
1991
|
onResize?.(idx, initialSize + height, true);
|
|
2136
1992
|
setResizing(false);
|
|
2137
1993
|
};
|
|
2138
|
-
return /* @__PURE__ */
|
|
1994
|
+
return /* @__PURE__ */ React5.createElement(Resizable, {
|
|
2139
1995
|
enable: {
|
|
2140
1996
|
bottom: resize
|
|
2141
1997
|
},
|
|
@@ -2147,17 +2003,17 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
|
|
|
2147
2003
|
onResizeStart: handleResizeStart,
|
|
2148
2004
|
onResize: handleResize,
|
|
2149
2005
|
onResizeStop: handleResizeStop
|
|
2150
|
-
}, /* @__PURE__ */
|
|
2006
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2151
2007
|
ref: setNodeRef,
|
|
2152
2008
|
...attributes,
|
|
2153
2009
|
...listeners,
|
|
2154
2010
|
className: mx2("flex h-full items-center justify-center cursor-pointer", "border-t border-gridLine focus-visible:outline-none", fragments.axis, selected && fragments.axisSelected, isDragging && fragments.axisSelected),
|
|
2155
2011
|
onClick: () => onSelect?.(index)
|
|
2156
|
-
}, /* @__PURE__ */
|
|
2012
|
+
}, /* @__PURE__ */ React5.createElement("span", {
|
|
2157
2013
|
className: "flex w-full justify-center"
|
|
2158
|
-
}, label), over?.id === idx && !isDragging && /* @__PURE__ */
|
|
2014
|
+
}, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
|
|
2159
2015
|
className: "z-20 absolute top-0 w-full min-h-[4px] border-b-4 border-accentSurface"
|
|
2160
|
-
}), resizing && /* @__PURE__ */
|
|
2016
|
+
}), resizing && /* @__PURE__ */ React5.createElement("div", {
|
|
2161
2017
|
className: "z-20 absolute bottom-0 w-full min-h-[4px] border-b-4 border-accentSurface"
|
|
2162
2018
|
})));
|
|
2163
2019
|
};
|
|
@@ -2194,18 +2050,18 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
|
|
|
2194
2050
|
}
|
|
2195
2051
|
return transform;
|
|
2196
2052
|
};
|
|
2197
|
-
return /* @__PURE__ */
|
|
2053
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2198
2054
|
className: "relative flex grow overflow-hidden"
|
|
2199
|
-
}, /* @__PURE__ */
|
|
2055
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2200
2056
|
className: mx2("z-20 absolute inset-0 border-x border-gridLine pointer-events-none"),
|
|
2201
2057
|
style: {
|
|
2202
2058
|
height: axisHeight
|
|
2203
2059
|
}
|
|
2204
|
-
}), /* @__PURE__ */
|
|
2060
|
+
}), /* @__PURE__ */ React5.createElement("div", {
|
|
2205
2061
|
ref: forwardRef2,
|
|
2206
2062
|
role: "columnheader",
|
|
2207
2063
|
className: "grow overflow-x-auto scrollbar-none"
|
|
2208
|
-
}, /* @__PURE__ */
|
|
2064
|
+
}, /* @__PURE__ */ React5.createElement(DndContext, {
|
|
2209
2065
|
autoScroll: {
|
|
2210
2066
|
enabled: true
|
|
2211
2067
|
},
|
|
@@ -2216,12 +2072,12 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
|
|
|
2216
2072
|
],
|
|
2217
2073
|
onDragStart: handleDragStart,
|
|
2218
2074
|
onDragEnd: handleDragEnd
|
|
2219
|
-
}, /* @__PURE__ */
|
|
2075
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2220
2076
|
className: "flex h-full",
|
|
2221
2077
|
style: {
|
|
2222
2078
|
height: axisHeight
|
|
2223
2079
|
}
|
|
2224
|
-
}, columns.map((idx, index) => /* @__PURE__ */
|
|
2080
|
+
}, columns.map((idx, index) => /* @__PURE__ */ React5.createElement(GridColumnCell, {
|
|
2225
2081
|
key: idx,
|
|
2226
2082
|
idx,
|
|
2227
2083
|
index,
|
|
@@ -2231,7 +2087,7 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
|
|
|
2231
2087
|
selected: selected === index,
|
|
2232
2088
|
onResize,
|
|
2233
2089
|
onSelect
|
|
2234
|
-
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */
|
|
2090
|
+
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
|
|
2235
2091
|
label: columnLetter(active.data.current.index)
|
|
2236
2092
|
})), document.body))));
|
|
2237
2093
|
});
|
|
@@ -2272,7 +2128,7 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
|
|
|
2272
2128
|
onResize?.(idx, initialSize + width, true);
|
|
2273
2129
|
setResizing(false);
|
|
2274
2130
|
};
|
|
2275
|
-
return /* @__PURE__ */
|
|
2131
|
+
return /* @__PURE__ */ React5.createElement(Resizable, {
|
|
2276
2132
|
enable: {
|
|
2277
2133
|
right: resize
|
|
2278
2134
|
},
|
|
@@ -2284,17 +2140,17 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
|
|
|
2284
2140
|
onResizeStart: handleResizeStart,
|
|
2285
2141
|
onResize: handleResize,
|
|
2286
2142
|
onResizeStop: handleResizeStop
|
|
2287
|
-
}, /* @__PURE__ */
|
|
2143
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2288
2144
|
ref: setNodeRef,
|
|
2289
2145
|
...attributes,
|
|
2290
2146
|
...listeners,
|
|
2291
2147
|
className: mx2("flex h-full items-center justify-center cursor-pointer", "border-l border-gridLine focus-visible:outline-none", fragments.axis, selected && fragments.axisSelected, isDragging && fragments.axisSelected),
|
|
2292
2148
|
onClick: () => onSelect?.(index)
|
|
2293
|
-
}, /* @__PURE__ */
|
|
2149
|
+
}, /* @__PURE__ */ React5.createElement("span", {
|
|
2294
2150
|
className: "flex w-full justify-center"
|
|
2295
|
-
}, label), over?.id === idx && !isDragging && /* @__PURE__ */
|
|
2151
|
+
}, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
|
|
2296
2152
|
className: "z-20 absolute left-0 h-full min-w-[4px] border-l-4 border-accentSurface"
|
|
2297
|
-
}), resizing && /* @__PURE__ */
|
|
2153
|
+
}), resizing && /* @__PURE__ */ React5.createElement("div", {
|
|
2298
2154
|
className: "z-20 absolute right-0 h-full min-h-[4px] border-l-4 border-accentSurface"
|
|
2299
2155
|
})));
|
|
2300
2156
|
};
|
|
@@ -2314,7 +2170,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2314
2170
|
id: model.id
|
|
2315
2171
|
}, {
|
|
2316
2172
|
F: __dxlog_file4,
|
|
2317
|
-
L:
|
|
2173
|
+
L: 732,
|
|
2318
2174
|
S: void 0,
|
|
2319
2175
|
C: (f, a) => f(...a)
|
|
2320
2176
|
});
|
|
@@ -2433,16 +2289,16 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2433
2289
|
});
|
|
2434
2290
|
const id = fullyQualifiedId2(model.sheet);
|
|
2435
2291
|
const { hasAttention } = useAttention(id);
|
|
2436
|
-
return /* @__PURE__ */
|
|
2292
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2437
2293
|
ref: containerRef,
|
|
2438
2294
|
role: "grid",
|
|
2439
2295
|
className: "relative flex grow overflow-hidden"
|
|
2440
|
-
}, /* @__PURE__ */
|
|
2296
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2441
2297
|
className: mx2("z-20 absolute inset-0 border border-gridLine pointer-events-none")
|
|
2442
|
-
}), /* @__PURE__ */
|
|
2298
|
+
}), /* @__PURE__ */ React5.createElement("div", {
|
|
2443
2299
|
ref: scrollerRef,
|
|
2444
2300
|
className: mx2("grow", hasAttention && "overflow-auto scrollbar-thin")
|
|
2445
|
-
}, /* @__PURE__ */
|
|
2301
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2446
2302
|
className: "relative select-none",
|
|
2447
2303
|
style: {
|
|
2448
2304
|
width,
|
|
@@ -2450,7 +2306,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2450
2306
|
},
|
|
2451
2307
|
onClick: () => inputRef.current?.focus(),
|
|
2452
2308
|
...handlers
|
|
2453
|
-
}, scrollerRef.current && /* @__PURE__ */
|
|
2309
|
+
}, scrollerRef.current && /* @__PURE__ */ React5.createElement(SelectionOverlay, {
|
|
2454
2310
|
root: scrollerRef.current
|
|
2455
2311
|
}), rowRange.map(({ row, top, height: height2 }) => {
|
|
2456
2312
|
return columnRange.map(({ col, left, width: width2 }) => {
|
|
@@ -2499,7 +2355,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2499
2355
|
inputRef.current?.focus();
|
|
2500
2356
|
setEditing(false);
|
|
2501
2357
|
};
|
|
2502
|
-
return /* @__PURE__ */
|
|
2358
|
+
return /* @__PURE__ */ React5.createElement(GridCellEditor, {
|
|
2503
2359
|
key: idx,
|
|
2504
2360
|
value,
|
|
2505
2361
|
style,
|
|
@@ -2507,7 +2363,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2507
2363
|
onClose: handleClose
|
|
2508
2364
|
});
|
|
2509
2365
|
}
|
|
2510
|
-
return /* @__PURE__ */
|
|
2366
|
+
return /* @__PURE__ */ React5.createElement(SheetCell, {
|
|
2511
2367
|
key: id2,
|
|
2512
2368
|
id: id2,
|
|
2513
2369
|
cell,
|
|
@@ -2519,7 +2375,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
|
|
|
2519
2375
|
}
|
|
2520
2376
|
});
|
|
2521
2377
|
});
|
|
2522
|
-
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */
|
|
2378
|
+
}))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(SheetInput, {
|
|
2523
2379
|
ref: inputRef,
|
|
2524
2380
|
id,
|
|
2525
2381
|
onKeyDown: handleKeyDown
|
|
@@ -2529,10 +2385,10 @@ var SheetInput = /* @__PURE__ */ forwardRef(({ id, onKeyDown }, forwardedRef) =>
|
|
|
2529
2385
|
const path = useAttentionPath();
|
|
2530
2386
|
const attendableAttrs = useAttendableAttributes(id);
|
|
2531
2387
|
return path.toReversed().reduce((acc, part) => {
|
|
2532
|
-
return /* @__PURE__ */
|
|
2388
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2533
2389
|
[ATTENABLE_ATTRIBUTE]: part
|
|
2534
2390
|
}, acc);
|
|
2535
|
-
}, /* @__PURE__ */
|
|
2391
|
+
}, /* @__PURE__ */ React5.createElement("input", {
|
|
2536
2392
|
ref: forwardedRef,
|
|
2537
2393
|
className: "absolute w-[1px] h-[1px] bg-transparent outline-none border-none caret-transparent",
|
|
2538
2394
|
onKeyDown,
|
|
@@ -2552,7 +2408,7 @@ var SelectionOverlay = ({ root }) => {
|
|
|
2552
2408
|
const b1 = getRelativeClientRect(root, c1);
|
|
2553
2409
|
const b2 = getRelativeClientRect(root, c2);
|
|
2554
2410
|
const bounds = getRectUnion(b1, b2);
|
|
2555
|
-
return /* @__PURE__ */
|
|
2411
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2556
2412
|
role: "none",
|
|
2557
2413
|
style: bounds,
|
|
2558
2414
|
className: "z-10 absolute pointer-events-none bg-gridSelectionOverlay border border-gridOverlay"
|
|
@@ -2570,12 +2426,12 @@ var SheetCell = ({ id, cell, style, active, onSelect }) => {
|
|
|
2570
2426
|
return children;
|
|
2571
2427
|
}
|
|
2572
2428
|
const DecoratorComponent = decorate;
|
|
2573
|
-
return /* @__PURE__ */
|
|
2574
|
-
}, /* @__PURE__ */
|
|
2429
|
+
return /* @__PURE__ */ React5.createElement(DecoratorComponent, null, children);
|
|
2430
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2575
2431
|
role: "none",
|
|
2576
2432
|
className: mx2("flex flex-grow bs-full is-full px-2 items-center truncate cursor-pointer", ...decorationAddedClasses)
|
|
2577
2433
|
}, value));
|
|
2578
|
-
return /* @__PURE__ */
|
|
2434
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2579
2435
|
[`data-${CELL_DATA_KEY}`]: id,
|
|
2580
2436
|
role: "cell",
|
|
2581
2437
|
style,
|
|
@@ -2617,12 +2473,12 @@ var GridCellEditor = ({ style, value, onNav, onClose }) => {
|
|
|
2617
2473
|
], [
|
|
2618
2474
|
model
|
|
2619
2475
|
]);
|
|
2620
|
-
return /* @__PURE__ */
|
|
2476
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2621
2477
|
role: "cell",
|
|
2622
2478
|
style,
|
|
2623
2479
|
className: mx2("z-20 flex", fragments.cellSelected),
|
|
2624
2480
|
onClick: (ev) => ev.stopPropagation()
|
|
2625
|
-
}, /* @__PURE__ */
|
|
2481
|
+
}, /* @__PURE__ */ React5.createElement(CellEditor, {
|
|
2626
2482
|
autoFocus: true,
|
|
2627
2483
|
value,
|
|
2628
2484
|
extension
|
|
@@ -2641,17 +2497,17 @@ var SheetStatusBar = () => {
|
|
|
2641
2497
|
value = String(value);
|
|
2642
2498
|
}
|
|
2643
2499
|
}
|
|
2644
|
-
return /* @__PURE__ */
|
|
2500
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2645
2501
|
className: mx2("flex shrink-0 justify-between items-center px-4 py-1 text-sm border-x border-gridLine")
|
|
2646
|
-
}, /* @__PURE__ */
|
|
2502
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2647
2503
|
className: "flex gap-4 items-center"
|
|
2648
|
-
}, /* @__PURE__ */
|
|
2504
|
+
}, /* @__PURE__ */ React5.createElement("div", {
|
|
2649
2505
|
className: "flex w-16 items-center font-mono"
|
|
2650
|
-
}, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */
|
|
2506
|
+
}, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */ React5.createElement("div", {
|
|
2651
2507
|
className: "flex gap-2 items-center"
|
|
2652
|
-
}, /* @__PURE__ */
|
|
2508
|
+
}, /* @__PURE__ */ React5.createElement(FunctionIcon, {
|
|
2653
2509
|
className: mx2("text-greenText", isFormula ? "visible" : "invisible")
|
|
2654
|
-
}), /* @__PURE__ */
|
|
2510
|
+
}), /* @__PURE__ */ React5.createElement("span", {
|
|
2655
2511
|
className: "font-mono"
|
|
2656
2512
|
}, value))));
|
|
2657
2513
|
};
|
|
@@ -2669,9 +2525,9 @@ var SheetDebug = () => {
|
|
|
2669
2525
|
}, [
|
|
2670
2526
|
model
|
|
2671
2527
|
]);
|
|
2672
|
-
return /* @__PURE__ */
|
|
2528
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
2673
2529
|
className: mx2("z-20 absolute right-0 top-20 bottom-20 w-[30rem] overflow-auto scrollbar-thin", "border border-gridLine text-xs bg-neutral-50 dark:bg-black text-cyan-500 font-mono p-1 opacity-80")
|
|
2674
|
-
}, /* @__PURE__ */
|
|
2530
|
+
}, /* @__PURE__ */ React5.createElement("pre", {
|
|
2675
2531
|
className: "whitespace-pre-wrap"
|
|
2676
2532
|
}, JSON.stringify({
|
|
2677
2533
|
cursor,
|
|
@@ -2700,7 +2556,8 @@ export {
|
|
|
2700
2556
|
compareIndexPositions,
|
|
2701
2557
|
useComputeGraph,
|
|
2702
2558
|
useSheetContext,
|
|
2559
|
+
computeGraphFacet,
|
|
2703
2560
|
Sheet,
|
|
2704
2561
|
SheetContainer
|
|
2705
2562
|
};
|
|
2706
|
-
//# sourceMappingURL=chunk-
|
|
2563
|
+
//# sourceMappingURL=chunk-J2KAVUQA.mjs.map
|