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