@dxos/plugin-sheet 0.6.12-main.5cc132e → 0.6.12-main.7907542
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-T2QWJOFD.mjs +262 -0
- package/dist/lib/browser/SheetContainer-T2QWJOFD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WUPTZUTX.mjs → chunk-5ZMVZYGB.mjs} +21 -19
- package/dist/lib/browser/chunk-5ZMVZYGB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GNNVBNCX.mjs → chunk-GSV5QNLD.mjs} +409 -686
- package/dist/lib/browser/chunk-GSV5QNLD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JRL5LGCE.mjs → chunk-QILRZNE5.mjs} +2 -5
- package/dist/lib/browser/chunk-QILRZNE5.mjs.map +7 -0
- package/dist/lib/browser/{SheetContainer-Y7ZMFBAP.mjs → chunk-ZL2V5UJR.mjs} +982 -508
- package/dist/lib/browser/chunk-ZL2V5UJR.mjs.map +7 -0
- package/dist/lib/browser/graph-M4IQ76QX.mjs +33 -0
- package/dist/lib/browser/graph-M4IQ76QX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +86 -59
- 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 -6
- package/dist/lib/node/SheetContainer-PV5ET4UJ.cjs +280 -0
- package/dist/lib/node/SheetContainer-PV5ET4UJ.cjs.map +7 -0
- package/dist/lib/node/{SheetContainer-KEOKUKAQ.cjs → chunk-2K53Z2TU.cjs} +1036 -558
- package/dist/lib/node/chunk-2K53Z2TU.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZRQZFV5T.cjs → chunk-5XPK2V4A.cjs} +418 -691
- package/dist/lib/node/chunk-5XPK2V4A.cjs.map +7 -0
- package/dist/lib/node/{chunk-BJ6ZD7MN.cjs → chunk-BNARJ5GM.cjs} +5 -18
- package/dist/lib/node/chunk-BNARJ5GM.cjs.map +7 -0
- package/dist/lib/node/{chunk-VJU3NPUJ.cjs → chunk-STAVQ2JE.cjs} +25 -24
- package/dist/lib/node/chunk-STAVQ2JE.cjs.map +7 -0
- package/dist/lib/node/graph-Q3N2X26H.cjs +55 -0
- package/dist/lib/node/graph-Q3N2X26H.cjs.map +7 -0
- package/dist/lib/node/index.cjs +98 -66
- 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 +10 -12
- package/dist/lib/node/types.cjs.map +2 -2
- package/dist/lib/node-esm/SheetContainer-FOZD2WLT.mjs +263 -0
- package/dist/lib/node-esm/SheetContainer-FOZD2WLT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WUPTZUTX.mjs → chunk-2HAM45RC.mjs} +22 -19
- package/dist/lib/node-esm/chunk-2HAM45RC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GNNVBNCX.mjs → chunk-5WPZCXNS.mjs} +411 -686
- package/dist/lib/node-esm/chunk-5WPZCXNS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JRL5LGCE.mjs → chunk-IU2L277A.mjs} +4 -5
- package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +7 -0
- package/dist/lib/node-esm/{SheetContainer-Y7ZMFBAP.mjs → chunk-QEUCIHIN.mjs} +983 -508
- package/dist/lib/node-esm/chunk-QEUCIHIN.mjs.map +7 -0
- package/dist/lib/node-esm/graph-SMPUMOV2.mjs +34 -0
- package/dist/lib/node-esm/graph-SMPUMOV2.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +87 -59
- 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 +2 -1
- package/dist/lib/node-esm/types.mjs +5 -6
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/components/CellEditor/CellEditor.d.ts +23 -3
- package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +1 -1
- package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts +2 -2
- package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/CellEditor/extension.d.ts +1 -1
- package/dist/types/src/components/CellEditor/extension.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +11 -0
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -0
- package/dist/types/src/components/ComputeGraph/index.d.ts +1 -3
- package/dist/types/src/components/ComputeGraph/index.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts +10 -0
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -0
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +9 -0
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -0
- package/dist/types/src/components/GridSheet/util.d.ts +16 -0
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -0
- package/dist/types/src/components/Sheet/Sheet.d.ts +1 -1
- package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.stories.d.ts +5 -6
- package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/grid.d.ts +2 -2
- package/dist/types/src/components/Sheet/grid.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/nav.d.ts +3 -3
- package/dist/types/src/components/Sheet/nav.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/sheet-context.d.ts +6 -7
- package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/threads.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer.d.ts +1 -1
- package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +2 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/defs/index.d.ts +3 -0
- package/dist/types/src/defs/index.d.ts.map +1 -0
- package/dist/types/src/{model → defs}/types.d.ts +8 -3
- package/dist/types/src/defs/types.d.ts.map +1 -0
- package/dist/types/src/defs/types.test.d.ts.map +1 -0
- package/dist/types/src/{model → defs}/util.d.ts +8 -4
- package/dist/types/src/defs/util.d.ts.map +1 -0
- package/dist/types/src/extensions/compute.d.ts +6 -0
- package/dist/types/src/extensions/compute.d.ts.map +1 -0
- package/dist/types/src/extensions/compute.stories.d.ts +26 -0
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +2 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -0
- package/dist/types/src/graph/compute-graph-registry.d.ts +34 -0
- package/dist/types/src/graph/compute-graph-registry.d.ts.map +1 -0
- package/dist/types/src/graph/compute-graph.d.ts +64 -0
- package/dist/types/src/graph/compute-graph.d.ts.map +1 -0
- package/dist/types/src/graph/compute-graph.stories.d.ts +10 -0
- package/dist/types/src/graph/compute-graph.stories.d.ts.map +1 -0
- package/dist/types/src/graph/compute-graph.test.d.ts +2 -0
- package/dist/types/src/graph/compute-graph.test.d.ts.map +1 -0
- package/dist/types/src/graph/compute-node.d.ts +26 -0
- package/dist/types/src/graph/compute-node.d.ts.map +1 -0
- package/dist/types/src/{components/ComputeGraph → graph/functions}/async-function.d.ts +14 -5
- package/dist/types/src/graph/functions/async-function.d.ts.map +1 -0
- package/dist/types/src/graph/functions/edge-function.d.ts +21 -0
- package/dist/types/src/graph/functions/edge-function.d.ts.map +1 -0
- package/dist/types/src/{model/functions.d.ts → graph/functions/function-defs.d.ts} +1 -1
- package/dist/types/src/graph/functions/function-defs.d.ts.map +1 -0
- package/dist/types/src/graph/functions/index.d.ts +4 -0
- package/dist/types/src/graph/functions/index.d.ts.map +1 -0
- package/dist/types/src/graph/hyperformula.test.d.ts +2 -0
- package/dist/types/src/graph/hyperformula.test.d.ts.map +1 -0
- package/dist/types/src/graph/index.d.ts +5 -0
- package/dist/types/src/graph/index.d.ts.map +1 -0
- package/dist/types/src/graph/testing/index.d.ts +3 -0
- package/dist/types/src/graph/testing/index.d.ts.map +1 -0
- package/dist/types/src/graph/testing/test-builder.d.ts +15 -0
- package/dist/types/src/graph/testing/test-builder.d.ts.map +1 -0
- package/dist/types/src/graph/testing/test-plugin.d.ts +36 -0
- package/dist/types/src/graph/testing/test-plugin.d.ts.map +1 -0
- package/dist/types/src/graph/util.d.ts +2 -0
- package/dist/types/src/graph/util.d.ts.map +1 -0
- package/dist/types/src/hooks/hooks.stories.d.ts +11 -0
- package/dist/types/src/hooks/hooks.stories.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +4 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useComputeGraph.d.ts +7 -0
- package/dist/types/src/hooks/useComputeGraph.d.ts.map +1 -0
- package/dist/types/src/hooks/useFormattingModel.d.ts +3 -0
- package/dist/types/src/hooks/useFormattingModel.d.ts.map +1 -0
- package/dist/types/src/hooks/useSheetModel.d.ts +8 -0
- package/dist/types/src/hooks/useSheetModel.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +1 -4
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/formatting-model.d.ts +16 -0
- package/dist/types/src/model/formatting-model.d.ts.map +1 -0
- package/dist/types/src/model/index.d.ts +2 -4
- package/dist/types/src/model/index.d.ts.map +1 -1
- package/dist/types/src/model/{model.d.ts → sheet-model.d.ts} +10 -49
- package/dist/types/src/model/sheet-model.d.ts.map +1 -0
- package/dist/types/src/model/sheet-model.test.d.ts +2 -0
- package/dist/types/src/model/sheet-model.test.d.ts.map +1 -0
- package/dist/types/src/sanity.test.d.ts +2 -0
- package/dist/types/src/sanity.test.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/testing.d.ts +8 -0
- package/dist/types/src/testing/testing.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +15 -4
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/vendor/hyperformula.mjs +37145 -0
- package/package.json +48 -44
- package/src/SheetPlugin.tsx +46 -62
- package/src/components/CellEditor/CellEditor.stories.tsx +6 -6
- package/src/components/CellEditor/CellEditor.tsx +59 -9
- package/src/components/CellEditor/extension.test.ts +3 -4
- package/src/components/CellEditor/extension.ts +5 -6
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +20 -0
- package/src/components/ComputeGraph/index.ts +1 -3
- package/src/components/GridSheet/GridSheet.stories.tsx +36 -0
- package/src/components/GridSheet/GridSheet.tsx +171 -0
- package/src/components/GridSheet/util.ts +148 -0
- package/src/components/Sheet/Sheet.stories.tsx +48 -88
- package/src/components/Sheet/Sheet.tsx +42 -24
- package/src/components/Sheet/grid.ts +3 -3
- package/src/components/Sheet/nav.ts +19 -19
- package/src/components/Sheet/sheet-context.tsx +12 -82
- package/src/components/Sheet/threads.tsx +10 -6
- package/src/components/SheetContainer.tsx +13 -15
- package/src/components/Toolbar/Toolbar.tsx +1 -2
- package/src/components/index.ts +1 -0
- package/src/defs/index.ts +6 -0
- package/src/{model → defs}/types.test.ts +7 -7
- package/src/{model → defs}/types.ts +24 -14
- package/src/{model → defs}/util.ts +65 -17
- package/src/extensions/compute.stories.tsx +151 -0
- package/src/extensions/compute.ts +147 -0
- package/src/extensions/index.ts +5 -0
- package/src/graph/compute-graph-registry.ts +90 -0
- package/src/graph/compute-graph.stories.tsx +93 -0
- package/src/graph/compute-graph.test.ts +87 -0
- package/src/graph/compute-graph.ts +242 -0
- package/src/graph/compute-node.ts +63 -0
- package/src/{components/ComputeGraph → graph/functions}/async-function.ts +25 -15
- package/src/{components/ComputeGraph → graph/functions}/edge-function.ts +16 -14
- package/src/graph/functions/index.ts +7 -0
- package/src/graph/hyperformula.test.ts +14 -0
- package/src/graph/index.ts +8 -0
- package/src/graph/testing/index.ts +6 -0
- package/src/graph/testing/test-builder.ts +54 -0
- package/src/{components/ComputeGraph/custom.ts → graph/testing/test-plugin.ts} +44 -14
- package/src/graph/util.ts +8 -0
- package/src/hooks/hooks.stories.tsx +50 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/useComputeGraph.ts +28 -0
- package/src/hooks/useFormattingModel.ts +11 -0
- package/src/hooks/useSheetModel.ts +40 -0
- package/src/meta.tsx +1 -5
- package/src/{components/Sheet/formatting.ts → model/formatting-model.ts} +20 -13
- package/src/model/index.ts +2 -4
- package/src/model/sheet-model.test.ts +57 -0
- package/src/model/{model.ts → sheet-model.ts} +88 -188
- package/src/sanity.test.ts +40 -0
- package/src/testing/index.ts +5 -0
- package/src/testing/testing.tsx +68 -0
- package/src/types.ts +19 -17
- package/dist/lib/browser/SheetContainer-Y7ZMFBAP.mjs.map +0 -7
- package/dist/lib/browser/chunk-GNNVBNCX.mjs.map +0 -7
- package/dist/lib/browser/chunk-JRL5LGCE.mjs.map +0 -7
- package/dist/lib/browser/chunk-PGKZPKUD.mjs +0 -175
- package/dist/lib/browser/chunk-PGKZPKUD.mjs.map +0 -7
- package/dist/lib/browser/chunk-VBF7YENS.mjs +0 -8
- package/dist/lib/browser/chunk-VBF7YENS.mjs.map +0 -7
- package/dist/lib/browser/chunk-WUPTZUTX.mjs.map +0 -7
- package/dist/lib/browser/testing.mjs +0 -92
- package/dist/lib/browser/testing.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-KEOKUKAQ.cjs.map +0 -7
- package/dist/lib/node/chunk-57PB2HPY.cjs +0 -40
- package/dist/lib/node/chunk-57PB2HPY.cjs.map +0 -7
- package/dist/lib/node/chunk-6LWBQAQZ.cjs +0 -202
- package/dist/lib/node/chunk-6LWBQAQZ.cjs.map +0 -7
- package/dist/lib/node/chunk-BJ6ZD7MN.cjs.map +0 -7
- package/dist/lib/node/chunk-VJU3NPUJ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZRQZFV5T.cjs.map +0 -7
- package/dist/lib/node/testing.cjs +0 -111
- package/dist/lib/node/testing.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GNNVBNCX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JRL5LGCE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs +0 -175
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs +0 -8
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WUPTZUTX.mjs.map +0 -7
- package/dist/lib/node-esm/testing.mjs +0 -92
- package/dist/lib/node-esm/testing.mjs.map +0 -7
- package/dist/types/src/components/ComputeGraph/async-function.d.ts.map +0 -1
- package/dist/types/src/components/ComputeGraph/custom.d.ts +0 -21
- package/dist/types/src/components/ComputeGraph/custom.d.ts.map +0 -1
- package/dist/types/src/components/ComputeGraph/edge-function.d.ts +0 -20
- package/dist/types/src/components/ComputeGraph/edge-function.d.ts.map +0 -1
- package/dist/types/src/components/ComputeGraph/graph-context.d.ts +0 -12
- package/dist/types/src/components/ComputeGraph/graph-context.d.ts.map +0 -1
- package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts +0 -2
- package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts.map +0 -1
- package/dist/types/src/components/ComputeGraph/graph.d.ts +0 -26
- package/dist/types/src/components/ComputeGraph/graph.d.ts.map +0 -1
- package/dist/types/src/components/Sheet/formatting.d.ts +0 -14
- package/dist/types/src/components/Sheet/formatting.d.ts.map +0 -1
- package/dist/types/src/model/functions.d.ts.map +0 -1
- package/dist/types/src/model/model.browser.test.d.ts +0 -2
- package/dist/types/src/model/model.browser.test.d.ts.map +0 -1
- package/dist/types/src/model/model.d.ts.map +0 -1
- package/dist/types/src/model/types.d.ts.map +0 -1
- package/dist/types/src/model/types.test.d.ts.map +0 -1
- package/dist/types/src/model/util.d.ts.map +0 -1
- package/dist/types/src/testing.d.ts +0 -9
- package/dist/types/src/testing.d.ts.map +0 -1
- package/src/components/ComputeGraph/graph-context.tsx +0 -50
- package/src/components/ComputeGraph/graph.browser.test.ts +0 -49
- package/src/components/ComputeGraph/graph.ts +0 -62
- package/src/model/model.browser.test.ts +0 -99
- package/src/testing.ts +0 -50
- /package/dist/types/src/{model → defs}/types.test.d.ts +0 -0
- /package/src/{model/functions.ts → graph/functions/function-defs.ts} +0 -0
package/dist/lib/node/index.cjs
CHANGED
|
@@ -32,24 +32,31 @@ __export(node_exports, {
|
|
|
32
32
|
default: () => src_default
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(node_exports);
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var import_chunk_BJ6ZD7MN = require("./chunk-BJ6ZD7MN.cjs");
|
|
35
|
+
var import_chunk_2K53Z2TU = require("./chunk-2K53Z2TU.cjs");
|
|
36
|
+
var import_chunk_STAVQ2JE = require("./chunk-STAVQ2JE.cjs");
|
|
37
|
+
var import_chunk_BNARJ5GM = require("./chunk-BNARJ5GM.cjs");
|
|
38
|
+
var import_chunk_5XPK2V4A = require("./chunk-5XPK2V4A.cjs");
|
|
40
39
|
var import_react = require("@phosphor-icons/react");
|
|
41
40
|
var import_react2 = __toESM(require("react"));
|
|
42
41
|
var import_app_framework = require("@dxos/app-framework");
|
|
43
|
-
var
|
|
42
|
+
var import_invariant = require("@dxos/invariant");
|
|
44
43
|
var import_plugin_client = require("@dxos/plugin-client");
|
|
45
44
|
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
46
45
|
var import_types = require("@dxos/plugin-script/types");
|
|
47
46
|
var import_plugin_space = require("@dxos/plugin-space");
|
|
48
47
|
var import_echo = require("@dxos/react-client/echo");
|
|
48
|
+
var import_language = require("@codemirror/language");
|
|
49
|
+
var import_state = require("@codemirror/state");
|
|
50
|
+
var import_view = require("@codemirror/view");
|
|
51
|
+
var import_async = require("@dxos/async");
|
|
52
|
+
var import_invariant2 = require("@dxos/invariant");
|
|
53
|
+
var import_state2 = require("@dxos/react-ui-editor/state");
|
|
54
|
+
var updateAllDecorations = import_state.StateEffect.define();
|
|
55
|
+
var computeGraphFacet = (0, import_state2.singleValueFacet)();
|
|
49
56
|
var translations_default = [
|
|
50
57
|
{
|
|
51
58
|
"en-US": {
|
|
52
|
-
[
|
|
59
|
+
[import_chunk_BNARJ5GM.SHEET_PLUGIN]: {
|
|
53
60
|
"plugin name": "Sheets",
|
|
54
61
|
"sheet title placeholder": "New sheet",
|
|
55
62
|
"create sheet label": "Create sheet",
|
|
@@ -67,56 +74,82 @@ var translations_default = [
|
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
];
|
|
77
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/SheetPlugin.tsx";
|
|
70
78
|
var SheetPlugin = () => {
|
|
71
|
-
let
|
|
72
|
-
const graphs = (0, import_echo_schema.create)({});
|
|
73
|
-
const setGraph = (key, graph) => {
|
|
74
|
-
graphs[key] = graph;
|
|
75
|
-
};
|
|
79
|
+
let computeGraphRegistry;
|
|
76
80
|
return {
|
|
77
|
-
meta:
|
|
81
|
+
meta: import_chunk_BNARJ5GM.meta_default,
|
|
78
82
|
ready: async (plugins) => {
|
|
79
83
|
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
84
|
+
(0, import_invariant.invariant)(client, void 0, {
|
|
85
|
+
F: __dxlog_file,
|
|
86
|
+
L: 32,
|
|
87
|
+
S: void 0,
|
|
88
|
+
A: [
|
|
89
|
+
"client",
|
|
90
|
+
""
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
|
+
let remoteFunctionUrl;
|
|
83
94
|
if (client.config.values.runtime?.services?.edge?.url) {
|
|
84
95
|
const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
|
|
85
96
|
url.protocol = "https";
|
|
86
97
|
remoteFunctionUrl = url.toString();
|
|
87
98
|
}
|
|
99
|
+
const { ComputeGraphRegistry } = await import("./graph-Q3N2X26H.cjs");
|
|
100
|
+
computeGraphRegistry = new ComputeGraphRegistry({
|
|
101
|
+
remoteFunctionUrl
|
|
102
|
+
});
|
|
88
103
|
},
|
|
89
104
|
provides: {
|
|
90
105
|
context: ({ children }) => {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
106
|
+
(0, import_invariant.invariant)(computeGraphRegistry, void 0, {
|
|
107
|
+
F: __dxlog_file,
|
|
108
|
+
L: 46,
|
|
109
|
+
S: void 0,
|
|
110
|
+
A: [
|
|
111
|
+
"computeGraphRegistry",
|
|
112
|
+
""
|
|
113
|
+
]
|
|
114
|
+
});
|
|
115
|
+
return /* @__PURE__ */ import_react2.default.createElement(import_chunk_2K53Z2TU.ComputeGraphContextProvider, {
|
|
116
|
+
registry: computeGraphRegistry
|
|
94
117
|
}, children);
|
|
95
118
|
},
|
|
96
119
|
metadata: {
|
|
97
120
|
records: {
|
|
98
|
-
[
|
|
99
|
-
label: (object) => object instanceof
|
|
121
|
+
[import_chunk_STAVQ2JE.SheetType.typename]: {
|
|
122
|
+
label: (object) => object instanceof import_chunk_STAVQ2JE.SheetType ? object.name : void 0,
|
|
100
123
|
placeholder: [
|
|
101
124
|
"sheet title placeholder",
|
|
102
125
|
{
|
|
103
|
-
ns:
|
|
126
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
104
127
|
}
|
|
105
128
|
],
|
|
106
|
-
icon:
|
|
107
|
-
iconSymbol: "ph--grid-nine--regular"
|
|
129
|
+
icon: "ph--grid-nine--regular"
|
|
108
130
|
}
|
|
109
131
|
}
|
|
110
132
|
},
|
|
111
133
|
translations: translations_default,
|
|
112
134
|
echo: {
|
|
113
135
|
// TODO(wittjosiah): Factor out to common package/plugin.
|
|
114
|
-
//
|
|
136
|
+
// FunctionType is currently registered here in case script plugin isn't enabled.
|
|
115
137
|
schema: [
|
|
116
|
-
|
|
138
|
+
import_chunk_STAVQ2JE.SheetType,
|
|
117
139
|
import_types.FunctionType
|
|
118
140
|
]
|
|
119
141
|
},
|
|
142
|
+
space: {
|
|
143
|
+
onSpaceCreate: {
|
|
144
|
+
label: [
|
|
145
|
+
"create sheet label",
|
|
146
|
+
{
|
|
147
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
action: import_chunk_STAVQ2JE.SheetAction.CREATE
|
|
151
|
+
}
|
|
152
|
+
},
|
|
120
153
|
graph: {
|
|
121
154
|
builder: (plugins) => {
|
|
122
155
|
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
@@ -125,7 +158,7 @@ var SheetPlugin = () => {
|
|
|
125
158
|
return [];
|
|
126
159
|
}
|
|
127
160
|
return (0, import_plugin_graph.createExtension)({
|
|
128
|
-
id:
|
|
161
|
+
id: import_chunk_STAVQ2JE.SheetAction.CREATE,
|
|
129
162
|
filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
|
|
130
163
|
actions: ({ node }) => {
|
|
131
164
|
const id = node.id.split("/").at(-1);
|
|
@@ -138,12 +171,12 @@ var SheetPlugin = () => {
|
|
|
138
171
|
}
|
|
139
172
|
return [
|
|
140
173
|
{
|
|
141
|
-
id: `${
|
|
174
|
+
id: `${import_chunk_BNARJ5GM.SHEET_PLUGIN}/create/${node.id}`,
|
|
142
175
|
data: async () => {
|
|
143
176
|
await dispatch([
|
|
144
177
|
{
|
|
145
|
-
plugin:
|
|
146
|
-
action:
|
|
178
|
+
plugin: import_chunk_BNARJ5GM.SHEET_PLUGIN,
|
|
179
|
+
action: import_chunk_STAVQ2JE.SheetAction.CREATE,
|
|
147
180
|
data: {
|
|
148
181
|
space
|
|
149
182
|
}
|
|
@@ -163,11 +196,10 @@ var SheetPlugin = () => {
|
|
|
163
196
|
label: [
|
|
164
197
|
"create sheet label",
|
|
165
198
|
{
|
|
166
|
-
ns:
|
|
199
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
167
200
|
}
|
|
168
201
|
],
|
|
169
|
-
icon:
|
|
170
|
-
iconSymbol: "ph--grid-nine--regular",
|
|
202
|
+
icon: "ph--grid-nine--regular",
|
|
171
203
|
testId: "sheetPlugin.createObject"
|
|
172
204
|
}
|
|
173
205
|
}
|
|
@@ -176,6 +208,24 @@ var SheetPlugin = () => {
|
|
|
176
208
|
});
|
|
177
209
|
}
|
|
178
210
|
},
|
|
211
|
+
markdown: {
|
|
212
|
+
extensions: ({ document: doc }) => {
|
|
213
|
+
(0, import_invariant.invariant)(computeGraphRegistry, void 0, {
|
|
214
|
+
F: __dxlog_file,
|
|
215
|
+
L: 114,
|
|
216
|
+
S: void 0,
|
|
217
|
+
A: [
|
|
218
|
+
"computeGraphRegistry",
|
|
219
|
+
""
|
|
220
|
+
]
|
|
221
|
+
});
|
|
222
|
+
const space = (0, import_echo.getSpace)(doc);
|
|
223
|
+
if (space) {
|
|
224
|
+
const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
|
|
225
|
+
return computeGraphFacet.of(computeGraph);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
179
229
|
stack: {
|
|
180
230
|
creators: [
|
|
181
231
|
{
|
|
@@ -184,39 +234,39 @@ var SheetPlugin = () => {
|
|
|
184
234
|
type: [
|
|
185
235
|
"plugin name",
|
|
186
236
|
{
|
|
187
|
-
ns:
|
|
237
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
188
238
|
}
|
|
189
239
|
],
|
|
190
240
|
label: [
|
|
191
241
|
"create sheet section label",
|
|
192
242
|
{
|
|
193
|
-
ns:
|
|
243
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
194
244
|
}
|
|
195
245
|
],
|
|
196
246
|
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.GridNine, props),
|
|
197
247
|
intent: {
|
|
198
|
-
plugin:
|
|
199
|
-
action:
|
|
248
|
+
plugin: import_chunk_BNARJ5GM.SHEET_PLUGIN,
|
|
249
|
+
action: import_chunk_STAVQ2JE.SheetAction.CREATE
|
|
200
250
|
}
|
|
201
251
|
}
|
|
202
252
|
]
|
|
203
253
|
},
|
|
204
254
|
thread: {
|
|
205
|
-
predicate: (data) => data instanceof
|
|
206
|
-
createSort: (sheet) => (
|
|
255
|
+
predicate: (data) => data instanceof import_chunk_STAVQ2JE.SheetType,
|
|
256
|
+
createSort: (sheet) => (indexA, indexB) => !indexA || !indexB ? 0 : (0, import_chunk_2K53Z2TU.compareIndexPositions)(sheet, indexA, indexB)
|
|
207
257
|
},
|
|
208
258
|
surface: {
|
|
209
|
-
component: ({ data, role
|
|
210
|
-
const space = (0, import_echo.isEchoObject)(data.object)
|
|
211
|
-
|
|
259
|
+
component: ({ data, role }) => {
|
|
260
|
+
const space = (0, import_echo.isEchoObject)(data.object) ? (0, import_echo.getSpace)(data.object) : void 0;
|
|
261
|
+
const graph = (0, import_chunk_2K53Z2TU.useComputeGraph)(space);
|
|
262
|
+
if (graph && data.object instanceof import_chunk_STAVQ2JE.SheetType) {
|
|
212
263
|
switch (role) {
|
|
213
264
|
case "article":
|
|
214
265
|
case "section": {
|
|
215
|
-
return /* @__PURE__ */ import_react2.default.createElement(
|
|
266
|
+
return /* @__PURE__ */ import_react2.default.createElement(import_chunk_2K53Z2TU.SheetContainer, {
|
|
267
|
+
graph,
|
|
216
268
|
sheet: data.object,
|
|
217
|
-
|
|
218
|
-
role,
|
|
219
|
-
remoteFunctionUrl
|
|
269
|
+
role
|
|
220
270
|
});
|
|
221
271
|
}
|
|
222
272
|
}
|
|
@@ -227,27 +277,9 @@ var SheetPlugin = () => {
|
|
|
227
277
|
intent: {
|
|
228
278
|
resolver: async (intent) => {
|
|
229
279
|
switch (intent.action) {
|
|
230
|
-
case
|
|
231
|
-
const space = intent.data?.space;
|
|
232
|
-
const sheet = (0, import_chunk_VJU3NPUJ.createSheet)();
|
|
233
|
-
const graph = graphs[space.id] ?? (0, import_chunk_ZRQZFV5T.createComputeGraph)([
|
|
234
|
-
{
|
|
235
|
-
plugin: import_chunk_6LWBQAQZ.EdgeFunctionPlugin,
|
|
236
|
-
translations: import_chunk_6LWBQAQZ.EdgeFunctionPluginTranslations
|
|
237
|
-
},
|
|
238
|
-
// TODO(wittjosiah): Remove. Needed for current test sheet generated data.
|
|
239
|
-
{
|
|
240
|
-
plugin: import_chunk_ZRQZFV5T.CustomPlugin,
|
|
241
|
-
translations: import_chunk_ZRQZFV5T.CustomPluginTranslations
|
|
242
|
-
}
|
|
243
|
-
], space, {
|
|
244
|
-
remoteFunctionUrl
|
|
245
|
-
});
|
|
246
|
-
const model = new import_chunk_ZRQZFV5T.SheetModel(graph, sheet);
|
|
247
|
-
await model.initialize();
|
|
248
|
-
await model.destroy();
|
|
280
|
+
case import_chunk_STAVQ2JE.SheetAction.CREATE: {
|
|
249
281
|
return {
|
|
250
|
-
data:
|
|
282
|
+
data: (0, import_chunk_2K53Z2TU.createSheet)()
|
|
251
283
|
};
|
|
252
284
|
}
|
|
253
285
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/SheetPlugin.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type IconProps, GridNine } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\n\nimport {\n createComputeGraph,\n CustomPlugin,\n CustomPluginTranslations,\n SheetContainer,\n type ComputeGraph,\n} from './components';\n// TODO(wittjosiah): Refactor. These are not exported from ./components due to depending on ECHO.\nimport { EdgeFunctionPlugin, EdgeFunctionPluginTranslations } from './components/ComputeGraph/edge-function';\nimport { ComputeGraphContextProvider } from './components/ComputeGraph/graph-context';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport { compareIndexPositions, SheetModel } from './model';\nimport translations from './translations';\nimport { createSheet, SheetAction, type SheetPluginProvides, SheetType } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let remoteFunctionUrl: string | undefined;\n\n const graphs = create<Record<string, ComputeGraph>>({});\n const setGraph = (key: string, graph: ComputeGraph) => {\n graphs[key] = graph;\n };\n\n return {\n meta,\n ready: async (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n if (!client) {\n return;\n }\n\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n },\n provides: {\n context: ({ children }) => {\n return (\n <ComputeGraphContextProvider graphs={graphs} setGraph={setGraph}>\n {children}\n </ComputeGraphContextProvider>\n );\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n label: (object: any) => (object instanceof SheetType ? object.title : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: (props: IconProps) => <GridNine {...props} />,\n iconSymbol: 'ph--grid-nine--regular',\n },\n },\n },\n translations,\n echo: {\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n schema: [SheetType, FunctionType],\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: SheetAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SHEET_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SHEET_PLUGIN, action: SheetAction.CREATE, data: { space } },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n icon: (props: IconProps) => <GridNine {...props} />,\n iconSymbol: 'ph--grid-nine--regular',\n testId: 'sheetPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-sheet',\n testId: 'sheetPlugin.createSection',\n type: ['plugin name', { ns: SHEET_PLUGIN }],\n label: ['create sheet section label', { ns: SHEET_PLUGIN }],\n icon: (props: any) => <GridNine {...props} />,\n intent: {\n plugin: SHEET_PLUGIN,\n action: SheetAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (anchorA, anchorB) =>\n !anchorA || !anchorB ? 0 : compareIndexPositions(sheet, anchorA, anchorB),\n },\n surface: {\n component: ({ data, role = 'never' }) => {\n // TODO(burdon): Standardize wrapper (with room for toolbar).\n const space = isEchoObject(data.object) && getSpace(data.object);\n if (space && data.object instanceof SheetType) {\n switch (role) {\n case 'article':\n case 'section': {\n return (\n <SheetContainer sheet={data.object} space={space} role={role} remoteFunctionUrl={remoteFunctionUrl} />\n );\n }\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: async (intent) => {\n switch (intent.action) {\n case SheetAction.CREATE: {\n const space = intent.data?.space;\n const sheet = createSheet();\n const graph =\n graphs[space.id] ??\n createComputeGraph(\n [\n { plugin: EdgeFunctionPlugin, translations: EdgeFunctionPluginTranslations },\n // TODO(wittjosiah): Remove. Needed for current test sheet generated data.\n { plugin: CustomPlugin, translations: CustomPluginTranslations },\n ],\n space,\n { remoteFunctionUrl },\n );\n const model = new SheetModel(graph, sheet);\n await model.initialize();\n await model.destroy();\n return { data: sheet };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SHEET_PLUGIN]: {\n 'plugin name': 'Sheets',\n 'sheet title placeholder': 'New sheet',\n 'create sheet label': 'Create sheet',\n 'create sheet section label': 'Create sheet',\n 'cell placeholder': 'Cell value...',\n 'toolbar left label': 'Align left',\n 'toolbar left center': 'Align center',\n 'toolbar left right': 'Align right',\n 'selection overlaps existing comment label': 'Selected cell already has a comment',\n 'comment label': 'Add comment',\n 'comment ranges not supported label': 'Commenting on ranges is not yet supported',\n 'no cursor label': 'Select a cell to comment',\n 'open comment for sheet cell': 'View comments for cell',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport default SheetPlugin;\n\nexport * from './SheetPlugin';\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["import_react", "
|
|
3
|
+
"sources": ["../../../src/SheetPlugin.tsx", "../../../src/extensions/compute.ts", "../../../src/translations.ts", "../../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { GridNine } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, isActionGroup, type ActionGroup } from '@dxos/plugin-graph';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\n\nimport { ComputeGraphContextProvider, SheetContainer } from './components';\nimport { compareIndexPositions, createSheet } from './defs';\nimport { computeGraphFacet } from './extensions';\nimport { type ComputeGraphRegistry } from './graph';\nimport { useComputeGraph } from './hooks';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport translations from './translations';\nimport { SheetAction, SheetType, type SheetPluginProvides } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let computeGraphRegistry: ComputeGraphRegistry | undefined;\n\n return {\n meta,\n ready: async (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n invariant(client);\n let remoteFunctionUrl: string | undefined;\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n\n // Async import removes direct dependency on hyperformula.\n const { ComputeGraphRegistry } = await import('./graph');\n computeGraphRegistry = new ComputeGraphRegistry({ remoteFunctionUrl });\n },\n provides: {\n context: ({ children }) => {\n invariant(computeGraphRegistry);\n return <ComputeGraphContextProvider registry={computeGraphRegistry}>{children}</ComputeGraphContextProvider>;\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n label: (object: any) => (object instanceof SheetType ? object.name : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n },\n },\n },\n translations,\n echo: {\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n schema: [SheetType, FunctionType],\n },\n space: {\n onSpaceCreate: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n action: SheetAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: SheetAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SHEET_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SHEET_PLUGIN, action: SheetAction.CREATE, data: { space } },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n testId: 'sheetPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n markdown: {\n extensions: ({ document: doc }) => {\n invariant(computeGraphRegistry);\n const space = getSpace(doc);\n if (space) {\n const computeGraph = computeGraphRegistry.getOrCreateGraph(space);\n return computeGraphFacet.of(computeGraph);\n }\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-sheet',\n testId: 'sheetPlugin.createSection',\n type: ['plugin name', { ns: SHEET_PLUGIN }],\n label: ['create sheet section label', { ns: SHEET_PLUGIN }],\n icon: (props: any) => <GridNine {...props} />,\n intent: {\n plugin: SHEET_PLUGIN,\n action: SheetAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (indexA, indexB) =>\n !indexA || !indexB ? 0 : compareIndexPositions(sheet, indexA, indexB),\n },\n surface: {\n component: ({ data, role }) => {\n const space = isEchoObject(data.object) ? getSpace(data.object) : undefined;\n const graph = useComputeGraph(space);\n if (graph && data.object instanceof SheetType) {\n switch (role) {\n case 'article':\n case 'section': {\n return <SheetContainer graph={graph} sheet={data.object} role={role} />;\n }\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: async (intent) => {\n switch (intent.action) {\n case SheetAction.CREATE: {\n return { data: createSheet() };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport {\n type EditorState,\n type Extension,\n type RangeSet,\n RangeSetBuilder,\n StateEffect,\n StateField,\n type Transaction,\n} from '@codemirror/state';\nimport { Decoration, EditorView, ViewPlugin, WidgetType } from '@codemirror/view';\n\nimport { type UnsubscribeCallback, debounce } from '@dxos/async';\nimport { invariant } from '@dxos/invariant';\nimport { documentId, singleValueFacet } from '@dxos/react-ui-editor/state';\n\nimport { type CellAddress } from '../defs';\nimport { type ComputeGraph, type ComputeNode, createSheetName } from '../graph';\nimport { type CellScalarValue } from '../types';\n\nconst LANGUAGE_TAG = 'dx';\n\n// TODO(burdon): Create marker just for our decorator?\nconst updateAllDecorations = StateEffect.define<void>();\n\nexport const computeGraphFacet = singleValueFacet<ComputeGraph>();\n\nexport type ComputeOptions = {};\n\nexport const compute = (options: ComputeOptions = {}): Extension => {\n let computeNode: ComputeNode | undefined;\n\n const update = (state: EditorState, current?: RangeSet<Decoration>) => {\n const builder = new RangeSetBuilder<Decoration>();\n if (computeNode) {\n computeNode.clear();\n syntaxTree(state).iterate({\n enter: (node) => {\n switch (node.name) {\n case 'FencedCode': {\n const cursor = state.selection.main.head;\n if (state.readOnly || cursor < node.from || cursor > node.to) {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === LANGUAGE_TAG && text) {\n const formula = state.sliceDoc(text.from, text.to);\n\n const iter = current?.iter(node.node.from);\n if (iter?.value && iter?.value.spec.formula === formula) {\n // Add existing widget.\n builder.add(node.from, node.to, iter.value);\n } else {\n // TODO(burdon): Create ordered list of cells on each decoration run.\n const cell: CellAddress = { col: node.node.from, row: 0 };\n invariant(computeNode);\n // NOTE: This triggers re-render (below).\n computeNode.setValue(cell, formula);\n const value = computeNode.getValue(cell);\n builder.add(\n node.from,\n node.to,\n Decoration.replace({\n widget: new ComputeWidget(formula, value),\n formula,\n }),\n );\n }\n }\n }\n }\n\n break;\n }\n }\n },\n });\n }\n\n return builder.finish();\n };\n\n return [\n ViewPlugin.fromClass(\n class {\n // Graph subscription.\n private _subscription?: UnsubscribeCallback;\n constructor(view: EditorView) {\n const id = view.state.facet(documentId);\n const computeGraph = view.state.facet(computeGraphFacet);\n if (id && computeGraph) {\n queueMicrotask(async () => {\n computeNode = computeGraph.getOrCreateNode(createSheetName({ type: '', id }));\n await computeNode.open();\n\n // Trigger re-render if values updated.\n // TODO(burdon): Trigger only if formula value updated (currently triggered during render).\n this._subscription = computeNode.update.on(\n debounce(({ type, ...rest }) => {\n if (type === 'valuesUpdated') {\n view.dispatch({\n effects: updateAllDecorations.of(),\n });\n }\n }, 250),\n );\n });\n }\n }\n\n destroy() {\n this._subscription?.();\n void computeNode?.close();\n computeNode = undefined;\n }\n },\n ),\n\n StateField.define<RangeSet<Decoration>>({\n create: (state) => update(state),\n update: (rangeSet: RangeSet<Decoration>, tr: Transaction) => update(tr.state, rangeSet),\n provide: (field) => EditorView.decorations.from(field),\n }),\n ];\n};\n\n// TODO(burdon): Click to edit.\nclass ComputeWidget extends WidgetType {\n constructor(\n private readonly formula: string,\n private readonly value: CellScalarValue,\n ) {\n super();\n }\n\n override toDOM(_view: EditorView) {\n const div = document.createElement('div');\n div.setAttribute('title', this.formula);\n div.innerText = String(this.value);\n return div;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SHEET_PLUGIN]: {\n 'plugin name': 'Sheets',\n 'sheet title placeholder': 'New sheet',\n 'create sheet label': 'Create sheet',\n 'create sheet section label': 'Create sheet',\n 'cell placeholder': 'Cell value...',\n 'toolbar left label': 'Align left',\n 'toolbar left center': 'Align center',\n 'toolbar left right': 'Align right',\n 'selection overlaps existing comment label': 'Selected cell already has a comment',\n 'comment label': 'Add comment',\n 'comment ranges not supported label': 'Commenting on ranges is not yet supported',\n 'no cursor label': 'Select a cell to comment',\n 'open comment for sheet cell': 'View comments for cell',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport default SheetPlugin;\n\nexport * from './SheetPlugin';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_invariant", "import_state", "updateAllDecorations", "StateEffect", "define", "computeGraphFacet", "singleValueFacet", "SHEET_PLUGIN", "SheetPlugin", "computeGraphRegistry", "meta", "ready", "plugins", "client", "resolvePlugin", "parseClientPlugin", "provides", "invariant", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "ComputeGraphRegistry", "context", "children", "React", "ComputeGraphContextProvider", "registry", "metadata", "records", "SheetType", "typename", "label", "object", "name", "undefined", "placeholder", "ns", "icon", "translations", "echo", "schema", "FunctionType", "space", "onSpaceCreate", "action", "SheetAction", "CREATE", "graph", "builder", "dispatch", "parseIntentPlugin", "intent", "createExtension", "id", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "target", "data", "plugin", "NavigationAction", "OPEN", "properties", "testId", "markdown", "extensions", "document", "doc", "getSpace", "computeGraph", "getOrCreateGraph", "of", "stack", "creators", "type", "props", "GridNine", "thread", "predicate", "createSort", "sheet", "indexA", "indexB", "compareIndexPositions", "surface", "component", "role", "isEchoObject", "useComputeGraph", "SheetContainer", "resolver", "createSheet"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.cjs
CHANGED
|
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var meta_exports = {};
|
|
20
20
|
__export(meta_exports, {
|
|
21
|
-
SHEET_PLUGIN: () =>
|
|
22
|
-
default: () =>
|
|
21
|
+
SHEET_PLUGIN: () => import_chunk_BNARJ5GM.SHEET_PLUGIN,
|
|
22
|
+
default: () => import_chunk_BNARJ5GM.meta_default
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(meta_exports);
|
|
25
|
-
var
|
|
25
|
+
var import_chunk_BNARJ5GM = require("./chunk-BNARJ5GM.cjs");
|
|
26
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
27
27
|
0 && (module.exports = {
|
|
28
28
|
SHEET_PLUGIN
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["meta.cjs"],
|
|
4
|
-
"sourcesContent": ["import {\n SHEET_PLUGIN,\n meta_default\n} from \"./chunk-
|
|
4
|
+
"sourcesContent": ["import {\n SHEET_PLUGIN,\n meta_default\n} from \"./chunk-BNARJ5GM.cjs\";\nexport {\n SHEET_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|