@dxos/plugin-sheet 0.7.4 → 0.7.5-labs.5f04cf6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/SheetContainer-CM4CO3DC.mjs +370 -0
- package/dist/lib/browser/SheetContainer-CM4CO3DC.mjs.map +7 -0
- package/dist/lib/browser/chunk-FOO6NGBM.mjs +229 -0
- package/dist/lib/browser/chunk-FOO6NGBM.mjs.map +7 -0
- package/dist/lib/browser/chunk-H23JW3DX.mjs +800 -0
- package/dist/lib/browser/chunk-H23JW3DX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RABELMEQ.mjs → chunk-K6EUYKWT.mjs} +3 -3
- package/dist/lib/browser/chunk-K6EUYKWT.mjs.map +7 -0
- package/dist/lib/browser/chunk-PW25VUP6.mjs +15 -0
- package/dist/lib/browser/chunk-PW25VUP6.mjs.map +7 -0
- package/dist/lib/browser/chunk-T3IVPMRX.mjs +900 -0
- package/dist/lib/browser/chunk-T3IVPMRX.mjs.map +7 -0
- package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs +27 -0
- package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +86 -324
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs +47 -0
- package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs.map +7 -0
- package/dist/lib/browser/markdown-IKG5FNCA.mjs +26 -0
- package/dist/lib/browser/markdown-IKG5FNCA.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-JG43577H.mjs +28 -0
- package/dist/lib/browser/react-context-JG43577H.mjs.map +7 -0
- package/dist/lib/browser/react-surface-URRC3AFC.mjs +43 -0
- package/dist/lib/browser/react-surface-URRC3AFC.mjs.map +7 -0
- package/dist/lib/browser/thread-YX6KBQNQ.mjs +17 -0
- package/dist/lib/browser/thread-YX6KBQNQ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +62 -0
- package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs +364 -0
- package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs.map +7 -0
- package/dist/lib/node/chunk-E3RXOEL6.cjs +935 -0
- package/dist/lib/node/chunk-E3RXOEL6.cjs.map +7 -0
- package/dist/lib/node/{types.cjs → chunk-FU5K66DS.cjs} +12 -16
- package/dist/lib/node/chunk-FU5K66DS.cjs.map +7 -0
- package/dist/lib/node/{chunk-2ZVZI2KJ.cjs → chunk-NLDXUFDG.cjs} +7 -7
- package/dist/lib/node/chunk-NLDXUFDG.cjs.map +7 -0
- package/dist/lib/node/chunk-P4KSGZSS.cjs +251 -0
- package/dist/lib/node/chunk-P4KSGZSS.cjs.map +7 -0
- package/dist/lib/node/chunk-ZPWW4LPY.cjs +807 -0
- package/dist/lib/node/chunk-ZPWW4LPY.cjs.map +7 -0
- package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs +53 -0
- package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs.map +7 -0
- package/dist/lib/node/index.cjs +87 -318
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs +60 -0
- package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs.map +7 -0
- package/dist/lib/node/markdown-EUUL3Q36.cjs +40 -0
- package/dist/lib/node/markdown-EUUL3Q36.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-context-OOH5QFE2.cjs +50 -0
- package/dist/lib/node/react-context-OOH5QFE2.cjs.map +7 -0
- package/dist/lib/node/react-surface-IQN5JKSS.cjs +64 -0
- package/dist/lib/node/react-surface-IQN5JKSS.cjs.map +7 -0
- package/dist/lib/node/{meta.cjs → thread-VBPS23P2.cjs} +12 -10
- package/dist/lib/node/thread-VBPS23P2.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +84 -0
- package/dist/lib/node/types/index.cjs.map +7 -0
- package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs +371 -0
- package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BM2Q3FFC.mjs → chunk-FMOVRTS4.mjs} +3 -3
- package/dist/lib/node-esm/chunk-FMOVRTS4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KCXK5UM6.mjs +16 -0
- package/dist/lib/node-esm/chunk-KCXK5UM6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-NSVUOAI6.mjs +901 -0
- package/dist/lib/node-esm/chunk-NSVUOAI6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OXD6RBFF.mjs +801 -0
- package/dist/lib/node-esm/chunk-OXD6RBFF.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PTOI45NK.mjs +231 -0
- package/dist/lib/node-esm/chunk-PTOI45NK.mjs.map +7 -0
- package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs +28 -0
- package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +86 -324
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs +48 -0
- package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs.map +7 -0
- package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs +27 -0
- package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-context-CJVSLO74.mjs +29 -0
- package/dist/lib/node-esm/react-context-CJVSLO74.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs +44 -0
- package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs.map +7 -0
- package/dist/lib/node-esm/thread-HSJD3SR6.mjs +18 -0
- package/dist/lib/node-esm/thread-HSJD3SR6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +63 -0
- package/dist/types/src/SheetPlugin.d.ts +1 -3
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +5 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +4 -0
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +17 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/markdown.d.ts +6 -0
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context.d.ts +8 -0
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/thread.d.ts +6 -0
- package/dist/types/src/capabilities/thread.d.ts.map +1 -0
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -0
- package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
- package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +1 -2
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +7 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +6 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/align.d.ts +28 -0
- package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/comment.d.ts +23 -0
- package/dist/types/src/components/SheetToolbar/comment.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/index.d.ts +2 -0
- package/dist/types/src/components/SheetToolbar/index.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/style.d.ts +26 -0
- package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts +8 -0
- package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +6 -0
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.d.ts +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/extension.d.ts +1 -1
- package/dist/types/src/extensions/editor/extension.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/integrations/thread-ranges.d.ts +1 -1
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +6 -8
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/model/testing.d.ts +1 -1
- package/dist/types/src/model/testing.d.ts.map +1 -1
- package/dist/types/src/model/useSheetModel.d.ts +1 -1
- package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +1 -1
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/{defs → types}/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/types/schema.d.ts +105 -0
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/{defs → types}/sheet-range-types.d.ts +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +71 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/src/{defs → types}/util.d.ts +5 -1
- package/dist/types/src/types/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +47 -61
- package/src/SheetPlugin.tsx +70 -176
- package/src/capabilities/capabilities.ts +14 -0
- package/src/capabilities/compute-graph-registry.ts +25 -0
- package/src/capabilities/index.ts +14 -0
- package/src/capabilities/intent-resolver.ts +29 -0
- package/src/capabilities/markdown.ts +22 -0
- package/src/capabilities/react-context.tsx +20 -0
- package/src/capabilities/react-surface.tsx +30 -0
- package/src/capabilities/thread.ts +14 -0
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -2
- package/src/{compute-graph → components/ComputeGraph}/compute-graph.stories.tsx +6 -7
- package/src/components/FunctionEditor/FunctionEditor.tsx +2 -1
- package/src/components/GridSheet/GridSheet.stories.tsx +2 -0
- package/src/components/GridSheet/GridSheet.tsx +15 -18
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +6 -7
- package/src/components/GridSheet/util.ts +3 -2
- package/src/components/RangeList/RangeList.tsx +2 -1
- package/src/components/SheetContainer/SheetContainer.stories.tsx +25 -23
- package/src/components/SheetContainer/SheetContainer.tsx +3 -8
- package/src/components/SheetContext/SheetContext.tsx +1 -2
- package/src/components/{Toolbar/Toolbar.stories.tsx → SheetToolbar/SheetToolbar.stories.tsx} +4 -8
- package/src/components/SheetToolbar/SheetToolbar.tsx +48 -0
- package/src/components/SheetToolbar/align.ts +68 -0
- package/src/components/SheetToolbar/comment.ts +56 -0
- package/src/components/{Toolbar → SheetToolbar}/index.ts +1 -1
- package/src/components/SheetToolbar/style.ts +72 -0
- package/src/components/SheetToolbar/useToolbarAction.ts +87 -0
- package/src/components/SheetToolbar/useToolbarState.ts +17 -0
- package/src/components/index.ts +0 -1
- package/src/extensions/compute.ts +7 -4
- package/src/extensions/editor/extension.test.ts +2 -1
- package/src/extensions/editor/extension.ts +2 -3
- package/src/index.ts +2 -7
- package/src/integrations/thread-ranges.ts +28 -24
- package/src/meta.ts +1 -1
- package/src/model/sheet-model.test.ts +4 -10
- package/src/model/sheet-model.ts +30 -22
- package/src/model/testing.ts +3 -2
- package/src/model/useSheetModel.ts +2 -1
- package/src/sanity.test.ts +1 -1
- package/src/testing/testing.tsx +2 -3
- package/src/{defs → types}/index.ts +1 -0
- package/src/types/schema.ts +56 -0
- package/src/{defs → types}/sheet-range-types.ts +1 -1
- package/src/types/types.ts +67 -0
- package/src/{defs → types}/util.ts +13 -13
- package/dist/lib/browser/SheetContainer-KCLT6PEO.mjs +0 -296
- package/dist/lib/browser/SheetContainer-KCLT6PEO.mjs.map +0 -7
- package/dist/lib/browser/chunk-E5WQ7U7G.mjs +0 -1675
- package/dist/lib/browser/chunk-E5WQ7U7G.mjs.map +0 -7
- package/dist/lib/browser/chunk-F3HE6D3J.mjs +0 -3269
- package/dist/lib/browser/chunk-F3HE6D3J.mjs.map +0 -7
- package/dist/lib/browser/chunk-JXFPOYNA.mjs +0 -67
- package/dist/lib/browser/chunk-JXFPOYNA.mjs.map +0 -7
- package/dist/lib/browser/chunk-RABELMEQ.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-SNUS7HOH.mjs +0 -35
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/types.mjs +0 -16
- package/dist/lib/browser/types.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-VVVRYTQG.cjs +0 -298
- package/dist/lib/node/SheetContainer-VVVRYTQG.cjs.map +0 -7
- package/dist/lib/node/chunk-2ZVZI2KJ.cjs.map +0 -7
- package/dist/lib/node/chunk-45YW2DX2.cjs +0 -1656
- package/dist/lib/node/chunk-45YW2DX2.cjs.map +0 -7
- package/dist/lib/node/chunk-KSEEI5VC.cjs +0 -3323
- package/dist/lib/node/chunk-KSEEI5VC.cjs.map +0 -7
- package/dist/lib/node/chunk-OWH2EUHZ.cjs +0 -90
- package/dist/lib/node/chunk-OWH2EUHZ.cjs.map +0 -7
- package/dist/lib/node/compute-graph-WILPHO4A.cjs +0 -57
- package/dist/lib/node/compute-graph-WILPHO4A.cjs.map +0 -7
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node/types.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-LSBE6Q4X.mjs +0 -297
- package/dist/lib/node-esm/SheetContainer-LSBE6Q4X.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6JF2AHKO.mjs +0 -3270
- package/dist/lib/node-esm/chunk-6JF2AHKO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BVS2IQRO.mjs +0 -68
- package/dist/lib/node-esm/chunk-BVS2IQRO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NYDNXI7L.mjs +0 -1676
- package/dist/lib/node-esm/chunk-NYDNXI7L.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-S6CVN7RS.mjs +0 -36
- package/dist/lib/node-esm/compute-graph-S6CVN7RS.mjs.map +0 -7
- package/dist/lib/node-esm/meta.mjs +0 -10
- package/dist/lib/node-esm/meta.mjs.map +0 -7
- package/dist/lib/node-esm/types.mjs +0 -17
- package/dist/lib/node-esm/types.mjs.map +0 -7
- package/dist/types/src/components/SheetObjectSettings.d.ts +0 -7
- package/dist/types/src/components/SheetObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -48
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -7
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar/index.d.ts +0 -2
- package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
- package/dist/types/src/compute-graph/compute-graph-registry.d.ts +0 -34
- package/dist/types/src/compute-graph/compute-graph-registry.d.ts.map +0 -1
- package/dist/types/src/compute-graph/compute-graph.d.ts +0 -64
- package/dist/types/src/compute-graph/compute-graph.d.ts.map +0 -1
- package/dist/types/src/compute-graph/compute-graph.stories.d.ts.map +0 -1
- package/dist/types/src/compute-graph/compute-graph.test.d.ts +0 -2
- package/dist/types/src/compute-graph/compute-graph.test.d.ts.map +0 -1
- package/dist/types/src/compute-graph/compute-node.d.ts +0 -26
- package/dist/types/src/compute-graph/compute-node.d.ts.map +0 -1
- package/dist/types/src/compute-graph/functions/async-function.d.ts +0 -66
- package/dist/types/src/compute-graph/functions/async-function.d.ts.map +0 -1
- package/dist/types/src/compute-graph/functions/edge-function.d.ts +0 -21
- package/dist/types/src/compute-graph/functions/edge-function.d.ts.map +0 -1
- package/dist/types/src/compute-graph/functions/function-defs.d.ts +0 -11
- package/dist/types/src/compute-graph/functions/function-defs.d.ts.map +0 -1
- package/dist/types/src/compute-graph/functions/index.d.ts +0 -4
- package/dist/types/src/compute-graph/functions/index.d.ts.map +0 -1
- package/dist/types/src/compute-graph/hyperformula.test.d.ts +0 -2
- package/dist/types/src/compute-graph/hyperformula.test.d.ts.map +0 -1
- package/dist/types/src/compute-graph/index.d.ts +0 -5
- package/dist/types/src/compute-graph/index.d.ts.map +0 -1
- package/dist/types/src/compute-graph/testing/index.d.ts +0 -3
- package/dist/types/src/compute-graph/testing/index.d.ts.map +0 -1
- package/dist/types/src/compute-graph/testing/test-builder.d.ts +0 -15
- package/dist/types/src/compute-graph/testing/test-builder.d.ts.map +0 -1
- package/dist/types/src/compute-graph/testing/test-plugin.d.ts +0 -36
- package/dist/types/src/compute-graph/testing/test-plugin.d.ts.map +0 -1
- package/dist/types/src/compute-graph/util.d.ts +0 -2
- package/dist/types/src/compute-graph/util.d.ts.map +0 -1
- package/dist/types/src/defs/index.d.ts.map +0 -1
- package/dist/types/src/defs/sheet-range-types.d.ts.map +0 -1
- package/dist/types/src/defs/types.d.ts +0 -26
- package/dist/types/src/defs/types.d.ts.map +0 -1
- package/dist/types/src/defs/types.test.d.ts +0 -2
- package/dist/types/src/defs/types.test.d.ts.map +0 -1
- package/dist/types/src/defs/util.d.ts.map +0 -1
- package/dist/types/src/types.d.ts +0 -182
- package/dist/types/src/types.d.ts.map +0 -1
- package/dist/vendor/hyperformula.mjs +0 -37145
- package/src/components/SheetObjectSettings.tsx +0 -38
- package/src/components/Toolbar/Toolbar.tsx +0 -346
- package/src/compute-graph/compute-graph-registry.ts +0 -90
- package/src/compute-graph/compute-graph.test.ts +0 -87
- package/src/compute-graph/compute-graph.ts +0 -260
- package/src/compute-graph/compute-node.ts +0 -62
- package/src/compute-graph/functions/async-function.ts +0 -179
- package/src/compute-graph/functions/edge-function.ts +0 -102
- package/src/compute-graph/functions/function-defs.ts +0 -2427
- package/src/compute-graph/functions/index.ts +0 -7
- package/src/compute-graph/hyperformula.test.ts +0 -14
- package/src/compute-graph/index.ts +0 -8
- package/src/compute-graph/testing/index.ts +0 -6
- package/src/compute-graph/testing/test-builder.ts +0 -54
- package/src/compute-graph/testing/test-plugin.ts +0 -100
- package/src/compute-graph/util.ts +0 -8
- package/src/defs/types.test.ts +0 -91
- package/src/defs/types.ts +0 -88
- package/src/types.ts +0 -125
- /package/dist/lib/browser/{compute-graph-SNUS7HOH.mjs.map → types/index.mjs.map} +0 -0
- /package/dist/lib/{browser/meta.mjs.map → node-esm/types/index.mjs.map} +0 -0
- /package/dist/types/src/{compute-graph → components/ComputeGraph}/compute-graph.stories.d.ts +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ComputeGraph/ComputeGraphContextProvider.tsx", "../../../src/components/RangeList/RangeList.tsx", "../../../src/components/index.ts", "../../../src/components/GridSheet/GridSheet.tsx", "../../../src/components/GridSheet/util.ts", "../../../src/integrations/thread-ranges.ts", "../../../src/components/SheetContext/SheetContext.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext } from 'react';\n\nimport { type ComputeGraph, type ComputeGraphRegistry } from '@dxos/compute';\nimport { raise } from '@dxos/debug';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncState } from '@dxos/react-hooks';\n\nexport type ComputeGraphContextType = {\n registry: ComputeGraphRegistry;\n};\n\n/**\n * The compute graph context manages a ComputeGraph for each space.\n */\nexport const ComputeGraphContext = createContext<ComputeGraphContextType | undefined>(undefined);\n\nexport const ComputeGraphContextProvider = ({ registry, children }: PropsWithChildren<ComputeGraphContextType>) => {\n return <ComputeGraphContext.Provider value={{ registry }}>{children}</ComputeGraphContext.Provider>;\n};\n\nexport const useComputeGraph = (space?: Space): ComputeGraph | undefined => {\n const { registry } = useContext(ComputeGraphContext) ?? raise(new Error('Missing ComputeGraphContext'));\n const [graph] = useAsyncState(async () => {\n if (space) {\n const graph = registry.getOrCreateGraph(space);\n await graph.open();\n return graph;\n }\n }, [space, registry]);\n\n return graph;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { rangeToA1Notation } from '@dxos/compute';\nimport { S } from '@dxos/echo-schema';\nimport { useTranslation } from '@dxos/react-ui';\nimport { List } from '@dxos/react-ui-list';\nimport { ghostHover } from '@dxos/react-ui-theme';\n\nimport { SHEET_PLUGIN } from '../../meta';\nimport { rangeFromIndex } from '../../types';\nimport { Range, type SheetType } from '../../types';\n\nexport type RangeListProps = {\n sheet: SheetType;\n};\n\nexport const RangeList = ({ sheet }: RangeListProps) => {\n const { t } = useTranslation(SHEET_PLUGIN);\n // TODO(thure): Implement similar to comments, #8121\n const handleSelectRange = (range: Range) => {};\n const handleDeleteRange = useCallback(\n (range: Range) => {\n const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);\n sheet.ranges.splice(index, 1);\n },\n [sheet],\n );\n return (\n <>\n <h2 className='p-2 text-sm font-semibold'>{t('range list heading')}</h2>\n <List.Root<Range> items={sheet.ranges} isItem={S.is(Range)}>\n {({ items: ranges }) =>\n ranges.map((range, i) => (\n <List.Item key={i} item={range} classNames={['p-2', ghostHover]}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleSelectRange(range)}>\n {t('range title', {\n position: rangeToA1Notation(rangeFromIndex(sheet, range.range)),\n key: t(`range key ${range.key} label`),\n value: t(`range value ${range.value} label`),\n })}\n </List.ItemTitle>\n <List.ItemDeleteButton onClick={() => handleDeleteRange(range)} />\n </List.Item>\n ))\n }\n </List.Root>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './ComputeGraph';\nexport * from './GridSheet';\nexport * from './RangeList';\nexport * from './SheetContext';\n\nexport const SheetContainer = lazy(() => import('./SheetContainer'));\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, {\n useCallback,\n useMemo,\n useRef,\n type FocusEvent,\n type KeyboardEvent,\n type WheelEvent,\n type MouseEvent,\n useState,\n} from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { rangeToA1Notation, type CellRange } from '@dxos/compute';\nimport { DropdownMenu, Icon, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport {\n closestCell,\n defaultSizeRow,\n editorKeys,\n Grid,\n GridCellEditor,\n type DxGridElement,\n type DxGridPosition,\n type DxGridCellIndex,\n type EditorKeyHandler,\n type EditorBlurHandler,\n type GridContentProps,\n parseCellIndex,\n} from '@dxos/react-ui-grid';\n\nimport { colLabelCell, rowLabelCell, useSheetModelDxGridProps } from './util';\nimport { rangeExtension, sheetExtension, type RangeController } from '../../extensions';\nimport { useSelectThreadOnCellFocus, useUpdateFocusedCellOnThreadSelection } from '../../integrations';\nimport { SHEET_PLUGIN } from '../../meta';\nimport { DEFAULT_COLS, DEFAULT_ROWS, SheetAction } from '../../types';\nimport { useSheetContext } from '../SheetContext';\n\nconst inertPosition: DxGridPosition = { plane: 'grid', col: 0, row: 0 };\n\nconst initialCells = {\n grid: {},\n frozenColsStart: [...Array(64)].reduce((acc, _, i) => {\n acc[`0,${i}`] = rowLabelCell(i);\n return acc;\n }, {}),\n frozenRowsStart: [...Array(12)].reduce((acc, _, i) => {\n acc[`${i},0`] = colLabelCell(i);\n return acc;\n }, {}),\n};\n\nconst frozen = {\n frozenColsStart: 1,\n frozenRowsStart: 1,\n};\n\nconst sheetRowDefault = {\n frozenRowsStart: { size: defaultSizeRow, readonly: true },\n grid: { size: defaultSizeRow, resizeable: true },\n};\nconst sheetColDefault = { frozenColsStart: { size: 48, readonly: true }, grid: { size: 180, resizeable: true } };\n\nexport const GridSheet = () => {\n const { t } = useTranslation(SHEET_PLUGIN);\n const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } =\n useSheetContext();\n // NOTE(thure): using `useState` instead of `useRef` works with refs provided by `@lit/react` and gives us\n // a reliable dependency for `useEffect` whereas `useLayoutEffect` does not guarantee the element will be defined.\n const [dxGrid, setDxGrid] = useState<DxGridElement | null>(null);\n const [extraplanarFocus, setExtraplanarFocus] = useState<DxGridPosition | null>(null);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const rangeController = useRef<RangeController>();\n const { hasAttention } = useAttention(id);\n\n const handleFocus = useCallback(\n (event: FocusEvent) => {\n if (!editing) {\n const cell = closestCell(event.target);\n if (cell) {\n if (cell.plane === 'grid') {\n setCursor({ col: cell.col, row: cell.row });\n setExtraplanarFocus(null);\n } else {\n setExtraplanarFocus(cell);\n }\n } else {\n setExtraplanarFocus(null);\n }\n }\n },\n [editing],\n );\n\n // TODO(burdon): Validate formula before closing: hf.validateFormula();\n const handleClose = useCallback<EditorKeyHandler>(\n (_value, event) => {\n if (event) {\n const { key, shift } = event;\n const axis = ['Enter', 'ArrowUp', 'ArrowDown'].includes(key)\n ? 'row'\n : ['Tab', 'ArrowLeft', 'ArrowRight'].includes(key)\n ? 'col'\n : undefined;\n const delta = key.startsWith('Arrow') ? (['ArrowUp', 'ArrowLeft'].includes(key) ? -1 : 1) : shift ? -1 : 1;\n dxGrid?.refocus(axis, delta);\n }\n },\n [model, editing, dxGrid],\n );\n\n const handleBlur = useCallback<EditorBlurHandler>(\n (value) => {\n if (value !== undefined) {\n model.setValue(parseCellIndex(editing!.index), value);\n }\n },\n [model, editing],\n );\n\n const handleAxisResize = useCallback<NonNullable<GridContentProps['onAxisResize']>>(\n ({ axis, size, index: numericIndex }) => {\n if (axis === 'row') {\n const rowId = model.sheet.rows[parseInt(numericIndex)];\n model.sheet.rowMeta[rowId] ??= {};\n model.sheet.rowMeta[rowId].size = size;\n } else {\n const columnId = model.sheet.columns[parseInt(numericIndex)];\n model.sheet.columnMeta[columnId] ??= {};\n model.sheet.columnMeta[columnId].size = size;\n }\n },\n [model],\n );\n\n const handleSelect = useCallback<NonNullable<GridContentProps['onSelect']>>(\n ({ minCol, maxCol, minRow, maxRow }) => {\n const range: CellRange = { from: { col: minCol, row: minRow } };\n if (minCol !== maxCol || minRow !== maxRow) {\n range.to = { col: maxCol, row: maxRow };\n }\n if (editing) {\n // Update range selection in formula.\n rangeController.current?.setRange(rangeToA1Notation(range));\n } else {\n // Setting range while editing causes focus to move to null, avoid doing so.\n setRange(range.to ? range : undefined);\n }\n },\n [editing],\n );\n const handleWheel = useCallback(\n (event: WheelEvent) => {\n if (!ignoreAttention && !hasAttention) {\n event.stopPropagation();\n }\n },\n [hasAttention, ignoreAttention],\n );\n\n const selectEntireAxis = useCallback(\n (pos: DxGridPosition) => {\n switch (pos.plane) {\n case 'frozenRowsStart':\n return dxGrid?.setSelection({\n start: { col: pos.col, row: 0, plane: 'grid' },\n end: { col: pos.col, row: model.sheet.rows.length - 1, plane: 'grid' },\n });\n case 'frozenColsStart':\n return dxGrid?.setSelection({\n start: { row: pos.row, col: 0, plane: 'grid' },\n end: { row: pos.row, col: model.sheet.columns.length - 1, plane: 'grid' },\n });\n }\n },\n [dxGrid, model.sheet],\n );\n\n const handleClick = useCallback(\n (event: MouseEvent) => {\n const cell = closestCell(event.target);\n if (cell) {\n selectEntireAxis(cell);\n }\n },\n [selectEntireAxis],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Backspace':\n case 'Delete':\n event.preventDefault();\n return cursorFallbackRange && model.clear(cursorFallbackRange);\n case 'Enter':\n case 'Space':\n if (dxGrid && extraplanarFocus) {\n switch (extraplanarFocus.plane) {\n case 'frozenRowsStart':\n case 'frozenColsStart':\n event.preventDefault();\n return selectEntireAxis(extraplanarFocus);\n }\n }\n }\n if (event.metaKey || event.ctrlKey) {\n switch (event.key) {\n case 'x':\n case 'X':\n event.preventDefault();\n return cursorFallbackRange && model.cut(cursorFallbackRange);\n case 'c':\n case 'C':\n event.preventDefault();\n return cursorFallbackRange && model.copy(cursorFallbackRange);\n case 'v':\n case 'V':\n event.preventDefault();\n return cursor && model.paste(cursor);\n case 'z':\n event.preventDefault();\n return event.shiftKey ? model.redo() : model.undo();\n case 'Z':\n case 'y':\n event.preventDefault();\n return model.redo();\n }\n }\n },\n [cursorFallbackRange, model, cursor, extraplanarFocus, selectEntireAxis],\n );\n\n const contextMenuAnchorRef = useRef<HTMLButtonElement | null>(null);\n const [contextMenuOpen, setContextMenuOpen] = useState<DxGridPosition | null>(null);\n const contextMenuAxis = contextMenuOpen?.plane.startsWith('frozenRows') ? 'col' : 'row';\n\n const handleContextMenu = useCallback((event: MouseEvent) => {\n const cell = closestCell(event.target);\n if (cell && cell.plane.startsWith('frozen')) {\n event.preventDefault();\n contextMenuAnchorRef.current = event.target as HTMLButtonElement;\n setContextMenuOpen(cell);\n }\n }, []);\n\n const handleAxisMenuAction = useCallback(\n (operation: 'insert-before' | 'insert-after' | 'drop') => {\n switch (operation) {\n case 'insert-before':\n case 'insert-after':\n return dispatch(\n createIntent(SheetAction.InsertAxis, {\n model,\n axis: contextMenuAxis,\n index: contextMenuOpen![contextMenuAxis] + (operation === 'insert-before' ? 0 : 1),\n }),\n );\n case 'drop':\n return dispatch(\n createIntent(SheetAction.DropAxis, {\n model,\n axis: contextMenuAxis,\n axisIndex: model.sheet[contextMenuAxis === 'row' ? 'rows' : 'columns'][contextMenuOpen![contextMenuAxis]],\n }),\n );\n }\n },\n [contextMenuAxis, contextMenuOpen, model, dispatch],\n );\n\n const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);\n\n const extension = useMemo(\n () => [\n editorKeys({ onClose: handleClose, ...(editing?.initialContent && { onNav: handleClose }) }),\n sheetExtension({ functions: model.graph.getFunctions() }),\n rangeExtension({\n onInit: (fn) => (rangeController.current = fn),\n onStateChange: (state) => {\n if (dxGrid) {\n // This can’t dispatch a setState in this component, otherwise the cell editor remounts and loses focus.\n dxGrid.mode = typeof state.activeRange === 'undefined' ? 'edit' : 'edit-select';\n }\n },\n }),\n ],\n [model, handleClose, editing],\n );\n\n const getCellContent = useCallback(\n (index: DxGridCellIndex) => {\n return model.getCellText(parseCellIndex(index));\n },\n [model],\n );\n\n useUpdateFocusedCellOnThreadSelection(dxGrid);\n useSelectThreadOnCellFocus();\n\n return (\n <div role='none' className='relative min-bs-0'>\n <GridCellEditor getCellContent={getCellContent} extension={extension} onBlur={handleBlur} />\n <Grid.Content\n initialCells={initialCells}\n limitColumns={DEFAULT_COLS}\n limitRows={DEFAULT_ROWS}\n columns={columns}\n rows={rows}\n onAxisResize={handleAxisResize}\n onSelect={handleSelect}\n rowDefault={sheetRowDefault}\n columnDefault={sheetColDefault}\n frozen={frozen}\n onFocus={handleFocus}\n onWheelCapture={handleWheel}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n overscroll='trap'\n className='[--dx-grid-base:var(--surface-bg)] [&_.dx-grid]:border-bs [&_.dx-grid]:absolute [&_.dx-grid]:inset-0 [&_.dx-grid]:border-separator'\n activeRefs={activeRefs}\n ref={setDxGrid}\n />\n <DropdownMenu.Root\n modal={false}\n open={!!contextMenuOpen}\n onOpenChange={(nextOpen) => setContextMenuOpen(nextOpen ? inertPosition : null)}\n >\n <DropdownMenu.VirtualTrigger virtualRef={contextMenuAnchorRef} />\n <DropdownMenu.Content side={contextMenuAxis === 'col' ? 'bottom' : 'right'} sideOffset={4} collisionPadding={8}>\n <DropdownMenu.Viewport>\n <DropdownMenu.Item\n onClick={() => handleAxisMenuAction('insert-before')}\n data-testid={`grid.${contextMenuAxis}.insert-before`}\n >\n <Icon\n size={5}\n icon={contextMenuAxis === 'col' ? 'ph--columns-plus-left--regular' : 'ph--rows-plus-top--regular'}\n />\n <span>{t(`add ${contextMenuAxis} before label`)}</span>\n </DropdownMenu.Item>\n <DropdownMenu.Item\n onClick={() => handleAxisMenuAction('insert-after')}\n data-testid={`grid.${contextMenuAxis}.insert-after`}\n >\n <Icon\n size={5}\n icon={contextMenuAxis === 'col' ? 'ph--columns-plus-right--regular' : 'ph--rows-plus-bottom--regular'}\n />\n <span>{t(`add ${contextMenuAxis} after label`)}</span>\n </DropdownMenu.Item>\n <DropdownMenu.Item\n onClick={() => handleAxisMenuAction('drop')}\n data-testid={`grid.${contextMenuAxis}.drop`}\n >\n <Icon size={5} icon='ph--backspace--regular' />\n <span>{t(`delete ${contextMenuAxis} label`)}</span>\n </DropdownMenu.Item>\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { inRange } from '@dxos/compute';\nimport { createDocAccessor, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { parseValue, cellClassesForFieldType } from '@dxos/react-ui-form';\nimport {\n type GridContentProps,\n type DxGridElement,\n type DxGridAxisMeta,\n type DxGridPlane,\n type DxGridPlaneRange,\n type DxGridPlaneCells,\n type DxGridCellValue,\n colToA1Notation,\n rowToA1Notation,\n commentedClassName,\n} from '@dxos/react-ui-grid';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { parseThreadAnchorAsCellRange } from '../../integrations';\nimport { type SheetModel } from '../../model';\nimport { cellClassNameForRange, rangeFromIndex } from '../../types';\n\nconst createDxGridColumns = (model: SheetModel): DxGridAxisMeta => {\n return model.sheet.columns.reduce(\n (acc: DxGridAxisMeta, columnId, numericIndex) => {\n if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {\n acc.grid[numericIndex] = { size: model.sheet.columnMeta[columnId].size, resizeable: true };\n }\n return acc;\n },\n { grid: {} },\n );\n};\n\nconst createDxGridRows = (model: SheetModel): DxGridAxisMeta => {\n return model.sheet.rows.reduce(\n (acc: DxGridAxisMeta, rowId, numericIndex) => {\n if (model.sheet.rowMeta[rowId] && model.sheet.rowMeta[rowId].size) {\n acc.grid[numericIndex] = { size: model.sheet.rowMeta[rowId].size, resizeable: true };\n }\n return acc;\n },\n { grid: {} },\n );\n};\n\nconst projectCellProps = (model: SheetModel, col: number, row: number): DxGridCellValue => {\n const address = { col, row };\n const rawValue = model.getValue(address);\n const ranges = model.sheet.ranges?.filter(({ range }) => inRange(rangeFromIndex(model.sheet, range), address));\n const threadRefs = model.sheet.threads\n ?.filter((thread) => {\n const range = thread.target?.anchor && parseThreadAnchorAsCellRange(thread.target!.anchor);\n return thread && range ? inRange(range, address) : false;\n })\n .map((thread) => fullyQualifiedId(thread!))\n .join(' ');\n\n const description = model.getValueDescription(address);\n const type = description?.type;\n const format = description?.format;\n const classNames = ranges?.map(cellClassNameForRange).reverse();\n\n return {\n value: parseValue({ type, format, value: rawValue }),\n className: mx(cellClassesForFieldType({ type, format }), threadRefs && commentedClassName, classNames),\n dataRefs: threadRefs,\n };\n};\nconst gridCellGetter = (model: SheetModel) => {\n // TODO(thure): Actually use the cache.\n const cachedGridCells: DxGridPlaneCells = {};\n return (nextBounds: DxGridPlaneRange): DxGridPlaneCells => {\n [...Array(nextBounds.end.col - nextBounds.start.col)].forEach((_, c0) => {\n return [...Array(nextBounds.end.row - nextBounds.start.row)].forEach((_, r0) => {\n const col = nextBounds.start.col + c0;\n const row = nextBounds.start.row + r0;\n cachedGridCells[`${col},${row}`] = projectCellProps(model, col, row);\n });\n });\n return cachedGridCells;\n };\n};\n\nexport const rowLabelCell = (row: number) => ({\n value: rowToA1Notation(row),\n className: 'text-end !pie-1 text-subdued',\n resizeHandle: 'row',\n});\n\nexport const colLabelCell = (col: number) => ({\n value: colToA1Notation(col),\n className: 'text-subdued',\n resizeHandle: 'col',\n});\n\nconst cellGetter = (model: SheetModel) => {\n const getGridCells = gridCellGetter(model);\n return (nextBounds: DxGridPlaneRange, plane: DxGridPlane): DxGridPlaneCells => {\n switch (plane) {\n case 'grid':\n return getGridCells(nextBounds);\n case 'frozenColsStart':\n return [...Array(nextBounds.end.row - nextBounds.start.row)].reduce((acc, _, r0) => {\n const r = nextBounds.start.row + r0;\n acc[`0,${r}`] = rowLabelCell(r);\n return acc;\n }, {});\n case 'frozenRowsStart':\n return [...Array(nextBounds.end.col - nextBounds.start.col)].reduce((acc, _, c0) => {\n const c = nextBounds.start.col + c0;\n acc[`${c},0`] = colLabelCell(c);\n return acc;\n }, {});\n default:\n return {};\n }\n };\n};\n\nexport const useSheetModelDxGridProps = (\n dxGrid: DxGridElement | null,\n model: SheetModel,\n): Pick<GridContentProps, 'columns' | 'rows'> => {\n const [columns, setColumns] = useState<DxGridAxisMeta>(createDxGridColumns(model));\n const [rows, setRows] = useState<DxGridAxisMeta>(createDxGridRows(model));\n\n useEffect(() => {\n const cellsAccessor = createDocAccessor(model.sheet, ['cells']);\n if (dxGrid) {\n dxGrid.getCells = cellGetter(model);\n }\n const handleCellsUpdate = () => {\n dxGrid?.requestUpdate('initialCells');\n };\n cellsAccessor.handle.addListener('change', handleCellsUpdate);\n const unsubscribe = model.graph.update.on(handleCellsUpdate);\n return () => {\n cellsAccessor.handle.removeListener('change', handleCellsUpdate);\n unsubscribe();\n };\n }, [model, dxGrid]);\n\n useEffect(() => {\n const columnMetaAccessor = createDocAccessor(model.sheet, ['columnMeta']);\n const rowMetaAccessor = createDocAccessor(model.sheet, ['rowMeta']);\n const handleColumnMetaUpdate = () => {\n setColumns(createDxGridColumns(model));\n };\n const handleRowMetaUpdate = () => {\n setRows(createDxGridRows(model));\n };\n columnMetaAccessor.handle.addListener('change', handleColumnMetaUpdate);\n rowMetaAccessor.handle.addListener('change', handleRowMetaUpdate);\n return () => {\n columnMetaAccessor.handle.removeListener('change', handleColumnMetaUpdate);\n rowMetaAccessor.handle.removeListener('change', handleRowMetaUpdate);\n };\n }, [model, dxGrid]);\n\n return { columns, rows };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n createIntent,\n createResolver,\n LayoutAction,\n useIntentDispatcher,\n useIntentResolver,\n} from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { type CellAddress, type CompleteCellRange, inRange } from '@dxos/compute';\nimport { ThreadAction } from '@dxos/plugin-thread/types';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type DxGridElement, type DxGridPosition } from '@dxos/react-ui-grid';\n\nimport { useSheetContext } from '../components';\nimport { SHEET_PLUGIN } from '../meta';\n\nexport const completeCellRangeToThreadCursor = (range: CompleteCellRange): string => {\n return `${range.from.col},${range.from.row},${range.to.col},${range.to.row}`;\n};\n\nexport const parseThreadAnchorAsCellRange = (cursor: string): CompleteCellRange | null => {\n const coords = cursor.split(',');\n if (coords.length !== 4) {\n return null;\n } else {\n const [fromCol, fromRow, toCol, toRow] = coords;\n return {\n from: { col: parseInt(fromCol), row: parseInt(fromRow) },\n to: { col: parseInt(toCol), row: parseInt(toRow) },\n };\n }\n};\n\nexport const useUpdateFocusedCellOnThreadSelection = (grid: DxGridElement | null) => {\n const { model, setActiveRefs } = useSheetContext();\n const scrollIntoViewResolver = useMemo(\n () =>\n createResolver(\n LayoutAction.ScrollIntoView,\n ({ cursor, ref }) => {\n setActiveRefs(ref);\n // TODO(Zan): Everywhere we refer to the cursor in a thread context should change to `anchor`.\n const range = parseThreadAnchorAsCellRange(cursor!);\n range && grid?.setFocus({ ...range.to, plane: 'grid' }, true);\n },\n {\n disposition: 'hoist',\n filter: (data) => data.id === fullyQualifiedId(model.sheet) && !!data.cursor,\n },\n ),\n [model.sheet, setActiveRefs],\n );\n\n useIntentResolver(SHEET_PLUGIN, scrollIntoViewResolver);\n};\n\nexport const useSelectThreadOnCellFocus = () => {\n const { model, cursor } = useSheetContext();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const threads = useMemo(\n () => model.sheet.threads?.filter((thread): thread is NonNullable<typeof thread> => !!thread) ?? [],\n [\n // TODO(thure): Surely we can find a better dependency for this…\n JSON.stringify(model.sheet.threads),\n ],\n );\n\n const selectClosestThread = useCallback(\n (cellAddress: CellAddress) => {\n if (!cellAddress || !threads) {\n return;\n }\n\n const closestThread = threads?.find((ref) => {\n if (ref.target?.anchor) {\n const range = parseThreadAnchorAsCellRange(ref.target!.anchor);\n return range ? inRange(range, cellAddress) : false;\n } else {\n return false;\n }\n });\n\n if (closestThread) {\n void dispatch(createIntent(ThreadAction.Select, { current: fullyQualifiedId(closestThread) }));\n }\n },\n [dispatch, threads],\n );\n\n const debounced = useMemo(() => {\n return debounce((cellCoords: DxGridPosition) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);\n }, [selectClosestThread]);\n\n useEffect(() => {\n if (!cursor) {\n return;\n }\n debounced(cursor);\n }, [cursor, debounced]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type PropsWithChildren, createContext, useCallback, useContext, useState } from 'react';\n\nimport { type ComputeGraph, type CellAddress, type CellRange, type CompleteCellRange } from '@dxos/compute';\nimport { invariant } from '@dxos/invariant';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport {\n Grid,\n type GridContentProps,\n type GridEditing,\n type GridScopedProps,\n useGridContext,\n} from '@dxos/react-ui-grid';\n\nimport { type SheetModel, useSheetModel } from '../../model';\nimport { type SheetType } from '../../types';\n\nexport type SheetContextValue = {\n id: string;\n\n model: SheetModel;\n\n // Cursor state.\n // TODO(burdon): Cursor and range should use indices.\n cursor?: CellAddress;\n setCursor: (cell: CellAddress | undefined) => void;\n range?: CellRange;\n setRange: (range: CellRange | undefined) => void;\n cursorFallbackRange?: CompleteCellRange;\n\n // Editing state (undefined if not editing).\n editing: GridEditing;\n setEditing: (editing: GridEditing) => void;\n\n // Active refs\n activeRefs: GridContentProps['activeRefs'];\n setActiveRefs: (activeRefs: GridContentProps['activeRefs']) => void;\n\n // Events.\n // TODO(burdon): Generalize.\n onInfo?: () => void;\n\n // Flags\n ignoreAttention?: boolean;\n};\n\nconst SheetContext = createContext<SheetContextValue | undefined>(undefined);\n\nexport const useSheetContext = (): SheetContextValue => {\n const context = useContext(SheetContext);\n invariant(context);\n return context;\n};\n\nconst SheetProviderImpl = ({\n model,\n onInfo,\n ignoreAttention,\n children,\n __gridScope,\n}: GridScopedProps<PropsWithChildren<Pick<SheetContextValue, 'onInfo' | 'model' | 'ignoreAttention'>>>) => {\n const { id, editing, setEditing } = useGridContext('SheetProvider', __gridScope);\n\n const [cursor, setCursorInternal] = useState<CellAddress>();\n const [range, setRangeInternal] = useState<CellRange>();\n const [cursorFallbackRange, setCursorFallbackRange] = useState<CompleteCellRange>();\n const [activeRefs, setActiveRefs] = useState<GridContentProps['activeRefs']>('');\n\n const setCursor = useCallback(\n (nextCursor?: CellAddress) => {\n setCursorInternal(nextCursor);\n setCursorFallbackRange(\n range?.to ? (range as CompleteCellRange) : nextCursor ? { from: nextCursor!, to: nextCursor! } : undefined,\n );\n },\n [range],\n );\n const setRange = useCallback(\n (nextRange?: CellRange) => {\n setRangeInternal(nextRange);\n setCursorFallbackRange(\n nextRange?.to ? (nextRange as CompleteCellRange) : cursor ? { from: cursor!, to: cursor! } : undefined,\n );\n },\n [cursor],\n );\n\n return (\n <SheetContext.Provider\n value={{\n id,\n model,\n editing,\n setEditing,\n cursor,\n setCursor,\n range,\n setRange,\n cursorFallbackRange,\n activeRefs,\n setActiveRefs,\n // TODO(burdon): Change to event.\n onInfo,\n ignoreAttention,\n }}\n >\n {children}\n </SheetContext.Provider>\n );\n};\n\nexport type SheetProviderProps = {\n graph: ComputeGraph;\n sheet: SheetType;\n readonly?: boolean;\n ignoreAttention?: boolean;\n} & Pick<SheetContextValue, 'onInfo'>;\n\nexport const SheetProvider = ({\n children,\n graph,\n sheet,\n readonly,\n ignoreAttention,\n onInfo,\n}: PropsWithChildren<SheetProviderProps>) => {\n const model = useSheetModel(graph, sheet, { readonly });\n\n return !model ? null : (\n <Grid.Root id={fullyQualifiedId(sheet)}>\n <SheetProviderImpl model={model} onInfo={onInfo} ignoreAttention={ignoreAttention}>\n {children}\n </SheetProviderImpl>\n </Grid.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_compute", "import_react_ui", "import_react_ui_grid", "import_react_ui_theme", "import_app_framework", "import_echo", "ComputeGraphContext", "createContext", "undefined", "ComputeGraphContextProvider", "registry", "children", "React", "Provider", "value", "useComputeGraph", "space", "useContext", "raise", "Error", "graph", "useAsyncState", "getOrCreateGraph", "open", "RangeList", "sheet", "t", "useTranslation", "SHEET_PLUGIN", "handleSelectRange", "range", "handleDeleteRange", "useCallback", "index", "ranges", "findIndex", "sheetRange", "splice", "h2", "className", "List", "Root", "items", "isItem", "S", "is", "Range", "map", "i", "Item", "key", "item", "classNames", "ghostHover", "ItemDragHandle", "ItemTitle", "onClick", "position", "rangeToA1Notation", "rangeFromIndex", "ItemDeleteButton", "completeCellRangeToThreadCursor", "from", "col", "row", "to", "parseThreadAnchorAsCellRange", "cursor", "coords", "split", "length", "fromCol", "fromRow", "toCol", "toRow", "parseInt", "useUpdateFocusedCellOnThreadSelection", "grid", "model", "setActiveRefs", "useSheetContext", "scrollIntoViewResolver", "useMemo", "createResolver", "LayoutAction", "ScrollIntoView", "ref", "setFocus", "plane", "disposition", "filter", "data", "id", "fullyQualifiedId", "useIntentResolver", "useSelectThreadOnCellFocus", "dispatchPromise", "dispatch", "useIntentDispatcher", "threads", "thread", "JSON", "stringify", "selectClosestThread", "cellAddress", "closestThread", "find", "target", "anchor", "inRange", "createIntent", "ThreadAction", "Select", "current", "debounced", "debounce", "cellCoords", "requestAnimationFrame", "useEffect", "createDxGridColumns", "columns", "reduce", "acc", "columnId", "numericIndex", "columnMeta", "size", "resizeable", "createDxGridRows", "rows", "rowId", "rowMeta", "projectCellProps", "address", "rawValue", "getValue", "threadRefs", "join", "description", "getValueDescription", "type", "format", "cellClassNameForRange", "reverse", "parseValue", "mx", "cellClassesForFieldType", "commentedClassName", "dataRefs", "gridCellGetter", "cachedGridCells", "nextBounds", "Array", "end", "start", "forEach", "_", "c0", "r0", "rowLabelCell", "rowToA1Notation", "resizeHandle", "colLabelCell", "colToA1Notation", "cellGetter", "getGridCells", "r", "c", "useSheetModelDxGridProps", "dxGrid", "setColumns", "useState", "setRows", "cellsAccessor", "createDocAccessor", "getCells", "handleCellsUpdate", "requestUpdate", "handle", "addListener", "unsubscribe", "update", "on", "removeListener", "columnMetaAccessor", "rowMetaAccessor", "handleColumnMetaUpdate", "handleRowMetaUpdate", "SheetContext", "context", "invariant", "SheetProviderImpl", "onInfo", "ignoreAttention", "__gridScope", "editing", "setEditing", "useGridContext", "setCursorInternal", "setRangeInternal", "cursorFallbackRange", "setCursorFallbackRange", "activeRefs", "setCursor", "nextCursor", "setRange", "nextRange", "SheetProvider", "readonly", "useSheetModel", "Grid", "inertPosition", "initialCells", "frozenColsStart", "frozenRowsStart", "frozen", "sheetRowDefault", "defaultSizeRow", "sheetColDefault", "GridSheet", "setDxGrid", "extraplanarFocus", "setExtraplanarFocus", "rangeController", "useRef", "hasAttention", "useAttention", "handleFocus", "event", "cell", "closestCell", "handleClose", "_value", "shift", "axis", "includes", "delta", "startsWith", "refocus", "handleBlur", "setValue", "parseCellIndex", "handleAxisResize", "handleSelect", "minCol", "maxCol", "minRow", "maxRow", "handleWheel", "stopPropagation", "selectEntireAxis", "pos", "setSelection", "handleClick", "handleKeyDown", "preventDefault", "clear", "metaKey", "ctrlKey", "cut", "copy", "paste", "shiftKey", "redo", "undo", "contextMenuAnchorRef", "contextMenuOpen", "setContextMenuOpen", "contextMenuAxis", "handleContextMenu", "handleAxisMenuAction", "operation", "SheetAction", "InsertAxis", "DropAxis", "axisIndex", "extension", "editorKeys", "onClose", "initialContent", "onNav", "sheetExtension", "functions", "getFunctions", "rangeExtension", "onInit", "fn", "onStateChange", "state", "mode", "activeRange", "getCellContent", "getCellText", "div", "role", "GridCellEditor", "onBlur", "Content", "limitColumns", "DEFAULT_COLS", "limitRows", "DEFAULT_ROWS", "onAxisResize", "onSelect", "rowDefault", "columnDefault", "onFocus", "onWheelCapture", "onKeyDown", "onContextMenu", "overscroll", "DropdownMenu", "modal", "onOpenChange", "nextOpen", "VirtualTrigger", "virtualRef", "side", "sideOffset", "collisionPadding", "Viewport", "data-testid", "Icon", "icon", "span", "Arrow", "SheetContainer", "lazy"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var compute_graph_registry_ORGTIE5M_exports = {};
|
|
30
|
+
__export(compute_graph_registry_ORGTIE5M_exports, {
|
|
31
|
+
default: () => compute_graph_registry_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(compute_graph_registry_ORGTIE5M_exports);
|
|
34
|
+
var import_chunk_FU5K66DS = require("./chunk-FU5K66DS.cjs");
|
|
35
|
+
var import_chunk_NLDXUFDG = require("./chunk-NLDXUFDG.cjs");
|
|
36
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
37
|
+
var import_plugin_client = require("@dxos/plugin-client");
|
|
38
|
+
var compute_graph_registry_default = async (context) => {
|
|
39
|
+
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
40
|
+
let remoteFunctionUrl;
|
|
41
|
+
if (client.config.values.runtime?.services?.edge?.url) {
|
|
42
|
+
const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
|
|
43
|
+
url.protocol = "https";
|
|
44
|
+
remoteFunctionUrl = url.toString();
|
|
45
|
+
}
|
|
46
|
+
const { defaultPlugins, ComputeGraphRegistry } = await import("@dxos/compute");
|
|
47
|
+
const computeGraphRegistry = new ComputeGraphRegistry({
|
|
48
|
+
plugins: defaultPlugins,
|
|
49
|
+
remoteFunctionUrl
|
|
50
|
+
});
|
|
51
|
+
return (0, import_app_framework.contributes)(import_chunk_FU5K66DS.SheetCapabilities.ComputeGraphRegistry, computeGraphRegistry);
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=compute-graph-registry-ORGTIE5M.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/compute-graph-registry.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { SheetCapabilities } from './capabilities';\n\nexport default async (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.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 // TODO(wittjosiah): This can probably be a module level import now due to lazy capability loading.\n // Async import removes direct dependency on hyperformula.\n const { defaultPlugins, ComputeGraphRegistry } = await import('@dxos/compute');\n const computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });\n\n return contributes(SheetCapabilities.ComputeGraphRegistry, computeGraphRegistry);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiD;AACjD,2BAAmC;AAInC,IAAA,iCAAe,OAAOA,YAAAA;AACpB,QAAMC,SAASD,QAAQE,kBAAkBC,wCAAmBC,MAAM;AAClE,MAAIC;AACJ,MAAIJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,KAAK;AACrD,UAAMA,MAAM,IAAIC,IAAI,cAAcX,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,GAAAA;AAChFA,QAAIE,WAAW;AACfR,wBAAoBM,IAAIG,SAAQ;EAClC;AAIA,QAAM,EAAEC,gBAAgBC,qBAAoB,IAAK,MAAM,OAAO,eAAA;AAC9D,QAAMC,uBAAuB,IAAID,qBAAqB;IAAEE,SAASH;IAAgBV;EAAkB,CAAA;AAEnG,aAAOc,kCAAYC,wCAAkBJ,sBAAsBC,oBAAAA;AAC7D;",
|
|
6
|
+
"names": ["context", "client", "requestCapability", "ClientCapabilities", "Client", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "defaultPlugins", "ComputeGraphRegistry", "computeGraphRegistry", "plugins", "contributes", "SheetCapabilities"]
|
|
7
|
+
}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -28,56 +28,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var node_exports = {};
|
|
30
30
|
__export(node_exports, {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
DEFAULT_ROWS: () => import_chunk_KSEEI5VC.DEFAULT_ROWS,
|
|
34
|
-
MAX_COLUMNS: () => import_chunk_KSEEI5VC.MAX_COLUMNS,
|
|
35
|
-
MAX_ROWS: () => import_chunk_KSEEI5VC.MAX_ROWS,
|
|
36
|
-
RANGE_NOTATION: () => import_chunk_KSEEI5VC.RANGE_NOTATION,
|
|
37
|
-
RangeException: () => import_chunk_KSEEI5VC.RangeException,
|
|
38
|
-
ReadonlyException: () => import_chunk_KSEEI5VC.ReadonlyException,
|
|
31
|
+
SHEET_PLUGIN: () => import_chunk_NLDXUFDG.SHEET_PLUGIN,
|
|
32
|
+
SheetCapabilities: () => import_chunk_FU5K66DS.SheetCapabilities,
|
|
39
33
|
SheetPlugin: () => SheetPlugin,
|
|
40
|
-
|
|
41
|
-
addressFromIndex: () => import_chunk_KSEEI5VC.addressFromIndex,
|
|
42
|
-
addressToA1Notation: () => import_chunk_KSEEI5VC.addressToA1Notation,
|
|
43
|
-
addressToIndex: () => import_chunk_KSEEI5VC.addressToIndex,
|
|
44
|
-
alignKey: () => import_chunk_KSEEI5VC.alignKey,
|
|
45
|
-
cellClassNameForRange: () => import_chunk_KSEEI5VC.cellClassNameForRange,
|
|
46
|
-
columnLetter: () => import_chunk_KSEEI5VC.columnLetter,
|
|
47
|
-
commentKey: () => import_chunk_KSEEI5VC.commentKey,
|
|
48
|
-
compareIndexPositions: () => import_chunk_KSEEI5VC.compareIndexPositions,
|
|
49
|
-
createIndex: () => import_chunk_KSEEI5VC.createIndex,
|
|
50
|
-
createIndices: () => import_chunk_KSEEI5VC.createIndices,
|
|
51
|
-
createSheet: () => import_chunk_KSEEI5VC.createSheet,
|
|
52
|
-
default: () => src_default,
|
|
53
|
-
inRange: () => import_chunk_KSEEI5VC.inRange,
|
|
54
|
-
initialize: () => import_chunk_KSEEI5VC.initialize,
|
|
55
|
-
insertIndices: () => import_chunk_KSEEI5VC.insertIndices,
|
|
56
|
-
isFormula: () => import_chunk_KSEEI5VC.isFormula,
|
|
57
|
-
mapFormulaIndicesToRefs: () => import_chunk_KSEEI5VC.mapFormulaIndicesToRefs,
|
|
58
|
-
mapFormulaRefsToIndices: () => import_chunk_KSEEI5VC.mapFormulaRefsToIndices,
|
|
59
|
-
posEquals: () => import_chunk_KSEEI5VC.posEquals,
|
|
60
|
-
rangeFromA1Notation: () => import_chunk_KSEEI5VC.rangeFromA1Notation,
|
|
61
|
-
rangeFromIndex: () => import_chunk_KSEEI5VC.rangeFromIndex,
|
|
62
|
-
rangeToA1Notation: () => import_chunk_KSEEI5VC.rangeToA1Notation,
|
|
63
|
-
rangeToIndex: () => import_chunk_KSEEI5VC.rangeToIndex,
|
|
64
|
-
styleKey: () => import_chunk_KSEEI5VC.styleKey
|
|
34
|
+
meta: () => import_chunk_NLDXUFDG.meta
|
|
65
35
|
});
|
|
66
36
|
module.exports = __toCommonJS(node_exports);
|
|
67
|
-
var
|
|
68
|
-
var
|
|
69
|
-
var
|
|
70
|
-
var import_chunk_2ZVZI2KJ = require("./chunk-2ZVZI2KJ.cjs");
|
|
71
|
-
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_chunk_FU5K66DS = require("./chunk-FU5K66DS.cjs");
|
|
38
|
+
var import_chunk_E3RXOEL6 = require("./chunk-E3RXOEL6.cjs");
|
|
39
|
+
var import_chunk_NLDXUFDG = require("./chunk-NLDXUFDG.cjs");
|
|
72
40
|
var import_app_framework = require("@dxos/app-framework");
|
|
73
|
-
var
|
|
41
|
+
var import_app_framework2 = require("@dxos/app-framework");
|
|
42
|
+
var import_functions = require("@dxos/functions");
|
|
74
43
|
var import_plugin_client = require("@dxos/plugin-client");
|
|
75
|
-
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
76
|
-
var import_types = require("@dxos/plugin-script/types");
|
|
77
|
-
var import_plugin_space = require("@dxos/plugin-space");
|
|
78
44
|
var import_echo = require("@dxos/react-client/echo");
|
|
79
|
-
var
|
|
80
|
-
var
|
|
45
|
+
var ComputeGraphRegistry = (0, import_app_framework.lazy)(() => import("./compute-graph-registry-ORGTIE5M.cjs"));
|
|
46
|
+
var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-ZUDJJUFG.cjs"));
|
|
47
|
+
var Markdown = (0, import_app_framework.lazy)(() => import("./markdown-EUUL3Q36.cjs"));
|
|
48
|
+
var ReactContext = (0, import_app_framework.lazy)(() => import("./react-context-OOH5QFE2.cjs"));
|
|
49
|
+
var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-IQN5JKSS.cjs"));
|
|
50
|
+
var Thread = (0, import_app_framework.lazy)(() => import("./thread-VBPS23P2.cjs"));
|
|
81
51
|
var serializer = {
|
|
82
52
|
serialize: async ({ object }) => {
|
|
83
53
|
const { threads: _threads, ...sheet } = object;
|
|
@@ -85,9 +55,9 @@ var serializer = {
|
|
|
85
55
|
},
|
|
86
56
|
deserialize: async ({ content, newId }) => {
|
|
87
57
|
const { id, ...parsed } = JSON.parse(content);
|
|
88
|
-
const sheet = (0,
|
|
58
|
+
const sheet = (0, import_echo.create)(import_chunk_E3RXOEL6.SheetType, parsed);
|
|
89
59
|
if (!newId) {
|
|
90
|
-
const core = (0,
|
|
60
|
+
const core = (0, import_echo.getObjectCore)(sheet);
|
|
91
61
|
core.id = id;
|
|
92
62
|
}
|
|
93
63
|
return sheet;
|
|
@@ -96,10 +66,10 @@ var serializer = {
|
|
|
96
66
|
var translations_default = [
|
|
97
67
|
{
|
|
98
68
|
"en-US": {
|
|
99
|
-
[
|
|
69
|
+
[import_chunk_E3RXOEL6.SheetType.typename]: {
|
|
100
70
|
"typename label": "Sheet"
|
|
101
71
|
},
|
|
102
|
-
[
|
|
72
|
+
[import_chunk_NLDXUFDG.SHEET_PLUGIN]: {
|
|
103
73
|
"plugin name": "Sheets",
|
|
104
74
|
"sheet title placeholder": "New sheet",
|
|
105
75
|
"create sheet label": "Create sheet",
|
|
@@ -132,282 +102,81 @@ var translations_default = [
|
|
|
132
102
|
}
|
|
133
103
|
}
|
|
134
104
|
];
|
|
135
|
-
var
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
let remoteFunctionUrl;
|
|
152
|
-
if (client.config.values.runtime?.services?.edge?.url) {
|
|
153
|
-
const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
|
|
154
|
-
url.protocol = "https";
|
|
155
|
-
remoteFunctionUrl = url.toString();
|
|
156
|
-
}
|
|
157
|
-
const { defaultPlugins, ComputeGraphRegistry } = await import("./compute-graph-WILPHO4A.cjs");
|
|
158
|
-
computeGraphRegistry = new ComputeGraphRegistry({
|
|
159
|
-
plugins: defaultPlugins,
|
|
160
|
-
remoteFunctionUrl
|
|
161
|
-
});
|
|
162
|
-
},
|
|
163
|
-
provides: {
|
|
164
|
-
context: ({ children }) => {
|
|
165
|
-
(0, import_invariant.invariant)(computeGraphRegistry, void 0, {
|
|
166
|
-
F: __dxlog_file,
|
|
167
|
-
L: 46,
|
|
168
|
-
S: void 0,
|
|
169
|
-
A: [
|
|
170
|
-
"computeGraphRegistry",
|
|
171
|
-
""
|
|
172
|
-
]
|
|
173
|
-
});
|
|
174
|
-
return /* @__PURE__ */ import_react.default.createElement(import_chunk_45YW2DX2.ComputeGraphContextProvider, {
|
|
175
|
-
registry: computeGraphRegistry
|
|
176
|
-
}, children);
|
|
177
|
-
},
|
|
105
|
+
var SheetPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_NLDXUFDG.meta, [
|
|
106
|
+
(0, import_app_framework2.defineModule)({
|
|
107
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/compute-graph-registry`,
|
|
108
|
+
activatesOn: import_app_framework2.Events.Startup,
|
|
109
|
+
activate: ComputeGraphRegistry
|
|
110
|
+
}),
|
|
111
|
+
(0, import_app_framework2.defineModule)({
|
|
112
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/translations`,
|
|
113
|
+
activatesOn: import_app_framework2.Events.SetupTranslations,
|
|
114
|
+
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, translations_default)
|
|
115
|
+
}),
|
|
116
|
+
(0, import_app_framework2.defineModule)({
|
|
117
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/metadata`,
|
|
118
|
+
activatesOn: (0, import_app_framework2.oneOf)(import_app_framework2.Events.Startup, import_app_framework2.Events.SetupAppGraph),
|
|
119
|
+
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
|
|
120
|
+
id: import_chunk_E3RXOEL6.SheetType.typename,
|
|
178
121
|
metadata: {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
placeholder: [
|
|
184
|
-
"sheet title placeholder",
|
|
185
|
-
{
|
|
186
|
-
ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
|
|
187
|
-
}
|
|
188
|
-
],
|
|
189
|
-
icon: "ph--grid-nine--regular",
|
|
190
|
-
serializer
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
translations: translations_default,
|
|
195
|
-
echo: {
|
|
196
|
-
schema: [
|
|
197
|
-
import_chunk_OWH2EUHZ.SheetType
|
|
198
|
-
],
|
|
199
|
-
// TODO(wittjosiah): Factor out to common package/plugin.
|
|
200
|
-
// FunctionType is currently registered here in case script plugin isn't enabled.
|
|
201
|
-
system: [
|
|
202
|
-
import_types.FunctionType
|
|
203
|
-
]
|
|
204
|
-
},
|
|
205
|
-
graph: {
|
|
206
|
-
builder: (plugins) => {
|
|
207
|
-
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
208
|
-
const dispatch = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseIntentPlugin)?.provides.intent.dispatch;
|
|
209
|
-
if (!client || !dispatch) {
|
|
210
|
-
return [];
|
|
211
|
-
}
|
|
212
|
-
return (0, import_plugin_graph.createExtension)({
|
|
213
|
-
id: import_chunk_OWH2EUHZ.SheetAction.CREATE,
|
|
214
|
-
filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
|
|
215
|
-
actions: ({ node }) => {
|
|
216
|
-
const id = node.id.split("/").at(-1);
|
|
217
|
-
const [spaceId, objectId] = id?.split(":") ?? [];
|
|
218
|
-
const space = client.spaces.get().find((space2) => space2.id === spaceId);
|
|
219
|
-
const object = objectId && space?.db.getObjectById(objectId);
|
|
220
|
-
const target = objectId ? object : space;
|
|
221
|
-
if (!target) {
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
return [
|
|
225
|
-
{
|
|
226
|
-
id: `${import_chunk_2ZVZI2KJ.SHEET_PLUGIN}/create/${node.id}`,
|
|
227
|
-
data: async () => {
|
|
228
|
-
await dispatch([
|
|
229
|
-
{
|
|
230
|
-
plugin: import_chunk_2ZVZI2KJ.SHEET_PLUGIN,
|
|
231
|
-
action: import_chunk_OWH2EUHZ.SheetAction.CREATE,
|
|
232
|
-
data: {
|
|
233
|
-
space
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
action: import_plugin_space.SpaceAction.ADD_OBJECT,
|
|
238
|
-
data: {
|
|
239
|
-
target
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
action: import_app_framework.NavigationAction.OPEN
|
|
244
|
-
}
|
|
245
|
-
]);
|
|
246
|
-
},
|
|
247
|
-
properties: {
|
|
248
|
-
label: [
|
|
249
|
-
"create sheet label",
|
|
250
|
-
{
|
|
251
|
-
ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
|
|
252
|
-
}
|
|
253
|
-
],
|
|
254
|
-
icon: "ph--grid-nine--regular",
|
|
255
|
-
testId: "sheetPlugin.createObject"
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
];
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
|
-
markdown: {
|
|
264
|
-
extensions: ({ document: doc }) => {
|
|
265
|
-
(0, import_invariant.invariant)(computeGraphRegistry, void 0, {
|
|
266
|
-
F: __dxlog_file,
|
|
267
|
-
L: 111,
|
|
268
|
-
S: void 0,
|
|
269
|
-
A: [
|
|
270
|
-
"computeGraphRegistry",
|
|
271
|
-
""
|
|
272
|
-
]
|
|
273
|
-
});
|
|
274
|
-
const space = (0, import_echo.getSpace)(doc);
|
|
275
|
-
if (space) {
|
|
276
|
-
const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
|
|
277
|
-
return import_chunk_45YW2DX2.computeGraphFacet.of(computeGraph);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
stack: {
|
|
282
|
-
creators: [
|
|
122
|
+
createObject: (props) => (0, import_app_framework2.createIntent)(import_chunk_E3RXOEL6.SheetAction.Create, props),
|
|
123
|
+
label: (object) => object instanceof import_chunk_E3RXOEL6.SheetType ? object.name : void 0,
|
|
124
|
+
placeholder: [
|
|
125
|
+
"sheet title placeholder",
|
|
283
126
|
{
|
|
284
|
-
|
|
285
|
-
testId: "sheetPlugin.createSection",
|
|
286
|
-
type: [
|
|
287
|
-
"plugin name",
|
|
288
|
-
{
|
|
289
|
-
ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
|
|
290
|
-
}
|
|
291
|
-
],
|
|
292
|
-
label: [
|
|
293
|
-
"create sheet section label",
|
|
294
|
-
{
|
|
295
|
-
ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
|
|
296
|
-
}
|
|
297
|
-
],
|
|
298
|
-
// TODO(thure): Refactor to use strings
|
|
299
|
-
icon: (props) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
|
|
300
|
-
icon: "ph--grid-nine--regular",
|
|
301
|
-
...props
|
|
302
|
-
}),
|
|
303
|
-
intent: {
|
|
304
|
-
plugin: import_chunk_2ZVZI2KJ.SHEET_PLUGIN,
|
|
305
|
-
action: import_chunk_OWH2EUHZ.SheetAction.CREATE
|
|
306
|
-
}
|
|
127
|
+
ns: import_chunk_NLDXUFDG.SHEET_PLUGIN
|
|
307
128
|
}
|
|
308
|
-
]
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
predicate: (data) => data instanceof import_chunk_OWH2EUHZ.SheetType,
|
|
312
|
-
createSort: (sheet) => (indexA, indexB) => !indexA || !indexB ? 0 : (0, import_chunk_KSEEI5VC.compareIndexPositions)(sheet, indexA, indexB)
|
|
313
|
-
},
|
|
314
|
-
surface: {
|
|
315
|
-
component: ({ data, role }) => {
|
|
316
|
-
const space = (0, import_echo.isEchoObject)(data.object) ? (0, import_echo.getSpace)(data.object) : void 0;
|
|
317
|
-
switch (role) {
|
|
318
|
-
case "article":
|
|
319
|
-
case "section":
|
|
320
|
-
if (space && data.object instanceof import_chunk_OWH2EUHZ.SheetType) {
|
|
321
|
-
return /* @__PURE__ */ import_react.default.createElement(import_chunk_45YW2DX2.SheetContainer, {
|
|
322
|
-
space,
|
|
323
|
-
sheet: data.object,
|
|
324
|
-
role
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
break;
|
|
328
|
-
case "complementary--settings":
|
|
329
|
-
if (data.subject instanceof import_chunk_OWH2EUHZ.SheetType) {
|
|
330
|
-
return /* @__PURE__ */ import_react.default.createElement(import_chunk_45YW2DX2.SheetObjectSettings, {
|
|
331
|
-
sheet: data.subject
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
break;
|
|
335
|
-
}
|
|
336
|
-
return null;
|
|
337
|
-
}
|
|
338
|
-
},
|
|
339
|
-
intent: {
|
|
340
|
-
resolver: async (intent) => {
|
|
341
|
-
switch (intent.action) {
|
|
342
|
-
case import_chunk_OWH2EUHZ.SheetAction.CREATE: {
|
|
343
|
-
return {
|
|
344
|
-
data: (0, import_chunk_KSEEI5VC.createSheet)()
|
|
345
|
-
};
|
|
346
|
-
}
|
|
347
|
-
case import_chunk_OWH2EUHZ.SheetAction.INSERT_AXIS: {
|
|
348
|
-
const { model, axis, index, count } = intent.data;
|
|
349
|
-
const _indices = model[axis === "col" ? "insertColumns" : "insertRows"](index, count);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
case import_chunk_OWH2EUHZ.SheetAction.DROP_AXIS: {
|
|
353
|
-
if (!intent.undo) {
|
|
354
|
-
const { model, axis, axisIndex } = intent.data;
|
|
355
|
-
const undoData = model[axis === "col" ? "dropColumn" : "dropRow"](axisIndex);
|
|
356
|
-
return {
|
|
357
|
-
undoable: {
|
|
358
|
-
message: translations_default[0]["en-US"][import_chunk_2ZVZI2KJ.SHEET_PLUGIN][`${axis} dropped label`],
|
|
359
|
-
data: {
|
|
360
|
-
...undoData,
|
|
361
|
-
model
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
} else {
|
|
366
|
-
const { model, ...undoData } = intent.data;
|
|
367
|
-
model[undoData.axis === "col" ? "restoreColumn" : "restoreRow"](undoData);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
129
|
+
],
|
|
130
|
+
icon: "ph--grid-nine--regular",
|
|
131
|
+
serializer
|
|
372
132
|
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
|
|
133
|
+
})
|
|
134
|
+
}),
|
|
135
|
+
(0, import_app_framework2.defineModule)({
|
|
136
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/schema`,
|
|
137
|
+
activatesOn: import_plugin_client.ClientEvents.SetupClient,
|
|
138
|
+
activate: () => [
|
|
139
|
+
(0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
|
|
140
|
+
import_chunk_E3RXOEL6.SheetType
|
|
141
|
+
]),
|
|
142
|
+
// TODO(wittjosiah): Factor out to common package/plugin.
|
|
143
|
+
// FunctionType is currently registered here in case script plugin isn't enabled.
|
|
144
|
+
(0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.SystemSchema, [
|
|
145
|
+
import_functions.FunctionType
|
|
146
|
+
])
|
|
147
|
+
]
|
|
148
|
+
}),
|
|
149
|
+
(0, import_app_framework2.defineModule)({
|
|
150
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/markdown`,
|
|
151
|
+
activatesOn: import_app_framework2.Events.Startup,
|
|
152
|
+
activate: Markdown
|
|
153
|
+
}),
|
|
154
|
+
(0, import_app_framework2.defineModule)({
|
|
155
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/thread`,
|
|
156
|
+
activatesOn: import_app_framework2.Events.Startup,
|
|
157
|
+
activate: Thread
|
|
158
|
+
}),
|
|
159
|
+
(0, import_app_framework2.defineModule)({
|
|
160
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/react-context`,
|
|
161
|
+
activatesOn: import_app_framework2.Events.Startup,
|
|
162
|
+
activate: ReactContext
|
|
163
|
+
}),
|
|
164
|
+
(0, import_app_framework2.defineModule)({
|
|
165
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/react-surface`,
|
|
166
|
+
activatesOn: import_app_framework2.Events.Startup,
|
|
167
|
+
activate: ReactSurface
|
|
168
|
+
}),
|
|
169
|
+
(0, import_app_framework2.defineModule)({
|
|
170
|
+
id: `${import_chunk_NLDXUFDG.meta.id}/module/intent-resolver`,
|
|
171
|
+
activatesOn: import_app_framework2.Events.SetupIntents,
|
|
172
|
+
activate: IntentResolver
|
|
173
|
+
})
|
|
174
|
+
]);
|
|
377
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
378
176
|
0 && (module.exports = {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
DEFAULT_ROWS,
|
|
382
|
-
MAX_COLUMNS,
|
|
383
|
-
MAX_ROWS,
|
|
384
|
-
RANGE_NOTATION,
|
|
385
|
-
RangeException,
|
|
386
|
-
ReadonlyException,
|
|
177
|
+
SHEET_PLUGIN,
|
|
178
|
+
SheetCapabilities,
|
|
387
179
|
SheetPlugin,
|
|
388
|
-
|
|
389
|
-
addressFromIndex,
|
|
390
|
-
addressToA1Notation,
|
|
391
|
-
addressToIndex,
|
|
392
|
-
alignKey,
|
|
393
|
-
cellClassNameForRange,
|
|
394
|
-
columnLetter,
|
|
395
|
-
commentKey,
|
|
396
|
-
compareIndexPositions,
|
|
397
|
-
createIndex,
|
|
398
|
-
createIndices,
|
|
399
|
-
createSheet,
|
|
400
|
-
inRange,
|
|
401
|
-
initialize,
|
|
402
|
-
insertIndices,
|
|
403
|
-
isFormula,
|
|
404
|
-
mapFormulaIndicesToRefs,
|
|
405
|
-
mapFormulaRefsToIndices,
|
|
406
|
-
posEquals,
|
|
407
|
-
rangeFromA1Notation,
|
|
408
|
-
rangeFromIndex,
|
|
409
|
-
rangeToA1Notation,
|
|
410
|
-
rangeToIndex,
|
|
411
|
-
styleKey
|
|
180
|
+
meta
|
|
412
181
|
});
|
|
413
182
|
//# sourceMappingURL=index.cjs.map
|