@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.
Files changed (106) hide show
  1. package/dist/lib/browser/{SheetContainer-U4H5D34A.mjs → SheetContainer-Y7ZMFBAP.mjs} +568 -109
  2. package/dist/lib/browser/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-D5AGLXJP.mjs → chunk-GNNVBNCX.mjs} +55 -47
  4. package/dist/lib/browser/chunk-GNNVBNCX.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-APHOLYUB.mjs → chunk-PGKZPKUD.mjs} +2 -2
  6. package/dist/lib/browser/chunk-VBF7YENS.mjs +8 -0
  7. package/dist/lib/browser/{chunk-FUAGSXA4.mjs → chunk-WUPTZUTX.mjs} +6 -3
  8. package/dist/lib/browser/chunk-WUPTZUTX.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +15 -6
  10. package/dist/lib/browser/index.mjs.map +3 -3
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/testing.mjs +3 -3
  13. package/dist/lib/browser/types.mjs +1 -1
  14. package/dist/lib/node/{SheetContainer-AXQV3ZT5.cjs → SheetContainer-KEOKUKAQ.cjs} +509 -62
  15. package/dist/lib/node/SheetContainer-KEOKUKAQ.cjs.map +7 -0
  16. package/dist/lib/node/{chunk-PYXHNAAK.cjs → chunk-57PB2HPY.cjs} +5 -5
  17. package/dist/lib/node/{chunk-CN3RPESU.cjs → chunk-6LWBQAQZ.cjs} +9 -9
  18. package/dist/lib/node/{chunk-DSYKOI4E.cjs → chunk-VJU3NPUJ.cjs} +8 -5
  19. package/dist/lib/node/chunk-VJU3NPUJ.cjs.map +7 -0
  20. package/dist/lib/node/{chunk-5KKJ4NPP.cjs → chunk-ZRQZFV5T.cjs} +70 -57
  21. package/dist/lib/node/chunk-ZRQZFV5T.cjs.map +7 -0
  22. package/dist/lib/node/index.cjs +31 -23
  23. package/dist/lib/node/index.cjs.map +3 -3
  24. package/dist/lib/node/meta.json +1 -1
  25. package/dist/lib/node/testing.cjs +6 -6
  26. package/dist/lib/node/types.cjs +9 -9
  27. package/dist/lib/node/types.cjs.map +1 -1
  28. package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs +2231 -0
  29. package/dist/lib/node-esm/SheetContainer-Y7ZMFBAP.mjs.map +7 -0
  30. package/dist/lib/node-esm/chunk-GNNVBNCX.mjs +3243 -0
  31. package/dist/lib/node-esm/chunk-GNNVBNCX.mjs.map +7 -0
  32. package/dist/lib/node-esm/chunk-JRL5LGCE.mjs +18 -0
  33. package/dist/lib/node-esm/chunk-JRL5LGCE.mjs.map +7 -0
  34. package/dist/lib/node-esm/chunk-PGKZPKUD.mjs +175 -0
  35. package/dist/lib/node-esm/chunk-PGKZPKUD.mjs.map +7 -0
  36. package/dist/lib/node-esm/chunk-VBF7YENS.mjs +8 -0
  37. package/dist/lib/node-esm/chunk-VBF7YENS.mjs.map +7 -0
  38. package/dist/lib/node-esm/chunk-WUPTZUTX.mjs +85 -0
  39. package/dist/lib/node-esm/chunk-WUPTZUTX.mjs.map +7 -0
  40. package/dist/lib/node-esm/index.mjs +257 -0
  41. package/dist/lib/node-esm/index.mjs.map +7 -0
  42. package/dist/lib/node-esm/meta.json +1 -0
  43. package/dist/lib/node-esm/meta.mjs +9 -0
  44. package/dist/lib/node-esm/meta.mjs.map +7 -0
  45. package/dist/lib/node-esm/testing.mjs +92 -0
  46. package/dist/lib/node-esm/testing.mjs.map +7 -0
  47. package/dist/lib/node-esm/types.mjs +22 -0
  48. package/dist/lib/node-esm/types.mjs.map +7 -0
  49. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  50. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  51. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
  52. package/dist/types/src/components/Sheet/decorations.d.ts +24 -0
  53. package/dist/types/src/components/Sheet/decorations.d.ts.map +1 -0
  54. package/dist/types/src/components/Sheet/formatting.d.ts.map +1 -1
  55. package/dist/types/src/components/Sheet/sheet-context.d.ts +2 -0
  56. package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
  57. package/dist/types/src/components/Sheet/threads.d.ts +2 -0
  58. package/dist/types/src/components/Sheet/threads.d.ts.map +1 -0
  59. package/dist/types/src/components/SheetContainer.d.ts +2 -3
  60. package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
  61. package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -3
  62. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  63. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +17 -12
  64. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/index.d.ts +1 -2
  66. package/dist/types/src/components/index.d.ts.map +1 -1
  67. package/dist/types/src/model/index.d.ts +1 -0
  68. package/dist/types/src/model/index.d.ts.map +1 -1
  69. package/dist/types/src/model/model.d.ts +0 -16
  70. package/dist/types/src/model/model.d.ts.map +1 -1
  71. package/dist/types/src/model/util.d.ts +24 -0
  72. package/dist/types/src/model/util.d.ts.map +1 -1
  73. package/dist/types/src/translations.d.ts +17 -12
  74. package/dist/types/src/translations.d.ts.map +1 -1
  75. package/dist/types/src/types.d.ts +72 -2
  76. package/dist/types/src/types.d.ts.map +1 -1
  77. package/package.json +36 -32
  78. package/src/SheetPlugin.tsx +8 -15
  79. package/src/components/CellEditor/extension.test.ts +1 -2
  80. package/src/components/ComputeGraph/graph.browser.test.ts +1 -2
  81. package/src/components/Sheet/Sheet.stories.tsx +5 -1
  82. package/src/components/Sheet/Sheet.tsx +45 -8
  83. package/src/components/Sheet/decorations.ts +62 -0
  84. package/src/components/Sheet/formatting.ts +3 -3
  85. package/src/components/Sheet/sheet-context.tsx +9 -1
  86. package/src/components/Sheet/threads.tsx +201 -0
  87. package/src/components/SheetContainer.tsx +72 -18
  88. package/src/components/Toolbar/Toolbar.tsx +54 -12
  89. package/src/model/index.ts +1 -0
  90. package/src/model/model.browser.test.ts +1 -2
  91. package/src/model/model.ts +9 -43
  92. package/src/model/types.test.ts +1 -2
  93. package/src/model/util.ts +67 -0
  94. package/src/translations.ts +6 -1
  95. package/src/types.ts +26 -3
  96. package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-NU4PBN33.mjs +0 -8
  100. package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs.map +0 -7
  101. package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +0 -7
  102. package/dist/lib/node/chunk-DSYKOI4E.cjs.map +0 -7
  103. /package/dist/lib/browser/{chunk-APHOLYUB.mjs.map → chunk-PGKZPKUD.mjs.map} +0 -0
  104. /package/dist/lib/browser/{chunk-NU4PBN33.mjs.map → chunk-VBF7YENS.mjs.map} +0 -0
  105. /package/dist/lib/node/{chunk-PYXHNAAK.cjs.map → chunk-57PB2HPY.cjs.map} +0 -0
  106. /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,8 @@
1
+ // packages/plugins/plugin-sheet/src/components/index.ts
2
+ import React from "react";
3
+ var SheetContainer = React.lazy(() => import("./SheetContainer-Y7ZMFBAP.mjs"));
4
+
5
+ export {
6
+ SheetContainer
7
+ };
8
+ //# sourceMappingURL=chunk-VBF7YENS.mjs.map
@@ -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}}}
@@ -0,0 +1,9 @@
1
+ import {
2
+ SHEET_PLUGIN,
3
+ meta_default
4
+ } from "./chunk-JRL5LGCE.mjs";
5
+ export {
6
+ SHEET_PLUGIN,
7
+ meta_default as default
8
+ };
9
+ //# sourceMappingURL=meta.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }