@dxos/plugin-sheet 0.7.5-main.9d26e3a → 0.7.5-main.b19bfc8

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 (210) hide show
  1. package/dist/lib/browser/SheetContainer-IMHGS7Z4.mjs +370 -0
  2. package/dist/lib/browser/SheetContainer-IMHGS7Z4.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-A374JPWV.mjs → chunk-AT7F2WDW.mjs} +157 -391
  4. package/dist/lib/browser/chunk-AT7F2WDW.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-FOO6NGBM.mjs +229 -0
  6. package/dist/lib/browser/chunk-FOO6NGBM.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-GAFHJBCU.mjs +18 -0
  8. package/dist/lib/browser/chunk-GAFHJBCU.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-LXHRT3CC.mjs +15 -0
  10. package/dist/lib/browser/chunk-LXHRT3CC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-Q4XS4YWF.mjs → chunk-OOSRC36N.mjs} +2 -2
  12. package/dist/lib/browser/chunk-OOSRC36N.mjs.map +7 -0
  13. package/dist/lib/browser/compute-graph-registry-EGPD4HEX.mjs +27 -0
  14. package/dist/lib/browser/compute-graph-registry-EGPD4HEX.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +88 -218
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/intent-resolver-6S2RMLQF.mjs +56 -0
  18. package/dist/lib/browser/intent-resolver-6S2RMLQF.mjs.map +7 -0
  19. package/dist/lib/browser/markdown-CFJIWHZX.mjs +26 -0
  20. package/dist/lib/browser/markdown-CFJIWHZX.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/react-surface-PHKJZYFB.mjs +52 -0
  23. package/dist/lib/browser/react-surface-PHKJZYFB.mjs.map +7 -0
  24. package/dist/lib/browser/thread-7ZWW5EA7.mjs +17 -0
  25. package/dist/lib/browser/thread-7ZWW5EA7.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +2 -2
  27. package/dist/lib/node/SheetContainer-NNIZN4AK.cjs +364 -0
  28. package/dist/lib/node/SheetContainer-NNIZN4AK.cjs.map +7 -0
  29. package/dist/lib/node/{chunk-FDEQ2PGJ.cjs → chunk-2KCZUH72.cjs} +198 -428
  30. package/dist/lib/node/chunk-2KCZUH72.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-TQOJ7DG2.cjs → chunk-4LSYTNS4.cjs} +6 -6
  32. package/dist/lib/node/chunk-4LSYTNS4.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-2ZVZI2KJ.cjs → chunk-MLU6KRQN.cjs} +12 -9
  34. package/dist/lib/node/chunk-MLU6KRQN.cjs.map +7 -0
  35. package/dist/lib/node/chunk-P4KSGZSS.cjs +251 -0
  36. package/dist/lib/node/chunk-P4KSGZSS.cjs.map +7 -0
  37. package/dist/lib/node/{meta.cjs → chunk-ZV2RS3QH.cjs} +12 -8
  38. package/dist/lib/node/chunk-ZV2RS3QH.cjs.map +7 -0
  39. package/dist/lib/node/compute-graph-registry-GJK5H264.cjs +53 -0
  40. package/dist/lib/node/compute-graph-registry-GJK5H264.cjs.map +7 -0
  41. package/dist/lib/node/index.cjs +89 -215
  42. package/dist/lib/node/index.cjs.map +4 -4
  43. package/dist/lib/node/intent-resolver-I25V7SBT.cjs +69 -0
  44. package/dist/lib/node/intent-resolver-I25V7SBT.cjs.map +7 -0
  45. package/dist/lib/node/markdown-YTCSW66K.cjs +40 -0
  46. package/dist/lib/node/markdown-YTCSW66K.cjs.map +7 -0
  47. package/dist/lib/node/meta.json +1 -1
  48. package/dist/lib/node/react-surface-HLE6CRA6.cjs +70 -0
  49. package/dist/lib/node/react-surface-HLE6CRA6.cjs.map +7 -0
  50. package/dist/lib/node/thread-DRNYTR6M.cjs +32 -0
  51. package/dist/lib/node/thread-DRNYTR6M.cjs.map +7 -0
  52. package/dist/lib/node/types/index.cjs +30 -30
  53. package/dist/lib/node/types/index.cjs.map +1 -1
  54. package/dist/lib/node-esm/SheetContainer-PGDJKGTZ.mjs +371 -0
  55. package/dist/lib/node-esm/SheetContainer-PGDJKGTZ.mjs.map +7 -0
  56. package/dist/lib/node-esm/{chunk-NYYIDVR7.mjs → chunk-HPAMZ6SP.mjs} +2 -2
  57. package/dist/lib/node-esm/chunk-HPAMZ6SP.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-PTOI45NK.mjs +231 -0
  59. package/dist/lib/node-esm/chunk-PTOI45NK.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-RTZXXOS2.mjs +20 -0
  61. package/dist/lib/node-esm/chunk-RTZXXOS2.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-SX3S7UKU.mjs +16 -0
  63. package/dist/lib/node-esm/chunk-SX3S7UKU.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-L5PQHVTX.mjs → chunk-ZM7XLUGL.mjs} +157 -391
  65. package/dist/lib/node-esm/chunk-ZM7XLUGL.mjs.map +7 -0
  66. package/dist/lib/node-esm/compute-graph-registry-3F5JCYEN.mjs +28 -0
  67. package/dist/lib/node-esm/compute-graph-registry-3F5JCYEN.mjs.map +7 -0
  68. package/dist/lib/node-esm/index.mjs +88 -218
  69. package/dist/lib/node-esm/index.mjs.map +4 -4
  70. package/dist/lib/node-esm/intent-resolver-IPRSINII.mjs +57 -0
  71. package/dist/lib/node-esm/intent-resolver-IPRSINII.mjs.map +7 -0
  72. package/dist/lib/node-esm/markdown-CGSK44XJ.mjs +27 -0
  73. package/dist/lib/node-esm/markdown-CGSK44XJ.mjs.map +7 -0
  74. package/dist/lib/node-esm/meta.json +1 -1
  75. package/dist/lib/node-esm/react-surface-PFRJ7V5N.mjs +53 -0
  76. package/dist/lib/node-esm/react-surface-PFRJ7V5N.mjs.map +7 -0
  77. package/dist/lib/node-esm/thread-6T5VXPAF.mjs +18 -0
  78. package/dist/lib/node-esm/thread-6T5VXPAF.mjs.map +7 -0
  79. package/dist/lib/node-esm/types/index.mjs +2 -2
  80. package/dist/types/src/SheetPlugin.d.ts +1 -3
  81. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  83. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/compute-graph-registry.d.ts +4 -0
  85. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/index.d.ts +12 -0
  87. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  89. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/markdown.d.ts +6 -0
  91. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  93. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/thread.d.ts +6 -0
  95. package/dist/types/src/capabilities/thread.d.ts.map +1 -0
  96. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
  97. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  98. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +1 -2
  99. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +1 -1
  100. package/dist/types/src/components/GridSheet/GridSheet.d.ts +1 -2
  101. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  102. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +1 -2
  103. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  104. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +1 -2
  105. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/RangeList/RangeList.d.ts +1 -2
  107. package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
  108. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +1 -2
  109. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  110. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +2 -3
  111. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/SheetContext/SheetContext.d.ts +2 -2
  113. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  114. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +7 -0
  115. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -0
  116. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +6 -0
  117. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -0
  118. package/dist/types/src/components/SheetToolbar/align.d.ts +28 -0
  119. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -0
  120. package/dist/types/src/components/SheetToolbar/comment.d.ts +23 -0
  121. package/dist/types/src/components/SheetToolbar/comment.d.ts.map +1 -0
  122. package/dist/types/src/components/SheetToolbar/index.d.ts +2 -0
  123. package/dist/types/src/components/SheetToolbar/index.d.ts.map +1 -0
  124. package/dist/types/src/components/SheetToolbar/style.d.ts +26 -0
  125. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -0
  126. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts +8 -0
  127. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts.map +1 -0
  128. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +6 -0
  129. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -0
  130. package/dist/types/src/components/index.d.ts +3 -4
  131. package/dist/types/src/components/index.d.ts.map +1 -1
  132. package/dist/types/src/extensions/compute.stories.d.ts +2 -3
  133. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  134. package/dist/types/src/index.d.ts +2 -3
  135. package/dist/types/src/index.d.ts.map +1 -1
  136. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  137. package/dist/types/src/meta.d.ts +2 -2
  138. package/dist/types/src/meta.d.ts.map +1 -1
  139. package/dist/types/src/testing/testing.d.ts +1 -1
  140. package/dist/types/src/testing/testing.d.ts.map +1 -1
  141. package/dist/types/src/types/schema.d.ts +14 -14
  142. package/dist/types/src/types/schema.d.ts.map +1 -1
  143. package/dist/types/src/types/sheet-range-types.d.ts +1 -1
  144. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  145. package/dist/types/src/types/types.d.ts +0 -11
  146. package/dist/types/src/types/types.d.ts.map +1 -1
  147. package/dist/types/tsconfig.tsbuildinfo +1 -1
  148. package/package.json +46 -52
  149. package/src/SheetPlugin.tsx +68 -105
  150. package/src/capabilities/capabilities.ts +14 -0
  151. package/src/capabilities/compute-graph-registry.ts +25 -0
  152. package/src/capabilities/index.ts +13 -0
  153. package/src/capabilities/intent-resolver.ts +38 -0
  154. package/src/capabilities/markdown.ts +22 -0
  155. package/src/capabilities/react-surface.tsx +37 -0
  156. package/src/capabilities/thread.ts +14 -0
  157. package/src/components/GridSheet/GridSheet.stories.tsx +2 -0
  158. package/src/components/GridSheet/util.ts +1 -1
  159. package/src/components/SheetContainer/SheetContainer.stories.tsx +28 -22
  160. package/src/components/SheetContainer/SheetContainer.tsx +3 -8
  161. package/src/components/{Toolbar/Toolbar.stories.tsx → SheetToolbar/SheetToolbar.stories.tsx} +4 -8
  162. package/src/components/SheetToolbar/SheetToolbar.tsx +48 -0
  163. package/src/components/SheetToolbar/align.ts +68 -0
  164. package/src/components/SheetToolbar/comment.ts +56 -0
  165. package/src/components/{Toolbar → SheetToolbar}/index.ts +1 -1
  166. package/src/components/SheetToolbar/style.ts +72 -0
  167. package/src/components/SheetToolbar/useToolbarAction.ts +87 -0
  168. package/src/components/SheetToolbar/useToolbarState.ts +17 -0
  169. package/src/components/index.ts +0 -1
  170. package/src/extensions/compute.stories.tsx +2 -2
  171. package/src/index.ts +2 -5
  172. package/src/integrations/thread-ranges.ts +21 -10
  173. package/src/meta.ts +4 -2
  174. package/src/types/sheet-range-types.ts +1 -1
  175. package/src/types/types.ts +0 -26
  176. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs +0 -290
  177. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs.map +0 -7
  178. package/dist/lib/browser/chunk-A374JPWV.mjs.map +0 -7
  179. package/dist/lib/browser/chunk-Q4XS4YWF.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-RABELMEQ.mjs +0 -15
  181. package/dist/lib/browser/chunk-RABELMEQ.mjs.map +0 -7
  182. package/dist/lib/browser/meta.mjs +0 -9
  183. package/dist/lib/browser/meta.mjs.map +0 -7
  184. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs +0 -296
  185. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs.map +0 -7
  186. package/dist/lib/node/chunk-2ZVZI2KJ.cjs.map +0 -7
  187. package/dist/lib/node/chunk-FDEQ2PGJ.cjs.map +0 -7
  188. package/dist/lib/node/chunk-TQOJ7DG2.cjs.map +0 -7
  189. package/dist/lib/node/meta.cjs.map +0 -7
  190. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs +0 -291
  191. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs +0 -17
  193. package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-L5PQHVTX.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-NYYIDVR7.mjs.map +0 -7
  196. package/dist/lib/node-esm/meta.mjs +0 -10
  197. package/dist/lib/node-esm/meta.mjs.map +0 -7
  198. package/dist/types/src/components/SheetObjectSettings.d.ts +0 -7
  199. package/dist/types/src/components/SheetObjectSettings.d.ts.map +0 -1
  200. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -48
  201. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  202. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -7
  203. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
  204. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  205. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  206. package/dist/types/src/testing/playwright/playwright.config.d.ts +0 -3
  207. package/dist/types/src/testing/playwright/playwright.config.d.ts.map +0 -1
  208. package/src/components/SheetObjectSettings.tsx +0 -38
  209. package/src/components/Toolbar/Toolbar.tsx +0 -344
  210. /package/src/testing/playwright/{playwright.config.ts → playwright.config.cts} +0 -0
@@ -0,0 +1,27 @@
1
+ import {
2
+ SheetCapabilities
3
+ } from "./chunk-LXHRT3CC.mjs";
4
+ import "./chunk-GAFHJBCU.mjs";
5
+
6
+ // packages/plugins/plugin-sheet/src/capabilities/compute-graph-registry.ts
7
+ import { contributes } from "@dxos/app-framework";
8
+ import { ClientCapabilities } from "@dxos/plugin-client";
9
+ var compute_graph_registry_default = async (context) => {
10
+ const client = context.requestCapability(ClientCapabilities.Client);
11
+ let remoteFunctionUrl;
12
+ if (client.config.values.runtime?.services?.edge?.url) {
13
+ const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
14
+ url.protocol = "https";
15
+ remoteFunctionUrl = url.toString();
16
+ }
17
+ const { defaultPlugins, ComputeGraphRegistry } = await import("@dxos/compute");
18
+ const computeGraphRegistry = new ComputeGraphRegistry({
19
+ plugins: defaultPlugins,
20
+ remoteFunctionUrl
21
+ });
22
+ return contributes(SheetCapabilities.ComputeGraphRegistry, computeGraphRegistry);
23
+ };
24
+ export {
25
+ compute_graph_registry_default as default
26
+ };
27
+ //# sourceMappingURL=compute-graph-registry-EGPD4HEX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compute-graph-registry.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { SheetCapabilities } from './capabilities';\n\nexport default async (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n let remoteFunctionUrl: string | undefined;\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n\n // TODO(wittjosiah): This can probably be a module level import now due to lazy capability loading.\n // Async import removes direct dependency on hyperformula.\n const { defaultPlugins, ComputeGraphRegistry } = await import('@dxos/compute');\n const computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });\n\n return contributes(SheetCapabilities.ComputeGraphRegistry, computeGraphRegistry);\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,mBAAwC;AACjD,SAASC,0BAA0B;AAInC,IAAA,iCAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,MAAIC;AACJ,MAAIJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,KAAK;AACrD,UAAMA,MAAM,IAAIC,IAAI,cAAcX,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,GAAAA;AAChFA,QAAIE,WAAW;AACfR,wBAAoBM,IAAIG,SAAQ;EAClC;AAIA,QAAM,EAAEC,gBAAgBC,qBAAoB,IAAK,MAAM,OAAO,eAAA;AAC9D,QAAMC,uBAAuB,IAAID,qBAAqB;IAAEE,SAASH;IAAgBV;EAAkB,CAAA;AAEnG,SAAOc,YAAYC,kBAAkBJ,sBAAsBC,oBAAAA;AAC7D;",
6
+ "names": ["contributes", "ClientCapabilities", "context", "client", "requestCapability", "ClientCapabilities", "Client", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "defaultPlugins", "ComputeGraphRegistry", "computeGraphRegistry", "plugins", "contributes", "SheetCapabilities"]
7
+ }
@@ -1,51 +1,30 @@
1
1
  import {
2
- ComputeGraphContextProvider,
3
- SheetContainer,
4
- SheetObjectSettings,
5
- computeGraphFacet
6
- } from "./chunk-A374JPWV.mjs";
2
+ SheetCapabilities
3
+ } from "./chunk-LXHRT3CC.mjs";
7
4
  import {
8
- ApiError,
9
- CellValue,
10
- DEFAULT_COLS,
11
- DEFAULT_ROWS,
12
- MAX_COLS,
13
- MAX_ROWS,
14
- Range,
15
- RangeException,
16
- ReadonlyException,
17
- RowColumnMeta,
18
5
  SheetAction,
19
- SheetType,
20
- addressFromIndex,
21
- addressToIndex,
22
- alignKey,
23
- cellClassNameForRange,
24
- commentKey,
25
- compareIndexPositions,
26
- createIndex,
27
- createIndices,
28
- createSheet,
29
- initialize,
30
- insertIndices,
31
- mapFormulaIndicesToRefs,
32
- mapFormulaRefsToIndices,
33
- rangeFromIndex,
34
- rangeToIndex,
35
- styleKey
36
- } from "./chunk-Q4XS4YWF.mjs";
6
+ SheetType
7
+ } from "./chunk-OOSRC36N.mjs";
37
8
  import {
38
9
  SHEET_PLUGIN,
39
- meta_default
40
- } from "./chunk-RABELMEQ.mjs";
10
+ meta
11
+ } from "./chunk-GAFHJBCU.mjs";
12
+
13
+ // packages/plugins/plugin-sheet/src/capabilities/index.ts
14
+ import { lazy } from "@dxos/app-framework";
15
+ var ComputeGraphRegistry = lazy(() => import("./compute-graph-registry-EGPD4HEX.mjs"));
16
+ var IntentResolver = lazy(() => import("./intent-resolver-6S2RMLQF.mjs"));
17
+ var Markdown = lazy(() => import("./markdown-CFJIWHZX.mjs"));
18
+ var ReactSurface = lazy(() => import("./react-surface-PHKJZYFB.mjs"));
19
+ var Thread = lazy(() => import("./thread-7ZWW5EA7.mjs"));
41
20
 
42
21
  // packages/plugins/plugin-sheet/src/SheetPlugin.tsx
43
- import React from "react";
44
- import { createIntent, createResolver, createSurface, resolvePlugin } from "@dxos/app-framework";
22
+ import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
45
23
  import { FunctionType } from "@dxos/functions";
46
- import { invariant } from "@dxos/invariant";
47
- import { parseClientPlugin } from "@dxos/plugin-client/types";
48
- import { getSpace } from "@dxos/react-client/echo";
24
+ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
25
+ import { MarkdownEvents } from "@dxos/plugin-markdown";
26
+ import { SpaceCapabilities, ThreadEvents } from "@dxos/plugin-space";
27
+ import { defineObjectForm } from "@dxos/plugin-space/types";
49
28
 
50
29
  // packages/plugins/plugin-sheet/src/serializer.ts
51
30
  import { create, getObjectCore } from "@dxos/react-client/echo";
@@ -107,189 +86,80 @@ var translations_default = [
107
86
  ];
108
87
 
109
88
  // packages/plugins/plugin-sheet/src/SheetPlugin.tsx
110
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/SheetPlugin.tsx";
111
- var SheetPlugin = () => {
112
- let computeGraphRegistry;
113
- return {
114
- meta: meta_default,
115
- ready: async ({ plugins }) => {
116
- const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
117
- invariant(client, void 0, {
118
- F: __dxlog_file,
119
- L: 28,
120
- S: void 0,
121
- A: [
122
- "client",
123
- ""
124
- ]
125
- });
126
- let remoteFunctionUrl;
127
- if (client.config.values.runtime?.services?.edge?.url) {
128
- const url = new URL("/functions", client.config.values.runtime?.services?.edge?.url);
129
- url.protocol = "https";
130
- remoteFunctionUrl = url.toString();
131
- }
132
- const { defaultPlugins, ComputeGraphRegistry } = await import("@dxos/compute");
133
- computeGraphRegistry = new ComputeGraphRegistry({
134
- plugins: defaultPlugins,
135
- remoteFunctionUrl
136
- });
137
- },
138
- provides: {
139
- context: ({ children }) => {
140
- invariant(computeGraphRegistry, void 0, {
141
- F: __dxlog_file,
142
- L: 42,
143
- S: void 0,
144
- A: [
145
- "computeGraphRegistry",
146
- ""
147
- ]
148
- });
149
- return /* @__PURE__ */ React.createElement(ComputeGraphContextProvider, {
150
- registry: computeGraphRegistry
151
- }, children);
152
- },
89
+ var SheetPlugin = () => definePlugin(meta, [
90
+ defineModule({
91
+ id: `${meta.id}/module/compute-graph-registry`,
92
+ activatesOn: ClientEvents.ClientReady,
93
+ activate: ComputeGraphRegistry
94
+ }),
95
+ defineModule({
96
+ id: `${meta.id}/module/translations`,
97
+ activatesOn: Events.SetupTranslations,
98
+ activate: () => contributes(Capabilities.Translations, translations_default)
99
+ }),
100
+ defineModule({
101
+ id: `${meta.id}/module/metadata`,
102
+ activatesOn: Events.SetupMetadata,
103
+ activate: () => contributes(Capabilities.Metadata, {
104
+ id: SheetType.typename,
153
105
  metadata: {
154
- records: {
155
- [SheetType.typename]: {
156
- createObject: (props) => createIntent(SheetAction.Create, props),
157
- label: (object) => object instanceof SheetType ? object.name : void 0,
158
- placeholder: [
159
- "sheet title placeholder",
160
- {
161
- ns: SHEET_PLUGIN
162
- }
163
- ],
164
- icon: "ph--grid-nine--regular",
165
- serializer
106
+ label: (object) => object instanceof SheetType ? object.name : void 0,
107
+ placeholder: [
108
+ "sheet title placeholder",
109
+ {
110
+ ns: SHEET_PLUGIN
166
111
  }
167
- }
168
- },
169
- translations: translations_default,
170
- echo: {
171
- schema: [
172
- SheetType
173
112
  ],
174
- // TODO(wittjosiah): Factor out to common package/plugin.
175
- // FunctionType is currently registered here in case script plugin isn't enabled.
176
- system: [
177
- FunctionType
178
- ]
179
- },
180
- markdown: {
181
- extensions: ({ document: doc }) => {
182
- invariant(computeGraphRegistry, void 0, {
183
- F: __dxlog_file,
184
- L: 65,
185
- S: void 0,
186
- A: [
187
- "computeGraphRegistry",
188
- ""
189
- ]
190
- });
191
- const space = getSpace(doc);
192
- if (space) {
193
- const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
194
- return computeGraphFacet.of(computeGraph);
195
- }
196
- }
197
- },
198
- thread: {
199
- predicate: (data) => data instanceof SheetType,
200
- createSort: (sheet) => (indexA, indexB) => !indexA || !indexB ? 0 : compareIndexPositions(sheet, indexA, indexB)
201
- },
202
- surface: {
203
- definitions: () => [
204
- createSurface({
205
- id: `${SHEET_PLUGIN}/sheet`,
206
- role: [
207
- "article",
208
- "section"
209
- ],
210
- filter: (data) => data.subject instanceof SheetType && !!getSpace(data.subject),
211
- component: ({ data, role }) => /* @__PURE__ */ React.createElement(SheetContainer, {
212
- space: getSpace(data.subject),
213
- sheet: data.subject,
214
- role
215
- })
216
- }),
217
- createSurface({
218
- id: `${SHEET_PLUGIN}/settings`,
219
- role: "complementary--settings",
220
- filter: (data) => data.subject instanceof SheetType,
221
- component: ({ data }) => /* @__PURE__ */ React.createElement(SheetObjectSettings, {
222
- sheet: data.subject
223
- })
224
- })
225
- ]
226
- },
227
- intent: {
228
- resolvers: () => [
229
- createResolver(SheetAction.Create, ({ name }) => ({
230
- data: {
231
- object: createSheet({
232
- name
233
- })
234
- }
235
- })),
236
- createResolver(SheetAction.InsertAxis, ({ model, axis, index, count }) => {
237
- const _indices = model[axis === "col" ? "insertColumns" : "insertRows"](index, count);
238
- }),
239
- createResolver(SheetAction.DropAxis, ({ model, axis, axisIndex, deletionData }, undo) => {
240
- if (!undo) {
241
- const undoData = model[axis === "col" ? "dropColumn" : "dropRow"](axisIndex);
242
- return {
243
- undoable: {
244
- message: translations_default[0]["en-US"][SHEET_PLUGIN][`${axis} dropped label`],
245
- data: {
246
- ...undoData,
247
- model
248
- }
249
- }
250
- };
251
- } else if (undo && deletionData) {
252
- model[deletionData.axis === "col" ? "restoreColumn" : "restoreRow"](deletionData);
253
- }
254
- })
255
- ]
113
+ icon: "ph--grid-nine--regular",
114
+ serializer
256
115
  }
257
- }
258
- };
259
- };
260
-
261
- // packages/plugins/plugin-sheet/src/index.ts
262
- var src_default = SheetPlugin;
116
+ })
117
+ }),
118
+ defineModule({
119
+ id: `${meta.id}/module/object-form`,
120
+ activatesOn: ClientEvents.SetupSchema,
121
+ activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
122
+ objectSchema: SheetType,
123
+ getIntent: (props, options) => createIntent(SheetAction.Create, {
124
+ ...props,
125
+ space: options.space
126
+ })
127
+ }))
128
+ }),
129
+ // TODO(wittjosiah): Factor out to common package/plugin.
130
+ // FunctionType is currently registered here in case script plugin isn't enabled.
131
+ defineModule({
132
+ id: `${meta.id}/module/schema`,
133
+ activatesOn: ClientEvents.SetupSchema,
134
+ activate: () => contributes(ClientCapabilities.Schema, [
135
+ FunctionType
136
+ ])
137
+ }),
138
+ defineModule({
139
+ id: `${meta.id}/module/markdown`,
140
+ activatesOn: MarkdownEvents.SetupExtensions,
141
+ activate: Markdown
142
+ }),
143
+ defineModule({
144
+ id: `${meta.id}/module/thread`,
145
+ activatesOn: ThreadEvents.SetupThread,
146
+ activate: Thread
147
+ }),
148
+ defineModule({
149
+ id: `${meta.id}/module/react-surface`,
150
+ activatesOn: Events.SetupReactSurface,
151
+ activate: ReactSurface
152
+ }),
153
+ defineModule({
154
+ id: `${meta.id}/module/intent-resolver`,
155
+ activatesOn: Events.SetupIntentResolver,
156
+ activate: IntentResolver
157
+ })
158
+ ]);
263
159
  export {
264
- ApiError,
265
- CellValue,
266
- DEFAULT_COLS,
267
- DEFAULT_ROWS,
268
- MAX_COLS,
269
- MAX_ROWS,
270
- Range,
271
- RangeException,
272
- ReadonlyException,
273
- RowColumnMeta,
274
- SheetAction,
160
+ SHEET_PLUGIN,
161
+ SheetCapabilities,
275
162
  SheetPlugin,
276
- SheetType,
277
- addressFromIndex,
278
- addressToIndex,
279
- alignKey,
280
- cellClassNameForRange,
281
- commentKey,
282
- compareIndexPositions,
283
- createIndex,
284
- createIndices,
285
- createSheet,
286
- src_default as default,
287
- initialize,
288
- insertIndices,
289
- mapFormulaIndicesToRefs,
290
- mapFormulaRefsToIndices,
291
- rangeFromIndex,
292
- rangeToIndex,
293
- styleKey
163
+ meta
294
164
  };
295
165
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/SheetPlugin.tsx", "../../../src/serializer.ts", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, createResolver, createSurface, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { type ComputeGraphRegistry } from '@dxos/compute';\nimport { FunctionType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client/types';\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { ComputeGraphContextProvider, SheetContainer, SheetObjectSettings } from './components';\nimport { computeGraphFacet } from './extensions';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport { serializer } from './serializer';\nimport translations from './translations';\nimport { compareIndexPositions, createSheet, SheetAction, SheetType, type SheetPluginProvides } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let computeGraphRegistry: ComputeGraphRegistry | undefined;\n\n return {\n meta,\n ready: async ({ plugins }) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n invariant(client);\n let remoteFunctionUrl: string | undefined;\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n\n // Async import removes direct dependency on hyperformula.\n const { defaultPlugins, ComputeGraphRegistry } = await import('@dxos/compute');\n computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });\n },\n provides: {\n context: ({ children }) => {\n invariant(computeGraphRegistry);\n return <ComputeGraphContextProvider registry={computeGraphRegistry}>{children}</ComputeGraphContextProvider>;\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n createObject: (props: { name?: string }) => createIntent(SheetAction.Create, props),\n label: (object: any) => (object instanceof SheetType ? object.name : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n serializer,\n },\n },\n },\n translations,\n echo: {\n schema: [SheetType],\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n system: [FunctionType],\n },\n markdown: {\n extensions: ({ document: doc }) => {\n invariant(computeGraphRegistry);\n const space = getSpace(doc);\n if (space) {\n const computeGraph = computeGraphRegistry.getOrCreateGraph(space);\n return computeGraphFacet.of(computeGraph);\n }\n },\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (indexA, indexB) =>\n !indexA || !indexB ? 0 : compareIndexPositions(sheet, indexA, indexB),\n },\n surface: {\n definitions: () => [\n createSurface({\n id: `${SHEET_PLUGIN}/sheet`,\n role: ['article', 'section'],\n filter: (data): data is { subject: SheetType } =>\n data.subject instanceof SheetType && !!getSpace(data.subject),\n component: ({ data, role }) => (\n <SheetContainer space={getSpace(data.subject)!} sheet={data.subject} role={role} />\n ),\n }),\n createSurface({\n id: `${SHEET_PLUGIN}/settings`,\n role: 'complementary--settings',\n filter: (data): data is { subject: SheetType } => data.subject instanceof SheetType,\n component: ({ data }) => <SheetObjectSettings sheet={data.subject} />,\n }),\n ],\n },\n intent: {\n resolvers: () => [\n createResolver(SheetAction.Create, ({ name }) => ({ data: { object: createSheet({ name }) } })),\n createResolver(SheetAction.InsertAxis, ({ model, axis, index, count }) => {\n const _indices = model[axis === 'col' ? 'insertColumns' : 'insertRows'](index, count);\n }),\n createResolver(SheetAction.DropAxis, ({ model, axis, axisIndex, deletionData }, undo) => {\n if (!undo) {\n const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);\n return {\n undoable: {\n message: (translations[0]['en-US'][SHEET_PLUGIN] as any)[`${axis} dropped label`],\n data: { ...undoData, model },\n },\n };\n } else if (undo && deletionData) {\n model[deletionData.axis === 'col' ? 'restoreColumn' : 'restoreRow'](deletionData);\n }\n }),\n ],\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, getObjectCore } from '@dxos/react-client/echo';\n\nimport { SheetType } from './types';\n\nexport const serializer: TypedObjectSerializer<SheetType> = {\n serialize: async ({ object }): Promise<string> => {\n const { threads: _threads, ...sheet } = object;\n return JSON.stringify(sheet, null, 2);\n },\n\n deserialize: async ({ content, newId }) => {\n const { id, ...parsed } = JSON.parse(content);\n const sheet = create(SheetType, parsed);\n\n if (!newId) {\n const core = getObjectCore(sheet);\n core.id = id;\n }\n\n return sheet;\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\nimport { SheetType } from './types';\n\nexport default [\n {\n 'en-US': {\n [SheetType.typename]: {\n 'typename label': 'Sheet',\n },\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 'range key alignment label': 'Align',\n 'range key style label': 'Style',\n 'range value start label': 'Align left',\n 'range value center label': 'Align center',\n 'range value end label': 'Align right',\n 'range value softwrap label': 'Wrap text',\n 'range value highlight label': 'Highlight',\n 'toolbar action label': '{{value}}',\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 'add col before label': 'Add column before',\n 'add col after label': 'Add column after',\n 'delete col label': 'Delete column',\n 'add row before label': 'Add row before',\n 'add row after label': 'Add row after',\n 'delete row label': 'Delete row',\n 'range list heading': 'Ranges',\n 'range title': '{{position}} — {{value}}',\n 'col dropped label': 'Deleted a column',\n 'row dropped label': 'Deleted a row',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport * from './types';\nexport * from './SheetPlugin';\n\nexport default SheetPlugin;\n"],
5
- "mappings": "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",
6
- "names": ["React", "createIntent", "createResolver", "createSurface", "resolvePlugin", "FunctionType", "invariant", "parseClientPlugin", "getSpace", "create", "getObjectCore", "serializer", "serialize", "object", "threads", "_threads", "sheet", "JSON", "stringify", "deserialize", "content", "newId", "id", "parsed", "parse", "create", "SheetType", "core", "getObjectCore", "SheetType", "typename", "SHEET_PLUGIN", "SheetPlugin", "computeGraphRegistry", "meta", "ready", "plugins", "client", "resolvePlugin", "parseClientPlugin", "provides", "invariant", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "defaultPlugins", "ComputeGraphRegistry", "context", "children", "ComputeGraphContextProvider", "registry", "metadata", "records", "SheetType", "typename", "createObject", "props", "createIntent", "SheetAction", "Create", "label", "object", "name", "undefined", "placeholder", "ns", "SHEET_PLUGIN", "icon", "serializer", "translations", "echo", "schema", "system", "FunctionType", "markdown", "extensions", "document", "doc", "space", "getSpace", "computeGraph", "getOrCreateGraph", "computeGraphFacet", "of", "thread", "predicate", "data", "createSort", "sheet", "indexA", "indexB", "compareIndexPositions", "surface", "definitions", "createSurface", "id", "role", "filter", "subject", "component", "SheetContainer", "SheetObjectSettings", "intent", "resolvers", "createResolver", "createSheet", "InsertAxis", "model", "axis", "index", "count", "_indices", "DropAxis", "axisIndex", "deletionData", "undo", "undoData", "undoable", "message", "SheetPlugin"]
3
+ "sources": ["../../../src/capabilities/index.ts", "../../../src/SheetPlugin.tsx", "../../../src/serializer.ts", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const ComputeGraphRegistry = lazy(() => import('./compute-graph-registry'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const Markdown = lazy(() => import('./markdown'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Thread = lazy(() => import('./thread'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { FunctionType } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { Markdown, Thread, ReactSurface, IntentResolver, ComputeGraphRegistry } from './capabilities';\nimport { meta, SHEET_PLUGIN } from './meta';\nimport { serializer } from './serializer';\nimport translations from './translations';\nimport { SheetAction, SheetType } from './types';\n\nexport const SheetPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/compute-graph-registry`,\n activatesOn: ClientEvents.ClientReady,\n activate: ComputeGraphRegistry,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: SheetType.typename,\n metadata: {\n label: (object: any) => (object instanceof SheetType ? object.name : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n serializer,\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: SheetType,\n getIntent: (props, options) => createIntent(SheetAction.Create, { ...props, space: options.space }),\n }),\n ),\n }),\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [FunctionType]),\n }),\n defineModule({\n id: `${meta.id}/module/markdown`,\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n defineModule({\n id: `${meta.id}/module/thread`,\n activatesOn: ThreadEvents.SetupThread,\n activate: Thread,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, getObjectCore } from '@dxos/react-client/echo';\n\nimport { SheetType } from './types';\n\nexport const serializer: TypedObjectSerializer<SheetType> = {\n serialize: async ({ object }): Promise<string> => {\n const { threads: _threads, ...sheet } = object;\n return JSON.stringify(sheet, null, 2);\n },\n\n deserialize: async ({ content, newId }) => {\n const { id, ...parsed } = JSON.parse(content);\n const sheet = create(SheetType, parsed);\n\n if (!newId) {\n const core = getObjectCore(sheet);\n core.id = id;\n }\n\n return sheet;\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\nimport { SheetType } from './types';\n\nexport default [\n {\n 'en-US': {\n [SheetType.typename]: {\n 'typename label': 'Sheet',\n },\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 'range key alignment label': 'Align',\n 'range key style label': 'Style',\n 'range value start label': 'Align left',\n 'range value center label': 'Align center',\n 'range value end label': 'Align right',\n 'range value softwrap label': 'Wrap text',\n 'range value highlight label': 'Highlight',\n 'toolbar action label': '{{value}}',\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 'add col before label': 'Add column before',\n 'add col after label': 'Add column after',\n 'delete col label': 'Delete column',\n 'add row before label': 'Add row before',\n 'add row after label': 'Add row after',\n 'delete row label': 'Delete row',\n 'range list heading': 'Ranges',\n 'range title': '{{position}} — {{value}}',\n 'col dropped label': 'Deleted a column',\n 'row dropped label': 'Deleted a row',\n },\n },\n },\n] as const;\n"],
5
+ "mappings": "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",
6
+ "names": ["lazy", "ComputeGraphRegistry", "lazy", "IntentResolver", "Markdown", "ReactSurface", "Thread", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "FunctionType", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "create", "getObjectCore", "serializer", "serialize", "object", "threads", "_threads", "sheet", "JSON", "stringify", "deserialize", "content", "newId", "id", "parsed", "parse", "create", "SheetType", "core", "getObjectCore", "SheetType", "typename", "SHEET_PLUGIN", "SheetPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "ComputeGraphRegistry", "Events", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "SheetType", "typename", "metadata", "label", "object", "name", "undefined", "placeholder", "ns", "SHEET_PLUGIN", "icon", "serializer", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "props", "options", "createIntent", "SheetAction", "Create", "space", "ClientCapabilities", "Schema", "FunctionType", "MarkdownEvents", "SetupExtensions", "Markdown", "ThreadEvents", "SetupThread", "Thread", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver"]
7
7
  }
@@ -0,0 +1,56 @@
1
+ import {
2
+ SheetAction,
3
+ createSheet
4
+ } from "./chunk-OOSRC36N.mjs";
5
+ import {
6
+ SHEET_PLUGIN
7
+ } from "./chunk-GAFHJBCU.mjs";
8
+
9
+ // packages/plugins/plugin-sheet/src/capabilities/intent-resolver.ts
10
+ import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
11
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
12
+ createResolver({
13
+ intent: SheetAction.Create,
14
+ resolve: ({ name }) => ({
15
+ data: {
16
+ object: createSheet({
17
+ name
18
+ })
19
+ }
20
+ })
21
+ }),
22
+ createResolver({
23
+ intent: SheetAction.InsertAxis,
24
+ resolve: ({ model, axis, index, count }) => {
25
+ const _indices = model[axis === "col" ? "insertColumns" : "insertRows"](index, count);
26
+ }
27
+ }),
28
+ createResolver({
29
+ intent: SheetAction.DropAxis,
30
+ resolve: ({ model, axis, axisIndex, deletionData }, undo) => {
31
+ if (!undo) {
32
+ const undoData = model[axis === "col" ? "dropColumn" : "dropRow"](axisIndex);
33
+ return {
34
+ undoable: {
35
+ message: [
36
+ `${axis} dropped label`,
37
+ {
38
+ ns: SHEET_PLUGIN
39
+ }
40
+ ],
41
+ data: {
42
+ ...undoData,
43
+ model
44
+ }
45
+ }
46
+ };
47
+ } else if (undo && deletionData) {
48
+ model[deletionData.axis === "col" ? "restoreColumn" : "restoreRow"](deletionData);
49
+ }
50
+ }
51
+ })
52
+ ]);
53
+ export {
54
+ intent_resolver_default as default
55
+ };
56
+ //# sourceMappingURL=intent-resolver-6S2RMLQF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\n\nimport { SHEET_PLUGIN } from '../meta';\nimport { createSheet, SheetAction } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: SheetAction.Create,\n resolve: ({ name }) => ({ data: { object: createSheet({ name }) } }),\n }),\n createResolver({\n intent: SheetAction.InsertAxis,\n resolve: ({ model, axis, index, count }) => {\n const _indices = model[axis === 'col' ? 'insertColumns' : 'insertRows'](index, count);\n },\n }),\n createResolver({\n intent: SheetAction.DropAxis,\n resolve: ({ model, axis, axisIndex, deletionData }, undo) => {\n if (!undo) {\n const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);\n return {\n undoable: {\n message: [`${axis} dropped label`, { ns: SHEET_PLUGIN }],\n data: { ...undoData, model },\n },\n };\n } else if (undo && deletionData) {\n model[deletionData.axis === 'col' ? 'restoreColumn' : 'restoreRow'](deletionData);\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;AAIA,SAASA,aAAaC,cAAcC,sBAAsB;AAK1D,IAAA,0BAAe,MACbC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,YAAYC;IACpBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;MAAEC,MAAM;QAAEC,QAAQC,YAAY;UAAEH;QAAK,CAAA;MAAG;IAAE;EACpE,CAAA;EACAL,eAAe;IACbC,QAAQC,YAAYO;IACpBL,SAAS,CAAC,EAAEM,OAAOC,MAAMC,OAAOC,MAAK,MAAE;AACrC,YAAMC,WAAWJ,MAAMC,SAAS,QAAQ,kBAAkB,YAAA,EAAcC,OAAOC,KAAAA;IACjF;EACF,CAAA;EACAb,eAAe;IACbC,QAAQC,YAAYa;IACpBX,SAAS,CAAC,EAAEM,OAAOC,MAAMK,WAAWC,aAAY,GAAIC,SAAAA;AAClD,UAAI,CAACA,MAAM;AACT,cAAMC,WAAWT,MAAMC,SAAS,QAAQ,eAAe,SAAA,EAAWK,SAAAA;AAClE,eAAO;UACLI,UAAU;YACRC,SAAS;cAAC,GAAGV,IAAAA;cAAsB;gBAAEW,IAAIC;cAAa;;YACtDjB,MAAM;cAAE,GAAGa;cAAUT;YAAM;UAC7B;QACF;MACF,WAAWQ,QAAQD,cAAc;AAC/BP,cAAMO,aAAaN,SAAS,QAAQ,kBAAkB,YAAA,EAAcM,YAAAA;MACtE;IACF;EACF,CAAA;CACD;",
6
+ "names": ["contributes", "Capabilities", "createResolver", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "SheetAction", "Create", "resolve", "name", "data", "object", "createSheet", "InsertAxis", "model", "axis", "index", "count", "_indices", "DropAxis", "axisIndex", "deletionData", "undo", "undoData", "undoable", "message", "ns", "SHEET_PLUGIN"]
7
+ }
@@ -0,0 +1,26 @@
1
+ import {
2
+ SheetCapabilities
3
+ } from "./chunk-LXHRT3CC.mjs";
4
+ import {
5
+ computeGraphFacet
6
+ } from "./chunk-FOO6NGBM.mjs";
7
+ import "./chunk-GAFHJBCU.mjs";
8
+
9
+ // packages/plugins/plugin-sheet/src/capabilities/markdown.ts
10
+ import { contributes } from "@dxos/app-framework";
11
+ import { getSpace } from "@dxos/client/echo";
12
+ import { MarkdownCapabilities } from "@dxos/plugin-markdown";
13
+ var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions, [
14
+ ({ document: doc }) => {
15
+ const computeGraphRegistry = context.requestCapability(SheetCapabilities.ComputeGraphRegistry);
16
+ const space = getSpace(doc);
17
+ if (space) {
18
+ const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
19
+ return computeGraphFacet.of(computeGraph);
20
+ }
21
+ }
22
+ ]);
23
+ export {
24
+ markdown_default as default
25
+ };
26
+ //# sourceMappingURL=markdown-CFJIWHZX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/markdown.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/client/echo';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\n\nimport { SheetCapabilities } from './capabilities';\nimport { computeGraphFacet } from '../extensions';\n\nexport default (context: PluginsContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const computeGraphRegistry = context.requestCapability(SheetCapabilities.ComputeGraphRegistry);\n const space = getSpace(doc);\n if (space) {\n const computeGraph = computeGraphRegistry.getOrCreateGraph(space);\n return computeGraphFacet.of(computeGraph);\n }\n },\n ]);\n"],
5
+ "mappings": ";;;;;;;;;AAIA,SAASA,mBAAwC;AACjD,SAASC,gBAAgB;AACzB,SAASC,4BAA4B;AAKrC,IAAA,mBAAe,CAACC,YACdC,YAAYC,qBAAqBC,YAAY;EAC3C,CAAC,EAAEC,UAAUC,IAAG,MAAE;AAChB,UAAMC,uBAAuBN,QAAQO,kBAAkBC,kBAAkBC,oBAAoB;AAC7F,UAAMC,QAAQC,SAASN,GAAAA;AACvB,QAAIK,OAAO;AACT,YAAME,eAAeN,qBAAqBO,iBAAiBH,KAAAA;AAC3D,aAAOI,kBAAkBC,GAAGH,YAAAA;IAC9B;EACF;CACD;",
6
+ "names": ["contributes", "getSpace", "MarkdownCapabilities", "context", "contributes", "MarkdownCapabilities", "Extensions", "document", "doc", "computeGraphRegistry", "requestCapability", "SheetCapabilities", "ComputeGraphRegistry", "space", "getSpace", "computeGraph", "getOrCreateGraph", "computeGraphFacet", "of"]
7
+ }