@dxos/plugin-sheet 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29
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/neutral/RangeList-HYB5S6KQ.mjs +46 -0
- package/dist/lib/neutral/RangeList-HYB5S6KQ.mjs.map +7 -0
- package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs +33 -0
- package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs.map +7 -0
- package/dist/lib/neutral/SheetPlugin.mjs +48 -0
- package/dist/lib/neutral/SheetPlugin.mjs.map +7 -0
- package/dist/lib/neutral/SheetPlugin.node.mjs +27 -0
- package/dist/lib/neutral/SheetPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/anchor-sort-TTCKGX7V.mjs +22 -0
- package/dist/lib/neutral/anchor-sort-TTCKGX7V.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +25 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4GWJDLTH.mjs +83 -0
- package/dist/lib/neutral/chunk-4GWJDLTH.mjs.map +7 -0
- package/dist/lib/{browser/chunk-SSN4HYJL.mjs → neutral/chunk-4SBAIU6F.mjs} +19 -19
- package/dist/lib/neutral/chunk-4SBAIU6F.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-KC2SMDNF.mjs +373 -0
- package/dist/lib/neutral/chunk-KC2SMDNF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YFHTB6MX.mjs +8 -0
- package/dist/lib/neutral/chunk-YFHTB6MX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZWOQCLH7.mjs +21 -0
- package/dist/lib/neutral/chunk-ZWOQCLH7.mjs.map +7 -0
- package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs +20 -0
- package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +1551 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/compute-graph-registry-IEQBF5XZ.mjs +20 -0
- package/dist/lib/neutral/compute-graph-registry-IEQBF5XZ.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +11 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-object-OKQAXJCW.mjs +27 -0
- package/dist/lib/neutral/create-object-OKQAXJCW.mjs.map +7 -0
- package/dist/lib/neutral/drop-axis-G6UOXG54.mjs +23 -0
- package/dist/lib/neutral/drop-axis-G6UOXG54.mjs.map +7 -0
- package/dist/lib/{node-esm/types → neutral}/index.mjs +16 -13
- package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs +16 -0
- package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs.map +7 -0
- package/dist/lib/neutral/markdown-I2AKJYPF.mjs +28 -0
- package/dist/lib/neutral/markdown-I2AKJYPF.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs +13 -0
- package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-ID4JCAFR.mjs +44 -0
- package/dist/lib/neutral/react-surface-ID4JCAFR.mjs.map +7 -0
- package/dist/lib/neutral/restore-axis-44DM6N54.mjs +16 -0
- package/dist/lib/neutral/restore-axis-44DM6N54.mjs.map +7 -0
- package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs +33 -0
- package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs.map +7 -0
- package/dist/lib/neutral/state-HPA27MX2.mjs +29 -0
- package/dist/lib/neutral/state-HPA27MX2.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +103 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +55 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/types/index.mjs +8 -12
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs +31 -0
- package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs.map +7 -0
- 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 -9
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +3 -2
- 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 +0 -1
- 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/{GridSheet → SheetContent}/SheetCellEditor.stories.d.ts +2 -3
- 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 +1 -1
- 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 +73 -68
- 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 +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +2 -3
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/sheet-extension.d.ts +1 -1
- package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -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/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 +3 -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.map +1 -1
- package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/serializer.d.ts +3 -3
- 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 +74 -38
- 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/SheetCapabilities.d.ts +16 -0
- package/dist/types/src/types/SheetCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/SheetOperation.d.ts +45 -0
- package/dist/types/src/types/SheetOperation.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -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 +131 -81
- package/src/SheetPlugin.node.ts +21 -0
- package/src/SheetPlugin.test.ts +30 -0
- package/src/SheetPlugin.tsx +46 -68
- 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 +21 -13
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +38 -29
- package/src/capabilities/state.ts +29 -0
- package/src/capabilities/undo-mappings.ts +30 -0
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
- package/src/components/ComputeGraph/compute-graph.stories.tsx +23 -22
- package/src/components/Sheet/Sheet.tsx +20 -0
- package/src/components/Sheet/index.ts +5 -0
- package/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.tsx +18 -15
- package/src/components/SheetContent/SheetContent.stories.tsx +60 -0
- package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +84 -54
- package/src/components/{RangeList → SheetContent}/index.ts +1 -1
- package/src/components/{GridSheet → SheetContent}/util.ts +17 -10
- 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 +11 -8
- package/src/components/SheetToolbar/SheetToolbar.tsx +51 -46
- package/src/components/SheetToolbar/align.ts +50 -25
- 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 +38 -25
- package/src/extensions/compute.ts +2 -2
- package/src/extensions/editor/sheet-extension.test.ts +1 -1
- package/src/extensions/editor/sheet-extension.ts +18 -15
- package/src/index.ts +2 -2
- package/src/integrations/thread-ranges.ts +19 -61
- package/src/meta.ts +9 -7
- package/src/model/sheet-model.test.ts +6 -6
- package/src/model/sheet-model.ts +82 -50
- package/src/model/testing.ts +5 -5
- package/src/model/useSheetModel.ts +4 -3
- package/src/operations/drop-axis.ts +26 -0
- package/src/operations/index.ts +12 -0
- package/src/operations/insert-axis.ts +19 -0
- package/src/operations/restore-axis.ts +19 -0
- package/src/operations/scroll-to-anchor.ts +30 -0
- package/src/playwright/playwright.config.ts +1 -1
- package/src/playwright/sheet.spec.ts +4 -3
- package/src/plugin.ts +11 -0
- package/src/sanity.test.ts +5 -3
- package/src/serializer.ts +5 -5
- package/src/testing/data.ts +2 -2
- package/src/testing/testing.tsx +13 -7
- package/src/translations.ts +42 -36
- package/src/types/Sheet.ts +103 -0
- package/src/types/SheetCapabilities.ts +26 -0
- package/src/types/SheetOperation.ts +75 -0
- package/src/types/index.ts +4 -1
- package/src/types/sheet-range-types.ts +5 -5
- package/src/types/types.ts +6 -52
- package/src/types/util.ts +12 -39
- package/dist/lib/browser/SheetContainer-OUN6AARA.mjs +0 -350
- package/dist/lib/browser/SheetContainer-OUN6AARA.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs +0 -24
- package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs.map +0 -7
- package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
- package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
- package/dist/lib/browser/chunk-KJWZUQVA.mjs +0 -15
- package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
- package/dist/lib/browser/chunk-SSN4HYJL.mjs.map +0 -7
- package/dist/lib/browser/chunk-X4EWLDT3.mjs +0 -851
- package/dist/lib/browser/chunk-X4EWLDT3.mjs.map +0 -7
- package/dist/lib/browser/chunk-XSXUU6FO.mjs +0 -906
- package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs +0 -30
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -155
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-ROEY4LHM.mjs +0 -56
- package/dist/lib/browser/intent-resolver-ROEY4LHM.mjs.map +0 -7
- package/dist/lib/browser/markdown-VOY636TS.mjs +0 -26
- package/dist/lib/browser/markdown-VOY636TS.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-XCNAVF2M.mjs +0 -53
- package/dist/lib/browser/react-surface-XCNAVF2M.mjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs +0 -351
- package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-ACQDUIPU.mjs +0 -25
- package/dist/lib/node-esm/anchor-sort-ACQDUIPU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs +0 -16
- package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs +0 -236
- package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ODP4L4OV.mjs +0 -907
- package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs +0 -852
- package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs +0 -31
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -156
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HESRI2ML.mjs +0 -57
- package/dist/lib/node-esm/intent-resolver-HESRI2ML.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-P4CLZ24C.mjs +0 -27
- package/dist/lib/node-esm/markdown-P4CLZ24C.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-KE3EEVF4.mjs +0 -54
- package/dist/lib/node-esm/react-surface-KE3EEVF4.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 -54
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
- 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 -55
- 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/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 -56
- package/src/components/RangeList/RangeList.tsx +0 -60
- package/src/components/SheetContainer/SheetContainer.stories.tsx +0 -92
- 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/types/schema.ts +0 -61
- /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/RangeList/RangeList.tsx
|
|
4
|
+
import * as Schema from "effect/Schema";
|
|
5
|
+
import React, { useCallback } from "react";
|
|
6
|
+
import { rangeToA1Notation } from "@dxos/compute-hyperformula";
|
|
7
|
+
import { useObject } from "@dxos/echo-react";
|
|
8
|
+
import { Input, Message, useTranslation } from "@dxos/react-ui";
|
|
9
|
+
import { List } from "@dxos/react-ui-list";
|
|
10
|
+
import { meta } from "#meta";
|
|
11
|
+
import { rangeFromIndex } from "#types";
|
|
12
|
+
import { Sheet } from "#types";
|
|
13
|
+
var RangeList = ({ sheet: sheetProp }) => {
|
|
14
|
+
const { t } = useTranslation(meta.id);
|
|
15
|
+
const [sheet, updateSheet] = useObject(sheetProp);
|
|
16
|
+
const handleSelectRange = (range) => {
|
|
17
|
+
};
|
|
18
|
+
const handleDeleteRange = useCallback((range) => {
|
|
19
|
+
const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);
|
|
20
|
+
updateSheet((sheet2) => {
|
|
21
|
+
sheet2.ranges.splice(index, 1);
|
|
22
|
+
});
|
|
23
|
+
}, [
|
|
24
|
+
sheet,
|
|
25
|
+
updateSheet
|
|
26
|
+
]);
|
|
27
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("range-list.heading"))), sheet.ranges.length < 1 ? /* @__PURE__ */ React.createElement(Message.Root, null, /* @__PURE__ */ React.createElement(Message.Title, null, t("no-ranges.message"))) : /* @__PURE__ */ React.createElement(List.Root, {
|
|
28
|
+
items: sheet.ranges,
|
|
29
|
+
isItem: Schema.is(Sheet.Range)
|
|
30
|
+
}, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ React.createElement(List.Item, {
|
|
31
|
+
key: i,
|
|
32
|
+
item: range
|
|
33
|
+
}, /* @__PURE__ */ React.createElement(List.ItemDragHandle, null), /* @__PURE__ */ React.createElement(List.ItemTitle, {
|
|
34
|
+
onClick: () => handleSelectRange(range)
|
|
35
|
+
}, t("range.title", {
|
|
36
|
+
position: rangeToA1Notation(rangeFromIndex(sheetProp, range.range)),
|
|
37
|
+
key: t(`range-key.${range.key}.label`),
|
|
38
|
+
value: t(`range-value.${range.value}.label`)
|
|
39
|
+
})), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
|
|
40
|
+
onClick: () => handleDeleteRange(range)
|
|
41
|
+
})))));
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
RangeList as default
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=RangeList-HYB5S6KQ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/RangeList/RangeList.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { rangeToA1Notation } from '@dxos/compute-hyperformula';\nimport { useObject } from '@dxos/echo-react';\nimport { Input, Message, useTranslation } from '@dxos/react-ui';\nimport { List } from '@dxos/react-ui-list';\n\nimport { meta } from '#meta';\nimport { rangeFromIndex } from '#types';\nimport { Sheet } from '#types';\n\nexport type RangeListProps = {\n sheet: Sheet.Sheet;\n};\n\nexport const RangeList = ({ sheet: sheetProp }: RangeListProps) => {\n const { t } = useTranslation(meta.id);\n const [sheet, updateSheet] = useObject(sheetProp);\n // TODO(thure): Implement similar to comments, #8121\n const handleSelectRange = (range: Sheet.Range) => {};\n const handleDeleteRange = useCallback(\n (range: Sheet.Range) => {\n const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);\n updateSheet((sheet) => {\n sheet.ranges.splice(index, 1);\n });\n },\n [sheet, updateSheet],\n );\n return (\n <>\n <Input.Root>\n <Input.Label>{t('range-list.heading')}</Input.Label>\n </Input.Root>\n {sheet.ranges.length < 1 ? (\n <Message.Root>\n <Message.Title>{t('no-ranges.message')}</Message.Title>\n </Message.Root>\n ) : (\n <List.Root<Sheet.Range> items={sheet.ranges} isItem={Schema.is(Sheet.Range)}>\n {({ items: ranges }) =>\n ranges.map((range, i) => (\n <List.Item key={i} item={range}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleSelectRange(range)}>\n {t('range.title', {\n position: rangeToA1Notation(rangeFromIndex(sheetProp, 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"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,SAASC,mBAAmB;AAEnC,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,SAASC,sBAAsB;AAC/C,SAASC,YAAY;AAErB,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,aAAa;AAMf,IAAMC,YAAY,CAAC,EAAEC,OAAOC,UAAS,MAAkB;AAC5D,QAAM,EAAEC,EAAC,IAAKR,eAAeE,KAAKO,EAAE;AACpC,QAAM,CAACH,OAAOI,WAAAA,IAAeb,UAAUU,SAAAA;AAEvC,QAAMI,oBAAoB,CAACC,UAAAA;EAAwB;AACnD,QAAMC,oBAAoBlB,YACxB,CAACiB,UAAAA;AACC,UAAME,QAAQR,MAAMS,OAAOC,UAAU,CAACC,eAAeA,eAAeL,KAAAA;AACpEF,gBAAY,CAACJ,WAAAA;AACXA,MAAAA,OAAMS,OAAOG,OAAOJ,OAAO,CAAA;IAC7B,CAAA;EACF,GACA;IAACR;IAAOI;GAAY;AAEtB,SACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACZ,MAAMqB,MAAI,MACT,sBAAA,cAACrB,MAAMsB,OAAK,MAAEZ,EAAE,oBAAA,CAAA,CAAA,GAEjBF,MAAMS,OAAOM,SAAS,IACrB,sBAAA,cAACtB,QAAQoB,MAAI,MACX,sBAAA,cAACpB,QAAQuB,OAAK,MAAEd,EAAE,mBAAA,CAAA,CAAA,IAGpB,sBAAA,cAACP,KAAKkB,MAAI;IAAcI,OAAOjB,MAAMS;IAAQS,QAAeC,UAAGrB,MAAMsB,KAAK;KACvE,CAAC,EAAEH,OAAOR,OAAM,MACfA,OAAOY,IAAI,CAACf,OAAOgB,MACjB,sBAAA,cAAC3B,KAAK4B,MAAI;IAACC,KAAKF;IAAGG,MAAMnB;KACvB,sBAAA,cAACX,KAAK+B,gBAAc,IAAA,GACpB,sBAAA,cAAC/B,KAAKgC,WAAS;IAACC,SAAS,MAAMvB,kBAAkBC,KAAAA;KAC9CJ,EAAE,eAAe;IAChB2B,UAAUvC,kBAAkBO,eAAeI,WAAWK,MAAMA,KAAK,CAAA;IACjEkB,KAAKtB,EAAE,aAAaI,MAAMkB,GAAG,QAAQ;IACrCM,OAAO5B,EAAE,eAAeI,MAAMwB,KAAK,QAAQ;EAC7C,CAAA,CAAA,GAEF,sBAAA,cAACnC,KAAKoC,kBAAgB;IAACH,SAAS,MAAMrB,kBAAkBD,KAAAA;;AAQxE;",
|
|
6
|
+
"names": ["Schema", "React", "useCallback", "rangeToA1Notation", "useObject", "Input", "Message", "useTranslation", "List", "meta", "rangeFromIndex", "Sheet", "RangeList", "sheet", "sheetProp", "t", "id", "updateSheet", "handleSelectRange", "range", "handleDeleteRange", "index", "ranges", "findIndex", "sheetRange", "splice", "Root", "Label", "length", "Title", "items", "isItem", "is", "Range", "map", "i", "Item", "key", "item", "ItemDragHandle", "ItemTitle", "onClick", "position", "value", "ItemDeleteButton"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/SheetContainer/SheetContainer.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Panel } from "@dxos/react-ui";
|
|
6
|
+
import { ComputeGraphContextProvider, Sheet, useComputeGraph } from "#components";
|
|
7
|
+
var SheetContainer = ({ registry, ...props }) => /* @__PURE__ */ React.createElement(ComputeGraphContextProvider, {
|
|
8
|
+
registry
|
|
9
|
+
}, /* @__PURE__ */ React.createElement(SheetContainerInner, props));
|
|
10
|
+
var SheetContainerInner = ({ role, subject: sheet, attendableId, space, ignoreAttention }) => {
|
|
11
|
+
const graph = useComputeGraph(space);
|
|
12
|
+
if (!graph) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return /* @__PURE__ */ React.createElement(Sheet.Root, {
|
|
16
|
+
graph,
|
|
17
|
+
sheet,
|
|
18
|
+
attendableId,
|
|
19
|
+
ignoreAttention
|
|
20
|
+
}, /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
21
|
+
classNames: role === "section" && "aspect-aquare"
|
|
22
|
+
}, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
23
|
+
asChild: true
|
|
24
|
+
}, /* @__PURE__ */ React.createElement(Sheet.Toolbar, null)), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
25
|
+
asChild: true
|
|
26
|
+
}, /* @__PURE__ */ React.createElement(Sheet.Content, null)), /* @__PURE__ */ React.createElement(Panel.Statusbar, {
|
|
27
|
+
asChild: true
|
|
28
|
+
}, /* @__PURE__ */ React.createElement(Sheet.Statusbar, null))));
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
SheetContainer as default
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=SheetContainer-ZOVKGHLT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/SheetContainer/SheetContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type ComputeGraphRegistry } from '@dxos/compute-hyperformula';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Panel } from '@dxos/react-ui';\n\nimport { ComputeGraphContextProvider, Sheet, useComputeGraph } from '#components';\nimport { type Sheet as SheetType } from '#types';\n\nexport type SheetContainerProps = AppSurface.ObjectArticleProps<\n SheetType.Sheet,\n {\n space: Space;\n registry: ComputeGraphRegistry;\n ignoreAttention?: boolean;\n }\n>;\n\nexport const SheetContainer = ({ registry, ...props }: SheetContainerProps) => (\n <ComputeGraphContextProvider registry={registry}>\n <SheetContainerInner {...props} />\n </ComputeGraphContextProvider>\n);\n\nconst SheetContainerInner = ({\n role,\n subject: sheet,\n attendableId,\n space,\n ignoreAttention,\n}: Omit<SheetContainerProps, 'registry'>) => {\n const graph = useComputeGraph(space);\n if (!graph) {\n return null;\n }\n\n return (\n <Sheet.Root graph={graph} sheet={sheet} attendableId={attendableId!} ignoreAttention={ignoreAttention}>\n <Panel.Root classNames={role === 'section' && 'aspect-aquare'}>\n <Panel.Toolbar asChild>\n <Sheet.Toolbar />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <Sheet.Content />\n </Panel.Content>\n <Panel.Statusbar asChild>\n <Sheet.Statusbar />\n </Panel.Statusbar>\n </Panel.Root>\n </Sheet.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAKlB,SAASC,aAAa;AAEtB,SAASC,6BAA6BC,OAAOC,uBAAuB;AAY7D,IAAMC,iBAAiB,CAAC,EAAEC,UAAU,GAAGC,MAAAA,MAC5C,sBAAA,cAACL,6BAAAA;EAA4BI;GAC3B,sBAAA,cAACE,qBAAwBD,KAAAA,CAAAA;AAI7B,IAAMC,sBAAsB,CAAC,EAC3BC,MACAC,SAASC,OACTC,cACAC,OACAC,gBAAe,MACuB;AACtC,QAAMC,QAAQX,gBAAgBS,KAAAA;AAC9B,MAAI,CAACE,OAAO;AACV,WAAO;EACT;AAEA,SACE,sBAAA,cAACZ,MAAMa,MAAI;IAACD;IAAcJ;IAAcC;IAA6BE;KACnE,sBAAA,cAACb,MAAMe,MAAI;IAACC,YAAYR,SAAS,aAAa;KAC5C,sBAAA,cAACR,MAAMiB,SAAO;IAACC,SAAAA;KACb,sBAAA,cAAChB,MAAMe,SAAO,IAAA,CAAA,GAEhB,sBAAA,cAACjB,MAAMmB,SAAO;IAACD,SAAAA;KACb,sBAAA,cAAChB,MAAMiB,SAAO,IAAA,CAAA,GAEhB,sBAAA,cAACnB,MAAMoB,WAAS;IAACF,SAAAA;KACf,sBAAA,cAAChB,MAAMkB,WAAS,IAAA,CAAA,CAAA,CAAA;AAK1B;",
|
|
6
|
+
"names": ["React", "Panel", "ComputeGraphContextProvider", "Sheet", "useComputeGraph", "SheetContainer", "registry", "props", "SheetContainerInner", "role", "subject", "sheet", "attendableId", "space", "ignoreAttention", "graph", "Root", "classNames", "Toolbar", "asChild", "Content", "Statusbar"]
|
|
7
|
+
}
|
|
@@ -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";
|
|
7
|
+
import { ClientEvents } from "@dxos/plugin-client";
|
|
8
|
+
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
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.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';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\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,27 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/SheetPlugin.node.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { CommentConfig, CreateObject, OperationHandler, UndoMappings } from "#capabilities";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Sheet } from "#types";
|
|
9
|
+
var SheetPlugin = Plugin.define(meta).pipe(AppPlugin.addCommentConfigModule({
|
|
10
|
+
activate: CommentConfig
|
|
11
|
+
}), AppPlugin.addCreateObjectModule({
|
|
12
|
+
activate: CreateObject
|
|
13
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
14
|
+
activate: OperationHandler
|
|
15
|
+
}), AppPlugin.addUndoMappingsModule({
|
|
16
|
+
activate: UndoMappings
|
|
17
|
+
}), AppPlugin.addSchemaModule({
|
|
18
|
+
schema: [
|
|
19
|
+
Sheet.Sheet
|
|
20
|
+
]
|
|
21
|
+
}), Plugin.make);
|
|
22
|
+
var SheetPlugin_node_default = SheetPlugin;
|
|
23
|
+
export {
|
|
24
|
+
SheetPlugin,
|
|
25
|
+
SheetPlugin_node_default as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=SheetPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/SheetPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { CommentConfig, CreateObject, OperationHandler, UndoMappings } from '#capabilities';\nimport { meta } from '#meta';\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 Plugin.make,\n);\n\nexport default SheetPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,eAAeC,cAAcC,kBAAkBC,oBAAoB;AAC5E,SAASC,YAAY;AACrB,SAASC,aAAa;AAEf,IAAMC,cAAcR,OAAOS,OAAOH,IAAAA,EAAMI,KAC7CT,UAAUU,uBAAuB;EAAEC,UAAUV;AAAc,CAAA,GAC3DD,UAAUY,sBAAsB;EAAED,UAAUT;AAAa,CAAA,GACzDF,UAAUa,0BAA0B;EAAEF,UAAUR;AAAiB,CAAA,GACjEH,UAAUc,sBAAsB;EAAEH,UAAUP;AAAa,CAAA,GACzDJ,UAAUe,gBAAgB;EAAEC,QAAQ;IAACV,MAAMA;;AAAO,CAAA,GAClDP,OAAOkB,IAAI;AAGb,IAAA,2BAAeV;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "CommentConfig", "CreateObject", "OperationHandler", "UndoMappings", "meta", "Sheet", "SheetPlugin", "define", "pipe", "addCommentConfigModule", "activate", "addCreateObjectModule", "addOperationHandlerModule", "addUndoMappingsModule", "addSchemaModule", "schema", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/anchor-sort.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { Relation } from "@dxos/echo";
|
|
8
|
+
import { Sheet, compareIndexPositions } from "#types";
|
|
9
|
+
var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(AppCapabilities.AnchorSort, {
|
|
10
|
+
key: Sheet.Sheet.typename,
|
|
11
|
+
sort: (anchorA, anchorB) => {
|
|
12
|
+
const sheet = Relation.getTarget(anchorA);
|
|
13
|
+
if (sheet !== Relation.getTarget(anchorB)) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
return !anchorA.anchor || !anchorB.anchor ? 0 : compareIndexPositions(sheet, anchorA.anchor, anchorB.anchor);
|
|
17
|
+
}
|
|
18
|
+
})));
|
|
19
|
+
export {
|
|
20
|
+
anchor_sort_default as default
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=anchor-sort-TTCKGX7V.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/anchor-sort.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Relation } from '@dxos/echo';\n\nimport { Sheet, compareIndexPositions } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(AppCapabilities.AnchorSort, {\n key: Sheet.Sheet.typename,\n sort: (anchorA, anchorB) => {\n const sheet = Relation.getTarget(anchorA) as Sheet.Sheet;\n if (sheet !== Relation.getTarget(anchorB)) {\n return 0;\n }\n\n return !anchorA.anchor || !anchorB.anchor ? 0 : compareIndexPositions(sheet, anchorA.anchor, anchorB.anchor);\n },\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AAEzB,SAASC,OAAOC,6BAA6B;AAE7C,IAAA,sBAAeJ,WAAWK,WAAW,MAC5BC,eACLN,WAAWO,YAAYN,gBAAgBO,YAAY;EACjDC,KAAKN,MAAMA,MAAMO;EACjBC,MAAM,CAACC,SAASC,YAAAA;AACd,UAAMC,QAAQZ,SAASa,UAAUH,OAAAA;AACjC,QAAIE,UAAUZ,SAASa,UAAUF,OAAAA,GAAU;AACzC,aAAO;IACT;AAEA,WAAO,CAACD,QAAQI,UAAU,CAACH,QAAQG,SAAS,IAAIZ,sBAAsBU,OAAOF,QAAQI,QAAQH,QAAQG,MAAM;EAC7G;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "Relation", "Sheet", "compareIndexPositions", "makeModule", "succeed", "contributes", "AnchorSort", "key", "typename", "sort", "anchorA", "anchorB", "sheet", "getTarget", "anchor"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AnchorSort = Capability.lazy("AnchorSort", () => import("../anchor-sort-TTCKGX7V.mjs"));
|
|
6
|
+
var CommentConfig = Capability.lazy("CommentConfig", () => import("../comment-config-ZBWNCJMZ.mjs"));
|
|
7
|
+
var ComputeGraphRegistry = Capability.lazy("ComputeGraphRegistry", () => import("../compute-graph-registry-IEQBF5XZ.mjs"));
|
|
8
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-OKQAXJCW.mjs"));
|
|
9
|
+
var Markdown = Capability.lazy("Markdown", () => import("../markdown-I2AKJYPF.mjs"));
|
|
10
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-TB6LFV2H.mjs"));
|
|
11
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-ID4JCAFR.mjs"));
|
|
12
|
+
var SheetState = Capability.lazy("SheetState", () => import("../state-HPA27MX2.mjs"));
|
|
13
|
+
var UndoMappings = Capability.lazy("UndoMappings", () => import("../undo-mappings-3FQLSTCZ.mjs"));
|
|
14
|
+
export {
|
|
15
|
+
AnchorSort,
|
|
16
|
+
CommentConfig,
|
|
17
|
+
ComputeGraphRegistry,
|
|
18
|
+
CreateObject,
|
|
19
|
+
Markdown,
|
|
20
|
+
OperationHandler,
|
|
21
|
+
ReactSurface,
|
|
22
|
+
SheetState,
|
|
23
|
+
UndoMappings
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Operation } from '@dxos/compute';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AnchorSort = Capability.lazy('AnchorSort', () => import('./anchor-sort'));\nexport const CommentConfig = Capability.lazy('CommentConfig', () => import('./comment-config'));\nexport const ComputeGraphRegistry = Capability.lazy('ComputeGraphRegistry', () => import('./compute-graph-registry'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const Markdown = Capability.lazy('Markdown', () => import('./markdown'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const SheetState = Capability.lazy('SheetState', () => import('./state'));\nexport const UndoMappings = Capability.lazy('UndoMappings', () => import('./undo-mappings'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAKpB,IAAMC,aAAaD,WAAWE,KAAK,cAAc,MAAM,OAAO,6BAAA,CAAA;AAC9D,IAAMC,gBAAgBH,WAAWE,KAAK,iBAAiB,MAAM,OAAO,gCAAA,CAAA;AACpE,IAAME,uBAAuBJ,WAAWE,KAAK,wBAAwB,MAAM,OAAO,wCAAA,CAAA;AAClF,IAAMG,eAAeL,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMI,WAAWN,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMK,mBAAmBP,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMM,eAAeR,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMO,aAAaT,WAAWE,KAAK,cAAc,MAAM,OAAO,uBAAA,CAAA;AAC9D,IAAMQ,eAAeV,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AnchorSort", "lazy", "CommentConfig", "ComputeGraphRegistry", "CreateObject", "Markdown", "OperationHandler", "ReactSurface", "SheetState", "UndoMappings"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// src/integrations/thread-ranges.ts
|
|
2
|
+
import { useCallback, useEffect, useMemo } from "react";
|
|
3
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
4
|
+
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
5
|
+
import { debounce } from "@dxos/async";
|
|
6
|
+
import { inRange } from "@dxos/compute-hyperformula";
|
|
7
|
+
import { Obj, Relation } from "@dxos/echo";
|
|
8
|
+
import { ThreadOperation } from "@dxos/plugin-thread";
|
|
9
|
+
import { Filter, Query, useQuery } from "@dxos/react-client/echo";
|
|
10
|
+
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
11
|
+
import { AnchoredTo, Thread } from "@dxos/types";
|
|
12
|
+
import { useSheetContext } from "#components";
|
|
13
|
+
var parseThreadAnchorAsCellRange = (cursor) => {
|
|
14
|
+
const coords = cursor.split(",");
|
|
15
|
+
if (coords.length !== 4) {
|
|
16
|
+
return null;
|
|
17
|
+
} else {
|
|
18
|
+
const [fromCol, fromRow, toCol, toRow] = coords;
|
|
19
|
+
return {
|
|
20
|
+
from: {
|
|
21
|
+
col: parseInt(fromCol),
|
|
22
|
+
row: parseInt(fromRow)
|
|
23
|
+
},
|
|
24
|
+
to: {
|
|
25
|
+
col: parseInt(toCol),
|
|
26
|
+
row: parseInt(toRow)
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var useSelectThreadOnCellFocus = () => {
|
|
32
|
+
const { model, cursor } = useSheetContext();
|
|
33
|
+
const { invokePromise } = useOperationInvoker();
|
|
34
|
+
const db = Obj.getDatabase(model.sheet);
|
|
35
|
+
const anchors = useQuery(db, Query.select(Filter.id(model.sheet.id)).targetOf(AnchoredTo.AnchoredTo));
|
|
36
|
+
const selectClosestThread = useCallback((cellAddress) => {
|
|
37
|
+
if (!cellAddress) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const closestThread = anchors.find((anchor) => {
|
|
41
|
+
const source = Relation.getSource(anchor);
|
|
42
|
+
if (anchor.anchor && Obj.instanceOf(Thread.Thread, source)) {
|
|
43
|
+
const range = parseThreadAnchorAsCellRange(anchor.anchor);
|
|
44
|
+
return range ? inRange(range, cellAddress) : false;
|
|
45
|
+
} else {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (closestThread) {
|
|
50
|
+
void (async () => {
|
|
51
|
+
await invokePromise(ThreadOperation.Select, {
|
|
52
|
+
current: Relation.getDXN(closestThread).toString()
|
|
53
|
+
});
|
|
54
|
+
await invokePromise(LayoutOperation.UpdateCompanion, {
|
|
55
|
+
subject: linkedSegment("comments")
|
|
56
|
+
});
|
|
57
|
+
})();
|
|
58
|
+
}
|
|
59
|
+
}, [
|
|
60
|
+
invokePromise,
|
|
61
|
+
anchors
|
|
62
|
+
]);
|
|
63
|
+
const debounced = useMemo(() => {
|
|
64
|
+
return debounce((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
|
|
65
|
+
}, [
|
|
66
|
+
selectClosestThread
|
|
67
|
+
]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (!cursor) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
debounced(cursor);
|
|
73
|
+
}, [
|
|
74
|
+
cursor,
|
|
75
|
+
debounced
|
|
76
|
+
]);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
parseThreadAnchorAsCellRange,
|
|
81
|
+
useSelectThreadOnCellFocus
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=chunk-4GWJDLTH.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/integrations/thread-ranges.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { debounce } from '@dxos/async';\nimport { type CellAddress, type CompleteCellRange, inRange } from '@dxos/compute-hyperformula';\nimport { Obj, Relation } from '@dxos/echo';\nimport { ThreadOperation } from '@dxos/plugin-thread';\nimport { Filter, Query, useQuery } from '@dxos/react-client/echo';\nimport { linkedSegment } from '@dxos/react-ui-attention';\nimport { AnchoredTo, Thread } from '@dxos/types';\n\nimport { useSheetContext } from '#components';\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 useSelectThreadOnCellFocus = () => {\n const { model, cursor } = useSheetContext();\n const { invokePromise } = useOperationInvoker();\n\n const db = Obj.getDatabase(model.sheet);\n const anchors = useQuery(db, Query.select(Filter.id(model.sheet.id)).targetOf(AnchoredTo.AnchoredTo));\n\n const selectClosestThread = useCallback(\n (cellAddress: CellAddress) => {\n if (!cellAddress) {\n return;\n }\n\n const closestThread = anchors.find((anchor) => {\n const source = Relation.getSource(anchor);\n if (anchor.anchor && Obj.instanceOf(Thread.Thread, source)) {\n const range = parseThreadAnchorAsCellRange(anchor.anchor);\n return range ? inRange(range, cellAddress) : false;\n } else {\n return false;\n }\n });\n\n if (closestThread) {\n void (async () => {\n await invokePromise(ThreadOperation.Select, { current: Relation.getDXN(closestThread).toString() });\n await invokePromise(LayoutOperation.UpdateCompanion, {\n subject: linkedSegment('comments'),\n });\n })();\n }\n },\n [invokePromise, anchors],\n );\n\n const debounced = useMemo(() => {\n return debounce((cellCoords: CellAddress) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);\n }, [selectClosestThread]);\n\n useEffect(() => {\n if (!cursor) {\n return;\n }\n\n debounced(cursor);\n }, [cursor, debounced]);\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,aAAaC,WAAWC,eAAe;AAEhD,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AACzB,SAAmDC,eAAe;AAClE,SAASC,KAAKC,gBAAgB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,QAAQC,OAAOC,gBAAgB;AACxC,SAASC,qBAAqB;AAC9B,SAASC,YAAYC,cAAc;AAEnC,SAASC,uBAAuB;AAMzB,IAAMC,+BAA+B,CAACC,WAAAA;AAC3C,QAAMC,SAASD,OAAOE,MAAM,GAAA;AAC5B,MAAID,OAAOE,WAAW,GAAG;AACvB,WAAO;EACT,OAAO;AACL,UAAM,CAACC,SAASC,SAASC,OAAOC,KAAAA,IAASN;AACzC,WAAO;MACLO,MAAM;QAAEC,KAAKC,SAASN,OAAAA;QAAUO,KAAKD,SAASL,OAAAA;MAAS;MACvDO,IAAI;QAAEH,KAAKC,SAASJ,KAAAA;QAAQK,KAAKD,SAASH,KAAAA;MAAO;IACnD;EACF;AACF;AAEO,IAAMM,6BAA6B,MAAA;AACxC,QAAM,EAAEC,OAAOd,OAAM,IAAKe,gBAAAA;AAC1B,QAAM,EAAEC,cAAa,IAAKC,oBAAAA;AAE1B,QAAMC,KAAKC,IAAIC,YAAYN,MAAMO,KAAK;AACtC,QAAMC,UAAUC,SAASL,IAAIM,MAAMC,OAAOC,OAAOC,GAAGb,MAAMO,MAAMM,EAAE,CAAA,EAAGC,SAASC,WAAWA,UAAU,CAAA;AAEnG,QAAMC,sBAAsBC,YAC1B,CAACC,gBAAAA;AACC,QAAI,CAACA,aAAa;AAChB;IACF;AAEA,UAAMC,gBAAgBX,QAAQY,KAAK,CAACC,WAAAA;AAClC,YAAMC,SAASC,SAASC,UAAUH,MAAAA;AAClC,UAAIA,OAAOA,UAAUhB,IAAIoB,WAAWC,OAAOA,QAAQJ,MAAAA,GAAS;AAC1D,cAAMK,QAAQ1C,6BAA6BoC,OAAOA,MAAM;AACxD,eAAOM,QAAQC,QAAQD,OAAOT,WAAAA,IAAe;MAC/C,OAAO;AACL,eAAO;MACT;IACF,CAAA;AAEA,QAAIC,eAAe;AACjB,YAAM,YAAA;AACJ,cAAMjB,cAAc2B,gBAAgBC,QAAQ;UAAEC,SAASR,SAASS,OAAOb,aAAAA,EAAec,SAAQ;QAAG,CAAA;AACjG,cAAM/B,cAAcgC,gBAAgBC,iBAAiB;UACnDC,SAASC,cAAc,UAAA;QACzB,CAAA;MACF,GAAA;IACF;EACF,GACA;IAACnC;IAAeM;GAAQ;AAG1B,QAAM8B,YAAYC,QAAQ,MAAA;AACxB,WAAOC,SAAS,CAACC,eAA4BC,sBAAsB,MAAM1B,oBAAoByB,UAAAA,CAAAA,GAAc,EAAA;EAC7G,GAAG;IAACzB;GAAoB;AAExB2B,YAAU,MAAA;AACR,QAAI,CAACzD,QAAQ;AACX;IACF;AAEAoD,cAAUpD,MAAAA;EACZ,GAAG;IAACA;IAAQoD;GAAU;AACxB;",
|
|
6
|
+
"names": ["useCallback", "useEffect", "useMemo", "useOperationInvoker", "LayoutOperation", "debounce", "inRange", "Obj", "Relation", "ThreadOperation", "Filter", "Query", "useQuery", "linkedSegment", "AnchoredTo", "Thread", "useSheetContext", "parseThreadAnchorAsCellRange", "cursor", "coords", "split", "length", "fromCol", "fromRow", "toCol", "toRow", "from", "col", "parseInt", "row", "to", "useSelectThreadOnCellFocus", "model", "useSheetContext", "invokePromise", "useOperationInvoker", "db", "Obj", "getDatabase", "sheet", "anchors", "useQuery", "Query", "select", "Filter", "id", "targetOf", "AnchoredTo", "selectClosestThread", "useCallback", "cellAddress", "closestThread", "find", "anchor", "source", "Relation", "getSource", "instanceOf", "Thread", "range", "inRange", "ThreadOperation", "Select", "current", "getDXN", "toString", "LayoutOperation", "UpdateCompanion", "subject", "linkedSegment", "debounced", "useMemo", "debounce", "cellCoords", "requestAnimationFrame", "useEffect"]
|
|
7
|
+
}
|
|
@@ -3,9 +3,9 @@ import { syntaxTree } from "@codemirror/language";
|
|
|
3
3
|
import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
|
|
4
4
|
import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
|
|
5
5
|
import { debounce } from "@dxos/async";
|
|
6
|
-
import { createSheetName } from "@dxos/compute";
|
|
6
|
+
import { createSheetName } from "@dxos/compute-hyperformula";
|
|
7
7
|
import { invariant } from "@dxos/invariant";
|
|
8
|
-
import { documentId, singleValueFacet } from "@dxos/
|
|
8
|
+
import { documentId, singleValueFacet } from "@dxos/ui-editor";
|
|
9
9
|
var updateAllDecorations = StateEffect.define();
|
|
10
10
|
var computeGraphFacet = singleValueFacet();
|
|
11
11
|
|
|
@@ -15,37 +15,37 @@ import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
|
|
|
15
15
|
import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
|
|
16
16
|
import { tags } from "@lezer/highlight";
|
|
17
17
|
import { spreadsheet } from "codemirror-lang-spreadsheet";
|
|
18
|
-
import { RANGE_NOTATION } from "@dxos/compute";
|
|
19
|
-
import { singleValueFacet as singleValueFacet2 } from "@dxos/
|
|
20
|
-
import { mx } from "@dxos/
|
|
18
|
+
import { RANGE_NOTATION } from "@dxos/compute-hyperformula";
|
|
19
|
+
import { singleValueFacet as singleValueFacet2 } from "@dxos/ui-editor";
|
|
20
|
+
import { mx } from "@dxos/ui-theme";
|
|
21
21
|
var highlightStyles = HighlightStyle.define([
|
|
22
22
|
// Function.
|
|
23
23
|
{
|
|
24
24
|
tag: tags.name,
|
|
25
|
-
class: "text-
|
|
25
|
+
class: "text-accent-text"
|
|
26
26
|
},
|
|
27
27
|
// Range.
|
|
28
28
|
{
|
|
29
29
|
tag: tags.tagName,
|
|
30
|
-
class: "text-
|
|
30
|
+
class: "text-pink-text"
|
|
31
31
|
},
|
|
32
32
|
// Values.
|
|
33
33
|
{
|
|
34
34
|
tag: tags.number,
|
|
35
|
-
class: "text-
|
|
35
|
+
class: "text-teal-text"
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
tag: tags.bool,
|
|
39
|
-
class: "text-
|
|
39
|
+
class: "text-teal-text"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
tag: tags.string,
|
|
43
|
-
class: "text-
|
|
43
|
+
class: "text-teal-text"
|
|
44
44
|
},
|
|
45
45
|
// Error.
|
|
46
46
|
{
|
|
47
47
|
tag: tags.invalid,
|
|
48
|
-
class: "text-
|
|
48
|
+
class: "text-un-accent"
|
|
49
49
|
}
|
|
50
50
|
]);
|
|
51
51
|
var languageFacet = singleValueFacet2();
|
|
@@ -67,7 +67,7 @@ var sheetExtension = ({ debug, functions = [] }) => {
|
|
|
67
67
|
root.className = "flex flex-col gap-2 text-sm";
|
|
68
68
|
const title = document.createElement("h2");
|
|
69
69
|
title.innerText = name;
|
|
70
|
-
title.className = "text-lg font-mono text-
|
|
70
|
+
title.className = "text-lg font-mono text-accent-text";
|
|
71
71
|
root.appendChild(title);
|
|
72
72
|
if (description) {
|
|
73
73
|
const info = document.createElement("p");
|
|
@@ -78,7 +78,7 @@ var sheetExtension = ({ debug, functions = [] }) => {
|
|
|
78
78
|
if (syntax) {
|
|
79
79
|
const detail = document.createElement("pre");
|
|
80
80
|
detail.innerText = syntax;
|
|
81
|
-
detail.className = "whitespace-pre-wrap text-
|
|
81
|
+
detail.className = "whitespace-pre-wrap text-green-text";
|
|
82
82
|
root.appendChild(detail);
|
|
83
83
|
}
|
|
84
84
|
return root;
|
|
@@ -127,7 +127,7 @@ var sheetExtension = ({ debug, functions = [] }) => {
|
|
|
127
127
|
activateOnTyping: true,
|
|
128
128
|
closeOnBlur: !debug,
|
|
129
129
|
icons: false,
|
|
130
|
-
tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border
|
|
130
|
+
tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border border-h-0! [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accent-surface", "border-separator")
|
|
131
131
|
}),
|
|
132
132
|
keymap.of([
|
|
133
133
|
{
|
|
@@ -159,6 +159,10 @@ var rangeExtension = ({ onInit, onStateChange }) => {
|
|
|
159
159
|
}
|
|
160
160
|
};
|
|
161
161
|
return ViewPlugin2.fromClass(class {
|
|
162
|
+
constructor(_view) {
|
|
163
|
+
view = _view;
|
|
164
|
+
onInit?.(notifier);
|
|
165
|
+
}
|
|
162
166
|
update(view2) {
|
|
163
167
|
const { anchor } = view2.state.selection.ranges[0];
|
|
164
168
|
activeRange = void 0;
|
|
@@ -208,10 +212,6 @@ var rangeExtension = ({ onInit, onStateChange }) => {
|
|
|
208
212
|
activeRange: activeRange ? view2.state.doc.sliceString(activeRange.from, activeRange.to) : void 0
|
|
209
213
|
});
|
|
210
214
|
}
|
|
211
|
-
constructor(_view) {
|
|
212
|
-
view = _view;
|
|
213
|
-
onInit?.(notifier);
|
|
214
|
-
}
|
|
215
215
|
});
|
|
216
216
|
};
|
|
217
217
|
var visitTree = (node, callback) => {
|
|
@@ -231,4 +231,4 @@ export {
|
|
|
231
231
|
sheetExtension,
|
|
232
232
|
rangeExtension
|
|
233
233
|
};
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
234
|
+
//# sourceMappingURL=chunk-4SBAIU6F.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/extensions/compute.ts", "../../../src/extensions/editor/sheet-extension.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport {\n type EditorState,\n type Extension,\n type RangeSet,\n RangeSetBuilder,\n StateEffect,\n StateField,\n type Transaction,\n} from '@codemirror/state';\nimport { Decoration, EditorView, ViewPlugin, WidgetType } from '@codemirror/view';\n\nimport { type CleanupFn, debounce } from '@dxos/async';\nimport {\n type CellAddress,\n type CellScalarValue,\n type ComputeGraph,\n type ComputeNode,\n createSheetName,\n} from '@dxos/compute-hyperformula';\nimport { invariant } from '@dxos/invariant';\nimport { documentId, singleValueFacet } from '@dxos/ui-editor';\n\nconst LANGUAGE_TAG = 'dx';\n\n// TODO(burdon): Create marker just for our decorator?\nconst updateAllDecorations = StateEffect.define<void>();\n\nexport const computeGraphFacet = singleValueFacet<ComputeGraph>();\n\nexport type ComputeOptions = {};\n\nexport const compute = (_options: ComputeOptions = {}): Extension => {\n let computeNode: ComputeNode | undefined;\n\n const update = (state: EditorState, current?: RangeSet<Decoration>) => {\n const builder = new RangeSetBuilder<Decoration>();\n if (computeNode) {\n computeNode.clear();\n syntaxTree(state).iterate({\n enter: (node) => {\n switch (node.name) {\n case 'FencedCode': {\n const cursor = state.selection.main.head;\n if (state.readOnly || cursor < node.from || cursor > node.to) {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === LANGUAGE_TAG && text) {\n const formula = state.sliceDoc(text.from, text.to);\n const iter = current?.iter(node.node.from);\n if (iter?.value && iter?.value.spec.formula === formula) {\n // Add existing widget.\n builder.add(node.from, node.to, iter.value);\n } else {\n // TODO(burdon): Create ordered list of cells on each decoration run.\n const cell: CellAddress = { col: node.node.from, row: 0 };\n invariant(computeNode);\n // NOTE: This triggers re-render (below).\n computeNode.setValue(cell, formula);\n const value = computeNode.getValue(cell);\n builder.add(\n node.from,\n node.to,\n Decoration.replace({\n widget: new ComputeWidget(formula, value),\n formula,\n }),\n );\n }\n }\n }\n }\n\n break;\n }\n }\n },\n });\n }\n\n return builder.finish();\n };\n\n return [\n ViewPlugin.fromClass(\n class {\n // Graph subscription.\n private _subscription?: CleanupFn;\n constructor(view: EditorView) {\n const id = view.state.facet(documentId);\n const computeGraph = view.state.facet(computeGraphFacet);\n if (id && computeGraph) {\n queueMicrotask(async () => {\n computeNode = computeGraph.getOrCreateNode(createSheetName({ type: '', id }));\n await computeNode.open();\n\n // Trigger re-render if values updated.\n // TODO(burdon): Trigger only if formula value updated (currently triggered during render).\n this._subscription = computeNode.update.on(\n debounce(({ type, ...rest }) => {\n if (type === 'valuesUpdated') {\n view.dispatch({\n effects: updateAllDecorations.of(),\n });\n }\n }, 250),\n );\n });\n }\n }\n\n destroy() {\n this._subscription?.();\n void computeNode?.close();\n computeNode = undefined;\n }\n },\n ),\n\n StateField.define<RangeSet<Decoration>>({\n create: (state) => update(state),\n update: (rangeSet: RangeSet<Decoration>, tr: Transaction) => update(tr.state, rangeSet),\n provide: (field) => EditorView.decorations.from(field),\n }),\n ];\n};\n\n// TODO(burdon): Click to edit.\nclass ComputeWidget extends WidgetType {\n constructor(\n private readonly formula: string,\n private readonly value: CellScalarValue,\n ) {\n super();\n }\n\n override toDOM(_view: EditorView): HTMLDivElement {\n const div = document.createElement('div');\n div.setAttribute('title', this.formula);\n div.innerText = String(this.value);\n return div;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type Completion,\n type CompletionContext,\n type CompletionResult,\n acceptCompletion,\n autocompletion,\n completionStatus,\n startCompletion,\n} from '@codemirror/autocomplete';\nimport { HighlightStyle, type Language, syntaxHighlighting } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\nimport { type EditorView, ViewPlugin, type ViewUpdate, keymap } from '@codemirror/view';\nimport { type SyntaxNode } from '@lezer/common';\nimport { tags } from '@lezer/highlight';\nimport { spreadsheet } from 'codemirror-lang-spreadsheet';\n\nimport { type FunctionDefinition } from '@dxos/compute-hyperformula';\nimport { RANGE_NOTATION } from '@dxos/compute-hyperformula';\nimport { singleValueFacet } from '@dxos/ui-editor';\nimport { mx } from '@dxos/ui-theme';\n\n/**\n * https://codemirror.net/examples/styling\n * https://lezer.codemirror.net/docs/ref/#highlight\n * https://github.com/luizzappa/codemirror-lang-spreadsheet/blob/main/src/index.ts#L28 (mapping)\n */\n// TODO(burdon): Define light/dark.\nconst highlightStyles = HighlightStyle.define([\n // Function.\n {\n tag: tags.name,\n class: 'text-accent-text',\n },\n // Range.\n {\n tag: tags.tagName,\n class: 'text-pink-text',\n },\n // Values.\n {\n tag: tags.number,\n class: 'text-teal-text',\n },\n {\n tag: tags.bool,\n class: 'text-teal-text',\n },\n {\n tag: tags.string,\n class: 'text-teal-text',\n },\n // Error.\n {\n tag: tags.invalid,\n class: 'text-un-accent',\n },\n]);\n\nconst languageFacet = singleValueFacet<Language>();\n\nexport type SheetExtensionOptions = {\n debug?: boolean;\n functions?: FunctionDefinition[];\n};\n\n/**\n * Spreadsheet formula extension and parser.\n * https://github.com/luizzappa/codemirror-lang-spreadsheet\n * https://github.com/luizzappa/codemirror-app-spreadsheet/blob/master/src/editor.ts\n * https://github.com/codemirror/lang-example\n * https://hyperformula.handsontable.com/guide/key-concepts.html#grammar\n */\nexport const sheetExtension = ({ debug, functions = [] }: SheetExtensionOptions): Extension => {\n const { extension, language } = spreadsheet({\n idiom: 'en-US',\n decimalSeparator: '.',\n });\n\n const createCompletion = (name: string) => {\n const { section = 'Custom', description, syntax } = functions.find((value) => value.name === name) ?? {};\n\n return {\n section,\n label: name,\n info: () => {\n if (!description && !syntax) {\n return null;\n }\n\n // TODO(burdon): Standardize color styles.\n const root = document.createElement('div');\n root.className = 'flex flex-col gap-2 text-sm';\n\n const title = document.createElement('h2');\n title.innerText = name;\n title.className = 'text-lg font-mono text-accent-text';\n root.appendChild(title);\n\n if (description) {\n const info = document.createElement('p');\n info.innerText = description;\n info.className = 'text-subdued';\n root.appendChild(info);\n }\n\n if (syntax) {\n const detail = document.createElement('pre');\n detail.innerText = syntax;\n detail.className = 'whitespace-pre-wrap text-green-text';\n root.appendChild(detail);\n }\n\n return root;\n },\n apply: (view, completion, from, to) => {\n const insertParens = to === view.state.doc.toString().length;\n view.dispatch(\n view.state.update({\n changes: {\n from,\n to,\n insert: completion.label + (insertParens ? '()' : ''),\n },\n selection: {\n anchor: from + completion.label.length + 1,\n },\n }),\n );\n },\n } satisfies Completion;\n };\n\n return [\n extension,\n languageFacet.of(language),\n language.data.of({\n autocomplete: (context: CompletionContext): CompletionResult | null => {\n if (context.state.doc.toString()[0] !== '=') {\n return null;\n }\n const match = context.matchBefore(/\\w*/);\n if (!match || match.from === match.to) {\n return null;\n }\n\n const text = match.text.toUpperCase();\n if (!context.explicit && match.text.length < 2) {\n return null;\n }\n\n return {\n from: match.from,\n options:\n functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? [],\n };\n },\n }),\n\n syntaxHighlighting(highlightStyles),\n autocompletion({\n aboveCursor: false,\n defaultKeymap: true,\n activateOnTyping: true,\n closeOnBlur: !debug,\n icons: false,\n tooltipClass: () =>\n mx(\n '!-left-[1px] !top-[33px] !-m-0 border border-h-0! [&>ul]:!min-w-[198px]',\n '[&>ul>li[aria-selected]]:!bg-accent-surface',\n 'border-separator',\n ),\n }),\n keymap.of([\n {\n key: 'Tab',\n run: (view) => {\n return completionStatus(view.state) === 'active' ? acceptCompletion(view) : startCompletion(view);\n },\n },\n ]),\n\n // Parsing.\n // StateField.define({\n // create: (state) => {},\n // update: (value, tr) => {\n // log.info('update');\n // syntaxTree(tr.state).iterate({\n // enter: ({ type, from, to }) => {\n // log.info('node', { type: type.name, from, to });\n // },\n // });\n // },\n // }),\n ];\n};\n\nexport type SelectionRange = { from: number; to: number };\n\nexport interface RangeController {\n setRange(range: string): void;\n}\n\nexport type RangeExtensionOptions = {\n /**\n * Provides controller callback when extension is initialized.\n */\n onInit?: (controller: RangeController) => void;\n /**\n * Called when the active range changes.\n * @param state The current state.\n * @param state.activeRange undefined if no range is active, otherwise a possibly partially defined range.\n */\n onStateChange?: (state: { activeRange: string | undefined }) => void;\n};\n\n/**\n * Tracks the currently active cell within a formula and provides a callback to modify it.\n */\nexport const rangeExtension = ({ onInit, onStateChange }: RangeExtensionOptions): Extension => {\n let view: EditorView;\n let activeRange: SelectionRange | undefined;\n\n // Called externally to provide current range.\n const notifier: RangeController = {\n setRange: (range: string) => {\n if (activeRange) {\n view.dispatch(\n view.state.update({\n changes: { ...activeRange, insert: range.toString() },\n selection: { anchor: activeRange.from + range.length },\n }),\n );\n }\n\n view.focus();\n },\n };\n\n return ViewPlugin.fromClass(\n class {\n constructor(_view: EditorView) {\n view = _view;\n onInit?.(notifier);\n }\n\n update(view: ViewUpdate) {\n const { anchor } = view.state.selection.ranges[0];\n\n // Find first Range or cell at cursor.\n activeRange = undefined;\n const language = view.state.facet(languageFacet);\n const { topNode } = language.parser.parse(view.state.doc.toString());\n visitTree(topNode, ({ type, from, to }) => {\n if (from <= anchor && to >= anchor) {\n switch (type.name) {\n case 'Function':\n // Mark but keep looking.\n activeRange = { from: to, to };\n break;\n\n case 'CloseParen':\n // Mark but keep looking.\n activeRange = { from, to: from };\n break;\n\n case 'RangeToken':\n case 'CellToken':\n activeRange = { from, to };\n return true;\n }\n }\n\n return false;\n });\n\n // Allow start of formula.\n if (!activeRange && view.state.doc.toString()[0] === '=') {\n const str = view.state.doc.sliceString(1);\n if (RANGE_NOTATION.test(str)) {\n activeRange = { from: 1, to: str.length + 1 };\n } else {\n activeRange = { from: str.length + 1, to: str.length + 1 };\n }\n }\n\n onStateChange?.({\n activeRange: activeRange ? view.state.doc.sliceString(activeRange.from, activeRange.to) : undefined,\n });\n }\n },\n );\n};\n\n/**\n * Lezer parse result visitor.\n */\nconst visitTree = (node: SyntaxNode, callback: (node: SyntaxNode) => boolean): boolean => {\n if (callback(node)) {\n return true;\n }\n\n for (let child = node.firstChild; child !== null; child = child.nextSibling) {\n if (visitTree(child, callback)) {\n return true;\n }\n }\n\n return false;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["syntaxTree", "RangeSetBuilder", "StateEffect", "StateField", "Decoration", "EditorView", "ViewPlugin", "WidgetType", "debounce", "createSheetName", "invariant", "documentId", "singleValueFacet", "_options", "computeNode", "acceptCompletion", "autocompletion", "completionStatus", "startCompletion", "HighlightStyle", "syntaxHighlighting", "ViewPlugin", "keymap", "tags", "spreadsheet", "RANGE_NOTATION", "singleValueFacet", "mx", "highlightStyles", "define", "tag", "name", "class", "tagName", "number", "bool", "string", "invalid", "languageFacet", "sheetExtension", "debug", "functions", "extension", "language", "idiom", "decimalSeparator", "createCompletion", "section", "description", "syntax", "find", "value", "label", "info", "root", "document", "createElement", "className", "title", "innerText", "appendChild", "detail", "apply", "view", "completion", "from", "to", "insertParens", "state", "doc", "toString", "length", "dispatch", "update", "changes", "insert", "selection", "anchor", "of", "data", "autocomplete", "context", "match", "matchBefore", "text", "toUpperCase", "explicit", "options", "filter", "startsWith", "map", "aboveCursor", "defaultKeymap", "activateOnTyping", "closeOnBlur", "icons", "tooltipClass", "key", "run", "rangeExtension", "onInit", "onStateChange", "activeRange", "notifier", "setRange", "range", "focus", "fromClass", "_view", "ranges", "undefined", "facet", "topNode", "parser", "parse", "visitTree", "type", "str", "sliceString", "test", "node", "callback", "child", "firstChild", "nextSibling"]
|
|
7
|
+
}
|