@dxos/plugin-sheet 0.7.5-main.9d26e3a → 0.7.5-main.9d2a38b
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-CM4CO3DC.mjs +370 -0
- package/dist/lib/browser/SheetContainer-CM4CO3DC.mjs.map +7 -0
- package/dist/lib/browser/chunk-FOO6NGBM.mjs +229 -0
- package/dist/lib/browser/chunk-FOO6NGBM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-A374JPWV.mjs → chunk-H23JW3DX.mjs} +139 -381
- package/dist/lib/browser/chunk-H23JW3DX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RABELMEQ.mjs → chunk-K6EUYKWT.mjs} +3 -3
- package/dist/lib/browser/chunk-K6EUYKWT.mjs.map +7 -0
- package/dist/lib/browser/chunk-PW25VUP6.mjs +15 -0
- package/dist/lib/browser/chunk-PW25VUP6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-Q4XS4YWF.mjs → chunk-T3IVPMRX.mjs} +2 -2
- package/dist/lib/browser/chunk-T3IVPMRX.mjs.map +7 -0
- package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs +27 -0
- package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +86 -218
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs +47 -0
- package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs.map +7 -0
- package/dist/lib/browser/markdown-IKG5FNCA.mjs +26 -0
- package/dist/lib/browser/markdown-IKG5FNCA.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-JG43577H.mjs +28 -0
- package/dist/lib/browser/react-context-JG43577H.mjs.map +7 -0
- package/dist/lib/browser/react-surface-URRC3AFC.mjs +43 -0
- package/dist/lib/browser/react-surface-URRC3AFC.mjs.map +7 -0
- package/dist/lib/browser/thread-YX6KBQNQ.mjs +17 -0
- package/dist/lib/browser/thread-YX6KBQNQ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs +364 -0
- package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs.map +7 -0
- package/dist/lib/node/{chunk-TQOJ7DG2.cjs → chunk-E3RXOEL6.cjs} +6 -6
- package/dist/lib/node/chunk-E3RXOEL6.cjs.map +7 -0
- package/dist/lib/node/{meta.cjs → chunk-FU5K66DS.cjs} +12 -8
- package/dist/lib/node/chunk-FU5K66DS.cjs.map +7 -0
- package/dist/lib/node/{chunk-2ZVZI2KJ.cjs → chunk-NLDXUFDG.cjs} +7 -7
- package/dist/lib/node/chunk-NLDXUFDG.cjs.map +7 -0
- package/dist/lib/node/chunk-P4KSGZSS.cjs +251 -0
- package/dist/lib/node/chunk-P4KSGZSS.cjs.map +7 -0
- package/dist/lib/node/{chunk-FDEQ2PGJ.cjs → chunk-ZPWW4LPY.cjs} +181 -419
- package/dist/lib/node/chunk-ZPWW4LPY.cjs.map +7 -0
- package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs +53 -0
- package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs.map +7 -0
- package/dist/lib/node/index.cjs +87 -215
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs +60 -0
- package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs.map +7 -0
- package/dist/lib/node/markdown-EUUL3Q36.cjs +40 -0
- package/dist/lib/node/markdown-EUUL3Q36.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-context-OOH5QFE2.cjs +50 -0
- package/dist/lib/node/react-context-OOH5QFE2.cjs.map +7 -0
- package/dist/lib/node/react-surface-IQN5JKSS.cjs +64 -0
- package/dist/lib/node/react-surface-IQN5JKSS.cjs.map +7 -0
- package/dist/lib/node/thread-VBPS23P2.cjs +32 -0
- package/dist/lib/node/thread-VBPS23P2.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +30 -30
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs +371 -0
- package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BM2Q3FFC.mjs → chunk-FMOVRTS4.mjs} +3 -3
- package/dist/lib/node-esm/chunk-FMOVRTS4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KCXK5UM6.mjs +16 -0
- package/dist/lib/node-esm/chunk-KCXK5UM6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NYYIDVR7.mjs → chunk-NSVUOAI6.mjs} +2 -2
- package/dist/lib/node-esm/chunk-NSVUOAI6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-L5PQHVTX.mjs → chunk-OXD6RBFF.mjs} +139 -381
- package/dist/lib/node-esm/chunk-OXD6RBFF.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PTOI45NK.mjs +231 -0
- package/dist/lib/node-esm/chunk-PTOI45NK.mjs.map +7 -0
- package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs +28 -0
- package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +86 -218
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs +48 -0
- package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs.map +7 -0
- package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs +27 -0
- package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-context-CJVSLO74.mjs +29 -0
- package/dist/lib/node-esm/react-context-CJVSLO74.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs +44 -0
- package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs.map +7 -0
- package/dist/lib/node-esm/thread-HSJD3SR6.mjs +18 -0
- package/dist/lib/node-esm/thread-HSJD3SR6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SheetPlugin.d.ts +1 -3
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +5 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +4 -0
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +17 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/markdown.d.ts +6 -0
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context.d.ts +8 -0
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/thread.d.ts +6 -0
- package/dist/types/src/capabilities/thread.d.ts.map +1 -0
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +7 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +6 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/align.d.ts +28 -0
- package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/comment.d.ts +23 -0
- package/dist/types/src/components/SheetToolbar/comment.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/index.d.ts +2 -0
- package/dist/types/src/components/SheetToolbar/index.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/style.d.ts +26 -0
- package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts +8 -0
- package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +6 -0
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -0
- 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/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +1 -1
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +0 -11
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +44 -51
- package/src/SheetPlugin.tsx +68 -103
- package/src/capabilities/capabilities.ts +14 -0
- package/src/capabilities/compute-graph-registry.ts +25 -0
- package/src/capabilities/index.ts +14 -0
- package/src/capabilities/intent-resolver.ts +29 -0
- package/src/capabilities/markdown.ts +22 -0
- package/src/capabilities/react-context.tsx +20 -0
- package/src/capabilities/react-surface.tsx +30 -0
- package/src/capabilities/thread.ts +14 -0
- package/src/components/GridSheet/GridSheet.stories.tsx +2 -0
- package/src/components/SheetContainer/SheetContainer.stories.tsx +25 -22
- package/src/components/SheetContainer/SheetContainer.tsx +3 -8
- package/src/components/{Toolbar/Toolbar.stories.tsx → SheetToolbar/SheetToolbar.stories.tsx} +4 -8
- package/src/components/SheetToolbar/SheetToolbar.tsx +48 -0
- package/src/components/SheetToolbar/align.ts +68 -0
- package/src/components/SheetToolbar/comment.ts +56 -0
- package/src/components/{Toolbar → SheetToolbar}/index.ts +1 -1
- package/src/components/SheetToolbar/style.ts +72 -0
- package/src/components/SheetToolbar/useToolbarAction.ts +87 -0
- package/src/components/SheetToolbar/useToolbarState.ts +17 -0
- package/src/components/index.ts +0 -1
- package/src/index.ts +2 -5
- package/src/meta.ts +1 -1
- package/src/types/sheet-range-types.ts +1 -1
- package/src/types/types.ts +0 -26
- package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs +0 -290
- package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs.map +0 -7
- package/dist/lib/browser/chunk-A374JPWV.mjs.map +0 -7
- package/dist/lib/browser/chunk-Q4XS4YWF.mjs.map +0 -7
- package/dist/lib/browser/chunk-RABELMEQ.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/meta.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-TP4GYXZB.cjs +0 -296
- package/dist/lib/node/SheetContainer-TP4GYXZB.cjs.map +0 -7
- package/dist/lib/node/chunk-2ZVZI2KJ.cjs.map +0 -7
- package/dist/lib/node/chunk-FDEQ2PGJ.cjs.map +0 -7
- package/dist/lib/node/chunk-TQOJ7DG2.cjs.map +0 -7
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs +0 -291
- package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-L5PQHVTX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NYYIDVR7.mjs.map +0 -7
- package/dist/lib/node-esm/meta.mjs +0 -10
- package/dist/lib/node-esm/meta.mjs.map +0 -7
- package/dist/types/src/components/SheetObjectSettings.d.ts +0 -7
- package/dist/types/src/components/SheetObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -48
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -7
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/index.d.ts +0 -2
- package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
- package/src/components/SheetObjectSettings.tsx +0 -38
- package/src/components/Toolbar/Toolbar.tsx +0 -344
|
@@ -7,10 +7,14 @@ import {
|
|
|
7
7
|
cellClassNameForRange,
|
|
8
8
|
rangeFromIndex,
|
|
9
9
|
useSheetModel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-NSVUOAI6.mjs";
|
|
11
|
+
import {
|
|
12
|
+
rangeExtension,
|
|
13
|
+
sheetExtension
|
|
14
|
+
} from "./chunk-PTOI45NK.mjs";
|
|
11
15
|
import {
|
|
12
16
|
SHEET_PLUGIN
|
|
13
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-FMOVRTS4.mjs";
|
|
14
18
|
|
|
15
19
|
// packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx
|
|
16
20
|
import React, { createContext, useContext } from "react";
|
|
@@ -39,334 +43,8 @@ var useComputeGraph = (space) => {
|
|
|
39
43
|
return graph;
|
|
40
44
|
};
|
|
41
45
|
|
|
42
|
-
// packages/plugins/plugin-sheet/src/extensions/compute.ts
|
|
43
|
-
import { syntaxTree } from "@codemirror/language";
|
|
44
|
-
import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
|
|
45
|
-
import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
|
|
46
|
-
import { debounce } from "@dxos/async";
|
|
47
|
-
import { createSheetName } from "@dxos/compute";
|
|
48
|
-
import { invariant } from "@dxos/invariant";
|
|
49
|
-
import { documentId, singleValueFacet } from "@dxos/react-ui-editor";
|
|
50
|
-
var updateAllDecorations = StateEffect.define();
|
|
51
|
-
var computeGraphFacet = singleValueFacet();
|
|
52
|
-
|
|
53
|
-
// packages/plugins/plugin-sheet/src/extensions/editor/extension.ts
|
|
54
|
-
import { acceptCompletion, autocompletion, completionStatus, startCompletion } from "@codemirror/autocomplete";
|
|
55
|
-
import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
|
|
56
|
-
import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
|
|
57
|
-
import { tags } from "@lezer/highlight";
|
|
58
|
-
import { spreadsheet } from "codemirror-lang-spreadsheet";
|
|
59
|
-
import { RANGE_NOTATION } from "@dxos/compute";
|
|
60
|
-
import { singleValueFacet as singleValueFacet2 } from "@dxos/react-ui-editor";
|
|
61
|
-
import { mx } from "@dxos/react-ui-theme";
|
|
62
|
-
var highlightStyles = HighlightStyle.define([
|
|
63
|
-
// Function.
|
|
64
|
-
{
|
|
65
|
-
tag: tags.name,
|
|
66
|
-
class: "text-accentText"
|
|
67
|
-
},
|
|
68
|
-
// Range.
|
|
69
|
-
{
|
|
70
|
-
tag: tags.tagName,
|
|
71
|
-
class: "text-pinkText"
|
|
72
|
-
},
|
|
73
|
-
// Values.
|
|
74
|
-
{
|
|
75
|
-
tag: tags.number,
|
|
76
|
-
class: "text-tealText"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
tag: tags.bool,
|
|
80
|
-
class: "text-tealText"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
tag: tags.string,
|
|
84
|
-
class: "text-tealText"
|
|
85
|
-
},
|
|
86
|
-
// Error.
|
|
87
|
-
{
|
|
88
|
-
tag: tags.invalid,
|
|
89
|
-
class: "text-unAccent"
|
|
90
|
-
}
|
|
91
|
-
]);
|
|
92
|
-
var languageFacet = singleValueFacet2();
|
|
93
|
-
var sheetExtension = ({ debug, functions = [] }) => {
|
|
94
|
-
const { extension, language } = spreadsheet({
|
|
95
|
-
idiom: "en-US",
|
|
96
|
-
decimalSeparator: "."
|
|
97
|
-
});
|
|
98
|
-
const createCompletion = (name) => {
|
|
99
|
-
const { section = "Custom", description, syntax } = functions.find((value) => value.name === name) ?? {};
|
|
100
|
-
return {
|
|
101
|
-
section,
|
|
102
|
-
label: name,
|
|
103
|
-
info: () => {
|
|
104
|
-
if (!description && !syntax) {
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
const root = document.createElement("div");
|
|
108
|
-
root.className = "flex flex-col gap-2 text-sm";
|
|
109
|
-
const title = document.createElement("h2");
|
|
110
|
-
title.innerText = name;
|
|
111
|
-
title.className = "text-lg font-mono text-accentText";
|
|
112
|
-
root.appendChild(title);
|
|
113
|
-
if (description) {
|
|
114
|
-
const info = document.createElement("p");
|
|
115
|
-
info.innerText = description;
|
|
116
|
-
info.className = "text-subdued";
|
|
117
|
-
root.appendChild(info);
|
|
118
|
-
}
|
|
119
|
-
if (syntax) {
|
|
120
|
-
const detail = document.createElement("pre");
|
|
121
|
-
detail.innerText = syntax;
|
|
122
|
-
detail.className = "whitespace-pre-wrap text-greenText";
|
|
123
|
-
root.appendChild(detail);
|
|
124
|
-
}
|
|
125
|
-
return root;
|
|
126
|
-
},
|
|
127
|
-
apply: (view, completion, from, to) => {
|
|
128
|
-
const insertParens = to === view.state.doc.toString().length;
|
|
129
|
-
view.dispatch(view.state.update({
|
|
130
|
-
changes: {
|
|
131
|
-
from,
|
|
132
|
-
to,
|
|
133
|
-
insert: completion.label + (insertParens ? "()" : "")
|
|
134
|
-
},
|
|
135
|
-
selection: {
|
|
136
|
-
anchor: from + completion.label.length + 1
|
|
137
|
-
}
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
return [
|
|
143
|
-
extension,
|
|
144
|
-
languageFacet.of(language),
|
|
145
|
-
language.data.of({
|
|
146
|
-
autocomplete: (context) => {
|
|
147
|
-
if (context.state.doc.toString()[0] !== "=") {
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
const match = context.matchBefore(/\w*/);
|
|
151
|
-
if (!match || match.from === match.to) {
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
const text = match.text.toUpperCase();
|
|
155
|
-
if (!context.explicit && match.text.length < 2) {
|
|
156
|
-
return null;
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
from: match.from,
|
|
160
|
-
options: functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? []
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}),
|
|
164
|
-
syntaxHighlighting(highlightStyles),
|
|
165
|
-
autocompletion({
|
|
166
|
-
aboveCursor: false,
|
|
167
|
-
defaultKeymap: true,
|
|
168
|
-
activateOnTyping: true,
|
|
169
|
-
closeOnBlur: !debug,
|
|
170
|
-
icons: false,
|
|
171
|
-
tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
|
|
172
|
-
}),
|
|
173
|
-
keymap.of([
|
|
174
|
-
{
|
|
175
|
-
key: "Tab",
|
|
176
|
-
run: (view) => {
|
|
177
|
-
return completionStatus(view.state) === "active" ? acceptCompletion(view) : startCompletion(view);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
])
|
|
181
|
-
];
|
|
182
|
-
};
|
|
183
|
-
var rangeExtension = ({ onInit, onStateChange }) => {
|
|
184
|
-
let view;
|
|
185
|
-
let activeRange;
|
|
186
|
-
const notifier = {
|
|
187
|
-
setRange: (range) => {
|
|
188
|
-
if (activeRange) {
|
|
189
|
-
view.dispatch(view.state.update({
|
|
190
|
-
changes: {
|
|
191
|
-
...activeRange,
|
|
192
|
-
insert: range.toString()
|
|
193
|
-
},
|
|
194
|
-
selection: {
|
|
195
|
-
anchor: activeRange.from + range.length
|
|
196
|
-
}
|
|
197
|
-
}));
|
|
198
|
-
}
|
|
199
|
-
view.focus();
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
return ViewPlugin2.fromClass(class {
|
|
203
|
-
constructor(_view) {
|
|
204
|
-
view = _view;
|
|
205
|
-
onInit?.(notifier);
|
|
206
|
-
}
|
|
207
|
-
update(view2) {
|
|
208
|
-
const { anchor } = view2.state.selection.ranges[0];
|
|
209
|
-
activeRange = void 0;
|
|
210
|
-
const language = view2.state.facet(languageFacet);
|
|
211
|
-
const { topNode } = language.parser.parse(view2.state.doc.toString());
|
|
212
|
-
visitTree(topNode, ({ type, from, to }) => {
|
|
213
|
-
if (from <= anchor && to >= anchor) {
|
|
214
|
-
switch (type.name) {
|
|
215
|
-
case "Function":
|
|
216
|
-
activeRange = {
|
|
217
|
-
from: to,
|
|
218
|
-
to
|
|
219
|
-
};
|
|
220
|
-
break;
|
|
221
|
-
case "CloseParen":
|
|
222
|
-
activeRange = {
|
|
223
|
-
from,
|
|
224
|
-
to: from
|
|
225
|
-
};
|
|
226
|
-
break;
|
|
227
|
-
case "RangeToken":
|
|
228
|
-
case "CellToken":
|
|
229
|
-
activeRange = {
|
|
230
|
-
from,
|
|
231
|
-
to
|
|
232
|
-
};
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return false;
|
|
237
|
-
});
|
|
238
|
-
if (!activeRange && view2.state.doc.toString()[0] === "=") {
|
|
239
|
-
const str = view2.state.doc.sliceString(1);
|
|
240
|
-
if (RANGE_NOTATION.test(str)) {
|
|
241
|
-
activeRange = {
|
|
242
|
-
from: 1,
|
|
243
|
-
to: str.length + 1
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
onStateChange?.({
|
|
248
|
-
activeRange: activeRange ? view2.state.doc.sliceString(activeRange.from, activeRange.to) : void 0
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
var visitTree = (node, callback) => {
|
|
254
|
-
if (callback(node)) {
|
|
255
|
-
return true;
|
|
256
|
-
}
|
|
257
|
-
for (let child = node.firstChild; child !== null; child = child.nextSibling) {
|
|
258
|
-
if (visitTree(child, callback)) {
|
|
259
|
-
return true;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return false;
|
|
263
|
-
};
|
|
264
|
-
|
|
265
|
-
// packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx
|
|
266
|
-
import React2, { createContext as createContext2, useCallback, useContext as useContext2, useState } from "react";
|
|
267
|
-
import { invariant as invariant2 } from "@dxos/invariant";
|
|
268
|
-
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
269
|
-
import { Grid, useGridContext } from "@dxos/react-ui-grid";
|
|
270
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
|
|
271
|
-
var SheetContext = /* @__PURE__ */ createContext2(void 0);
|
|
272
|
-
var useSheetContext = () => {
|
|
273
|
-
const context = useContext2(SheetContext);
|
|
274
|
-
invariant2(context, void 0, {
|
|
275
|
-
F: __dxlog_file,
|
|
276
|
-
L: 54,
|
|
277
|
-
S: void 0,
|
|
278
|
-
A: [
|
|
279
|
-
"context",
|
|
280
|
-
""
|
|
281
|
-
]
|
|
282
|
-
});
|
|
283
|
-
return context;
|
|
284
|
-
};
|
|
285
|
-
var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope }) => {
|
|
286
|
-
const { id, editing, setEditing } = useGridContext("SheetProvider", __gridScope);
|
|
287
|
-
const [cursor, setCursorInternal] = useState();
|
|
288
|
-
const [range, setRangeInternal] = useState();
|
|
289
|
-
const [cursorFallbackRange, setCursorFallbackRange] = useState();
|
|
290
|
-
const [activeRefs, setActiveRefs] = useState("");
|
|
291
|
-
const setCursor = useCallback((nextCursor) => {
|
|
292
|
-
setCursorInternal(nextCursor);
|
|
293
|
-
setCursorFallbackRange(range?.to ? range : nextCursor ? {
|
|
294
|
-
from: nextCursor,
|
|
295
|
-
to: nextCursor
|
|
296
|
-
} : void 0);
|
|
297
|
-
}, [
|
|
298
|
-
range
|
|
299
|
-
]);
|
|
300
|
-
const setRange = useCallback((nextRange) => {
|
|
301
|
-
setRangeInternal(nextRange);
|
|
302
|
-
setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
|
|
303
|
-
from: cursor,
|
|
304
|
-
to: cursor
|
|
305
|
-
} : void 0);
|
|
306
|
-
}, [
|
|
307
|
-
cursor
|
|
308
|
-
]);
|
|
309
|
-
return /* @__PURE__ */ React2.createElement(SheetContext.Provider, {
|
|
310
|
-
value: {
|
|
311
|
-
id,
|
|
312
|
-
model,
|
|
313
|
-
editing,
|
|
314
|
-
setEditing,
|
|
315
|
-
cursor,
|
|
316
|
-
setCursor,
|
|
317
|
-
range,
|
|
318
|
-
setRange,
|
|
319
|
-
cursorFallbackRange,
|
|
320
|
-
activeRefs,
|
|
321
|
-
setActiveRefs,
|
|
322
|
-
// TODO(burdon): Change to event.
|
|
323
|
-
onInfo,
|
|
324
|
-
ignoreAttention
|
|
325
|
-
}
|
|
326
|
-
}, children);
|
|
327
|
-
};
|
|
328
|
-
var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
|
|
329
|
-
const model = useSheetModel(graph, sheet, {
|
|
330
|
-
readonly
|
|
331
|
-
});
|
|
332
|
-
return !model ? null : /* @__PURE__ */ React2.createElement(Grid.Root, {
|
|
333
|
-
id: fullyQualifiedId(sheet)
|
|
334
|
-
}, /* @__PURE__ */ React2.createElement(SheetProviderImpl, {
|
|
335
|
-
model,
|
|
336
|
-
onInfo,
|
|
337
|
-
ignoreAttention
|
|
338
|
-
}, children));
|
|
339
|
-
};
|
|
340
|
-
|
|
341
|
-
// packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx
|
|
342
|
-
import React5, { useCallback as useCallback4, useMemo as useMemo2, useRef, useState as useState3 } from "react";
|
|
343
|
-
import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
344
|
-
import { rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute";
|
|
345
|
-
import { DropdownMenu, Icon, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
346
|
-
import { useAttention } from "@dxos/react-ui-attention";
|
|
347
|
-
import { closestCell, defaultSizeRow, editorKeys, Grid as Grid2, GridCellEditor, parseCellIndex } from "@dxos/react-ui-grid";
|
|
348
|
-
|
|
349
|
-
// packages/plugins/plugin-sheet/src/components/GridSheet/util.ts
|
|
350
|
-
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
351
|
-
import { inRange as inRange2 } from "@dxos/compute";
|
|
352
|
-
import { createDocAccessor, fullyQualifiedId as fullyQualifiedId3 } from "@dxos/react-client/echo";
|
|
353
|
-
import { parseValue, cellClassesForFieldType } from "@dxos/react-ui-form";
|
|
354
|
-
import { colToA1Notation, rowToA1Notation, commentedClassName } from "@dxos/react-ui-grid";
|
|
355
|
-
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
356
|
-
|
|
357
|
-
// packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts
|
|
358
|
-
import { useCallback as useCallback3, useEffect, useMemo } from "react";
|
|
359
|
-
import { createIntent, createResolver, LayoutAction, useIntentDispatcher, useIntentResolver } from "@dxos/app-framework";
|
|
360
|
-
import { debounce as debounce2 } from "@dxos/async";
|
|
361
|
-
import { inRange } from "@dxos/compute";
|
|
362
|
-
import { ThreadAction } from "@dxos/plugin-thread/types";
|
|
363
|
-
import { fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
|
|
364
|
-
|
|
365
|
-
// packages/plugins/plugin-sheet/src/components/index.ts
|
|
366
|
-
import { lazy } from "react";
|
|
367
|
-
|
|
368
46
|
// packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx
|
|
369
|
-
import
|
|
47
|
+
import React2, { useCallback } from "react";
|
|
370
48
|
import { rangeToA1Notation } from "@dxos/compute";
|
|
371
49
|
import { S } from "@dxos/echo-schema";
|
|
372
50
|
import { useTranslation } from "@dxos/react-ui";
|
|
@@ -376,59 +54,61 @@ var RangeList = ({ sheet }) => {
|
|
|
376
54
|
const { t } = useTranslation(SHEET_PLUGIN);
|
|
377
55
|
const handleSelectRange = (range) => {
|
|
378
56
|
};
|
|
379
|
-
const handleDeleteRange =
|
|
57
|
+
const handleDeleteRange = useCallback((range) => {
|
|
380
58
|
const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);
|
|
381
59
|
sheet.ranges.splice(index, 1);
|
|
382
60
|
}, [
|
|
383
61
|
sheet
|
|
384
62
|
]);
|
|
385
|
-
return /* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement("h2", {
|
|
386
64
|
className: "p-2 text-sm font-semibold"
|
|
387
|
-
}, t("range list heading")), /* @__PURE__ */
|
|
65
|
+
}, t("range list heading")), /* @__PURE__ */ React2.createElement(List.Root, {
|
|
388
66
|
items: sheet.ranges,
|
|
389
67
|
isItem: S.is(Range)
|
|
390
|
-
}, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */
|
|
68
|
+
}, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ React2.createElement(List.Item, {
|
|
391
69
|
key: i,
|
|
392
70
|
item: range,
|
|
393
71
|
classNames: [
|
|
394
72
|
"p-2",
|
|
395
73
|
ghostHover
|
|
396
74
|
]
|
|
397
|
-
}, /* @__PURE__ */
|
|
75
|
+
}, /* @__PURE__ */ React2.createElement(List.ItemDragHandle, null), /* @__PURE__ */ React2.createElement(List.ItemTitle, {
|
|
398
76
|
onClick: () => handleSelectRange(range)
|
|
399
77
|
}, t("range title", {
|
|
400
78
|
position: rangeToA1Notation(rangeFromIndex(sheet, range.range)),
|
|
401
79
|
key: t(`range key ${range.key} label`),
|
|
402
80
|
value: t(`range value ${range.value} label`)
|
|
403
|
-
})), /* @__PURE__ */
|
|
81
|
+
})), /* @__PURE__ */ React2.createElement(List.ItemDeleteButton, {
|
|
404
82
|
onClick: () => handleDeleteRange(range)
|
|
405
83
|
})))));
|
|
406
84
|
};
|
|
407
85
|
|
|
408
|
-
// packages/plugins/plugin-sheet/src/components/SheetObjectSettings.tsx
|
|
409
|
-
import React4 from "react";
|
|
410
|
-
import { SPACE_PLUGIN } from "@dxos/plugin-space/meta";
|
|
411
|
-
import { Input, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
412
|
-
var SheetObjectSettings = ({ sheet }) => {
|
|
413
|
-
const { t } = useTranslation2(SPACE_PLUGIN);
|
|
414
|
-
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement("div", {
|
|
415
|
-
role: "form",
|
|
416
|
-
className: "flex flex-col w-full p-2 gap-1"
|
|
417
|
-
}, /* @__PURE__ */ React4.createElement(Input.Root, null, /* @__PURE__ */ React4.createElement(Input.Label, null, t("name label")), /* @__PURE__ */ React4.createElement(Input.TextInput, {
|
|
418
|
-
placeholder: t("name placeholder"),
|
|
419
|
-
value: sheet.name ?? "",
|
|
420
|
-
onChange: (event) => {
|
|
421
|
-
sheet.name = event.target.value;
|
|
422
|
-
}
|
|
423
|
-
}))), /* @__PURE__ */ React4.createElement(RangeList, {
|
|
424
|
-
sheet
|
|
425
|
-
}));
|
|
426
|
-
};
|
|
427
|
-
|
|
428
86
|
// packages/plugins/plugin-sheet/src/components/index.ts
|
|
429
|
-
|
|
87
|
+
import { lazy } from "react";
|
|
88
|
+
|
|
89
|
+
// packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx
|
|
90
|
+
import React4, { useCallback as useCallback4, useMemo as useMemo2, useRef, useState as useState3 } from "react";
|
|
91
|
+
import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
92
|
+
import { rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute";
|
|
93
|
+
import { DropdownMenu, Icon, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
94
|
+
import { useAttention } from "@dxos/react-ui-attention";
|
|
95
|
+
import { closestCell, defaultSizeRow, editorKeys, Grid as Grid2, GridCellEditor, parseCellIndex } from "@dxos/react-ui-grid";
|
|
96
|
+
|
|
97
|
+
// packages/plugins/plugin-sheet/src/components/GridSheet/util.ts
|
|
98
|
+
import { useEffect as useEffect2, useState } from "react";
|
|
99
|
+
import { inRange as inRange2 } from "@dxos/compute";
|
|
100
|
+
import { createDocAccessor, fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
|
|
101
|
+
import { parseValue, cellClassesForFieldType } from "@dxos/react-ui-form";
|
|
102
|
+
import { colToA1Notation, rowToA1Notation, commentedClassName } from "@dxos/react-ui-grid";
|
|
103
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
430
104
|
|
|
431
105
|
// packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts
|
|
106
|
+
import { useCallback as useCallback2, useEffect, useMemo } from "react";
|
|
107
|
+
import { createIntent, createResolver, LayoutAction, useIntentDispatcher, useIntentResolver } from "@dxos/app-framework";
|
|
108
|
+
import { debounce } from "@dxos/async";
|
|
109
|
+
import { inRange } from "@dxos/compute";
|
|
110
|
+
import { ThreadAction } from "@dxos/plugin-thread/types";
|
|
111
|
+
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
432
112
|
var completeCellRangeToThreadCursor = (range) => {
|
|
433
113
|
return `${range.from.col},${range.from.row},${range.to.col},${range.to.row}`;
|
|
434
114
|
};
|
|
@@ -461,7 +141,7 @@ var useUpdateFocusedCellOnThreadSelection = (grid) => {
|
|
|
461
141
|
}, true);
|
|
462
142
|
}, {
|
|
463
143
|
disposition: "hoist",
|
|
464
|
-
filter: (data) => data.id ===
|
|
144
|
+
filter: (data) => data.id === fullyQualifiedId(model.sheet) && !!data.cursor
|
|
465
145
|
}), [
|
|
466
146
|
model.sheet,
|
|
467
147
|
setActiveRefs
|
|
@@ -475,7 +155,7 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
475
155
|
// TODO(thure): Surely we can find a better dependency for this…
|
|
476
156
|
JSON.stringify(model.sheet.threads)
|
|
477
157
|
]);
|
|
478
|
-
const selectClosestThread =
|
|
158
|
+
const selectClosestThread = useCallback2((cellAddress) => {
|
|
479
159
|
if (!cellAddress || !threads) {
|
|
480
160
|
return;
|
|
481
161
|
}
|
|
@@ -489,7 +169,7 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
489
169
|
});
|
|
490
170
|
if (closestThread) {
|
|
491
171
|
void dispatch(createIntent(ThreadAction.Select, {
|
|
492
|
-
current:
|
|
172
|
+
current: fullyQualifiedId(closestThread)
|
|
493
173
|
}));
|
|
494
174
|
}
|
|
495
175
|
}, [
|
|
@@ -497,7 +177,7 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
497
177
|
threads
|
|
498
178
|
]);
|
|
499
179
|
const debounced = useMemo(() => {
|
|
500
|
-
return
|
|
180
|
+
return debounce((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
|
|
501
181
|
}, [
|
|
502
182
|
selectClosestThread
|
|
503
183
|
]);
|
|
@@ -549,7 +229,7 @@ var projectCellProps = (model, col, row) => {
|
|
|
549
229
|
const threadRefs = model.sheet.threads?.filter((thread) => {
|
|
550
230
|
const range = thread.target?.anchor && parseThreadAnchorAsCellRange(thread.target.anchor);
|
|
551
231
|
return thread && range ? inRange2(range, address) : false;
|
|
552
|
-
}).map((thread) =>
|
|
232
|
+
}).map((thread) => fullyQualifiedId2(thread)).join(" ");
|
|
553
233
|
const description = model.getValueDescription(address);
|
|
554
234
|
const type = description?.type;
|
|
555
235
|
const format = description?.format;
|
|
@@ -560,7 +240,7 @@ var projectCellProps = (model, col, row) => {
|
|
|
560
240
|
format,
|
|
561
241
|
value: rawValue
|
|
562
242
|
}),
|
|
563
|
-
className:
|
|
243
|
+
className: mx(cellClassesForFieldType({
|
|
564
244
|
type,
|
|
565
245
|
format
|
|
566
246
|
}), threadRefs && commentedClassName, classNames),
|
|
@@ -622,8 +302,8 @@ var cellGetter = (model) => {
|
|
|
622
302
|
};
|
|
623
303
|
};
|
|
624
304
|
var useSheetModelDxGridProps = (dxGrid, model) => {
|
|
625
|
-
const [columns, setColumns] =
|
|
626
|
-
const [rows, setRows] =
|
|
305
|
+
const [columns, setColumns] = useState(createDxGridColumns(model));
|
|
306
|
+
const [rows, setRows] = useState(createDxGridRows(model));
|
|
627
307
|
useEffect2(() => {
|
|
628
308
|
const cellsAccessor = createDocAccessor(model.sheet, [
|
|
629
309
|
"cells"
|
|
@@ -673,6 +353,82 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
|
|
|
673
353
|
};
|
|
674
354
|
};
|
|
675
355
|
|
|
356
|
+
// packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx
|
|
357
|
+
import React3, { createContext as createContext2, useCallback as useCallback3, useContext as useContext2, useState as useState2 } from "react";
|
|
358
|
+
import { invariant } from "@dxos/invariant";
|
|
359
|
+
import { fullyQualifiedId as fullyQualifiedId3 } from "@dxos/react-client/echo";
|
|
360
|
+
import { Grid, useGridContext } from "@dxos/react-ui-grid";
|
|
361
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
|
|
362
|
+
var SheetContext = /* @__PURE__ */ createContext2(void 0);
|
|
363
|
+
var useSheetContext = () => {
|
|
364
|
+
const context = useContext2(SheetContext);
|
|
365
|
+
invariant(context, void 0, {
|
|
366
|
+
F: __dxlog_file,
|
|
367
|
+
L: 54,
|
|
368
|
+
S: void 0,
|
|
369
|
+
A: [
|
|
370
|
+
"context",
|
|
371
|
+
""
|
|
372
|
+
]
|
|
373
|
+
});
|
|
374
|
+
return context;
|
|
375
|
+
};
|
|
376
|
+
var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope }) => {
|
|
377
|
+
const { id, editing, setEditing } = useGridContext("SheetProvider", __gridScope);
|
|
378
|
+
const [cursor, setCursorInternal] = useState2();
|
|
379
|
+
const [range, setRangeInternal] = useState2();
|
|
380
|
+
const [cursorFallbackRange, setCursorFallbackRange] = useState2();
|
|
381
|
+
const [activeRefs, setActiveRefs] = useState2("");
|
|
382
|
+
const setCursor = useCallback3((nextCursor) => {
|
|
383
|
+
setCursorInternal(nextCursor);
|
|
384
|
+
setCursorFallbackRange(range?.to ? range : nextCursor ? {
|
|
385
|
+
from: nextCursor,
|
|
386
|
+
to: nextCursor
|
|
387
|
+
} : void 0);
|
|
388
|
+
}, [
|
|
389
|
+
range
|
|
390
|
+
]);
|
|
391
|
+
const setRange = useCallback3((nextRange) => {
|
|
392
|
+
setRangeInternal(nextRange);
|
|
393
|
+
setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
|
|
394
|
+
from: cursor,
|
|
395
|
+
to: cursor
|
|
396
|
+
} : void 0);
|
|
397
|
+
}, [
|
|
398
|
+
cursor
|
|
399
|
+
]);
|
|
400
|
+
return /* @__PURE__ */ React3.createElement(SheetContext.Provider, {
|
|
401
|
+
value: {
|
|
402
|
+
id,
|
|
403
|
+
model,
|
|
404
|
+
editing,
|
|
405
|
+
setEditing,
|
|
406
|
+
cursor,
|
|
407
|
+
setCursor,
|
|
408
|
+
range,
|
|
409
|
+
setRange,
|
|
410
|
+
cursorFallbackRange,
|
|
411
|
+
activeRefs,
|
|
412
|
+
setActiveRefs,
|
|
413
|
+
// TODO(burdon): Change to event.
|
|
414
|
+
onInfo,
|
|
415
|
+
ignoreAttention
|
|
416
|
+
}
|
|
417
|
+
}, children);
|
|
418
|
+
};
|
|
419
|
+
var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
|
|
420
|
+
const model = useSheetModel(graph, sheet, {
|
|
421
|
+
readonly
|
|
422
|
+
});
|
|
423
|
+
return !model ? null : /* @__PURE__ */ React3.createElement(Grid.Root, {
|
|
424
|
+
id: fullyQualifiedId3(sheet)
|
|
425
|
+
}, /* @__PURE__ */ React3.createElement(SheetProviderImpl, {
|
|
426
|
+
model,
|
|
427
|
+
onInfo,
|
|
428
|
+
ignoreAttention
|
|
429
|
+
}, children));
|
|
430
|
+
};
|
|
431
|
+
|
|
676
432
|
// packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx
|
|
677
433
|
var inertPosition = {
|
|
678
434
|
plane: "grid",
|
|
@@ -719,7 +475,7 @@ var sheetColDefault = {
|
|
|
719
475
|
}
|
|
720
476
|
};
|
|
721
477
|
var GridSheet = () => {
|
|
722
|
-
const { t } =
|
|
478
|
+
const { t } = useTranslation2(SHEET_PLUGIN);
|
|
723
479
|
const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } = useSheetContext();
|
|
724
480
|
const [dxGrid, setDxGrid] = useState3(null);
|
|
725
481
|
const [extraplanarFocus, setExtraplanarFocus] = useState3(null);
|
|
@@ -971,14 +727,14 @@ var GridSheet = () => {
|
|
|
971
727
|
]);
|
|
972
728
|
useUpdateFocusedCellOnThreadSelection(dxGrid);
|
|
973
729
|
useSelectThreadOnCellFocus();
|
|
974
|
-
return /* @__PURE__ */
|
|
730
|
+
return /* @__PURE__ */ React4.createElement("div", {
|
|
975
731
|
role: "none",
|
|
976
732
|
className: "relative min-bs-0"
|
|
977
|
-
}, /* @__PURE__ */
|
|
733
|
+
}, /* @__PURE__ */ React4.createElement(GridCellEditor, {
|
|
978
734
|
getCellContent,
|
|
979
735
|
extension,
|
|
980
736
|
onBlur: handleBlur
|
|
981
|
-
}), /* @__PURE__ */
|
|
737
|
+
}), /* @__PURE__ */ React4.createElement(Grid2.Content, {
|
|
982
738
|
initialCells,
|
|
983
739
|
limitColumns: DEFAULT_COLS,
|
|
984
740
|
limitRows: DEFAULT_ROWS,
|
|
@@ -998,46 +754,48 @@ var GridSheet = () => {
|
|
|
998
754
|
className: "[--dx-grid-base:var(--surface-bg)] [&_.dx-grid]:border-bs [&_.dx-grid]:absolute [&_.dx-grid]:inset-0 [&_.dx-grid]:border-separator",
|
|
999
755
|
activeRefs,
|
|
1000
756
|
ref: setDxGrid
|
|
1001
|
-
}), /* @__PURE__ */
|
|
757
|
+
}), /* @__PURE__ */ React4.createElement(DropdownMenu.Root, {
|
|
1002
758
|
modal: false,
|
|
1003
759
|
open: !!contextMenuOpen,
|
|
1004
760
|
onOpenChange: (nextOpen) => setContextMenuOpen(nextOpen ? inertPosition : null)
|
|
1005
|
-
}, /* @__PURE__ */
|
|
761
|
+
}, /* @__PURE__ */ React4.createElement(DropdownMenu.VirtualTrigger, {
|
|
1006
762
|
virtualRef: contextMenuAnchorRef
|
|
1007
|
-
}), /* @__PURE__ */
|
|
763
|
+
}), /* @__PURE__ */ React4.createElement(DropdownMenu.Content, {
|
|
1008
764
|
side: contextMenuAxis === "col" ? "bottom" : "right",
|
|
1009
765
|
sideOffset: 4,
|
|
1010
766
|
collisionPadding: 8
|
|
1011
|
-
}, /* @__PURE__ */
|
|
767
|
+
}, /* @__PURE__ */ React4.createElement(DropdownMenu.Viewport, null, /* @__PURE__ */ React4.createElement(DropdownMenu.Item, {
|
|
1012
768
|
onClick: () => handleAxisMenuAction("insert-before"),
|
|
1013
769
|
"data-testid": `grid.${contextMenuAxis}.insert-before`
|
|
1014
|
-
}, /* @__PURE__ */
|
|
770
|
+
}, /* @__PURE__ */ React4.createElement(Icon, {
|
|
1015
771
|
size: 5,
|
|
1016
772
|
icon: contextMenuAxis === "col" ? "ph--columns-plus-left--regular" : "ph--rows-plus-top--regular"
|
|
1017
|
-
}), /* @__PURE__ */
|
|
773
|
+
}), /* @__PURE__ */ React4.createElement("span", null, t(`add ${contextMenuAxis} before label`))), /* @__PURE__ */ React4.createElement(DropdownMenu.Item, {
|
|
1018
774
|
onClick: () => handleAxisMenuAction("insert-after"),
|
|
1019
775
|
"data-testid": `grid.${contextMenuAxis}.insert-after`
|
|
1020
|
-
}, /* @__PURE__ */
|
|
776
|
+
}, /* @__PURE__ */ React4.createElement(Icon, {
|
|
1021
777
|
size: 5,
|
|
1022
778
|
icon: contextMenuAxis === "col" ? "ph--columns-plus-right--regular" : "ph--rows-plus-bottom--regular"
|
|
1023
|
-
}), /* @__PURE__ */
|
|
779
|
+
}), /* @__PURE__ */ React4.createElement("span", null, t(`add ${contextMenuAxis} after label`))), /* @__PURE__ */ React4.createElement(DropdownMenu.Item, {
|
|
1024
780
|
onClick: () => handleAxisMenuAction("drop"),
|
|
1025
781
|
"data-testid": `grid.${contextMenuAxis}.drop`
|
|
1026
|
-
}, /* @__PURE__ */
|
|
782
|
+
}, /* @__PURE__ */ React4.createElement(Icon, {
|
|
1027
783
|
size: 5,
|
|
1028
784
|
icon: "ph--backspace--regular"
|
|
1029
|
-
}), /* @__PURE__ */
|
|
785
|
+
}), /* @__PURE__ */ React4.createElement("span", null, t(`delete ${contextMenuAxis} label`)))), /* @__PURE__ */ React4.createElement(DropdownMenu.Arrow, null))));
|
|
1030
786
|
};
|
|
1031
787
|
|
|
788
|
+
// packages/plugins/plugin-sheet/src/components/index.ts
|
|
789
|
+
var SheetContainer = lazy(() => import("./SheetContainer-QEEFORIC.mjs"));
|
|
790
|
+
|
|
1032
791
|
export {
|
|
1033
792
|
ComputeGraphContextProvider,
|
|
1034
793
|
useComputeGraph,
|
|
1035
794
|
completeCellRangeToThreadCursor,
|
|
1036
|
-
computeGraphFacet,
|
|
1037
795
|
useSheetContext,
|
|
1038
796
|
SheetProvider,
|
|
1039
797
|
GridSheet,
|
|
1040
|
-
|
|
798
|
+
RangeList,
|
|
1041
799
|
SheetContainer
|
|
1042
800
|
};
|
|
1043
|
-
//# sourceMappingURL=chunk-
|
|
801
|
+
//# sourceMappingURL=chunk-OXD6RBFF.mjs.map
|