@dxos/plugin-sheet 0.6.11 → 0.6.12-main.568932b
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-FUAGSXA4.mjs → chunk-5ZMVZYGB.mjs} +24 -19
- package/dist/lib/browser/chunk-5ZMVZYGB.mjs.map +7 -0
- package/dist/lib/browser/chunk-GSV5QNLD.mjs +2966 -0
- 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-U4H5D34A.mjs → chunk-ZL2V5UJR.mjs} +1182 -249
- 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 +96 -60
- 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-AXQV3ZT5.cjs → chunk-2K53Z2TU.cjs} +1212 -287
- package/dist/lib/node/chunk-2K53Z2TU.cjs.map +7 -0
- package/dist/lib/node/{chunk-5KKJ4NPP.cjs → chunk-5XPK2V4A.cjs} +418 -678
- 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-DSYKOI4E.cjs → chunk-STAVQ2JE.cjs} +28 -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 +106 -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-2HAM45RC.mjs +88 -0
- package/dist/lib/node-esm/chunk-2HAM45RC.mjs.map +7 -0
- package/dist/lib/{browser/chunk-D5AGLXJP.mjs → node-esm/chunk-5WPZCXNS.mjs} +411 -678
- package/dist/lib/node-esm/chunk-5WPZCXNS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-IU2L277A.mjs +17 -0
- package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QEUCIHIN.mjs +2706 -0
- 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 +285 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/meta.mjs +10 -0
- package/dist/lib/node-esm/meta.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +21 -0
- package/dist/lib/node-esm/types.mjs.map +7 -0
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/components/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/decorations.d.ts +24 -0
- package/dist/types/src/components/Sheet/decorations.d.ts.map +1 -0
- 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 +8 -7
- package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/threads.d.ts +2 -0
- package/dist/types/src/components/Sheet/threads.d.ts.map +1 -0
- package/dist/types/src/components/SheetContainer.d.ts +2 -3
- package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -3
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +18 -13
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -2
- 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/defs/util.d.ts +43 -0
- 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 -3
- package/dist/types/src/model/index.d.ts.map +1 -1
- package/dist/types/src/model/{model.d.ts → sheet-model.d.ts} +10 -65
- 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/translations.d.ts +17 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +86 -5
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/vendor/hyperformula.mjs +37145 -0
- package/package.json +55 -47
- package/src/SheetPlugin.tsx +50 -73
- package/src/components/CellEditor/CellEditor.stories.tsx +6 -6
- package/src/components/CellEditor/CellEditor.tsx +59 -9
- package/src/components/CellEditor/extension.test.ts +4 -6
- 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 +52 -88
- package/src/components/Sheet/Sheet.tsx +87 -32
- package/src/components/Sheet/decorations.ts +62 -0
- package/src/components/Sheet/grid.ts +3 -3
- package/src/components/Sheet/nav.ts +19 -19
- package/src/components/Sheet/sheet-context.tsx +18 -80
- package/src/components/Sheet/threads.tsx +205 -0
- package/src/components/SheetContainer.tsx +68 -16
- package/src/components/Toolbar/Toolbar.tsx +53 -12
- package/src/components/index.ts +1 -0
- package/src/defs/index.ts +6 -0
- package/src/{model → defs}/types.test.ts +8 -9
- package/src/{model → defs}/types.ts +24 -14
- package/src/defs/util.ts +151 -0
- 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 -3
- package/src/model/sheet-model.test.ts +57 -0
- package/src/model/sheet-model.ts +416 -0
- package/src/sanity.test.ts +40 -0
- package/src/testing/index.ts +5 -0
- package/src/testing/testing.tsx +68 -0
- package/src/translations.ts +6 -1
- package/src/types.ts +35 -10
- package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +0 -7
- package/dist/lib/browser/chunk-APHOLYUB.mjs +0 -175
- package/dist/lib/browser/chunk-APHOLYUB.mjs.map +0 -7
- package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +0 -7
- package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +0 -7
- package/dist/lib/browser/chunk-JRL5LGCE.mjs.map +0 -7
- package/dist/lib/browser/chunk-NU4PBN33.mjs +0 -8
- package/dist/lib/browser/chunk-NU4PBN33.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-AXQV3ZT5.cjs.map +0 -7
- package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +0 -7
- package/dist/lib/node/chunk-BJ6ZD7MN.cjs.map +0 -7
- package/dist/lib/node/chunk-CN3RPESU.cjs +0 -202
- package/dist/lib/node/chunk-CN3RPESU.cjs.map +0 -7
- package/dist/lib/node/chunk-DSYKOI4E.cjs.map +0 -7
- package/dist/lib/node/chunk-PYXHNAAK.cjs +0 -40
- package/dist/lib/node/chunk-PYXHNAAK.cjs.map +0 -7
- package/dist/lib/node/testing.cjs +0 -111
- package/dist/lib/node/testing.cjs.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 +0 -15
- 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 -50
- package/src/components/ComputeGraph/graph.ts +0 -62
- package/src/model/model.browser.test.ts +0 -100
- package/src/model/model.ts +0 -550
- package/src/model/util.ts +0 -36
- 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",
|
|
@@ -57,61 +64,92 @@ var translations_default = [
|
|
|
57
64
|
"cell placeholder": "Cell value...",
|
|
58
65
|
"toolbar left label": "Align left",
|
|
59
66
|
"toolbar left center": "Align center",
|
|
60
|
-
"toolbar left right": "Align right"
|
|
67
|
+
"toolbar left right": "Align right",
|
|
68
|
+
"selection overlaps existing comment label": "Selected cell already has a comment",
|
|
69
|
+
"comment label": "Add comment",
|
|
70
|
+
"comment ranges not supported label": "Commenting on ranges is not yet supported",
|
|
71
|
+
"no cursor label": "Select a cell to comment",
|
|
72
|
+
"open comment for sheet cell": "View comments for cell"
|
|
61
73
|
}
|
|
62
74
|
}
|
|
63
75
|
}
|
|
64
76
|
];
|
|
77
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/SheetPlugin.tsx";
|
|
65
78
|
var SheetPlugin = () => {
|
|
66
|
-
let
|
|
67
|
-
const graphs = (0, import_echo_schema.create)({});
|
|
68
|
-
const setGraph = (key, graph) => {
|
|
69
|
-
graphs[key] = graph;
|
|
70
|
-
};
|
|
79
|
+
let computeGraphRegistry;
|
|
71
80
|
return {
|
|
72
|
-
meta:
|
|
81
|
+
meta: import_chunk_BNARJ5GM.meta_default,
|
|
73
82
|
ready: async (plugins) => {
|
|
74
83
|
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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;
|
|
78
94
|
if (client.config.values.runtime?.services?.edge?.url) {
|
|
79
95
|
const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
|
|
80
96
|
url.protocol = "https";
|
|
81
97
|
remoteFunctionUrl = url.toString();
|
|
82
98
|
}
|
|
99
|
+
const { ComputeGraphRegistry } = await import("./graph-Q3N2X26H.cjs");
|
|
100
|
+
computeGraphRegistry = new ComputeGraphRegistry({
|
|
101
|
+
remoteFunctionUrl
|
|
102
|
+
});
|
|
83
103
|
},
|
|
84
104
|
provides: {
|
|
85
105
|
context: ({ children }) => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
|
89
117
|
}, children);
|
|
90
118
|
},
|
|
91
119
|
metadata: {
|
|
92
120
|
records: {
|
|
93
|
-
[
|
|
94
|
-
label: (object) => object instanceof
|
|
121
|
+
[import_chunk_STAVQ2JE.SheetType.typename]: {
|
|
122
|
+
label: (object) => object instanceof import_chunk_STAVQ2JE.SheetType ? object.name : void 0,
|
|
95
123
|
placeholder: [
|
|
96
124
|
"sheet title placeholder",
|
|
97
125
|
{
|
|
98
|
-
ns:
|
|
126
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
99
127
|
}
|
|
100
128
|
],
|
|
101
|
-
icon:
|
|
102
|
-
iconSymbol: "ph--grid-nine--regular"
|
|
129
|
+
icon: "ph--grid-nine--regular"
|
|
103
130
|
}
|
|
104
131
|
}
|
|
105
132
|
},
|
|
106
133
|
translations: translations_default,
|
|
107
134
|
echo: {
|
|
108
135
|
// TODO(wittjosiah): Factor out to common package/plugin.
|
|
109
|
-
//
|
|
136
|
+
// FunctionType is currently registered here in case script plugin isn't enabled.
|
|
110
137
|
schema: [
|
|
111
|
-
|
|
138
|
+
import_chunk_STAVQ2JE.SheetType,
|
|
112
139
|
import_types.FunctionType
|
|
113
140
|
]
|
|
114
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
|
+
},
|
|
115
153
|
graph: {
|
|
116
154
|
builder: (plugins) => {
|
|
117
155
|
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
@@ -120,7 +158,7 @@ var SheetPlugin = () => {
|
|
|
120
158
|
return [];
|
|
121
159
|
}
|
|
122
160
|
return (0, import_plugin_graph.createExtension)({
|
|
123
|
-
id:
|
|
161
|
+
id: import_chunk_STAVQ2JE.SheetAction.CREATE,
|
|
124
162
|
filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
|
|
125
163
|
actions: ({ node }) => {
|
|
126
164
|
const id = node.id.split("/").at(-1);
|
|
@@ -133,12 +171,12 @@ var SheetPlugin = () => {
|
|
|
133
171
|
}
|
|
134
172
|
return [
|
|
135
173
|
{
|
|
136
|
-
id: `${
|
|
174
|
+
id: `${import_chunk_BNARJ5GM.SHEET_PLUGIN}/create/${node.id}`,
|
|
137
175
|
data: async () => {
|
|
138
176
|
await dispatch([
|
|
139
177
|
{
|
|
140
|
-
plugin:
|
|
141
|
-
action:
|
|
178
|
+
plugin: import_chunk_BNARJ5GM.SHEET_PLUGIN,
|
|
179
|
+
action: import_chunk_STAVQ2JE.SheetAction.CREATE,
|
|
142
180
|
data: {
|
|
143
181
|
space
|
|
144
182
|
}
|
|
@@ -158,11 +196,10 @@ var SheetPlugin = () => {
|
|
|
158
196
|
label: [
|
|
159
197
|
"create sheet label",
|
|
160
198
|
{
|
|
161
|
-
ns:
|
|
199
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
162
200
|
}
|
|
163
201
|
],
|
|
164
|
-
icon:
|
|
165
|
-
iconSymbol: "ph--grid-nine--regular",
|
|
202
|
+
icon: "ph--grid-nine--regular",
|
|
166
203
|
testId: "sheetPlugin.createObject"
|
|
167
204
|
}
|
|
168
205
|
}
|
|
@@ -171,6 +208,24 @@ var SheetPlugin = () => {
|
|
|
171
208
|
});
|
|
172
209
|
}
|
|
173
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
|
+
},
|
|
174
229
|
stack: {
|
|
175
230
|
creators: [
|
|
176
231
|
{
|
|
@@ -179,36 +234,39 @@ var SheetPlugin = () => {
|
|
|
179
234
|
type: [
|
|
180
235
|
"plugin name",
|
|
181
236
|
{
|
|
182
|
-
ns:
|
|
237
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
183
238
|
}
|
|
184
239
|
],
|
|
185
240
|
label: [
|
|
186
241
|
"create sheet section label",
|
|
187
242
|
{
|
|
188
|
-
ns:
|
|
243
|
+
ns: import_chunk_BNARJ5GM.SHEET_PLUGIN
|
|
189
244
|
}
|
|
190
245
|
],
|
|
191
246
|
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.GridNine, props),
|
|
192
247
|
intent: {
|
|
193
|
-
plugin:
|
|
194
|
-
action:
|
|
248
|
+
plugin: import_chunk_BNARJ5GM.SHEET_PLUGIN,
|
|
249
|
+
action: import_chunk_STAVQ2JE.SheetAction.CREATE
|
|
195
250
|
}
|
|
196
251
|
}
|
|
197
252
|
]
|
|
198
253
|
},
|
|
254
|
+
thread: {
|
|
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)
|
|
257
|
+
},
|
|
199
258
|
surface: {
|
|
200
|
-
component: ({ data, role
|
|
201
|
-
const space = (0, import_echo.isEchoObject)(data.object)
|
|
202
|
-
|
|
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) {
|
|
203
263
|
switch (role) {
|
|
204
264
|
case "article":
|
|
205
265
|
case "section": {
|
|
206
|
-
return /* @__PURE__ */ import_react2.default.createElement(
|
|
266
|
+
return /* @__PURE__ */ import_react2.default.createElement(import_chunk_2K53Z2TU.SheetContainer, {
|
|
267
|
+
graph,
|
|
207
268
|
sheet: data.object,
|
|
208
|
-
|
|
209
|
-
role,
|
|
210
|
-
coordinate: data.coordinate,
|
|
211
|
-
remoteFunctionUrl
|
|
269
|
+
role
|
|
212
270
|
});
|
|
213
271
|
}
|
|
214
272
|
}
|
|
@@ -219,27 +277,9 @@ var SheetPlugin = () => {
|
|
|
219
277
|
intent: {
|
|
220
278
|
resolver: async (intent) => {
|
|
221
279
|
switch (intent.action) {
|
|
222
|
-
case
|
|
223
|
-
const space = intent.data?.space;
|
|
224
|
-
const sheet = (0, import_chunk_DSYKOI4E.createSheet)();
|
|
225
|
-
const graph = graphs[space.id] ?? (0, import_chunk_5KKJ4NPP.createComputeGraph)([
|
|
226
|
-
{
|
|
227
|
-
plugin: import_chunk_CN3RPESU.EdgeFunctionPlugin,
|
|
228
|
-
translations: import_chunk_CN3RPESU.EdgeFunctionPluginTranslations
|
|
229
|
-
},
|
|
230
|
-
// TODO(wittjosiah): Remove. Needed for current test sheet generated data.
|
|
231
|
-
{
|
|
232
|
-
plugin: import_chunk_5KKJ4NPP.CustomPlugin,
|
|
233
|
-
translations: import_chunk_5KKJ4NPP.CustomPluginTranslations
|
|
234
|
-
}
|
|
235
|
-
], space, {
|
|
236
|
-
remoteFunctionUrl
|
|
237
|
-
});
|
|
238
|
-
const model = new import_chunk_5KKJ4NPP.SheetModel(graph, sheet);
|
|
239
|
-
await model.initialize();
|
|
240
|
-
await model.destroy();
|
|
280
|
+
case import_chunk_STAVQ2JE.SheetAction.CREATE: {
|
|
241
281
|
return {
|
|
242
|
-
data:
|
|
282
|
+
data: (0, import_chunk_2K53Z2TU.createSheet)()
|
|
243
283
|
};
|
|
244
284
|
}
|
|
245
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 {\n NavigationAction,\n parseIntentPlugin,\n resolvePlugin,\n type PluginDefinition,\n type LayoutCoordinate,\n} 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 { 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 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\n sheet={data.object}\n space={space}\n role={role}\n coordinate={data.coordinate as LayoutCoordinate}\n remoteFunctionUrl={remoteFunctionUrl}\n />\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 },\n },\n },\n];\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
|
}
|