@dxos/plugin-sheet 0.8.4-main.2e9d522 → 0.8.4-main.3eb6e50203

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 (263) hide show
  1. package/dist/lib/browser/SheetContainer-6DNFC4TY.mjs +397 -0
  2. package/dist/lib/browser/SheetContainer-6DNFC4TY.mjs.map +7 -0
  3. package/dist/lib/browser/anchor-sort-AMMLA66W.mjs +24 -0
  4. package/dist/lib/browser/anchor-sort-AMMLA66W.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-EDWHV64N.mjs +1473 -0
  6. package/dist/lib/browser/chunk-EDWHV64N.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-7HQX4NQP.mjs → chunk-IFLWVS2V.mjs} +6 -6
  8. package/dist/lib/browser/chunk-IFLWVS2V.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-KE3AKN5W.mjs +397 -0
  10. package/dist/lib/browser/chunk-KE3AKN5W.mjs.map +7 -0
  11. package/dist/lib/browser/compute-graph-registry-RC5L7RE4.mjs +21 -0
  12. package/dist/lib/browser/compute-graph-registry-RC5L7RE4.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +72 -82
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/markdown-D2T2DOVX.mjs +29 -0
  16. package/dist/lib/browser/markdown-D2T2DOVX.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/operation-resolver-P2RX75DA.mjs +79 -0
  19. package/dist/lib/browser/operation-resolver-P2RX75DA.mjs.map +7 -0
  20. package/dist/lib/browser/react-surface-45CRAB5G.mjs +51 -0
  21. package/dist/lib/browser/react-surface-45CRAB5G.mjs.map +7 -0
  22. package/dist/lib/browser/types/index.mjs +7 -12
  23. package/dist/lib/node-esm/SheetContainer-7H5R7M54.mjs +398 -0
  24. package/dist/lib/node-esm/SheetContainer-7H5R7M54.mjs.map +7 -0
  25. package/dist/lib/node-esm/anchor-sort-VHMBRX2E.mjs +25 -0
  26. package/dist/lib/node-esm/anchor-sort-VHMBRX2E.mjs.map +7 -0
  27. package/dist/lib/node-esm/chunk-6J5L47IB.mjs +398 -0
  28. package/dist/lib/node-esm/chunk-6J5L47IB.mjs.map +7 -0
  29. package/dist/lib/node-esm/chunk-AYSEWH7N.mjs +1474 -0
  30. package/dist/lib/node-esm/chunk-AYSEWH7N.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-Q6UYC4G5.mjs → chunk-PPOYR7DK.mjs} +6 -6
  32. package/dist/lib/node-esm/chunk-PPOYR7DK.mjs.map +7 -0
  33. package/dist/lib/node-esm/compute-graph-registry-ZGXVLVGD.mjs +22 -0
  34. package/dist/lib/node-esm/compute-graph-registry-ZGXVLVGD.mjs.map +7 -0
  35. package/dist/lib/node-esm/index.mjs +72 -82
  36. package/dist/lib/node-esm/index.mjs.map +4 -4
  37. package/dist/lib/node-esm/markdown-PTV72DLO.mjs +30 -0
  38. package/dist/lib/node-esm/markdown-PTV72DLO.mjs.map +7 -0
  39. package/dist/lib/node-esm/meta.json +1 -1
  40. package/dist/lib/node-esm/operation-resolver-WPIWQ5IO.mjs +80 -0
  41. package/dist/lib/node-esm/operation-resolver-WPIWQ5IO.mjs.map +7 -0
  42. package/dist/lib/node-esm/react-surface-ITV2L6HK.mjs +52 -0
  43. package/dist/lib/node-esm/react-surface-ITV2L6HK.mjs.map +7 -0
  44. package/dist/lib/node-esm/types/index.mjs +7 -12
  45. package/dist/types/src/SheetPlugin.d.ts +2 -1
  46. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +6 -0
  48. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
  50. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts +5 -0
  52. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts.map +1 -0
  53. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts +3 -0
  54. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/index.d.ts +5 -11
  56. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
  58. package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
  60. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  62. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  64. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  65. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  66. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  68. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  69. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  70. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
  71. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  73. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +51 -3
  74. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -20
  76. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  77. package/dist/types/src/components/GridSheet/util.d.ts +1 -1
  78. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  79. package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
  80. package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
  81. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +5 -6
  82. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  83. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +54 -5
  84. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  85. package/dist/types/src/components/SheetContext/SheetContext.d.ts +3 -3
  86. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  87. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
  88. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  89. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +88 -4
  90. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/SheetToolbar/align.d.ts +13 -20
  92. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  93. package/dist/types/src/components/SheetToolbar/style.d.ts +12 -18
  94. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  95. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +14 -1
  96. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
  97. package/dist/types/src/components/index.d.ts +1 -1
  98. package/dist/types/src/components/index.d.ts.map +1 -1
  99. package/dist/types/src/extensions/compute.d.ts +1 -1
  100. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  101. package/dist/types/src/extensions/compute.stories.d.ts +10 -13
  102. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  103. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  104. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  105. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
  106. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  107. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  108. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  109. package/dist/types/src/index.d.ts +1 -1
  110. package/dist/types/src/index.d.ts.map +1 -1
  111. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  112. package/dist/types/src/meta.d.ts +2 -3
  113. package/dist/types/src/meta.d.ts.map +1 -1
  114. package/dist/types/src/model/sheet-model.d.ts +6 -6
  115. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  116. package/dist/types/src/model/testing.d.ts +2 -2
  117. package/dist/types/src/model/testing.d.ts.map +1 -1
  118. package/dist/types/src/model/useSheetModel.d.ts +2 -2
  119. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  120. package/dist/types/src/playwright/sheet-manager.d.ts +1 -1
  121. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  122. package/dist/types/src/serializer.d.ts +2 -2
  123. package/dist/types/src/serializer.d.ts.map +1 -1
  124. package/dist/types/src/testing/data.d.ts +2 -2
  125. package/dist/types/src/testing/data.d.ts.map +1 -1
  126. package/dist/types/src/testing/testing.d.ts +27 -3
  127. package/dist/types/src/testing/testing.d.ts.map +1 -1
  128. package/dist/types/src/translations.d.ts +3 -2
  129. package/dist/types/src/translations.d.ts.map +1 -1
  130. package/dist/types/src/types/Sheet.d.ts +76 -0
  131. package/dist/types/src/types/Sheet.d.ts.map +1 -0
  132. package/dist/types/src/types/capabilities.d.ts +6 -0
  133. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  134. package/dist/types/src/types/index.d.ts +2 -1
  135. package/dist/types/src/types/index.d.ts.map +1 -1
  136. package/dist/types/src/types/sheet-range-types.d.ts +2 -2
  137. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  138. package/dist/types/src/types/types.d.ts +92 -75
  139. package/dist/types/src/types/types.d.ts.map +1 -1
  140. package/dist/types/src/types/util.d.ts +10 -10
  141. package/dist/types/src/types/util.d.ts.map +1 -1
  142. package/dist/types/tsconfig.tsbuildinfo +1 -1
  143. package/package.json +82 -72
  144. package/src/SheetPlugin.tsx +52 -64
  145. package/src/capabilities/anchor-sort/anchor-sort.ts +27 -0
  146. package/src/capabilities/anchor-sort/index.ts +7 -0
  147. package/src/capabilities/compute-graph-registry/compute-graph-registry.ts +27 -0
  148. package/src/capabilities/compute-graph-registry/index.ts +7 -0
  149. package/src/capabilities/index.ts +5 -9
  150. package/src/capabilities/markdown/index.ts +7 -0
  151. package/src/capabilities/markdown/markdown.ts +30 -0
  152. package/src/capabilities/operation-resolver/index.ts +7 -0
  153. package/src/capabilities/operation-resolver/operation-resolver.ts +77 -0
  154. package/src/capabilities/react-surface/index.ts +7 -0
  155. package/src/capabilities/react-surface/react-surface.tsx +43 -0
  156. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  157. package/src/components/ComputeGraph/compute-graph.stories.tsx +21 -20
  158. package/src/components/FunctionEditor/FunctionEditor.tsx +2 -2
  159. package/src/components/GridSheet/GridSheet.stories.tsx +22 -16
  160. package/src/components/GridSheet/GridSheet.tsx +63 -52
  161. package/src/components/GridSheet/SheetCellEditor.stories.tsx +44 -43
  162. package/src/components/GridSheet/util.ts +17 -11
  163. package/src/components/RangeList/RangeList.tsx +13 -10
  164. package/src/components/SheetContainer/SheetContainer.stories.tsx +69 -45
  165. package/src/components/SheetContainer/SheetContainer.tsx +30 -18
  166. package/src/components/SheetContext/SheetContext.tsx +9 -9
  167. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +19 -13
  168. package/src/components/SheetToolbar/SheetToolbar.tsx +52 -42
  169. package/src/components/SheetToolbar/align.ts +46 -20
  170. package/src/components/SheetToolbar/style.ts +48 -18
  171. package/src/components/SheetToolbar/useToolbarState.ts +22 -5
  172. package/src/extensions/compute.stories.tsx +43 -30
  173. package/src/extensions/compute.ts +3 -4
  174. package/src/extensions/editor/index.ts +1 -1
  175. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
  176. package/src/extensions/editor/{extension.ts → sheet-extension.ts} +7 -4
  177. package/src/index.ts +1 -1
  178. package/src/integrations/thread-ranges.ts +40 -49
  179. package/src/meta.ts +9 -7
  180. package/src/model/sheet-model.test.ts +5 -4
  181. package/src/model/sheet-model.ts +85 -53
  182. package/src/model/testing.ts +4 -4
  183. package/src/model/useSheetModel.ts +2 -2
  184. package/src/playwright/playwright.config.ts +1 -1
  185. package/src/playwright/sheet-manager.ts +1 -1
  186. package/src/playwright/sheet.spec.ts +2 -1
  187. package/src/sanity.test.ts +4 -5
  188. package/src/serializer.ts +4 -4
  189. package/src/testing/data.ts +2 -2
  190. package/src/testing/testing.tsx +11 -5
  191. package/src/translations.ts +3 -2
  192. package/src/types/Sheet.ts +97 -0
  193. package/src/types/capabilities.ts +14 -0
  194. package/src/types/index.ts +2 -1
  195. package/src/types/sheet-range-types.ts +2 -2
  196. package/src/types/types.ts +84 -49
  197. package/src/types/util.ts +14 -41
  198. package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs +0 -351
  199. package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs.map +0 -7
  200. package/dist/lib/browser/anchor-sort-VHURGBOY.mjs +0 -24
  201. package/dist/lib/browser/anchor-sort-VHURGBOY.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
  203. package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-7HQX4NQP.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-JUOVL3LE.mjs +0 -847
  206. package/dist/lib/browser/chunk-JUOVL3LE.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-KJWZUQVA.mjs +0 -15
  208. package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-SI4X5GUR.mjs +0 -892
  210. package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +0 -7
  211. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs +0 -30
  212. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-WOJGZMSV.mjs +0 -56
  214. package/dist/lib/browser/intent-resolver-WOJGZMSV.mjs.map +0 -7
  215. package/dist/lib/browser/markdown-VXMIPUQC.mjs +0 -26
  216. package/dist/lib/browser/markdown-VXMIPUQC.mjs.map +0 -7
  217. package/dist/lib/browser/react-surface-SE4HGAEH.mjs +0 -53
  218. package/dist/lib/browser/react-surface-SE4HGAEH.mjs.map +0 -7
  219. package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs +0 -352
  220. package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs.map +0 -7
  221. package/dist/lib/node-esm/anchor-sort-CTJGOPET.mjs +0 -25
  222. package/dist/lib/node-esm/anchor-sort-CTJGOPET.mjs.map +0 -7
  223. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
  224. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
  225. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs +0 -16
  226. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
  227. package/dist/lib/node-esm/chunk-CADTJFAS.mjs +0 -893
  228. package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-IFMIRCZH.mjs +0 -848
  230. package/dist/lib/node-esm/chunk-IFMIRCZH.mjs.map +0 -7
  231. package/dist/lib/node-esm/chunk-Q6UYC4G5.mjs.map +0 -7
  232. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs +0 -31
  233. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs.map +0 -7
  234. package/dist/lib/node-esm/intent-resolver-PZRXBNIJ.mjs +0 -57
  235. package/dist/lib/node-esm/intent-resolver-PZRXBNIJ.mjs.map +0 -7
  236. package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs +0 -27
  237. package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs.map +0 -7
  238. package/dist/lib/node-esm/react-surface-LAU23XBH.mjs +0 -54
  239. package/dist/lib/node-esm/react-surface-LAU23XBH.mjs.map +0 -7
  240. package/dist/types/src/capabilities/anchor-sort.d.ts +0 -6
  241. package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
  242. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  243. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  244. package/dist/types/src/capabilities/compute-graph-registry.d.ts +0 -4
  245. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +0 -1
  246. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  247. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  248. package/dist/types/src/capabilities/markdown.d.ts +0 -6
  249. package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
  250. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  251. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  252. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  253. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  254. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  255. package/dist/types/src/types/schema.d.ts +0 -37
  256. package/dist/types/src/types/schema.d.ts.map +0 -1
  257. package/src/capabilities/anchor-sort.ts +0 -22
  258. package/src/capabilities/capabilities.ts +0 -14
  259. package/src/capabilities/compute-graph-registry.ts +0 -28
  260. package/src/capabilities/intent-resolver.ts +0 -38
  261. package/src/capabilities/markdown.ts +0 -22
  262. package/src/capabilities/react-surface.tsx +0 -39
  263. package/src/types/schema.ts +0 -61
@@ -1,28 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes, type PluginContext } from '@dxos/app-framework';
6
- import { ClientCapabilities } from '@dxos/plugin-client';
7
-
8
- import { SheetCapabilities } from './capabilities';
9
-
10
- const isSecure = (protocol: string) => {
11
- return protocol === 'https:' || protocol === 'wss:';
12
- };
13
-
14
- export default async (context: PluginContext) => {
15
- const client = context.getCapability(ClientCapabilities.Client);
16
- let remoteFunctionUrl: string | undefined;
17
- if (client.config.values.runtime?.services?.edge?.url) {
18
- const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);
19
- url.protocol = isSecure(url.protocol) ? 'https' : 'http';
20
- remoteFunctionUrl = url.toString();
21
- }
22
-
23
- // TODO(wittjosiah): This can probably be a module level import now due to lazy capability loading.
24
- // Async import removes direct dependency on hyperformula.
25
- const { defaultPlugins, ComputeGraphRegistry } = await import('@dxos/compute');
26
- const computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });
27
- return contributes(SheetCapabilities.ComputeGraphRegistry, computeGraphRegistry);
28
- };
@@ -1,38 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes, Capabilities, createResolver } from '@dxos/app-framework';
6
-
7
- import { SHEET_PLUGIN } from '../meta';
8
- import { createSheet, SheetAction } from '../types';
9
-
10
- export default () =>
11
- contributes(Capabilities.IntentResolver, [
12
- createResolver({
13
- intent: SheetAction.Create,
14
- resolve: ({ name }) => ({ data: { object: createSheet({ name }) } }),
15
- }),
16
- createResolver({
17
- intent: SheetAction.InsertAxis,
18
- resolve: ({ model, axis, index, count }) => {
19
- const _indices = model[axis === 'col' ? 'insertColumns' : 'insertRows'](index, count);
20
- },
21
- }),
22
- createResolver({
23
- intent: SheetAction.DropAxis,
24
- resolve: ({ model, axis, axisIndex, deletionData }, undo) => {
25
- if (!undo) {
26
- const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);
27
- return {
28
- undoable: {
29
- message: [`${axis} dropped label`, { ns: SHEET_PLUGIN }],
30
- data: { ...undoData, model },
31
- },
32
- };
33
- } else if (undo && deletionData) {
34
- model[deletionData.axis === 'col' ? 'restoreColumn' : 'restoreRow'](deletionData);
35
- }
36
- },
37
- }),
38
- ]);
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes, type PluginContext } from '@dxos/app-framework';
6
- import { getSpace } from '@dxos/client/echo';
7
- import { MarkdownCapabilities } from '@dxos/plugin-markdown';
8
-
9
- import { SheetCapabilities } from './capabilities';
10
- import { computeGraphFacet } from '../extensions';
11
-
12
- export default (context: PluginContext) =>
13
- contributes(MarkdownCapabilities.Extensions, [
14
- ({ document: doc }) => {
15
- const computeGraphRegistry = context.getCapability(SheetCapabilities.ComputeGraphRegistry);
16
- const space = getSpace(doc);
17
- if (space) {
18
- const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
19
- return computeGraphFacet.of(computeGraph);
20
- }
21
- },
22
- ]);
@@ -1,39 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';
8
- import { Obj } from '@dxos/echo';
9
- import { getSpace } from '@dxos/react-client/echo';
10
-
11
- import { SheetCapabilities } from './capabilities';
12
- import { ComputeGraphContextProvider, RangeList, SheetContainer } from '../components';
13
- import { SHEET_PLUGIN } from '../meta';
14
- import { SheetType } from '../types';
15
-
16
- export default () =>
17
- contributes(Capabilities.ReactSurface, [
18
- createSurface({
19
- id: `${SHEET_PLUGIN}/sheet`,
20
- role: ['article', 'section'],
21
- filter: (data): data is { subject: SheetType } =>
22
- Obj.instanceOf(SheetType, data.subject) && !!getSpace(data.subject),
23
- component: ({ data, role }) => {
24
- const computeGraphRegistry = useCapability(SheetCapabilities.ComputeGraphRegistry);
25
-
26
- return (
27
- <ComputeGraphContextProvider registry={computeGraphRegistry}>
28
- <SheetContainer space={getSpace(data.subject)!} sheet={data.subject} role={role} />
29
- </ComputeGraphContextProvider>
30
- );
31
- },
32
- }),
33
- createSurface({
34
- id: `${SHEET_PLUGIN}/object-settings`,
35
- role: 'object-settings',
36
- filter: (data): data is { subject: SheetType } => Obj.instanceOf(SheetType, data.subject),
37
- component: ({ data }) => <RangeList sheet={data.subject} />,
38
- }),
39
- ]);
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { Schema } from 'effect';
6
-
7
- import { Type } from '@dxos/echo';
8
-
9
- export const CellValue = Schema.Struct({
10
- // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
11
- // Consider import/export; natural access for other plugins. Special handling for currency (precision).
12
- // TODO(burdon): Automerge (long string) or short string or number.
13
- value: Schema.Any,
14
- });
15
-
16
- export type CellValue = Schema.Schema.Type<typeof CellValue>;
17
-
18
- // TODO(burdon): IMPORTANT: Reconcile with Field definition.
19
- export const Range = Schema.Struct({
20
- range: Schema.String,
21
- key: Schema.String,
22
- value: Schema.String,
23
- });
24
-
25
- export type Range = Schema.Schema.Type<typeof Range>;
26
-
27
- // TODO(burdon): Visibility, locked, frozen, etc.
28
- export const RowColumnMeta = Schema.Struct({
29
- size: Schema.optional(Schema.Number),
30
- });
31
-
32
- // TODO(burdon): Reconcile col/column (across packages).
33
- // TODO(burdon): Index to all updates when rows/columns are inserted/deleted.
34
- export const SheetType = Schema.Struct({
35
- name: Schema.optional(Schema.String),
36
-
37
- // Sparse map of cells referenced by index.
38
- cells: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(CellValue) })),
39
-
40
- // Ordered row indices.
41
- rows: Schema.mutable(Schema.Array(Schema.String)),
42
-
43
- // Ordered column indices.
44
- columns: Schema.mutable(Schema.Array(Schema.String)),
45
-
46
- // Row metadata referenced by index.
47
- rowMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),
48
-
49
- // Column metadata referenced by index.
50
- columnMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),
51
-
52
- // Cell formatting referenced by indexed range.
53
- ranges: Schema.mutable(Schema.Array(Range)),
54
- }).pipe(
55
- Type.Obj({
56
- typename: 'dxos.org/type/Sheet',
57
- version: '0.1.0',
58
- }),
59
- );
60
-
61
- export interface SheetType extends Schema.Schema.Type<typeof SheetType> {}