@dxos/plugin-sheet 0.8.3 → 0.8.4-main.1c7ec43d41
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/SheetPlugin-ANKNNNUM.mjs +48 -0
- package/dist/lib/browser/SheetPlugin-ANKNNNUM.mjs.map +7 -0
- package/dist/lib/browser/chunk-5TXOUIGZ.mjs +118 -0
- package/dist/lib/browser/chunk-5TXOUIGZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-SVGX3MWY.mjs +262 -0
- package/dist/lib/browser/chunk-SVGX3MWY.mjs.map +7 -0
- package/dist/lib/browser/drop-axis-ZLERPPPH.mjs +23 -0
- package/dist/lib/browser/drop-axis-ZLERPPPH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +21 -142
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/insert-axis-WTRA3HE7.mjs +16 -0
- package/dist/lib/browser/insert-axis-WTRA3HE7.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operations/index.mjs +13 -0
- package/dist/lib/browser/operations/index.mjs.map +7 -0
- package/dist/lib/browser/restore-axis-PYGPW2TB.mjs +16 -0
- package/dist/lib/browser/restore-axis-PYGPW2TB.mjs.map +7 -0
- package/dist/lib/browser/scroll-to-anchor-6I4DNKBW.mjs +65 -0
- package/dist/lib/browser/scroll-to-anchor-6I4DNKBW.mjs.map +7 -0
- package/dist/lib/browser/translations.mjs +55 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -12
- package/dist/lib/node-esm/SheetPlugin-JMR3XCIU.mjs +49 -0
- package/dist/lib/node-esm/SheetPlugin-JMR3XCIU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4A2KAXTF.mjs +263 -0
- package/dist/lib/node-esm/chunk-4A2KAXTF.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MCZFRYOP.mjs +119 -0
- package/dist/lib/node-esm/chunk-MCZFRYOP.mjs.map +7 -0
- package/dist/lib/node-esm/drop-axis-FV2GXSZP.mjs +24 -0
- package/dist/lib/node-esm/drop-axis-FV2GXSZP.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +21 -142
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/insert-axis-THXK6DCC.mjs +17 -0
- package/dist/lib/node-esm/insert-axis-THXK6DCC.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operations/index.mjs +14 -0
- package/dist/lib/node-esm/operations/index.mjs.map +7 -0
- package/dist/lib/node-esm/restore-axis-JIFT3Q7Z.mjs +17 -0
- package/dist/lib/node-esm/restore-axis-JIFT3Q7Z.mjs.map +7 -0
- package/dist/lib/node-esm/scroll-to-anchor-JRDC5KK2.mjs +66 -0
- package/dist/lib/node-esm/scroll-to-anchor-JRDC5KK2.mjs.map +7 -0
- package/dist/lib/node-esm/translations.mjs +56 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -12
- package/dist/types/src/SheetPlugin.d.ts +3 -1
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/SheetPlugin.node.d.ts +4 -0
- package/dist/types/src/SheetPlugin.node.d.ts.map +1 -0
- package/dist/types/src/SheetPlugin.test.d.ts +2 -0
- package/dist/types/src/SheetPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/anchor-sort.d.ts +4 -4
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/comment-config.d.ts +12 -0
- package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +3 -2
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +23 -11
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +3 -4
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +6 -0
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
- package/dist/types/src/capabilities/undo-mappings.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 +9 -4
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.d.ts +17 -0
- package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
- package/dist/types/src/components/Sheet/index.d.ts +2 -0
- package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
- package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts +16 -0
- package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/SheetContent/SheetContent.d.ts +6 -0
- package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -0
- package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +93 -0
- package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -0
- package/dist/types/src/components/SheetContent/index.d.ts +2 -0
- package/dist/types/src/components/SheetContent/index.d.ts.map +1 -0
- package/dist/types/src/components/{GridSheet → SheetContent}/util.d.ts +2 -2
- package/dist/types/src/components/SheetContent/util.d.ts.map +1 -0
- package/dist/types/src/components/{SheetContext/SheetContext.d.ts → SheetRoot/SheetRoot.d.ts} +9 -7
- package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -0
- package/dist/types/src/components/SheetRoot/index.d.ts +2 -0
- package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -0
- package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +6 -0
- package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -0
- package/dist/types/src/components/SheetStatusbar/index.d.ts +2 -0
- package/dist/types/src/components/SheetStatusbar/index.d.ts.map +1 -0
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +5 -6
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +92 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/align.d.ts +14 -21
- package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/style.d.ts +14 -20
- package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +14 -1
- package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/RangeList/RangeList.d.ts +7 -0
- package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -0
- package/dist/types/src/containers/RangeList/index.d.ts +2 -0
- package/dist/types/src/containers/RangeList/index.d.ts.map +1 -0
- package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +12 -0
- package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -0
- package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +92 -0
- package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/SheetContainer/index.d.ts +2 -0
- package/dist/types/src/containers/SheetContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +4 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/extensions/compute.d.ts +2 -2
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +10 -13
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/index.d.ts +1 -1
- package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +2 -2
- package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/integrations/thread-ranges.d.ts +1 -3
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +7 -7
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/model/testing.d.ts +2 -2
- package/dist/types/src/model/testing.d.ts.map +1 -1
- package/dist/types/src/model/useSheetModel.d.ts +3 -3
- package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +45 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/drop-axis.d.ts +5 -0
- package/dist/types/src/operations/drop-axis.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +4 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/insert-axis.d.ts +5 -0
- package/dist/types/src/operations/insert-axis.d.ts.map +1 -0
- package/dist/types/src/operations/restore-axis.d.ts +5 -0
- package/dist/types/src/operations/restore-axis.d.ts.map +1 -0
- package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
- package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/{testing/playwright → playwright}/sheet-manager.d.ts +1 -1
- package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -0
- package/dist/types/src/playwright/sheet.spec.d.ts.map +1 -0
- package/dist/types/src/serializer.d.ts +2 -2
- package/dist/types/src/serializer.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts +2 -2
- package/dist/types/src/testing/data.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +28 -4
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +73 -92
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Sheet.d.ts +76 -0
- package/dist/types/src/types/Sheet.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +18 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts +2 -2
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3 -78
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/types/util.d.ts +11 -11
- package/dist/types/src/types/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +109 -80
- package/src/SheetPlugin.node.ts +21 -0
- package/src/SheetPlugin.test.ts +30 -0
- package/src/SheetPlugin.tsx +48 -70
- package/src/capabilities/anchor-sort.ts +20 -15
- package/src/capabilities/comment-config.ts +24 -0
- package/src/capabilities/compute-graph-registry.ts +21 -20
- package/src/capabilities/create-object.ts +30 -0
- package/src/capabilities/index.ts +16 -8
- package/src/capabilities/markdown.ts +23 -14
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +38 -28
- package/src/capabilities/state.ts +29 -0
- package/src/capabilities/undo-mappings.ts +30 -0
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +2 -2
- package/src/components/ComputeGraph/compute-graph.stories.tsx +33 -29
- package/src/components/Sheet/Sheet.tsx +20 -0
- package/src/components/Sheet/index.ts +5 -0
- package/src/components/SheetContent/SheetCellEditor.stories.tsx +95 -0
- package/src/components/SheetContent/SheetContent.stories.tsx +60 -0
- package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +100 -69
- package/src/components/{RangeList → SheetContent}/index.ts +1 -1
- package/src/components/{GridSheet → SheetContent}/util.ts +23 -16
- package/src/components/{SheetContext/SheetContext.tsx → SheetRoot/SheetRoot.tsx} +55 -42
- package/src/components/{GridSheet → SheetRoot}/index.ts +1 -1
- package/src/components/{FunctionEditor/FunctionEditor.tsx → SheetStatusbar/SheetStatusbar.tsx} +19 -7
- package/src/components/{FunctionEditor → SheetStatusbar}/index.ts +1 -1
- package/src/components/SheetToolbar/SheetToolbar.stories.tsx +20 -14
- package/src/components/SheetToolbar/SheetToolbar.tsx +62 -56
- package/src/components/SheetToolbar/align.ts +50 -24
- package/src/components/SheetToolbar/style.ts +52 -22
- package/src/components/SheetToolbar/useToolbarState.ts +22 -5
- package/src/components/index.ts +1 -7
- package/src/containers/RangeList/RangeList.tsx +65 -0
- package/src/containers/RangeList/index.ts +5 -0
- package/src/containers/SheetContainer/SheetContainer.stories.tsx +110 -0
- package/src/containers/SheetContainer/SheetContainer.tsx +57 -0
- package/src/containers/SheetContainer/index.ts +5 -0
- package/src/containers/index.ts +8 -0
- package/src/extensions/compute.stories.tsx +50 -36
- package/src/extensions/compute.ts +4 -5
- package/src/extensions/editor/index.ts +1 -1
- package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +2 -2
- package/src/extensions/editor/{extension.ts → sheet-extension.ts} +18 -15
- package/src/index.ts +8 -2
- package/src/integrations/thread-ranges.ts +21 -62
- package/src/meta.ts +9 -7
- package/src/model/sheet-model.test.ts +7 -6
- package/src/model/sheet-model.ts +87 -55
- package/src/model/testing.ts +5 -5
- package/src/model/useSheetModel.ts +4 -3
- package/src/operations/definitions.ts +73 -0
- package/src/operations/drop-axis.ts +26 -0
- package/src/operations/index.ts +14 -0
- package/src/operations/insert-axis.ts +19 -0
- package/src/operations/restore-axis.ts +19 -0
- package/src/operations/scroll-to-anchor.ts +31 -0
- package/src/playwright/playwright.config.ts +17 -0
- package/src/{testing/playwright → playwright}/sheet-manager.ts +1 -1
- package/src/{testing/playwright → playwright}/sheet.spec.ts +5 -4
- package/src/sanity.test.ts +6 -4
- package/src/serializer.ts +4 -4
- package/src/testing/data.ts +2 -2
- package/src/testing/testing.tsx +13 -7
- package/src/translations.ts +46 -38
- package/src/types/Sheet.ts +103 -0
- package/src/types/capabilities.ts +26 -0
- package/src/types/index.ts +2 -1
- package/src/types/sheet-range-types.ts +5 -5
- package/src/types/types.ts +6 -51
- package/src/types/util.ts +15 -42
- package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs +0 -351
- package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-NYYZLRAA.mjs +0 -24
- package/dist/lib/browser/anchor-sort-NYYZLRAA.mjs.map +0 -7
- package/dist/lib/browser/chunk-5TA43LO4.mjs +0 -847
- package/dist/lib/browser/chunk-5TA43LO4.mjs.map +0 -7
- package/dist/lib/browser/chunk-D3G4UGEK.mjs +0 -18
- package/dist/lib/browser/chunk-D3G4UGEK.mjs.map +0 -7
- package/dist/lib/browser/chunk-FJRLDX7Z.mjs +0 -234
- package/dist/lib/browser/chunk-FJRLDX7Z.mjs.map +0 -7
- package/dist/lib/browser/chunk-I7FZ4TWJ.mjs +0 -892
- package/dist/lib/browser/chunk-I7FZ4TWJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-IR42IS3F.mjs +0 -15
- package/dist/lib/browser/chunk-IR42IS3F.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-registry-IXGGJJBU.mjs +0 -30
- package/dist/lib/browser/compute-graph-registry-IXGGJJBU.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-IBBI6B74.mjs +0 -56
- package/dist/lib/browser/intent-resolver-IBBI6B74.mjs.map +0 -7
- package/dist/lib/browser/markdown-T4TUP4BF.mjs +0 -26
- package/dist/lib/browser/markdown-T4TUP4BF.mjs.map +0 -7
- package/dist/lib/browser/react-surface-UI46P43F.mjs +0 -53
- package/dist/lib/browser/react-surface-UI46P43F.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs +0 -351
- package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map +0 -7
- package/dist/lib/node/anchor-sort-A7NABMJM.cjs +0 -39
- package/dist/lib/node/anchor-sort-A7NABMJM.cjs.map +0 -7
- package/dist/lib/node/chunk-FIM6EZ6M.cjs +0 -256
- package/dist/lib/node/chunk-FIM6EZ6M.cjs.map +0 -7
- package/dist/lib/node/chunk-JSIDCZHB.cjs +0 -41
- package/dist/lib/node/chunk-JSIDCZHB.cjs.map +0 -7
- package/dist/lib/node/chunk-LJWWS53Z.cjs +0 -34
- package/dist/lib/node/chunk-LJWWS53Z.cjs.map +0 -7
- package/dist/lib/node/chunk-N7FSEUIN.cjs +0 -927
- package/dist/lib/node/chunk-N7FSEUIN.cjs.map +0 -7
- package/dist/lib/node/chunk-ST3WA73J.cjs +0 -855
- package/dist/lib/node/chunk-ST3WA73J.cjs.map +0 -7
- package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs +0 -56
- package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -173
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-2657YDOU.cjs +0 -69
- package/dist/lib/node/intent-resolver-2657YDOU.cjs.map +0 -7
- package/dist/lib/node/markdown-DBPOAYI7.cjs +0 -40
- package/dist/lib/node/markdown-DBPOAYI7.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-XQEIRKWU.cjs +0 -71
- package/dist/lib/node/react-surface-XQEIRKWU.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -84
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs +0 -352
- package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-JTNZOE67.mjs +0 -25
- package/dist/lib/node-esm/anchor-sort-JTNZOE67.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C4IKYVTV.mjs +0 -893
- package/dist/lib/node-esm/chunk-C4IKYVTV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IQ76YE6M.mjs +0 -16
- package/dist/lib/node-esm/chunk-IQ76YE6M.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NMCVJWDT.mjs +0 -236
- package/dist/lib/node-esm/chunk-NMCVJWDT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SOC52B67.mjs +0 -848
- package/dist/lib/node-esm/chunk-SOC52B67.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Y6ND5HWX.mjs +0 -20
- package/dist/lib/node-esm/chunk-Y6ND5HWX.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-registry-7PDWXMHF.mjs +0 -31
- package/dist/lib/node-esm/compute-graph-registry-7PDWXMHF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-M2HNR7PJ.mjs +0 -57
- package/dist/lib/node-esm/intent-resolver-M2HNR7PJ.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs +0 -27
- package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-OLXO2MVB.mjs +0 -54
- package/dist/lib/node-esm/react-surface-OLXO2MVB.mjs.map +0 -7
- package/dist/types/src/capabilities/capabilities.d.ts +0 -5
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
- package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
- package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
- package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +0 -7
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +0 -25
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/GridSheet/index.d.ts +0 -2
- package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
- package/dist/types/src/components/RangeList/RangeList.d.ts +0 -7
- package/dist/types/src/components/RangeList/RangeList.d.ts.map +0 -1
- package/dist/types/src/components/RangeList/index.d.ts +0 -2
- package/dist/types/src/components/RangeList/index.d.ts.map +0 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -11
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +0 -8
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/SheetContainer/index.d.ts +0 -3
- package/dist/types/src/components/SheetContainer/index.d.ts.map +0 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
- package/dist/types/src/components/SheetContext/index.d.ts +0 -2
- package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
- package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
- package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
- package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
- package/dist/types/src/testing/playwright/sheet-manager.d.ts.map +0 -1
- package/dist/types/src/testing/playwright/sheet.spec.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -37
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -14
- package/src/capabilities/intent-resolver.ts +0 -38
- package/src/components/GridSheet/GridSheet.stories.tsx +0 -53
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +0 -93
- package/src/components/RangeList/RangeList.tsx +0 -60
- package/src/components/SheetContainer/SheetContainer.stories.tsx +0 -89
- package/src/components/SheetContainer/SheetContainer.tsx +0 -36
- package/src/components/SheetContainer/index.ts +0 -7
- package/src/components/SheetContext/index.ts +0 -5
- package/src/testing/playwright/playwright.config.cts +0 -18
- package/src/types/schema.ts +0 -60
- /package/dist/types/src/{testing/playwright → playwright}/sheet.spec.d.ts +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/SheetPlugin.tsx
|
|
4
|
+
import { ActivationEvent, Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { AutomationEvents } from "@dxos/plugin-automation/types";
|
|
7
|
+
import { ClientEvents } from "@dxos/plugin-client/types";
|
|
8
|
+
import { MarkdownEvents } from "@dxos/plugin-markdown/types";
|
|
9
|
+
import { AnchorSort, CommentConfig, ComputeGraphRegistry, CreateObject, Markdown, OperationHandler, UndoMappings, ReactSurface, SheetState } from "#capabilities";
|
|
10
|
+
import { meta } from "#meta";
|
|
11
|
+
import { translations } from "#translations";
|
|
12
|
+
import { Sheet } from "#types";
|
|
13
|
+
var SheetPlugin = Plugin.define(meta).pipe(AppPlugin.addCommentConfigModule({
|
|
14
|
+
activate: CommentConfig
|
|
15
|
+
}), AppPlugin.addCreateObjectModule({
|
|
16
|
+
activate: CreateObject
|
|
17
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
18
|
+
activate: OperationHandler
|
|
19
|
+
}), AppPlugin.addUndoMappingsModule({
|
|
20
|
+
activate: UndoMappings
|
|
21
|
+
}), AppPlugin.addSchemaModule({
|
|
22
|
+
schema: [
|
|
23
|
+
Sheet.Sheet
|
|
24
|
+
]
|
|
25
|
+
}), AppPlugin.addSurfaceModule({
|
|
26
|
+
activate: ReactSurface
|
|
27
|
+
}), AppPlugin.addTranslationsModule({
|
|
28
|
+
translations
|
|
29
|
+
}), Plugin.addModule({
|
|
30
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
31
|
+
activate: SheetState
|
|
32
|
+
}), Plugin.addModule({
|
|
33
|
+
activatesOn: ActivationEvent.allOf(ClientEvents.ClientReady, AutomationEvents.ComputeRuntimeReady),
|
|
34
|
+
activate: ComputeGraphRegistry
|
|
35
|
+
}), Plugin.addModule({
|
|
36
|
+
activatesOn: MarkdownEvents.SetupExtensions,
|
|
37
|
+
activate: Markdown
|
|
38
|
+
}), Plugin.addModule({
|
|
39
|
+
// TODO(wittjosiah): More relevant event?
|
|
40
|
+
activatesOn: AppActivationEvents.AppGraphReady,
|
|
41
|
+
activate: AnchorSort
|
|
42
|
+
}), Plugin.make);
|
|
43
|
+
var SheetPlugin_default = SheetPlugin;
|
|
44
|
+
export {
|
|
45
|
+
SheetPlugin,
|
|
46
|
+
SheetPlugin_default as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=SheetPlugin-ANKNNNUM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/SheetPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvent, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { AutomationEvents } from '@dxos/plugin-automation/types';\nimport { ClientEvents } from '@dxos/plugin-client/types';\nimport { MarkdownEvents } from '@dxos/plugin-markdown/types';\n\nimport {\n AnchorSort,\n CommentConfig,\n ComputeGraphRegistry,\n CreateObject,\n Markdown,\n OperationHandler,\n UndoMappings,\n ReactSurface,\n SheetState,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { Sheet } from '#types';\n\nexport const SheetPlugin = Plugin.define(meta).pipe(\n AppPlugin.addCommentConfigModule({ activate: CommentConfig }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addUndoMappingsModule({ activate: UndoMappings }),\n AppPlugin.addSchemaModule({ schema: [Sheet.Sheet] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: SheetState,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(ClientEvents.ClientReady, AutomationEvents.ComputeRuntimeReady),\n activate: ComputeGraphRegistry,\n }),\n Plugin.addModule({\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): More relevant event?\n activatesOn: AppActivationEvents.AppGraphReady,\n activate: AnchorSort,\n }),\n Plugin.make,\n);\n\nexport default SheetPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,iBAAiBC,cAAc;AACxC,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,wBAAwB;AACjC,SAASC,oBAAoB;AAC7B,SAASC,sBAAsB;AAE/B,SACEC,YACAC,eACAC,sBACAC,cACAC,UACAC,kBACAC,cACAC,cACAC,kBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,aAAa;AAEf,IAAMC,cAAclB,OAAOmB,OAAOJ,IAAAA,EAAMK,KAC7ClB,UAAUmB,uBAAuB;EAAEC,UAAUf;AAAc,CAAA,GAC3DL,UAAUqB,sBAAsB;EAAED,UAAUb;AAAa,CAAA,GACzDP,UAAUsB,0BAA0B;EAAEF,UAAUX;AAAiB,CAAA,GACjET,UAAUuB,sBAAsB;EAAEH,UAAUV;AAAa,CAAA,GACzDV,UAAUwB,gBAAgB;EAAEC,QAAQ;IAACV,MAAMA;;AAAO,CAAA,GAClDf,UAAU0B,iBAAiB;EAAEN,UAAUT;AAAa,CAAA,GACpDX,UAAU2B,sBAAsB;EAAEb;AAAa,CAAA,GAC/ChB,OAAO8B,UAAU;EACfC,aAAa9B,oBAAoB+B;EACjCV,UAAUR;AACZ,CAAA,GACAd,OAAO8B,UAAU;EACfC,aAAahC,gBAAgBkC,MAAM7B,aAAa8B,aAAa/B,iBAAiBgC,mBAAmB;EACjGb,UAAUd;AACZ,CAAA,GACAR,OAAO8B,UAAU;EACfC,aAAa1B,eAAe+B;EAC5Bd,UAAUZ;AACZ,CAAA,GACAV,OAAO8B,UAAU;;EAEfC,aAAa9B,oBAAoBoC;EACjCf,UAAUhB;AACZ,CAAA,GACAN,OAAOsC,IAAI;AAGb,IAAA,sBAAepB;",
|
|
6
|
+
"names": ["ActivationEvent", "Plugin", "AppActivationEvents", "AppPlugin", "AutomationEvents", "ClientEvents", "MarkdownEvents", "AnchorSort", "CommentConfig", "ComputeGraphRegistry", "CreateObject", "Markdown", "OperationHandler", "UndoMappings", "ReactSurface", "SheetState", "meta", "translations", "Sheet", "SheetPlugin", "define", "pipe", "addCommentConfigModule", "activate", "addCreateObjectModule", "addOperationHandlerModule", "addUndoMappingsModule", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "addModule", "activatesOn", "SetupSettings", "allOf", "ClientReady", "ComputeRuntimeReady", "SetupExtensions", "AppGraphReady", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/operations/definitions.ts
|
|
6
|
+
var definitions_exports = {};
|
|
7
|
+
__export(definitions_exports, {
|
|
8
|
+
DropAxis: () => DropAxis,
|
|
9
|
+
DropAxisOutput: () => DropAxisOutput,
|
|
10
|
+
InsertAxis: () => InsertAxis,
|
|
11
|
+
RestoreAxis: () => RestoreAxis,
|
|
12
|
+
ScrollToAnchor: () => ScrollToAnchor
|
|
13
|
+
});
|
|
14
|
+
import * as Schema from "effect/Schema";
|
|
15
|
+
import { Capability } from "@dxos/app-framework";
|
|
16
|
+
import { Operation } from "@dxos/compute";
|
|
17
|
+
import { meta } from "#meta";
|
|
18
|
+
var SHEET_OPERATION = `${meta.id}.operation`;
|
|
19
|
+
var Axis = Schema.Union(Schema.Literal("row"), Schema.Literal("col"));
|
|
20
|
+
var InsertAxis = Operation.make({
|
|
21
|
+
meta: {
|
|
22
|
+
key: `${SHEET_OPERATION}.axis-insert`,
|
|
23
|
+
name: "Insert Axis"
|
|
24
|
+
},
|
|
25
|
+
input: Schema.Struct({
|
|
26
|
+
model: Schema.Any,
|
|
27
|
+
axis: Axis,
|
|
28
|
+
index: Schema.Number,
|
|
29
|
+
count: Schema.optional(Schema.Number)
|
|
30
|
+
}),
|
|
31
|
+
output: Schema.Void
|
|
32
|
+
});
|
|
33
|
+
var DropAxisOutput = Schema.Struct({
|
|
34
|
+
axis: Axis.annotations({
|
|
35
|
+
description: "The axis type (row or col)."
|
|
36
|
+
}),
|
|
37
|
+
axisIndex: Schema.String.annotations({
|
|
38
|
+
description: "The dropped axis index."
|
|
39
|
+
}),
|
|
40
|
+
index: Schema.Number.annotations({
|
|
41
|
+
description: "The position the axis was at."
|
|
42
|
+
}),
|
|
43
|
+
axisMeta: Schema.Any.annotations({
|
|
44
|
+
description: "The row/column metadata."
|
|
45
|
+
}),
|
|
46
|
+
values: Schema.Array(Schema.Any).annotations({
|
|
47
|
+
description: "The cell values that were dropped."
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
var DropAxis = Operation.make({
|
|
51
|
+
meta: {
|
|
52
|
+
key: `${SHEET_OPERATION}.axis-drop`,
|
|
53
|
+
name: "Drop Axis"
|
|
54
|
+
},
|
|
55
|
+
input: Schema.Struct({
|
|
56
|
+
model: Schema.Any,
|
|
57
|
+
axis: Axis,
|
|
58
|
+
axisIndex: Schema.String
|
|
59
|
+
}),
|
|
60
|
+
output: DropAxisOutput
|
|
61
|
+
});
|
|
62
|
+
var ScrollToAnchor = Operation.make({
|
|
63
|
+
meta: {
|
|
64
|
+
key: `${SHEET_OPERATION}.scroll-to-anchor`,
|
|
65
|
+
name: "Scroll To Anchor"
|
|
66
|
+
},
|
|
67
|
+
services: [
|
|
68
|
+
Capability.Service
|
|
69
|
+
],
|
|
70
|
+
input: Schema.Struct({
|
|
71
|
+
subject: Schema.String.annotations({
|
|
72
|
+
description: "Attendable ID of the sheet."
|
|
73
|
+
}),
|
|
74
|
+
cursor: Schema.String.annotations({
|
|
75
|
+
description: "Cell range coordinates."
|
|
76
|
+
}),
|
|
77
|
+
ref: Schema.optional(Schema.Any.annotations({
|
|
78
|
+
description: "Active refs for highlighting."
|
|
79
|
+
}))
|
|
80
|
+
}),
|
|
81
|
+
output: Schema.Void
|
|
82
|
+
});
|
|
83
|
+
var RestoreAxis = Operation.make({
|
|
84
|
+
meta: {
|
|
85
|
+
key: `${SHEET_OPERATION}.restore-axis`,
|
|
86
|
+
name: "Restore Axis"
|
|
87
|
+
},
|
|
88
|
+
input: Schema.Struct({
|
|
89
|
+
model: Schema.Any.annotations({
|
|
90
|
+
description: "The sheet model."
|
|
91
|
+
}),
|
|
92
|
+
axis: Axis.annotations({
|
|
93
|
+
description: "The axis type (row or col)."
|
|
94
|
+
}),
|
|
95
|
+
axisIndex: Schema.String.annotations({
|
|
96
|
+
description: "The axis index to restore."
|
|
97
|
+
}),
|
|
98
|
+
index: Schema.Number.annotations({
|
|
99
|
+
description: "The position to restore at."
|
|
100
|
+
}),
|
|
101
|
+
axisMeta: Schema.Any.annotations({
|
|
102
|
+
description: "The row/column metadata."
|
|
103
|
+
}),
|
|
104
|
+
values: Schema.Array(Schema.Any).annotations({
|
|
105
|
+
description: "The cell values to restore."
|
|
106
|
+
})
|
|
107
|
+
}),
|
|
108
|
+
output: Schema.Void
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
export {
|
|
112
|
+
InsertAxis,
|
|
113
|
+
DropAxis,
|
|
114
|
+
ScrollToAnchor,
|
|
115
|
+
RestoreAxis,
|
|
116
|
+
definitions_exports
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=chunk-5TXOUIGZ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\n\nimport { meta } from '#meta';\n\nconst SHEET_OPERATION = `${meta.id}.operation`;\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst Axis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport const InsertAxis = Operation.make({\n meta: { key: `${SHEET_OPERATION}.axis-insert`, name: 'Insert Axis' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n index: Schema.Number,\n count: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n});\n\nexport const DropAxisOutput = Schema.Struct({\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The dropped axis index.' }),\n index: Schema.Number.annotations({ description: 'The position the axis was at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values that were dropped.' }),\n});\n\nexport type DropAxisOutput = Schema.Schema.Type<typeof DropAxisOutput>;\n\nexport const DropAxis = Operation.make({\n meta: { key: `${SHEET_OPERATION}.axis-drop`, name: 'Drop Axis' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n axisIndex: Schema.String,\n }),\n output: DropAxisOutput,\n});\n\nexport const ScrollToAnchor = Operation.make({\n meta: { key: `${SHEET_OPERATION}.scroll-to-anchor`, name: 'Scroll To Anchor' },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Schema.String.annotations({ description: 'Attendable ID of the sheet.' }),\n cursor: Schema.String.annotations({ description: 'Cell range coordinates.' }),\n ref: Schema.optional(Schema.Any.annotations({ description: 'Active refs for highlighting.' })),\n }),\n output: Schema.Void,\n});\n\n/**\n * Restore a dropped axis (inverse of DropAxis).\n */\nexport const RestoreAxis = Operation.make({\n meta: { key: `${SHEET_OPERATION}.restore-axis`, name: 'Restore Axis' },\n input: Schema.Struct({\n model: Schema.Any.annotations({ description: 'The sheet model.' }),\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The axis index to restore.' }),\n index: Schema.Number.annotations({ description: 'The position to restore at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values to restore.' }),\n }),\n output: Schema.Void,\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B,SAASC,YAAY;AAErB,IAAMC,kBAAkB,GAAGD,KAAKE,EAAE;AAGlC,IAAMC,OAAcC,aAAaC,eAAQ,KAAA,GAAeA,eAAQ,KAAA,CAAA;AAEzD,IAAMC,aAAaP,UAAUQ,KAAK;EACvCP,MAAM;IAAEQ,KAAK,GAAGP,eAAAA;IAA+BQ,MAAM;EAAc;EACnEC,OAAcC,cAAO;IACnBC,OAAcC;IACdC,MAAMX;IACNY,OAAcC;IACdC,OAAcC,gBAAgBF,aAAM;EACtC,CAAA;EACAG,QAAeC;AACjB,CAAA;AAEO,IAAMC,iBAAwBV,cAAO;EAC1CG,MAAMX,KAAKmB,YAAY;IAAEC,aAAa;EAA8B,CAAA;EACpEC,WAAkBC,cAAOH,YAAY;IAAEC,aAAa;EAA0B,CAAA;EAC9ER,OAAcC,cAAOM,YAAY;IAAEC,aAAa;EAAgC,CAAA;EAChFG,UAAiBb,WAAIS,YAAY;IAAEC,aAAa;EAA2B,CAAA;EAC3EI,QAAeC,aAAaf,UAAG,EAAES,YAAY;IAAEC,aAAa;EAAqC,CAAA;AACnG,CAAA;AAIO,IAAMM,WAAW9B,UAAUQ,KAAK;EACrCP,MAAM;IAAEQ,KAAK,GAAGP,eAAAA;IAA6BQ,MAAM;EAAY;EAC/DC,OAAcC,cAAO;IACnBC,OAAcC;IACdC,MAAMX;IACNqB,WAAkBC;EACpB,CAAA;EACAN,QAAQE;AACV,CAAA;AAEO,IAAMS,iBAAiB/B,UAAUQ,KAAK;EAC3CP,MAAM;IAAEQ,KAAK,GAAGP,eAAAA;IAAoCQ,MAAM;EAAmB;EAC7EsB,UAAU;IAACjC,WAAWkC;;EACtBtB,OAAcC,cAAO;IACnBsB,SAAgBR,cAAOH,YAAY;MAAEC,aAAa;IAA8B,CAAA;IAChFW,QAAeT,cAAOH,YAAY;MAAEC,aAAa;IAA0B,CAAA;IAC3EY,KAAYjB,gBAAgBL,WAAIS,YAAY;MAAEC,aAAa;IAAgC,CAAA,CAAA;EAC7F,CAAA;EACAJ,QAAeC;AACjB,CAAA;AAKO,IAAMgB,cAAcrC,UAAUQ,KAAK;EACxCP,MAAM;IAAEQ,KAAK,GAAGP,eAAAA;IAAgCQ,MAAM;EAAe;EACrEC,OAAcC,cAAO;IACnBC,OAAcC,WAAIS,YAAY;MAAEC,aAAa;IAAmB,CAAA;IAChET,MAAMX,KAAKmB,YAAY;MAAEC,aAAa;IAA8B,CAAA;IACpEC,WAAkBC,cAAOH,YAAY;MAAEC,aAAa;IAA6B,CAAA;IACjFR,OAAcC,cAAOM,YAAY;MAAEC,aAAa;IAA8B,CAAA;IAC9EG,UAAiBb,WAAIS,YAAY;MAAEC,aAAa;IAA2B,CAAA;IAC3EI,QAAeC,aAAaf,UAAG,EAAES,YAAY;MAAEC,aAAa;IAA8B,CAAA;EAC5F,CAAA;EACAJ,QAAeC;AACjB,CAAA;",
|
|
6
|
+
"names": ["Schema", "Capability", "Operation", "meta", "SHEET_OPERATION", "id", "Axis", "Union", "Literal", "InsertAxis", "make", "key", "name", "input", "Struct", "model", "Any", "axis", "index", "Number", "count", "optional", "output", "Void", "DropAxisOutput", "annotations", "description", "axisIndex", "String", "axisMeta", "values", "Array", "DropAxis", "ScrollToAnchor", "services", "Service", "subject", "cursor", "ref", "RestoreAxis"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/capabilities.ts
|
|
6
|
+
import { Capability } from "@dxos/app-framework";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
(function(SheetCapabilities2) {
|
|
9
|
+
SheetCapabilities2.ComputeGraphRegistry = Capability.make(`${meta.id}.capability.compute-graph-registry`);
|
|
10
|
+
SheetCapabilities2.GridInstances = Capability.make(`${meta.id}.capability.grid-instances`);
|
|
11
|
+
})(SheetCapabilities || (SheetCapabilities = {}));
|
|
12
|
+
var SheetCapabilities;
|
|
13
|
+
|
|
14
|
+
// src/types/Sheet.ts
|
|
15
|
+
var Sheet_exports = {};
|
|
16
|
+
__export(Sheet_exports, {
|
|
17
|
+
CellValue: () => CellValue,
|
|
18
|
+
Range: () => Range,
|
|
19
|
+
RowColumnMeta: () => RowColumnMeta,
|
|
20
|
+
Sheet: () => Sheet,
|
|
21
|
+
make: () => make
|
|
22
|
+
});
|
|
23
|
+
import * as Schema from "effect/Schema";
|
|
24
|
+
import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute-hyperformula";
|
|
25
|
+
import { Annotation, Obj, Type } from "@dxos/echo";
|
|
26
|
+
import { FormInputAnnotation } from "@dxos/echo/internal";
|
|
27
|
+
|
|
28
|
+
// src/types/util.ts
|
|
29
|
+
import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute-hyperformula";
|
|
30
|
+
import { randomBytes } from "@dxos/crypto";
|
|
31
|
+
import { invariant } from "@dxos/invariant";
|
|
32
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
|
|
33
|
+
var MAX_ROWS = 500;
|
|
34
|
+
var MAX_COLS = 676;
|
|
35
|
+
var DEFAULT_ROWS = 50;
|
|
36
|
+
var DEFAULT_COLS = 26;
|
|
37
|
+
var ApiError = class extends Error {
|
|
38
|
+
};
|
|
39
|
+
var ReadonlyException = class extends ApiError {
|
|
40
|
+
};
|
|
41
|
+
var RangeException = class extends ApiError {
|
|
42
|
+
constructor(n) {
|
|
43
|
+
super();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var createIndex = (length = 8) => {
|
|
47
|
+
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
48
|
+
const charactersLength = characters.length;
|
|
49
|
+
const randomBuffer = randomBytes(length);
|
|
50
|
+
return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
|
|
51
|
+
};
|
|
52
|
+
var createIndices = (length) => Array.from({
|
|
53
|
+
length
|
|
54
|
+
}).map(() => createIndex());
|
|
55
|
+
var insertIndices = (indices, i, n, max) => {
|
|
56
|
+
if (i + n > max) {
|
|
57
|
+
throw new RangeException(i + n);
|
|
58
|
+
}
|
|
59
|
+
const idx = createIndices(n);
|
|
60
|
+
indices.splice(i, 0, ...idx);
|
|
61
|
+
return idx;
|
|
62
|
+
};
|
|
63
|
+
var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
|
|
64
|
+
if (!sheet.rows.length) {
|
|
65
|
+
insertIndices(sheet.rows, 0, rows, MAX_ROWS);
|
|
66
|
+
}
|
|
67
|
+
if (!sheet.columns.length) {
|
|
68
|
+
insertIndices(sheet.columns, 0, columns, MAX_COLS);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var addressToIndex = (sheet, cell) => {
|
|
72
|
+
return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
|
|
73
|
+
};
|
|
74
|
+
var addressFromIndex = (sheet, idx) => {
|
|
75
|
+
const [column, row] = idx.split("@");
|
|
76
|
+
return {
|
|
77
|
+
col: sheet.columns.indexOf(column),
|
|
78
|
+
row: sheet.rows.indexOf(row)
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
var rangeToIndex = (sheet, range) => {
|
|
82
|
+
return [
|
|
83
|
+
range.from,
|
|
84
|
+
range.to ?? range.from
|
|
85
|
+
].map((cell) => addressToIndex(sheet, cell)).join(":");
|
|
86
|
+
};
|
|
87
|
+
var rangeFromIndex = (sheet, idx) => {
|
|
88
|
+
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
89
|
+
return {
|
|
90
|
+
from,
|
|
91
|
+
to
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
95
|
+
const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
|
|
96
|
+
const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
|
|
97
|
+
if (rowA !== rowB) {
|
|
98
|
+
return rowA - rowB;
|
|
99
|
+
} else {
|
|
100
|
+
return columnA - columnB;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var mapFormulaRefsToIndices = (sheet, formula) => {
|
|
104
|
+
invariant(isFormula(formula), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 96, S: void 0, A: ["isFormula(formula)", ""] });
|
|
105
|
+
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
106
|
+
return addressToIndex(sheet, addressFromA1Notation(match));
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
var mapFormulaIndicesToRefs = (sheet, formula) => {
|
|
110
|
+
invariant(isFormula(formula), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 104, S: void 0, A: ["isFormula(formula)", ""] });
|
|
111
|
+
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
112
|
+
return addressToA1Notation(addressFromIndex(sheet, idx));
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// src/types/Sheet.ts
|
|
117
|
+
var CellValue = Schema.Struct({
|
|
118
|
+
// TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
|
|
119
|
+
// Consider import/export; natural access for other plugins. Special handling for currency (precision).
|
|
120
|
+
// TODO(burdon): Automerge (long string) or short string or number.
|
|
121
|
+
value: Schema.Any
|
|
122
|
+
});
|
|
123
|
+
var Range = Schema.Struct({
|
|
124
|
+
range: Schema.String,
|
|
125
|
+
key: Schema.String,
|
|
126
|
+
value: Schema.String
|
|
127
|
+
});
|
|
128
|
+
var RowColumnMeta = Schema.Struct({
|
|
129
|
+
size: Schema.optional(Schema.Number)
|
|
130
|
+
});
|
|
131
|
+
var Sheet = Schema.Struct({
|
|
132
|
+
name: Schema.optional(Schema.String),
|
|
133
|
+
// Sparse map of cells referenced by index.
|
|
134
|
+
cells: Schema.Record({
|
|
135
|
+
key: Schema.String,
|
|
136
|
+
value: CellValue
|
|
137
|
+
}).pipe(FormInputAnnotation.set(false)),
|
|
138
|
+
// Ordered row indices.
|
|
139
|
+
rows: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
|
|
140
|
+
// Ordered column indices.
|
|
141
|
+
columns: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
|
|
142
|
+
// Row metadata referenced by index.
|
|
143
|
+
rowMeta: Schema.Record({
|
|
144
|
+
key: Schema.String,
|
|
145
|
+
value: RowColumnMeta
|
|
146
|
+
}).pipe(FormInputAnnotation.set(false)),
|
|
147
|
+
// Column metadata referenced by index.
|
|
148
|
+
columnMeta: Schema.Record({
|
|
149
|
+
key: Schema.String,
|
|
150
|
+
value: RowColumnMeta
|
|
151
|
+
}).pipe(FormInputAnnotation.set(false)),
|
|
152
|
+
// Cell formatting referenced by indexed range.
|
|
153
|
+
ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false))
|
|
154
|
+
}).pipe(Type.object({
|
|
155
|
+
typename: "org.dxos.type.sheet",
|
|
156
|
+
version: "0.1.0"
|
|
157
|
+
}), Annotation.IconAnnotation.set({
|
|
158
|
+
icon: "ph--grid-nine--regular",
|
|
159
|
+
hue: "indigo"
|
|
160
|
+
}));
|
|
161
|
+
var make = ({ name, cells = {}, ...size } = {}) => {
|
|
162
|
+
const sheet = Obj.make(Sheet, {
|
|
163
|
+
name,
|
|
164
|
+
cells: {},
|
|
165
|
+
rows: [],
|
|
166
|
+
columns: [],
|
|
167
|
+
rowMeta: {},
|
|
168
|
+
columnMeta: {},
|
|
169
|
+
ranges: []
|
|
170
|
+
});
|
|
171
|
+
Obj.update(sheet, (sheet2) => {
|
|
172
|
+
initialize(sheet2, size);
|
|
173
|
+
if (cells) {
|
|
174
|
+
Object.entries(cells).forEach(([key, { value }]) => {
|
|
175
|
+
const idx = addressToIndex(sheet2, addressFromA1Notation2(key));
|
|
176
|
+
if (isFormula2(value)) {
|
|
177
|
+
value = mapFormulaRefsToIndices(sheet2, value);
|
|
178
|
+
}
|
|
179
|
+
sheet2.cells[idx] = {
|
|
180
|
+
value
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
return sheet;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
// src/types/sheet-range-types.ts
|
|
189
|
+
var alignKey = "alignment";
|
|
190
|
+
var commentKey = "comment";
|
|
191
|
+
var styleKey = "style";
|
|
192
|
+
var cellClassNameForRange = ({ key, value }) => {
|
|
193
|
+
switch (key) {
|
|
194
|
+
case alignKey:
|
|
195
|
+
switch (value) {
|
|
196
|
+
case "start":
|
|
197
|
+
return "text-start";
|
|
198
|
+
case "center":
|
|
199
|
+
return "text-center";
|
|
200
|
+
case "end":
|
|
201
|
+
return "text-end";
|
|
202
|
+
default:
|
|
203
|
+
return void 0;
|
|
204
|
+
}
|
|
205
|
+
case commentKey:
|
|
206
|
+
return "bg-grid-comment";
|
|
207
|
+
case styleKey:
|
|
208
|
+
switch (value) {
|
|
209
|
+
case "highlight":
|
|
210
|
+
return "bg-grid-highlight!";
|
|
211
|
+
case "softwrap":
|
|
212
|
+
return "whitespace-normal!";
|
|
213
|
+
default:
|
|
214
|
+
return void 0;
|
|
215
|
+
}
|
|
216
|
+
default:
|
|
217
|
+
return void 0;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
// src/types/types.ts
|
|
222
|
+
import * as Schema2 from "effect/Schema";
|
|
223
|
+
var ActionAxis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
|
|
224
|
+
(function(SheetAction2) {
|
|
225
|
+
SheetAction2.RestoreAxis = Schema2.Struct({
|
|
226
|
+
axis: ActionAxis,
|
|
227
|
+
axisIndex: Schema2.String,
|
|
228
|
+
index: Schema2.Number,
|
|
229
|
+
axisMeta: RowColumnMeta,
|
|
230
|
+
values: Schema2.Array(Schema2.Any)
|
|
231
|
+
});
|
|
232
|
+
})(SheetAction || (SheetAction = {}));
|
|
233
|
+
var SheetAction;
|
|
234
|
+
|
|
235
|
+
export {
|
|
236
|
+
SheetCapabilities,
|
|
237
|
+
MAX_ROWS,
|
|
238
|
+
MAX_COLS,
|
|
239
|
+
DEFAULT_ROWS,
|
|
240
|
+
DEFAULT_COLS,
|
|
241
|
+
ApiError,
|
|
242
|
+
ReadonlyException,
|
|
243
|
+
RangeException,
|
|
244
|
+
createIndex,
|
|
245
|
+
createIndices,
|
|
246
|
+
insertIndices,
|
|
247
|
+
initialize,
|
|
248
|
+
addressToIndex,
|
|
249
|
+
addressFromIndex,
|
|
250
|
+
rangeToIndex,
|
|
251
|
+
rangeFromIndex,
|
|
252
|
+
compareIndexPositions,
|
|
253
|
+
mapFormulaRefsToIndices,
|
|
254
|
+
mapFormulaIndicesToRefs,
|
|
255
|
+
Sheet_exports,
|
|
256
|
+
alignKey,
|
|
257
|
+
commentKey,
|
|
258
|
+
styleKey,
|
|
259
|
+
cellClassNameForRange,
|
|
260
|
+
SheetAction
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=chunk-SVGX3MWY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/capabilities.ts", "../../../src/types/Sheet.ts", "../../../src/types/util.ts", "../../../src/types/sheet-range-types.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { type ComputeGraphRegistry } from '@dxos/compute-hyperformula';\nimport { type DxGridElement, type GridContentProps } from '@dxos/react-ui-grid';\n\nimport { meta } from '#meta';\n\nexport type GridEntry = { grid: DxGridElement; setActiveRefs: (refs: GridContentProps['activeRefs']) => void };\n\nexport type GridRegistry = {\n register: (attendableId: string, grid: DxGridElement, setActiveRefs: GridEntry['setActiveRefs']) => void;\n unregister: (attendableId: string) => void;\n get: (attendableId: string) => GridEntry | undefined;\n};\n\nexport namespace SheetCapabilities {\n export const ComputeGraphRegistry = Capability.make<ComputeGraphRegistry>(\n `${meta.id}.capability.compute-graph-registry`,\n );\n\n /** Registry of active grid instances keyed by attendable ID. */\n export const GridInstances = Capability.make<GridRegistry>(`${meta.id}.capability.grid-instances`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { addressFromA1Notation, isFormula } from '@dxos/compute-hyperformula';\nimport { Annotation, Obj, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\n\nimport { addressToIndex, initialize, mapFormulaRefsToIndices } from './util';\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport const CellValue = Schema.Struct({\n // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.\n // Consider import/export; natural access for other plugins. Special handling for currency (precision).\n // TODO(burdon): Automerge (long string) or short string or number.\n value: Schema.Any,\n});\n\nexport type CellValue = Schema.Schema.Type<typeof CellValue>;\n\n// TODO(burdon): IMPORTANT: Reconcile with Field definition.\nexport const Range = Schema.Struct({\n range: Schema.String,\n key: Schema.String,\n value: Schema.String,\n});\n\nexport type Range = Schema.Schema.Type<typeof Range>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = Schema.Struct({\n size: Schema.optional(Schema.Number),\n});\n\n// TODO(burdon): Reconcile col/column (across packages).\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\nexport const Sheet = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n // Sparse map of cells referenced by index.\n cells: Schema.Record({ key: Schema.String, value: CellValue }).pipe(FormInputAnnotation.set(false)),\n\n // Ordered row indices.\n rows: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Ordered column indices.\n columns: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Row metadata referenced by index.\n rowMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Column metadata referenced by index.\n columnMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Cell formatting referenced by indexed range.\n ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.sheet',\n version: '0.1.0',\n }),\n Annotation.IconAnnotation.set({\n icon: 'ph--grid-nine--regular',\n hue: 'indigo',\n }),\n);\n\nexport interface Sheet extends Schema.Schema.Type<typeof Sheet> {}\n\nexport type SheetProps = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n\nexport const make = ({ name, cells = {}, ...size }: SheetProps = {}) => {\n const sheet = Obj.make(Sheet, { name, cells: {}, rows: [], columns: [], rowMeta: {}, columnMeta: {}, ranges: [] });\n\n // Initialize and set cells within Obj.update to satisfy change context requirements.\n Obj.update(sheet, (sheet) => {\n initialize(sheet, size);\n\n if (cells) {\n Object.entries(cells).forEach(([key, { value }]) => {\n const idx = addressToIndex(sheet, addressFromA1Notation(key));\n if (isFormula(value)) {\n value = mapFormulaRefsToIndices(sheet, value);\n }\n\n sheet.cells[idx] = { value };\n });\n }\n });\n\n return sheet;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type CellAddress,\n type CellRange,\n type CompleteCellRange,\n addressFromA1Notation,\n addressToA1Notation,\n isFormula,\n} from '@dxos/compute-hyperformula';\nimport { randomBytes } from '@dxos/crypto';\nimport { type Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { type Sheet } from '../types';\n\nexport const MAX_ROWS = 500;\nexport const MAX_COLS = 676; // 26^2;\n\nexport const DEFAULT_ROWS = 50;\nexport const DEFAULT_COLS = 26;\n\n// TODO(burdon): Factor out from dxos/protocols to new common package.\nexport class ApiError extends Error {}\n\nexport class ReadonlyException extends ApiError {}\n\nexport class RangeException extends ApiError {\n constructor(n: number) {\n super();\n }\n}\n\n/**\n * With a string length of 8, the chance of a collision is 0.02% for a sheet with 10,000 strings.\n */\nexport const createIndex = (length = 8): string => {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n const randomBuffer = randomBytes(length);\n return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join('');\n};\n\nexport const createIndices = (length: number): string[] => Array.from({ length }).map(() => createIndex());\n\nexport const insertIndices = (indices: string[], i: number, n: number, max: number) => {\n if (i + n > max) {\n throw new RangeException(i + n);\n }\n\n const idx = createIndices(n);\n indices.splice(i, 0, ...idx);\n return idx;\n};\n\nexport const initialize = (\n sheet: Obj.Mutable<Sheet.Sheet>,\n { rows = DEFAULT_ROWS, columns = DEFAULT_COLS }: Partial<Sheet.SheetSize> = {},\n) => {\n if (!sheet.rows.length) {\n insertIndices(sheet.rows, 0, rows, MAX_ROWS);\n }\n if (!sheet.columns.length) {\n insertIndices(sheet.columns, 0, columns, MAX_COLS);\n }\n};\n\n/**\n * E.g., \"A1\" => \"CA2@CB3\".\n */\nexport const addressToIndex = (sheet: Sheet.Sheet, cell: CellAddress): string => {\n return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;\n};\n\n/**\n * E.g., \"CA2@CB3\" => \"A1\".\n */\nexport const addressFromIndex = (sheet: Sheet.Sheet, idx: string): CellAddress => {\n const [column, row] = idx.split('@');\n return {\n col: sheet.columns.indexOf(column),\n row: sheet.rows.indexOf(row),\n };\n};\n\n/**\n * E.g., \"A1:B2\" => \"CA2@CB3:CC4@CD5\".\n */\nexport const rangeToIndex = (sheet: Sheet.Sheet, range: CellRange): string => {\n return [range.from, range.to ?? range.from].map((cell) => addressToIndex(sheet, cell)).join(':');\n};\n\n/**\n * E.g., \"CA2@CB3:CC4@CD5\" => \"A1:B2\".\n */\nexport const rangeFromIndex = (sheet: Sheet.Sheet, idx: string): CompleteCellRange => {\n const [from, to] = idx.split(':').map((index) => addressFromIndex(sheet, index));\n return { from, to };\n};\n\n/**\n * Compares the positions of two cell indexes in a sheet.\n * Sorts primarily by row, then by column if rows are equal.\n */\nexport const compareIndexPositions = (sheet: Sheet.Sheet, indexA: string, indexB: string): number => {\n const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);\n const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);\n\n // Sort by row first, then by column.\n if (rowA !== rowB) {\n return rowA - rowB;\n } else {\n return columnA - columnB;\n }\n};\n\n// TODO(burdon): Tests.\n\n/**\n * Map from A1 notation to indices.\n */\nexport const mapFormulaRefsToIndices = (sheet: Sheet.Sheet, formula: string): string => {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {\n return addressToIndex(sheet, addressFromA1Notation(match));\n });\n};\n\n/**\n * Map from indices to A1 notation.\n */\nexport const mapFormulaIndicesToRefs = (sheet: Sheet.Sheet, formula: string): string => {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(sheet, idx));\n });\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ClassNameValue } from '@dxos/react-ui';\n\nimport { type Sheet } from '../types';\n\nexport const alignKey = 'alignment';\nexport type AlignKey = typeof alignKey;\nexport type AlignValue = 'start' | 'center' | 'end';\n\nexport const commentKey = 'comment';\nexport type CommentKey = typeof commentKey;\nexport type CommentValue = string;\n\nexport const styleKey = 'style';\nexport type StyleKey = typeof styleKey;\nexport type StyleValue = 'highlight' | 'softwrap';\n\n// TODO(burdon): Reconcile with plugin-table.\nexport const cellClassNameForRange = ({ key, value }: Sheet.Sheet['ranges'][number]): ClassNameValue => {\n switch (key) {\n case alignKey:\n switch (value) {\n case 'start':\n return 'text-start';\n case 'center':\n return 'text-center';\n case 'end':\n return 'text-end';\n default:\n return undefined;\n }\n\n case commentKey:\n return 'bg-grid-comment';\n\n case styleKey:\n switch (value) {\n case 'highlight':\n return 'bg-grid-highlight!';\n case 'softwrap':\n return 'whitespace-normal!';\n default:\n return undefined;\n }\n\n default:\n return undefined;\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Sheet from './Sheet';\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst ActionAxis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport namespace SheetAction {\n export const RestoreAxis = Schema.Struct({\n axis: ActionAxis,\n axisIndex: Schema.String,\n index: Schema.Number,\n axisMeta: Sheet.RowColumnMeta,\n values: Schema.Array(Schema.Any),\n });\n\n export type RestoreAxis = Schema.Schema.Type<typeof RestoreAxis>;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capability", "meta", "SheetCapabilities", "ComputeGraphRegistry", "make", "id", "GridInstances", "Schema", "addressFromA1Notation", "isFormula", "Annotation", "Obj", "Type", "FormInputAnnotation", "addressFromA1Notation", "addressToA1Notation", "isFormula", "randomBytes", "invariant", "MAX_ROWS", "DEFAULT_ROWS", "DEFAULT_COLS", "ApiError", "ReadonlyException", "RangeException", "charactersLength", "characters", "length", "randomBuffer", "byte", "createIndices", "Array", "map", "createIndex", "i", "n", "idx", "indices", "insertIndices", "sheet", "col", "columns", "indexOf", "column", "row", "range", "from", "cell", "to", "rowB", "addressFromIndex", "indexB", "rowA", "columnA", "formula", "match", "addressToIndex", "CellValue", "Struct", "value", "Any", "Range", "range", "String", "key", "RowColumnMeta", "size", "optional", "Number", "Sheet", "name", "cells", "Record", "pipe", "FormInputAnnotation", "set", "rows", "Array", "columns", "rowMeta", "columnMeta", "ranges", "Type", "object", "typename", "version", "Annotation", "IconAnnotation", "icon", "hue", "make", "sheet", "Obj", "update", "initialize", "Object", "entries", "forEach", "idx", "addressToIndex", "addressFromA1Notation", "isFormula", "mapFormulaRefsToIndices", "alignKey", "commentKey", "styleKey", "cellClassNameForRange", "key", "value", "undefined", "Schema", "ActionAxis", "Union", "Literal", "SheetAction", "RestoreAxis", "Struct", "axis", "axisIndex", "String", "index", "Number", "axisMeta", "RowColumnMeta", "values", "Array", "Any"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DropAxis
|
|
3
|
+
} from "./chunk-5TXOUIGZ.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/operations/drop-axis.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Operation } from "@dxos/compute";
|
|
9
|
+
var handler = DropAxis.pipe(Operation.withHandler(({ model, axis, axisIndex }) => Effect.sync(() => {
|
|
10
|
+
const undoData = model[axis === "col" ? "dropColumn" : "dropRow"](axisIndex);
|
|
11
|
+
return {
|
|
12
|
+
axis: undoData.axis,
|
|
13
|
+
axisIndex: undoData.axisIndex,
|
|
14
|
+
index: undoData.index,
|
|
15
|
+
axisMeta: undoData.axisMeta,
|
|
16
|
+
values: undoData.values
|
|
17
|
+
};
|
|
18
|
+
})));
|
|
19
|
+
var drop_axis_default = handler;
|
|
20
|
+
export {
|
|
21
|
+
drop_axis_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=drop-axis-ZLERPPPH.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/drop-axis.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\n\nimport { DropAxis } from './definitions';\n\nconst handler: Operation.WithHandler<typeof DropAxis> = DropAxis.pipe(\n Operation.withHandler(({ model, axis, axisIndex }) =>\n Effect.sync(() => {\n const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);\n return {\n axis: undoData.axis,\n axisIndex: undoData.axisIndex,\n index: undoData.index,\n axisMeta: undoData.axisMeta,\n values: undoData.values,\n };\n }),\n ),\n);\n\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAI1B,IAAMC,UAAkDC,SAASC,KAC/DC,UAAUC,YAAY,CAAC,EAAEC,OAAOC,MAAMC,UAAS,MACtCC,YAAK,MAAA;AACV,QAAMC,WAAWJ,MAAMC,SAAS,QAAQ,eAAe,SAAA,EAAWC,SAAAA;AAClE,SAAO;IACLD,MAAMG,SAASH;IACfC,WAAWE,SAASF;IACpBG,OAAOD,SAASC;IAChBC,UAAUF,SAASE;IACnBC,QAAQH,SAASG;EACnB;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,oBAAeZ;",
|
|
6
|
+
"names": ["Effect", "Operation", "handler", "DropAxis", "pipe", "Operation", "withHandler", "model", "axis", "axisIndex", "sync", "undoData", "index", "axisMeta", "values"]
|
|
7
|
+
}
|