@dxos/plugin-sheet 0.6.11 → 0.6.12-main.5cc132e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{SheetContainer-U4H5D34A.mjs → SheetContainer-Y7ZMFBAP.mjs} +568 -109
- package/dist/lib/browser/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-D5AGLXJP.mjs → chunk-GNNVBNCX.mjs} +55 -47
- package/dist/lib/browser/chunk-GNNVBNCX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-APHOLYUB.mjs → chunk-PGKZPKUD.mjs} +2 -2
- package/dist/lib/browser/chunk-VBF7YENS.mjs +8 -0
- package/dist/lib/browser/{chunk-FUAGSXA4.mjs → chunk-WUPTZUTX.mjs} +6 -3
- package/dist/lib/browser/chunk-WUPTZUTX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +15 -6
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing.mjs +3 -3
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/{SheetContainer-AXQV3ZT5.cjs → SheetContainer-KEOKUKAQ.cjs} +509 -62
- package/dist/lib/node/SheetContainer-KEOKUKAQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-PYXHNAAK.cjs → chunk-57PB2HPY.cjs} +5 -5
- package/dist/lib/node/{chunk-CN3RPESU.cjs → chunk-6LWBQAQZ.cjs} +9 -9
- package/dist/lib/node/{chunk-DSYKOI4E.cjs → chunk-VJU3NPUJ.cjs} +8 -5
- package/dist/lib/node/chunk-VJU3NPUJ.cjs.map +7 -0
- package/dist/lib/node/{chunk-5KKJ4NPP.cjs → chunk-ZRQZFV5T.cjs} +70 -57
- package/dist/lib/node/chunk-ZRQZFV5T.cjs.map +7 -0
- package/dist/lib/node/index.cjs +31 -23
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing.cjs +6 -6
- package/dist/lib/node/types.cjs +9 -9
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs +2231 -0
- package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GNNVBNCX.mjs +3243 -0
- package/dist/lib/node-esm/chunk-GNNVBNCX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JRL5LGCE.mjs +18 -0
- package/dist/lib/node-esm/chunk-JRL5LGCE.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs +175 -0
- package/dist/lib/node-esm/chunk-PGKZPKUD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs +8 -0
- package/dist/lib/node-esm/chunk-VBF7YENS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WUPTZUTX.mjs +85 -0
- package/dist/lib/node-esm/chunk-WUPTZUTX.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +257 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/meta.mjs +9 -0
- package/dist/lib/node-esm/meta.mjs.map +7 -0
- package/dist/lib/node-esm/testing.mjs +92 -0
- package/dist/lib/node-esm/testing.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +22 -0
- package/dist/lib/node-esm/types.mjs.map +7 -0
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/decorations.d.ts +24 -0
- package/dist/types/src/components/Sheet/decorations.d.ts.map +1 -0
- package/dist/types/src/components/Sheet/formatting.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/sheet-context.d.ts +2 -0
- package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
- package/dist/types/src/components/Sheet/threads.d.ts +2 -0
- package/dist/types/src/components/Sheet/threads.d.ts.map +1 -0
- package/dist/types/src/components/SheetContainer.d.ts +2 -3
- package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -3
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +17 -12
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/model/index.d.ts +1 -0
- package/dist/types/src/model/index.d.ts.map +1 -1
- package/dist/types/src/model/model.d.ts +0 -16
- package/dist/types/src/model/model.d.ts.map +1 -1
- package/dist/types/src/model/util.d.ts +24 -0
- package/dist/types/src/model/util.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +17 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +72 -2
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +36 -32
- package/src/SheetPlugin.tsx +8 -15
- package/src/components/CellEditor/extension.test.ts +1 -2
- package/src/components/ComputeGraph/graph.browser.test.ts +1 -2
- package/src/components/Sheet/Sheet.stories.tsx +5 -1
- package/src/components/Sheet/Sheet.tsx +45 -8
- package/src/components/Sheet/decorations.ts +62 -0
- package/src/components/Sheet/formatting.ts +3 -3
- package/src/components/Sheet/sheet-context.tsx +9 -1
- package/src/components/Sheet/threads.tsx +201 -0
- package/src/components/SheetContainer.tsx +72 -18
- package/src/components/Toolbar/Toolbar.tsx +54 -12
- package/src/model/index.ts +1 -0
- package/src/model/model.browser.test.ts +1 -2
- package/src/model/model.ts +9 -43
- package/src/model/types.test.ts +1 -2
- package/src/model/util.ts +67 -0
- package/src/translations.ts +6 -1
- package/src/types.ts +26 -3
- package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +0 -7
- package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +0 -7
- package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +0 -7
- package/dist/lib/browser/chunk-NU4PBN33.mjs +0 -8
- package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs.map +0 -7
- package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +0 -7
- package/dist/lib/node/chunk-DSYKOI4E.cjs.map +0 -7
- /package/dist/lib/browser/{chunk-APHOLYUB.mjs.map → chunk-PGKZPKUD.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-NU4PBN33.mjs.map → chunk-VBF7YENS.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-PYXHNAAK.cjs.map → chunk-57PB2HPY.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-CN3RPESU.cjs.map → chunk-6LWBQAQZ.cjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ComputeGraph/edge-function.ts", "../../../src/components/ComputeGraph/graph-context.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { CellError, ErrorType, FunctionArgumentType } from 'hyperformula';\nimport { type InterpreterState } from 'hyperformula/typings/interpreter/InterpreterState';\nimport { type ProcedureAst } from 'hyperformula/typings/parser';\n\nimport { Filter, getMeta } from '@dxos/client/echo';\nimport { log } from '@dxos/log';\nimport { getUserFunctionUrlInMetadata } from '@dxos/plugin-script/edge';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { nonNullable } from '@dxos/util';\n\nimport { type AsyncFunction, FunctionPluginAsync } from './async-function';\n\nconst EDGE_FUNCTION_TTL = 10_000;\n\n/**\n * A hyperformula function plugin for calling EDGE functions.\n *\n * https://hyperformula.handsontable.com/guide/custom-functions.html#add-a-simple-custom-function\n */\nexport class EdgeFunctionPlugin extends FunctionPluginAsync {\n edge(ast: ProcedureAst, state: InterpreterState) {\n const handler =\n (subscribe = false): AsyncFunction =>\n async (binding: string, ...args: any) => {\n const space = this.context.space;\n if (!space) {\n return new CellError(ErrorType.REF, 'Missing space');\n }\n\n const {\n objects: [fn],\n } = await space.db.query(Filter.schema(FunctionType, { binding })).run();\n if (!fn) {\n log.info('Function not found', { binding });\n return new CellError(ErrorType.REF, 'Function not found');\n }\n\n if (subscribe) {\n const unsubscribe = effect(() => {\n log.info('function changed', { fn });\n const _ = fn?.version;\n\n // TODO(wittjosiah): `ttl` should be 0 to force a recalculation when a new version is deployed.\n // This needs a ttl to prevent a binding change from causing the function not to be found.\n this.runAsyncFunction(ast, state, handler(false), { ttl: EDGE_FUNCTION_TTL });\n });\n\n this.context.createSubscription(ast.procedureName, unsubscribe);\n }\n\n const path = getUserFunctionUrlInMetadata(getMeta(fn));\n const result = await fetch(`${this.context.remoteFunctionUrl}${path}`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ args: args.filter(nonNullable) }),\n });\n return await result.text();\n };\n\n return this.runAsyncFunction(ast, state, handler(true), { ttl: EDGE_FUNCTION_TTL });\n }\n}\n\nEdgeFunctionPlugin.implementedFunctions = {\n EDGE: {\n method: 'edge',\n parameters: [\n // Binding\n { argumentType: FunctionArgumentType.STRING },\n\n // Remote function arguments (currently supporting up to 9).\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n ],\n isVolatile: true,\n },\n};\n\nexport const EdgeFunctionPluginTranslations = {\n enGB: {\n EDGE: 'EDGE',\n },\n enUS: {\n EDGE: 'EDGE',\n },\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext, useEffect } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type FunctionContextOptions } from './async-function';\nimport { CustomPlugin, CustomPluginTranslations } from './custom';\nimport { EdgeFunctionPlugin, EdgeFunctionPluginTranslations } from './edge-function';\nimport { createComputeGraph, type ComputeGraph } from './graph';\n\nexport type ComputeGraphContextType = {\n graphs: Record<string, ComputeGraph>;\n setGraph: (key: string, graph: ComputeGraph) => void;\n};\n\nexport const ComputeGraphContext = createContext<ComputeGraphContextType>({ graphs: {}, setGraph: () => {} });\n\nexport const ComputeGraphContextProvider = ({\n children,\n graphs,\n setGraph,\n}: PropsWithChildren<ComputeGraphContextType>) => {\n return <ComputeGraphContext.Provider value={{ graphs, setGraph }}>{children}</ComputeGraphContext.Provider>;\n};\n\nexport const useComputeGraph = (space: Space, options?: Partial<FunctionContextOptions>): ComputeGraph => {\n const { graphs, setGraph } = useContext(ComputeGraphContext);\n const graph =\n graphs[space.id] ??\n createComputeGraph(\n [\n { plugin: EdgeFunctionPlugin, translations: EdgeFunctionPluginTranslations },\n // TODO(wittjosiah): Remove. Needed for current test sheet generated data.\n { plugin: CustomPlugin, translations: CustomPluginTranslations },\n ],\n space,\n options,\n );\n\n useEffect(() => {\n if (!graphs[space.id]) {\n setGraph(space.id, graph);\n }\n }, [space]);\n\n return graph;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["effect", "CellError", "ErrorType", "FunctionArgumentType", "Filter", "getMeta", "log", "getUserFunctionUrlInMetadata", "FunctionType", "nonNullable", "EDGE_FUNCTION_TTL", "EdgeFunctionPlugin", "FunctionPluginAsync", "edge", "ast", "state", "handler", "subscribe", "binding", "args", "space", "context", "CellError", "ErrorType", "REF", "objects", "fn", "db", "query", "Filter", "schema", "FunctionType", "run", "log", "info", "unsubscribe", "effect", "_", "version", "runAsyncFunction", "ttl", "createSubscription", "procedureName", "path", "getUserFunctionUrlInMetadata", "getMeta", "result", "fetch", "remoteFunctionUrl", "method", "headers", "body", "JSON", "stringify", "filter", "nonNullable", "text", "implementedFunctions", "EDGE", "parameters", "argumentType", "FunctionArgumentType", "STRING", "ANY", "optionalArg", "isVolatile", "EdgeFunctionPluginTranslations", "enGB", "enUS", "React", "createContext", "useContext", "useEffect", "ComputeGraphContext", "createContext", "graphs", "setGraph", "ComputeGraphContextProvider", "children", "Provider", "value", "useComputeGraph", "space", "options", "useContext", "graph", "id", "createComputeGraph", "plugin", "EdgeFunctionPlugin", "translations", "EdgeFunctionPluginTranslations", "CustomPlugin", "CustomPluginTranslations", "useEffect"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nexport * from './ComputeGraph';\n\n// Lazily load components for content surfaces.\nexport const SheetContainer = React.lazy(() => import('./SheetContainer'));\n"],
|
|
5
|
+
"mappings": ";AAIA,OAAOA,WAAW;AAKX,IAAMC,iBAAiBC,MAAMC,KAAK,MAAM,OAAO,+BAAA,CAAA;",
|
|
6
|
+
"names": ["React", "SheetContainer", "React", "lazy"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SHEET_PLUGIN
|
|
3
|
+
} from "./chunk-JRL5LGCE.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/plugin-sheet/src/types.ts
|
|
6
|
+
import { create, ref, S, TypedObject } from "@dxos/echo-schema";
|
|
7
|
+
import { ThreadType } from "@dxos/plugin-space/types";
|
|
8
|
+
var SHEET_ACTION = `${SHEET_PLUGIN}/action`;
|
|
9
|
+
var SheetAction;
|
|
10
|
+
(function(SheetAction2) {
|
|
11
|
+
SheetAction2[SheetAction2["CREATE"] = `${SHEET_ACTION}/create`] = "CREATE";
|
|
12
|
+
})(SheetAction || (SheetAction = {}));
|
|
13
|
+
var CellValue = S.Struct({
|
|
14
|
+
// TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
|
|
15
|
+
// Consider import/export; natural access for other plugins. Special handling for currency (precision).
|
|
16
|
+
// TODO(burdon): Automerge (long string) or short string or number.
|
|
17
|
+
// TODO(burdon): Arrays?
|
|
18
|
+
value: S.Any
|
|
19
|
+
});
|
|
20
|
+
var ValueTypeEnum;
|
|
21
|
+
(function(ValueTypeEnum2) {
|
|
22
|
+
ValueTypeEnum2[ValueTypeEnum2["Null"] = 0] = "Null";
|
|
23
|
+
ValueTypeEnum2[ValueTypeEnum2["Number"] = 1] = "Number";
|
|
24
|
+
ValueTypeEnum2[ValueTypeEnum2["Boolean"] = 2] = "Boolean";
|
|
25
|
+
ValueTypeEnum2[ValueTypeEnum2["String"] = 3] = "String";
|
|
26
|
+
ValueTypeEnum2[ValueTypeEnum2["Percent"] = 10] = "Percent";
|
|
27
|
+
ValueTypeEnum2[ValueTypeEnum2["Currency"] = 11] = "Currency";
|
|
28
|
+
ValueTypeEnum2[ValueTypeEnum2["DateTime"] = 20] = "DateTime";
|
|
29
|
+
ValueTypeEnum2[ValueTypeEnum2["Date"] = 21] = "Date";
|
|
30
|
+
ValueTypeEnum2[ValueTypeEnum2["Time"] = 22] = "Time";
|
|
31
|
+
ValueTypeEnum2[ValueTypeEnum2["URL"] = 30] = "URL";
|
|
32
|
+
ValueTypeEnum2[ValueTypeEnum2["DID"] = 31] = "DID";
|
|
33
|
+
})(ValueTypeEnum || (ValueTypeEnum = {}));
|
|
34
|
+
var ValueType = S.Enums(ValueTypeEnum);
|
|
35
|
+
var Formatting = S.Struct({
|
|
36
|
+
type: S.optional(ValueType),
|
|
37
|
+
format: S.optional(S.String),
|
|
38
|
+
precision: S.optional(S.Number),
|
|
39
|
+
classNames: S.optional(S.Array(S.String))
|
|
40
|
+
});
|
|
41
|
+
var RowColumnMeta = S.Struct({
|
|
42
|
+
size: S.optional(S.Number)
|
|
43
|
+
});
|
|
44
|
+
var SheetType = class extends TypedObject({
|
|
45
|
+
typename: "dxos.org/type/SheetType",
|
|
46
|
+
version: "0.1.0"
|
|
47
|
+
})({
|
|
48
|
+
title: S.optional(S.String),
|
|
49
|
+
// Sparse map of cells referenced by index.
|
|
50
|
+
cells: S.mutable(S.Record(S.String, S.mutable(CellValue))),
|
|
51
|
+
// Ordered row indices.
|
|
52
|
+
rows: S.mutable(S.Array(S.String)),
|
|
53
|
+
// Ordered column indices.
|
|
54
|
+
columns: S.mutable(S.Array(S.String)),
|
|
55
|
+
// Row metadata referenced by index.
|
|
56
|
+
rowMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),
|
|
57
|
+
// Column metadata referenced by index.
|
|
58
|
+
columnMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),
|
|
59
|
+
// Cell formatting referenced by indexed range.
|
|
60
|
+
formatting: S.mutable(S.Record(S.String, S.mutable(Formatting))),
|
|
61
|
+
// Threads associated with the sheet
|
|
62
|
+
threads: S.optional(S.mutable(S.Array(ref(ThreadType))))
|
|
63
|
+
}) {
|
|
64
|
+
};
|
|
65
|
+
var createSheet = (title) => create(SheetType, {
|
|
66
|
+
title,
|
|
67
|
+
cells: {},
|
|
68
|
+
rows: [],
|
|
69
|
+
columns: [],
|
|
70
|
+
rowMeta: {},
|
|
71
|
+
columnMeta: {},
|
|
72
|
+
formatting: {}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
SheetAction,
|
|
77
|
+
CellValue,
|
|
78
|
+
ValueTypeEnum,
|
|
79
|
+
ValueType,
|
|
80
|
+
Formatting,
|
|
81
|
+
RowColumnMeta,
|
|
82
|
+
SheetType,
|
|
83
|
+
createSheet
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=chunk-WUPTZUTX.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { create, ref, S, TypedObject } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { type StackProvides } from '@dxos/plugin-stack';\n\nimport { SHEET_PLUGIN } from './meta';\n\nconst SHEET_ACTION = `${SHEET_PLUGIN}/action`;\n\nexport enum SheetAction {\n CREATE = `${SHEET_ACTION}/create`,\n}\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location\n// when we implement comments in sheets.\n// This is currently duplicated in a few places.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type SheetPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides &\n StackProvides &\n ThreadProvides<SheetType>;\n\nexport type CellScalarValue = number | string | boolean | null;\n\nexport const CellValue = S.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 // TODO(burdon): Arrays?\n value: S.Any,\n});\n\nexport type CellValue = S.Schema.Type<typeof CellValue>;\n\n/**\n * https://www.tutorialsteacher.com/typescript/typescript-number\n */\n// TODO(burdon): Format vs. value.\nexport enum ValueTypeEnum {\n Null = 0,\n Number = 1,\n Boolean = 2,\n String = 3,\n\n // Special numbers.\n Percent = 10,\n Currency = 11,\n\n // Dates.\n DateTime = 20,\n Date = 21,\n Time = 22,\n\n // Validated string types.\n // TODO(burdon): Define effect types.\n URL = 30,\n DID = 31,\n}\n\nexport const ValueType = S.Enums(ValueTypeEnum);\n\nexport const Formatting = S.Struct({\n type: S.optional(ValueType),\n format: S.optional(S.String),\n precision: S.optional(S.Number),\n classNames: S.optional(S.Array(S.String)),\n});\n\nexport type Formatting = S.Schema.Type<typeof Formatting>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = S.Struct({\n size: S.optional(S.Number),\n});\n\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\n// TODO(wittjosiah): Migrate typename to remove `Type` suffix.\n// TODO(wittjosiah): Rename title to name to align with other schemas.\nexport class SheetType extends TypedObject({ typename: 'dxos.org/type/SheetType', version: '0.1.0' })({\n title: S.optional(S.String),\n\n // Sparse map of cells referenced by index.\n cells: S.mutable(S.Record(S.String, S.mutable(CellValue))),\n\n // Ordered row indices.\n rows: S.mutable(S.Array(S.String)),\n\n // Ordered column indices.\n columns: S.mutable(S.Array(S.String)),\n\n // Row metadata referenced by index.\n rowMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Column metadata referenced by index.\n columnMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Cell formatting referenced by indexed range.\n formatting: S.mutable(S.Record(S.String, S.mutable(Formatting))),\n\n // Threads associated with the sheet\n threads: S.optional(S.mutable(S.Array(ref(ThreadType)))),\n}) {}\n\n// TODO(burdon): Fix defaults.\nexport const createSheet = (title?: string): SheetType =>\n create(SheetType, {\n title,\n cells: {},\n rows: [],\n columns: [],\n rowMeta: {},\n columnMeta: {},\n formatting: {},\n });\n"],
|
|
5
|
+
"mappings": ";;;;;AAWA,SAASA,QAAQC,KAAKC,GAAGC,mBAAmB;AAE5C,SAASC,kBAAkB;AAK3B,IAAMC,eAAe,GAAGC,YAAAA;;UAEZC,cAAAA;wCACD,GAAGF,YAAAA,SAAqB,IAAA;GADvBE,gBAAAA,cAAAA,CAAAA,EAAAA;AAyBL,IAAMC,YAAYC,EAAEC,OAAO;;;;;EAKhCC,OAAOF,EAAEG;AACX,CAAA;;UAQYC,gBAAAA;;;;;;;;;;;;GAAAA,kBAAAA,gBAAAA,CAAAA,EAAAA;AAqBL,IAAMC,YAAYL,EAAEM,MAAMF,aAAAA;AAE1B,IAAMG,aAAaP,EAAEC,OAAO;EACjCO,MAAMR,EAAES,SAASJ,SAAAA;EACjBK,QAAQV,EAAES,SAAST,EAAEW,MAAM;EAC3BC,WAAWZ,EAAES,SAAST,EAAEa,MAAM;EAC9BC,YAAYd,EAAES,SAAST,EAAEe,MAAMf,EAAEW,MAAM,CAAA;AACzC,CAAA;AAKO,IAAMK,gBAAgBhB,EAAEC,OAAO;EACpCgB,MAAMjB,EAAES,SAAST,EAAEa,MAAM;AAC3B,CAAA;AAKO,IAAMK,YAAN,cAAwBC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACpGC,OAAOtB,EAAES,SAAST,EAAEW,MAAM;;EAG1BY,OAAOvB,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQzB,SAAAA,CAAAA,CAAAA;;EAG9C2B,MAAM1B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGhCgB,SAAS3B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGnCiB,SAAS5B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGhDa,YAAY7B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGnDc,YAAY9B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQjB,UAAAA,CAAAA,CAAAA;;EAGnDwB,SAAS/B,EAAES,SAAST,EAAEwB,QAAQxB,EAAEe,MAAMiB,IAAIC,UAAAA,CAAAA,CAAAA,CAAAA;AAC5C,CAAA,EAAA;AAAI;AAGG,IAAMC,cAAc,CAACZ,UAC1Ba,OAAOjB,WAAW;EAChBI;EACAC,OAAO,CAAC;EACRG,MAAM,CAAA;EACNC,SAAS,CAAA;EACTC,SAAS,CAAC;EACVC,YAAY,CAAC;EACbC,YAAY,CAAC;AACf,CAAA;",
|
|
6
|
+
"names": ["create", "ref", "S", "TypedObject", "ThreadType", "SHEET_ACTION", "SHEET_PLUGIN", "SheetAction", "CellValue", "S", "Struct", "value", "Any", "ValueTypeEnum", "ValueType", "Enums", "Formatting", "type", "optional", "format", "String", "precision", "Number", "classNames", "Array", "RowColumnMeta", "size", "SheetType", "TypedObject", "typename", "version", "title", "cells", "mutable", "Record", "rows", "columns", "rowMeta", "columnMeta", "formatting", "threads", "ref", "ThreadType", "createSheet", "create"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SheetContainer
|
|
3
|
+
} from "./chunk-VBF7YENS.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ComputeGraphContextProvider,
|
|
6
|
+
EdgeFunctionPlugin,
|
|
7
|
+
EdgeFunctionPluginTranslations
|
|
8
|
+
} from "./chunk-PGKZPKUD.mjs";
|
|
9
|
+
import {
|
|
10
|
+
CustomPlugin,
|
|
11
|
+
CustomPluginTranslations,
|
|
12
|
+
SheetModel,
|
|
13
|
+
compareIndexPositions,
|
|
14
|
+
createComputeGraph
|
|
15
|
+
} from "./chunk-GNNVBNCX.mjs";
|
|
16
|
+
import {
|
|
17
|
+
SheetAction,
|
|
18
|
+
SheetType,
|
|
19
|
+
createSheet
|
|
20
|
+
} from "./chunk-WUPTZUTX.mjs";
|
|
21
|
+
import {
|
|
22
|
+
SHEET_PLUGIN,
|
|
23
|
+
meta_default
|
|
24
|
+
} from "./chunk-JRL5LGCE.mjs";
|
|
25
|
+
|
|
26
|
+
// packages/plugins/plugin-sheet/src/SheetPlugin.tsx
|
|
27
|
+
import { GridNine } from "@phosphor-icons/react";
|
|
28
|
+
import React from "react";
|
|
29
|
+
import { NavigationAction, parseIntentPlugin, resolvePlugin } from "@dxos/app-framework";
|
|
30
|
+
import { create } from "@dxos/echo-schema";
|
|
31
|
+
import { parseClientPlugin } from "@dxos/plugin-client";
|
|
32
|
+
import { createExtension, isActionGroup } from "@dxos/plugin-graph";
|
|
33
|
+
import { FunctionType } from "@dxos/plugin-script/types";
|
|
34
|
+
import { SpaceAction } from "@dxos/plugin-space";
|
|
35
|
+
import { getSpace, isEchoObject } from "@dxos/react-client/echo";
|
|
36
|
+
|
|
37
|
+
// packages/plugins/plugin-sheet/src/translations.ts
|
|
38
|
+
var translations_default = [
|
|
39
|
+
{
|
|
40
|
+
"en-US": {
|
|
41
|
+
[SHEET_PLUGIN]: {
|
|
42
|
+
"plugin name": "Sheets",
|
|
43
|
+
"sheet title placeholder": "New sheet",
|
|
44
|
+
"create sheet label": "Create sheet",
|
|
45
|
+
"create sheet section label": "Create sheet",
|
|
46
|
+
"cell placeholder": "Cell value...",
|
|
47
|
+
"toolbar left label": "Align left",
|
|
48
|
+
"toolbar left center": "Align center",
|
|
49
|
+
"toolbar left right": "Align right",
|
|
50
|
+
"selection overlaps existing comment label": "Selected cell already has a comment",
|
|
51
|
+
"comment label": "Add comment",
|
|
52
|
+
"comment ranges not supported label": "Commenting on ranges is not yet supported",
|
|
53
|
+
"no cursor label": "Select a cell to comment",
|
|
54
|
+
"open comment for sheet cell": "View comments for cell"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
];
|
|
59
|
+
|
|
60
|
+
// packages/plugins/plugin-sheet/src/SheetPlugin.tsx
|
|
61
|
+
var SheetPlugin = () => {
|
|
62
|
+
let remoteFunctionUrl;
|
|
63
|
+
const graphs = create({});
|
|
64
|
+
const setGraph = (key, graph) => {
|
|
65
|
+
graphs[key] = graph;
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
meta: meta_default,
|
|
69
|
+
ready: async (plugins) => {
|
|
70
|
+
const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
|
|
71
|
+
if (!client) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (client.config.values.runtime?.services?.edge?.url) {
|
|
75
|
+
const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
|
|
76
|
+
url.protocol = "https";
|
|
77
|
+
remoteFunctionUrl = url.toString();
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
provides: {
|
|
81
|
+
context: ({ children }) => {
|
|
82
|
+
return /* @__PURE__ */ React.createElement(ComputeGraphContextProvider, {
|
|
83
|
+
graphs,
|
|
84
|
+
setGraph
|
|
85
|
+
}, children);
|
|
86
|
+
},
|
|
87
|
+
metadata: {
|
|
88
|
+
records: {
|
|
89
|
+
[SheetType.typename]: {
|
|
90
|
+
label: (object) => object instanceof SheetType ? object.title : void 0,
|
|
91
|
+
placeholder: [
|
|
92
|
+
"sheet title placeholder",
|
|
93
|
+
{
|
|
94
|
+
ns: SHEET_PLUGIN
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
icon: (props) => /* @__PURE__ */ React.createElement(GridNine, props),
|
|
98
|
+
iconSymbol: "ph--grid-nine--regular"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
translations: translations_default,
|
|
103
|
+
echo: {
|
|
104
|
+
// TODO(wittjosiah): Factor out to common package/plugin.
|
|
105
|
+
// FunctionType is currently registered here in case script plugin isn't enabled.
|
|
106
|
+
schema: [
|
|
107
|
+
SheetType,
|
|
108
|
+
FunctionType
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
graph: {
|
|
112
|
+
builder: (plugins) => {
|
|
113
|
+
const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
|
|
114
|
+
const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;
|
|
115
|
+
if (!client || !dispatch) {
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
return createExtension({
|
|
119
|
+
id: SheetAction.CREATE,
|
|
120
|
+
filter: (node) => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),
|
|
121
|
+
actions: ({ node }) => {
|
|
122
|
+
const id = node.id.split("/").at(-1);
|
|
123
|
+
const [spaceId, objectId] = id?.split(":") ?? [];
|
|
124
|
+
const space = client.spaces.get().find((space2) => space2.id === spaceId);
|
|
125
|
+
const object = objectId && space?.db.getObjectById(objectId);
|
|
126
|
+
const target = objectId ? object : space;
|
|
127
|
+
if (!target) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
return [
|
|
131
|
+
{
|
|
132
|
+
id: `${SHEET_PLUGIN}/create/${node.id}`,
|
|
133
|
+
data: async () => {
|
|
134
|
+
await dispatch([
|
|
135
|
+
{
|
|
136
|
+
plugin: SHEET_PLUGIN,
|
|
137
|
+
action: SheetAction.CREATE,
|
|
138
|
+
data: {
|
|
139
|
+
space
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
action: SpaceAction.ADD_OBJECT,
|
|
144
|
+
data: {
|
|
145
|
+
target
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
action: NavigationAction.OPEN
|
|
150
|
+
}
|
|
151
|
+
]);
|
|
152
|
+
},
|
|
153
|
+
properties: {
|
|
154
|
+
label: [
|
|
155
|
+
"create sheet label",
|
|
156
|
+
{
|
|
157
|
+
ns: SHEET_PLUGIN
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
icon: (props) => /* @__PURE__ */ React.createElement(GridNine, props),
|
|
161
|
+
iconSymbol: "ph--grid-nine--regular",
|
|
162
|
+
testId: "sheetPlugin.createObject"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
stack: {
|
|
171
|
+
creators: [
|
|
172
|
+
{
|
|
173
|
+
id: "create-stack-section-sheet",
|
|
174
|
+
testId: "sheetPlugin.createSection",
|
|
175
|
+
type: [
|
|
176
|
+
"plugin name",
|
|
177
|
+
{
|
|
178
|
+
ns: SHEET_PLUGIN
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
label: [
|
|
182
|
+
"create sheet section label",
|
|
183
|
+
{
|
|
184
|
+
ns: SHEET_PLUGIN
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
icon: (props) => /* @__PURE__ */ React.createElement(GridNine, props),
|
|
188
|
+
intent: {
|
|
189
|
+
plugin: SHEET_PLUGIN,
|
|
190
|
+
action: SheetAction.CREATE
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
thread: {
|
|
196
|
+
predicate: (data) => data instanceof SheetType,
|
|
197
|
+
createSort: (sheet) => (anchorA, anchorB) => !anchorA || !anchorB ? 0 : compareIndexPositions(sheet, anchorA, anchorB)
|
|
198
|
+
},
|
|
199
|
+
surface: {
|
|
200
|
+
component: ({ data, role = "never" }) => {
|
|
201
|
+
const space = isEchoObject(data.object) && getSpace(data.object);
|
|
202
|
+
if (space && data.object instanceof SheetType) {
|
|
203
|
+
switch (role) {
|
|
204
|
+
case "article":
|
|
205
|
+
case "section": {
|
|
206
|
+
return /* @__PURE__ */ React.createElement(SheetContainer, {
|
|
207
|
+
sheet: data.object,
|
|
208
|
+
space,
|
|
209
|
+
role,
|
|
210
|
+
remoteFunctionUrl
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
intent: {
|
|
219
|
+
resolver: async (intent) => {
|
|
220
|
+
switch (intent.action) {
|
|
221
|
+
case SheetAction.CREATE: {
|
|
222
|
+
const space = intent.data?.space;
|
|
223
|
+
const sheet = createSheet();
|
|
224
|
+
const graph = graphs[space.id] ?? createComputeGraph([
|
|
225
|
+
{
|
|
226
|
+
plugin: EdgeFunctionPlugin,
|
|
227
|
+
translations: EdgeFunctionPluginTranslations
|
|
228
|
+
},
|
|
229
|
+
// TODO(wittjosiah): Remove. Needed for current test sheet generated data.
|
|
230
|
+
{
|
|
231
|
+
plugin: CustomPlugin,
|
|
232
|
+
translations: CustomPluginTranslations
|
|
233
|
+
}
|
|
234
|
+
], space, {
|
|
235
|
+
remoteFunctionUrl
|
|
236
|
+
});
|
|
237
|
+
const model = new SheetModel(graph, sheet);
|
|
238
|
+
await model.initialize();
|
|
239
|
+
await model.destroy();
|
|
240
|
+
return {
|
|
241
|
+
data: sheet
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
// packages/plugins/plugin-sheet/src/index.ts
|
|
252
|
+
var src_default = SheetPlugin;
|
|
253
|
+
export {
|
|
254
|
+
SheetPlugin,
|
|
255
|
+
src_default as default
|
|
256
|
+
};
|
|
257
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/SheetPlugin.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type IconProps, GridNine } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\n\nimport {\n createComputeGraph,\n CustomPlugin,\n CustomPluginTranslations,\n SheetContainer,\n type ComputeGraph,\n} from './components';\n// TODO(wittjosiah): Refactor. These are not exported from ./components due to depending on ECHO.\nimport { EdgeFunctionPlugin, EdgeFunctionPluginTranslations } from './components/ComputeGraph/edge-function';\nimport { ComputeGraphContextProvider } from './components/ComputeGraph/graph-context';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport { compareIndexPositions, SheetModel } from './model';\nimport translations from './translations';\nimport { createSheet, SheetAction, type SheetPluginProvides, SheetType } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let remoteFunctionUrl: string | undefined;\n\n const graphs = create<Record<string, ComputeGraph>>({});\n const setGraph = (key: string, graph: ComputeGraph) => {\n graphs[key] = graph;\n };\n\n return {\n meta,\n ready: async (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n if (!client) {\n return;\n }\n\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n },\n provides: {\n context: ({ children }) => {\n return (\n <ComputeGraphContextProvider graphs={graphs} setGraph={setGraph}>\n {children}\n </ComputeGraphContextProvider>\n );\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n label: (object: any) => (object instanceof SheetType ? object.title : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: (props: IconProps) => <GridNine {...props} />,\n iconSymbol: 'ph--grid-nine--regular',\n },\n },\n },\n translations,\n echo: {\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n schema: [SheetType, FunctionType],\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: SheetAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SHEET_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SHEET_PLUGIN, action: SheetAction.CREATE, data: { space } },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n icon: (props: IconProps) => <GridNine {...props} />,\n iconSymbol: 'ph--grid-nine--regular',\n testId: 'sheetPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-sheet',\n testId: 'sheetPlugin.createSection',\n type: ['plugin name', { ns: SHEET_PLUGIN }],\n label: ['create sheet section label', { ns: SHEET_PLUGIN }],\n icon: (props: any) => <GridNine {...props} />,\n intent: {\n plugin: SHEET_PLUGIN,\n action: SheetAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (anchorA, anchorB) =>\n !anchorA || !anchorB ? 0 : compareIndexPositions(sheet, anchorA, anchorB),\n },\n surface: {\n component: ({ data, role = 'never' }) => {\n // TODO(burdon): Standardize wrapper (with room for toolbar).\n const space = isEchoObject(data.object) && getSpace(data.object);\n if (space && data.object instanceof SheetType) {\n switch (role) {\n case 'article':\n case 'section': {\n return (\n <SheetContainer sheet={data.object} space={space} role={role} remoteFunctionUrl={remoteFunctionUrl} />\n );\n }\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: async (intent) => {\n switch (intent.action) {\n case SheetAction.CREATE: {\n const space = intent.data?.space;\n const sheet = createSheet();\n const graph =\n graphs[space.id] ??\n createComputeGraph(\n [\n { plugin: EdgeFunctionPlugin, translations: EdgeFunctionPluginTranslations },\n // TODO(wittjosiah): Remove. Needed for current test sheet generated data.\n { plugin: CustomPlugin, translations: CustomPluginTranslations },\n ],\n space,\n { remoteFunctionUrl },\n );\n const model = new SheetModel(graph, sheet);\n await model.initialize();\n await model.destroy();\n return { data: sheet };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SHEET_PLUGIN]: {\n 'plugin name': 'Sheets',\n 'sheet title placeholder': 'New sheet',\n 'create sheet label': 'Create sheet',\n 'create sheet section label': 'Create sheet',\n 'cell placeholder': 'Cell value...',\n 'toolbar left label': 'Align left',\n 'toolbar left center': 'Align center',\n 'toolbar left right': 'Align right',\n 'selection overlaps existing comment label': 'Selected cell already has a comment',\n 'comment label': 'Add comment',\n 'comment ranges not supported label': 'Commenting on ranges is not yet supported',\n 'no cursor label': 'Select a cell to comment',\n 'open comment for sheet cell': 'View comments for cell',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport default SheetPlugin;\n\nexport * from './SheetPlugin';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["GridNine", "React", "NavigationAction", "parseIntentPlugin", "resolvePlugin", "create", "parseClientPlugin", "createExtension", "isActionGroup", "FunctionType", "SpaceAction", "getSpace", "isEchoObject", "SHEET_PLUGIN", "SheetPlugin", "remoteFunctionUrl", "graphs", "create", "setGraph", "key", "graph", "meta", "ready", "plugins", "client", "resolvePlugin", "parseClientPlugin", "provides", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "context", "children", "ComputeGraphContextProvider", "metadata", "records", "SheetType", "typename", "label", "object", "title", "undefined", "placeholder", "ns", "SHEET_PLUGIN", "icon", "props", "GridNine", "iconSymbol", "translations", "echo", "schema", "FunctionType", "builder", "dispatch", "parseIntentPlugin", "intent", "createExtension", "id", "SheetAction", "CREATE", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "space", "spaces", "get", "find", "db", "getObjectById", "target", "data", "plugin", "action", "NavigationAction", "OPEN", "properties", "testId", "stack", "creators", "type", "thread", "predicate", "createSort", "sheet", "anchorA", "anchorB", "compareIndexPositions", "surface", "component", "role", "isEchoObject", "getSpace", "SheetContainer", "resolver", "createSheet", "createComputeGraph", "EdgeFunctionPlugin", "EdgeFunctionPluginTranslations", "CustomPlugin", "CustomPluginTranslations", "model", "SheetModel", "initialize", "destroy", "SheetPlugin"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts":{"bytes":18292,"imports":[{"path":"hyperformula","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/custom.ts":{"bytes":6745,"imports":[{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts","kind":"import-statement","original":"./async-function"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph.ts":{"bytes":6174,"imports":[{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts","kind":"import-statement","original":"./async-function"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytes":710,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts","kind":"import-statement","original":"./async-function"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/custom.ts","kind":"import-statement","original":"./custom"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph.ts","kind":"import-statement","original":"./graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/functions.ts":{"bytes":204643,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/model/types.ts":{"bytes":8465,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/util.ts":{"bytes":11413,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/meta.tsx":{"bytes":1868,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/types.ts":{"bytes":11792,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/model.ts":{"bytes":55927,"imports":[{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/functions.ts","kind":"import-statement","original":"./functions"},{"path":"packages/plugins/plugin-sheet/src/model/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/model/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@dxos/client/echo","kind":"dynamic-import","external":true},{"path":"@dxos/plugin-script/types","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytes":754,"imports":[{"path":"packages/plugins/plugin-sheet/src/model/functions.ts","kind":"import-statement","original":"./functions"},{"path":"packages/plugins/plugin-sheet/src/model/model.ts","kind":"import-statement","original":"./model"},{"path":"packages/plugins/plugin-sheet/src/model/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/model/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/grid.ts":{"bytes":17316,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/nav.ts":{"bytes":15441,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/grid.ts","kind":"import-statement","original":"./grid"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/decorations.ts":{"bytes":5870,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/formatting.ts":{"bytes":12810,"imports":[{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/edge-function.ts":{"bytes":13802,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts","kind":"import-statement","original":"./async-function"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph-context.tsx":{"bytes":5449,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/custom.ts","kind":"import-statement","original":"./custom"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/edge-function.ts","kind":"import-statement","original":"./edge-function"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph.ts","kind":"import-statement","original":"./graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/sheet-context.tsx":{"bytes":14162,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/decorations.ts","kind":"import-statement","original":"./decorations"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/formatting.ts","kind":"import-statement","original":"./formatting"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph-context.tsx","kind":"import-statement","original":"../ComputeGraph/graph-context"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/threads.tsx":{"bytes":22258,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/sheet-context.tsx","kind":"import-statement","original":"./sheet-context"},{"path":"packages/plugins/plugin-sheet/src/meta.tsx","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/util.ts":{"bytes":7372,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/components/CellEditor/CellEditor.tsx":{"bytes":10459,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/CellEditor/extension.ts":{"bytes":26847,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/CellEditor/index.ts":{"bytes":618,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/CellEditor/CellEditor.tsx","kind":"import-statement","original":"./CellEditor"},{"path":"packages/plugins/plugin-sheet/src/components/CellEditor/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/Sheet.tsx":{"bytes":122294,"imports":[{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/modifiers","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"re-resizable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/grid.ts","kind":"import-statement","original":"./grid"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/nav.ts","kind":"import-statement","original":"./nav"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/sheet-context.tsx","kind":"import-statement","original":"./sheet-context"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/threads.tsx","kind":"import-statement","original":"./threads"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"packages/plugins/plugin-sheet/src/components/CellEditor/index.ts","kind":"import-statement","original":"../CellEditor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Sheet/index.ts":{"bytes":511,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/Sheet/Sheet.tsx","kind":"import-statement","original":"./Sheet"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/common.tsx":{"bytes":7030,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytes":21067,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/common.tsx","kind":"import-statement","original":"./common"},{"path":"packages/plugins/plugin-sheet/src/meta.tsx","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/sheet-context.tsx","kind":"import-statement","original":"../Sheet/sheet-context"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytes":519,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer.tsx":{"bytes":10121,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/Sheet/index.ts","kind":"import-statement","original":"./Sheet"},{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytes":1061,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"./ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer.tsx","kind":"dynamic-import","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/translations.ts":{"bytes":2948,"imports":[{"path":"packages/plugins/plugin-sheet/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytes":26864,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/edge-function.ts","kind":"import-statement","original":"./components/ComputeGraph/edge-function"},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph-context.tsx","kind":"import-statement","original":"./components/ComputeGraph/graph-context"},{"path":"packages/plugins/plugin-sheet/src/meta.tsx","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"packages/plugins/plugin-sheet/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"},{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"}],"format":"esm"},"packages/plugins/plugin-sheet/src/testing.ts":{"bytes":5777,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13439},"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-VBF7YENS.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-PGKZPKUD.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["SheetPlugin","default"],"entryPoint":"packages/plugins/plugin-sheet/src/index.ts","inputs":{"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytesInOutput":6696},"packages/plugins/plugin-sheet/src/translations.ts":{"bytesInOutput":797},"packages/plugins/plugin-sheet/src/index.ts":{"bytesInOutput":31}},"bytes":8300},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"}],"exports":["SHEET_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-sheet/src/meta.tsx","inputs":{},"bytes":159},"packages/plugins/plugin-sheet/dist/lib/node-esm/testing.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2733},"packages/plugins/plugin-sheet/dist/lib/node-esm/testing.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-VBF7YENS.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"}],"exports":["createCells","createTestSheet","testSheetName"],"entryPoint":"packages/plugins/plugin-sheet/src/testing.ts","inputs":{"packages/plugins/plugin-sheet/src/testing.ts":{"bytesInOutput":1076}},"bytes":1415},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-VBF7YENS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":468},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-VBF7YENS.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs","kind":"dynamic-import"}],"exports":["SheetContainer"],"inputs":{"packages/plugins/plugin-sheet/src/components/index.ts":{"bytesInOutput":107},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytesInOutput":0}},"bytes":238},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"}],"exports":["CellValue","Formatting","RowColumnMeta","SheetAction","SheetType","ValueType","ValueTypeEnum","createSheet"],"entryPoint":"packages/plugins/plugin-sheet/src/types.ts","inputs":{},"bytes":350},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":148194},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-PGKZPKUD.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/modifiers","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"re-resizable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default","sectionToolbarLayout"],"entryPoint":"packages/plugins/plugin-sheet/src/components/SheetContainer.tsx","inputs":{"packages/plugins/plugin-sheet/src/components/SheetContainer.tsx":{"bytesInOutput":2591},"packages/plugins/plugin-sheet/src/components/Sheet/Sheet.tsx":{"bytesInOutput":29806},"packages/plugins/plugin-sheet/src/components/Sheet/grid.ts":{"bytesInOutput":3517},"packages/plugins/plugin-sheet/src/components/Sheet/nav.ts":{"bytesInOutput":3414},"packages/plugins/plugin-sheet/src/components/Sheet/sheet-context.tsx":{"bytesInOutput":2792},"packages/plugins/plugin-sheet/src/components/Sheet/decorations.ts":{"bytesInOutput":946},"packages/plugins/plugin-sheet/src/components/Sheet/formatting.ts":{"bytesInOutput":2796},"packages/plugins/plugin-sheet/src/components/Sheet/threads.tsx":{"bytesInOutput":5577},"packages/plugins/plugin-sheet/src/components/Sheet/util.ts":{"bytesInOutput":1375},"packages/plugins/plugin-sheet/src/components/CellEditor/CellEditor.tsx":{"bytesInOutput":2445},"packages/plugins/plugin-sheet/src/components/CellEditor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/CellEditor/extension.ts":{"bytesInOutput":5808},"packages/plugins/plugin-sheet/src/components/Sheet/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytesInOutput":4835},"packages/plugins/plugin-sheet/src/components/Toolbar/common.tsx":{"bytesInOutput":1824},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytesInOutput":0}},"bytes":69429},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-PGKZPKUD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9175},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-PGKZPKUD.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["ComputeGraphContextProvider","EdgeFunctionPlugin","EdgeFunctionPluginTranslations","useComputeGraph"],"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/edge-function.ts":{"bytesInOutput":3377},"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph-context.tsx":{"bytesInOutput":964}},"bytes":4790},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":145517},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-GNNVBNCX.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs","kind":"import-statement"},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"dynamic-import","external":true},{"path":"@dxos/plugin-script/types","kind":"dynamic-import","external":true},{"path":"hyperformula","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["CustomPlugin","CustomPluginTranslations","FunctionPluginAsync","SheetModel","addressFromA1Notation","addressFromIndex","addressToA1Notation","addressToIndex","closest","columnLetter","compareIndexPositions","createComputeGraph","defaultFunctions","inRange","posEquals","rangeFromIndex","rangeToA1Notation"],"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/graph.ts":{"bytesInOutput":1185},"packages/plugins/plugin-sheet/src/components/ComputeGraph/async-function.ts":{"bytesInOutput":3832},"packages/plugins/plugin-sheet/src/model/model.ts":{"bytesInOutput":13231},"packages/plugins/plugin-sheet/src/model/functions.ts":{"bytesInOutput":68677},"packages/plugins/plugin-sheet/src/model/types.ts":{"bytesInOutput":1899},"packages/plugins/plugin-sheet/src/model/util.ts":{"bytesInOutput":1715},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/ComputeGraph/custom.ts":{"bytesInOutput":1354}},"bytes":92891},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5903},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-WUPTZUTX.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["CellValue","Formatting","RowColumnMeta","SheetAction","SheetType","ValueType","ValueTypeEnum","createSheet"],"inputs":{"packages/plugins/plugin-sheet/src/types.ts":{"bytesInOutput":2643}},"bytes":2918},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":931},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-JRL5LGCE.mjs":{"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["SHEET_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-sheet/src/meta.tsx":{"bytesInOutput":412}},"bytes":546}}}
|