@dxos/plugin-sheet 0.8.4-main.c1de068 → 0.8.4-main.dedc0f3

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 (142) hide show
  1. package/dist/lib/browser/{SheetContainer-KDGD4AVG.mjs → SheetContainer-OUN6AARA.mjs} +20 -21
  2. package/dist/lib/browser/SheetContainer-OUN6AARA.mjs.map +7 -0
  3. package/dist/lib/browser/{anchor-sort-VHURGBOY.mjs → anchor-sort-7WD2VGXW.mjs} +2 -2
  4. package/dist/lib/browser/{anchor-sort-VHURGBOY.mjs.map → anchor-sort-7WD2VGXW.mjs.map} +1 -1
  5. package/dist/lib/browser/{chunk-7HQX4NQP.mjs → chunk-SSN4HYJL.mjs} +6 -6
  6. package/dist/lib/browser/chunk-SSN4HYJL.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-JUOVL3LE.mjs → chunk-X4EWLDT3.mjs} +197 -193
  8. package/dist/lib/browser/chunk-X4EWLDT3.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-SI4X5GUR.mjs → chunk-XSXUU6FO.mjs} +19 -5
  10. package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +7 -0
  11. package/dist/lib/browser/{compute-graph-registry-VG7VP7IV.mjs → compute-graph-registry-6YJHXORG.mjs} +1 -1
  12. package/dist/lib/{node-esm/compute-graph-registry-3K3Q2A5T.mjs.map → browser/compute-graph-registry-6YJHXORG.mjs.map} +2 -2
  13. package/dist/lib/browser/index.mjs +7 -7
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/{intent-resolver-WOJGZMSV.mjs → intent-resolver-ROEY4LHM.mjs} +3 -3
  16. package/dist/lib/browser/{intent-resolver-WOJGZMSV.mjs.map → intent-resolver-ROEY4LHM.mjs.map} +3 -3
  17. package/dist/lib/browser/{markdown-VXMIPUQC.mjs → markdown-VOY636TS.mjs} +2 -2
  18. package/dist/lib/browser/markdown-VOY636TS.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-surface-SE4HGAEH.mjs → react-surface-XCNAVF2M.mjs} +4 -4
  21. package/dist/lib/browser/{react-surface-SE4HGAEH.mjs.map → react-surface-XCNAVF2M.mjs.map} +2 -2
  22. package/dist/lib/browser/types/index.mjs +1 -1
  23. package/dist/lib/node-esm/{SheetContainer-RMG24NZC.mjs → SheetContainer-NFLLTGNV.mjs} +20 -21
  24. package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs.map +7 -0
  25. package/dist/lib/node-esm/{anchor-sort-CTJGOPET.mjs → anchor-sort-ACQDUIPU.mjs} +2 -2
  26. package/dist/lib/node-esm/{anchor-sort-CTJGOPET.mjs.map → anchor-sort-ACQDUIPU.mjs.map} +1 -1
  27. package/dist/lib/node-esm/{chunk-Q6UYC4G5.mjs → chunk-IK4O7FUJ.mjs} +6 -6
  28. package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-CADTJFAS.mjs → chunk-ODP4L4OV.mjs} +19 -5
  30. package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-IFMIRCZH.mjs → chunk-PYF4ZJXN.mjs} +197 -193
  32. package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs.map +7 -0
  33. package/dist/lib/node-esm/{compute-graph-registry-3K3Q2A5T.mjs → compute-graph-registry-ET5KJNLV.mjs} +1 -1
  34. package/dist/lib/{browser/compute-graph-registry-VG7VP7IV.mjs.map → node-esm/compute-graph-registry-ET5KJNLV.mjs.map} +2 -2
  35. package/dist/lib/node-esm/index.mjs +7 -7
  36. package/dist/lib/node-esm/index.mjs.map +3 -3
  37. package/dist/lib/node-esm/{intent-resolver-PZRXBNIJ.mjs → intent-resolver-HESRI2ML.mjs} +3 -3
  38. package/dist/lib/node-esm/{intent-resolver-PZRXBNIJ.mjs.map → intent-resolver-HESRI2ML.mjs.map} +3 -3
  39. package/dist/lib/node-esm/{markdown-4VPQJZNZ.mjs → markdown-P4CLZ24C.mjs} +2 -2
  40. package/dist/lib/node-esm/markdown-P4CLZ24C.mjs.map +7 -0
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/{react-surface-LAU23XBH.mjs → react-surface-KE3EEVF4.mjs} +4 -4
  43. package/dist/lib/node-esm/{react-surface-LAU23XBH.mjs.map → react-surface-KE3EEVF4.mjs.map} +2 -2
  44. package/dist/lib/node-esm/types/index.mjs +1 -1
  45. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  46. package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
  47. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/index.d.ts +6 -8
  49. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  51. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/markdown.d.ts +1 -3
  53. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  55. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  56. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  57. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -3
  58. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  60. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +49 -2
  61. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  62. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -19
  63. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  64. package/dist/types/src/components/GridSheet/util.d.ts +1 -1
  65. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  66. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  67. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +49 -2
  68. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  69. package/dist/types/src/components/SheetContext/SheetContext.d.ts +1 -1
  70. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  71. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  72. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -3
  73. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  75. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  76. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  77. package/dist/types/src/extensions/compute.d.ts +1 -1
  78. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  79. package/dist/types/src/extensions/compute.stories.d.ts +10 -12
  80. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  81. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  82. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  83. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
  84. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  85. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  86. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  87. package/dist/types/src/model/sheet-model.d.ts +1 -1
  88. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  89. package/dist/types/src/playwright/sheet-manager.d.ts +1 -1
  90. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  91. package/dist/types/src/testing/testing.d.ts.map +1 -1
  92. package/dist/types/src/types/types.d.ts +1 -1
  93. package/dist/types/src/types/types.d.ts.map +1 -1
  94. package/dist/types/src/types/util.d.ts.map +1 -1
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +56 -54
  97. package/src/SheetPlugin.tsx +2 -2
  98. package/src/capabilities/anchor-sort.ts +1 -1
  99. package/src/capabilities/compute-graph-registry.ts +1 -1
  100. package/src/capabilities/intent-resolver.ts +2 -2
  101. package/src/capabilities/markdown.ts +3 -2
  102. package/src/capabilities/react-surface.tsx +2 -1
  103. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  104. package/src/components/ComputeGraph/compute-graph.stories.tsx +13 -10
  105. package/src/components/GridSheet/GridSheet.stories.tsx +8 -5
  106. package/src/components/GridSheet/GridSheet.tsx +19 -18
  107. package/src/components/GridSheet/SheetCellEditor.stories.tsx +37 -38
  108. package/src/components/GridSheet/util.ts +6 -6
  109. package/src/components/SheetContainer/SheetContainer.stories.tsx +9 -6
  110. package/src/components/SheetContainer/SheetContainer.tsx +1 -1
  111. package/src/components/SheetContext/SheetContext.tsx +1 -1
  112. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +10 -7
  113. package/src/components/SheetToolbar/SheetToolbar.tsx +16 -15
  114. package/src/components/SheetToolbar/align.ts +4 -3
  115. package/src/components/SheetToolbar/style.ts +2 -2
  116. package/src/extensions/compute.stories.tsx +20 -19
  117. package/src/extensions/compute.ts +2 -3
  118. package/src/extensions/editor/index.ts +1 -1
  119. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
  120. package/src/integrations/thread-ranges.ts +4 -4
  121. package/src/model/sheet-model.test.ts +2 -1
  122. package/src/model/sheet-model.ts +6 -6
  123. package/src/playwright/sheet-manager.ts +1 -1
  124. package/src/playwright/sheet.spec.ts +1 -1
  125. package/src/sanity.test.ts +1 -1
  126. package/src/testing/testing.tsx +1 -1
  127. package/src/types/types.ts +2 -1
  128. package/src/types/util.ts +3 -3
  129. package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-7HQX4NQP.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-JUOVL3LE.mjs.map +0 -7
  132. package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +0 -7
  133. package/dist/lib/browser/markdown-VXMIPUQC.mjs.map +0 -7
  134. package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs.map +0 -7
  135. package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +0 -7
  136. package/dist/lib/node-esm/chunk-IFMIRCZH.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-Q6UYC4G5.mjs.map +0 -7
  138. package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs.map +0 -7
  139. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  140. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  141. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  142. /package/src/extensions/editor/{extension.ts → sheet-extension.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-sheet",
3
- "version": "0.8.4-main.c1de068",
3
+ "version": "0.8.4-main.dedc0f3",
4
4
  "description": "Braneframe sketch plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,11 +10,13 @@
10
10
  "type": "module",
11
11
  "exports": {
12
12
  ".": {
13
+ "source": "./src/index.ts",
13
14
  "types": "./dist/types/src/index.d.ts",
14
15
  "browser": "./dist/lib/browser/index.mjs",
15
16
  "node": "./dist/lib/node-esm/index.mjs"
16
17
  },
17
18
  "./types": {
19
+ "source": "./src/types/index.ts",
18
20
  "types": "./dist/types/src/types/index.d.ts",
19
21
  "browser": "./dist/lib/browser/types/index.mjs",
20
22
  "node": "./dist/lib/node-esm/types/index.mjs"
@@ -33,10 +35,10 @@
33
35
  "src"
34
36
  ],
35
37
  "dependencies": {
36
- "@codemirror/autocomplete": "^6.18.1",
37
- "@codemirror/language": "^6.10.3",
38
- "@codemirror/state": "^6.4.1",
39
- "@codemirror/view": "^6.34.1",
38
+ "@codemirror/autocomplete": "^6.18.7",
39
+ "@codemirror/language": "^6.11.3",
40
+ "@codemirror/state": "^6.5.2",
41
+ "@codemirror/view": "^6.38.2",
40
42
  "@dnd-kit/core": "^6.0.5",
41
43
  "@dnd-kit/modifiers": "^6.0.0",
42
44
  "@dnd-kit/sortable": "^7.0.1",
@@ -54,64 +56,64 @@
54
56
  "re-resizable": "^6.9.17",
55
57
  "react-markdown": "^8.0.5",
56
58
  "react-resize-detector": "^11.0.1",
57
- "@dxos/app-framework": "0.8.4-main.c1de068",
58
- "@dxos/async": "0.8.4-main.c1de068",
59
- "@dxos/context": "0.8.4-main.c1de068",
60
- "@dxos/client": "0.8.4-main.c1de068",
61
- "@dxos/crypto": "0.8.4-main.c1de068",
62
- "@dxos/compute": "0.8.4-main.c1de068",
63
- "@dxos/debug": "0.8.4-main.c1de068",
64
- "@dxos/echo": "0.8.4-main.c1de068",
65
- "@dxos/echo-schema": "0.8.4-main.c1de068",
66
- "@dxos/functions": "0.8.4-main.c1de068",
67
- "@dxos/invariant": "0.8.4-main.c1de068",
68
- "@dxos/keys": "0.8.4-main.c1de068",
69
- "@dxos/lit-grid": "0.8.4-main.c1de068",
70
- "@dxos/live-object": "0.8.4-main.c1de068",
71
- "@dxos/log": "0.8.4-main.c1de068",
72
- "@dxos/plugin-client": "0.8.4-main.c1de068",
73
- "@dxos/plugin-deck": "0.8.4-main.c1de068",
74
- "@dxos/plugin-attention": "0.8.4-main.c1de068",
75
- "@dxos/plugin-graph": "0.8.4-main.c1de068",
76
- "@dxos/plugin-script": "0.8.4-main.c1de068",
77
- "@dxos/plugin-markdown": "0.8.4-main.c1de068",
78
- "@dxos/plugin-space": "0.8.4-main.c1de068",
79
- "@dxos/plugin-stack": "0.8.4-main.c1de068",
80
- "@dxos/plugin-thread": "0.8.4-main.c1de068",
81
- "@dxos/react-client": "0.8.4-main.c1de068",
82
- "@dxos/react-ui-attention": "0.8.4-main.c1de068",
83
- "@dxos/react-hooks": "0.8.4-main.c1de068",
84
- "@dxos/react-ui-editor": "0.8.4-main.c1de068",
85
- "@dxos/react-ui-form": "0.8.4-main.c1de068",
86
- "@dxos/react-ui-grid": "0.8.4-main.c1de068",
87
- "@dxos/react-ui-list": "0.8.4-main.c1de068",
88
- "@dxos/react-ui-menu": "0.8.4-main.c1de068",
89
- "@dxos/schema": "0.8.4-main.c1de068",
90
- "@dxos/util": "0.8.4-main.c1de068",
91
- "@dxos/react-ui-stack": "0.8.4-main.c1de068"
59
+ "@dxos/app-framework": "0.8.4-main.dedc0f3",
60
+ "@dxos/async": "0.8.4-main.dedc0f3",
61
+ "@dxos/client": "0.8.4-main.dedc0f3",
62
+ "@dxos/compute": "0.8.4-main.dedc0f3",
63
+ "@dxos/context": "0.8.4-main.dedc0f3",
64
+ "@dxos/crypto": "0.8.4-main.dedc0f3",
65
+ "@dxos/debug": "0.8.4-main.dedc0f3",
66
+ "@dxos/echo": "0.8.4-main.dedc0f3",
67
+ "@dxos/echo-schema": "0.8.4-main.dedc0f3",
68
+ "@dxos/invariant": "0.8.4-main.dedc0f3",
69
+ "@dxos/functions": "0.8.4-main.dedc0f3",
70
+ "@dxos/lit-grid": "0.8.4-main.dedc0f3",
71
+ "@dxos/live-object": "0.8.4-main.dedc0f3",
72
+ "@dxos/keys": "0.8.4-main.dedc0f3",
73
+ "@dxos/log": "0.8.4-main.dedc0f3",
74
+ "@dxos/plugin-attention": "0.8.4-main.dedc0f3",
75
+ "@dxos/plugin-client": "0.8.4-main.dedc0f3",
76
+ "@dxos/plugin-graph": "0.8.4-main.dedc0f3",
77
+ "@dxos/plugin-markdown": "0.8.4-main.dedc0f3",
78
+ "@dxos/plugin-deck": "0.8.4-main.dedc0f3",
79
+ "@dxos/plugin-space": "0.8.4-main.dedc0f3",
80
+ "@dxos/plugin-script": "0.8.4-main.dedc0f3",
81
+ "@dxos/plugin-thread": "0.8.4-main.dedc0f3",
82
+ "@dxos/plugin-stack": "0.8.4-main.dedc0f3",
83
+ "@dxos/react-client": "0.8.4-main.dedc0f3",
84
+ "@dxos/react-hooks": "0.8.4-main.dedc0f3",
85
+ "@dxos/react-ui-attention": "0.8.4-main.dedc0f3",
86
+ "@dxos/react-ui-editor": "0.8.4-main.dedc0f3",
87
+ "@dxos/react-ui-form": "0.8.4-main.dedc0f3",
88
+ "@dxos/react-ui-grid": "0.8.4-main.dedc0f3",
89
+ "@dxos/react-ui-list": "0.8.4-main.dedc0f3",
90
+ "@dxos/react-ui-menu": "0.8.4-main.dedc0f3",
91
+ "@dxos/schema": "0.8.4-main.dedc0f3",
92
+ "@dxos/util": "0.8.4-main.dedc0f3",
93
+ "@dxos/react-ui-stack": "0.8.4-main.dedc0f3"
92
94
  },
93
95
  "devDependencies": {
94
96
  "@effect-rx/rx-react": "0.38.0",
95
- "@effect/platform": "0.89.0",
97
+ "@effect/platform": "0.90.2",
96
98
  "@lezer/generator": "^1.7.1",
97
99
  "@tldraw/indices": "^2.0.0-alpha.14",
98
100
  "@types/lodash.defaultsdeep": "^4.6.6",
99
101
  "@types/react": "~18.2.0",
100
102
  "@types/react-dom": "~18.2.0",
101
103
  "@types/react-window": "^1.8.8",
102
- "effect": "3.17.0",
104
+ "effect": "3.17.7",
103
105
  "react": "~18.2.0",
104
106
  "react-dom": "~18.2.0",
105
- "vite": "5.4.7",
106
- "@dxos/echo-generator": "0.8.4-main.c1de068",
107
- "@dxos/lit-grid": "0.8.4-main.c1de068",
108
- "@dxos/random": "0.8.4-main.c1de068",
109
- "@dxos/react-ui": "0.8.4-main.c1de068",
110
- "@dxos/react-ui-theme": "0.8.4-main.c1de068",
111
- "@dxos/react-ui-types": "0.8.4-main.c1de068",
112
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.c1de068",
113
- "@dxos/storybook-utils": "0.8.4-main.c1de068",
114
- "@dxos/test-utils": "0.8.4-main.c1de068"
107
+ "vite": "7.1.1",
108
+ "@dxos/echo-generator": "0.8.4-main.dedc0f3",
109
+ "@dxos/lit-grid": "0.8.4-main.dedc0f3",
110
+ "@dxos/react-ui": "0.8.4-main.dedc0f3",
111
+ "@dxos/random": "0.8.4-main.dedc0f3",
112
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.dedc0f3",
113
+ "@dxos/react-ui-theme": "0.8.4-main.dedc0f3",
114
+ "@dxos/react-ui-types": "0.8.4-main.dedc0f3",
115
+ "@dxos/storybook-utils": "0.8.4-main.dedc0f3",
116
+ "@dxos/test-utils": "0.8.4-main.dedc0f3"
115
117
  },
116
118
  "peerDependencies": {
117
119
  "@effect-rx/rx-react": "^0.34.1",
@@ -119,8 +121,8 @@
119
121
  "effect": "^3.13.3",
120
122
  "react": "~18.2.0",
121
123
  "react-dom": "~18.2.0",
122
- "@dxos/react-ui": "0.8.4-main.c1de068",
123
- "@dxos/react-ui-theme": "0.8.4-main.c1de068"
124
+ "@dxos/react-ui": "0.8.4-main.dedc0f3",
125
+ "@dxos/react-ui-theme": "0.8.4-main.dedc0f3"
124
126
  },
125
127
  "publishConfig": {
126
128
  "access": "public"
@@ -2,13 +2,13 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';
5
+ import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';
6
6
  import { ClientEvents } from '@dxos/plugin-client';
7
7
  import { MarkdownEvents } from '@dxos/plugin-markdown';
8
8
  import { SpaceCapabilities } from '@dxos/plugin-space';
9
9
  import { defineObjectForm } from '@dxos/plugin-space/types';
10
10
 
11
- import { AnchorSort, Markdown, ReactSurface, IntentResolver, ComputeGraphRegistry } from './capabilities';
11
+ import { AnchorSort, ComputeGraphRegistry, IntentResolver, Markdown, ReactSurface } from './capabilities';
12
12
  import { meta } from './meta';
13
13
  import { serializer } from './serializer';
14
14
  import { translations } from './translations';
@@ -6,7 +6,7 @@ import { Capabilities, contributes } from '@dxos/app-framework';
6
6
  import { Type } from '@dxos/echo';
7
7
  import { getTarget } from '@dxos/react-client/echo';
8
8
 
9
- import { compareIndexPositions, SheetType } from '../types';
9
+ import { SheetType, compareIndexPositions } from '../types';
10
10
 
11
11
  export default () =>
12
12
  contributes(Capabilities.AnchorSort, {
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, type PluginContext } from '@dxos/app-framework';
5
+ import { type PluginContext, contributes } from '@dxos/app-framework';
6
6
  import { ClientCapabilities } from '@dxos/plugin-client';
7
7
 
8
8
  import { SheetCapabilities } from './capabilities';
@@ -2,10 +2,10 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, Capabilities, createResolver } from '@dxos/app-framework';
5
+ import { Capabilities, contributes, createResolver } from '@dxos/app-framework';
6
6
 
7
7
  import { SHEET_PLUGIN } from '../meta';
8
- import { createSheet, SheetAction } from '../types';
8
+ import { SheetAction, createSheet } from '../types';
9
9
 
10
10
  export default () =>
11
11
  contributes(Capabilities.IntentResolver, [
@@ -2,13 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, type PluginContext } from '@dxos/app-framework';
5
+ import { type PluginContext, contributes } from '@dxos/app-framework';
6
6
  import { getSpace } from '@dxos/client/echo';
7
7
  import { MarkdownCapabilities } from '@dxos/plugin-markdown';
8
8
 
9
- import { SheetCapabilities } from './capabilities';
10
9
  import { computeGraphFacet } from '../extensions';
11
10
 
11
+ import { SheetCapabilities } from './capabilities';
12
+
12
13
  export default (context: PluginContext) =>
13
14
  contributes(MarkdownCapabilities.Extensions, [
14
15
  ({ document: doc }) => {
@@ -8,11 +8,12 @@ import { Capabilities, contributes, createSurface, useCapability } from '@dxos/a
8
8
  import { Obj } from '@dxos/echo';
9
9
  import { getSpace } from '@dxos/react-client/echo';
10
10
 
11
- import { SheetCapabilities } from './capabilities';
12
11
  import { ComputeGraphContextProvider, RangeList, SheetContainer } from '../components';
13
12
  import { SHEET_PLUGIN } from '../meta';
14
13
  import { SheetType } from '../types';
15
14
 
15
+ import { SheetCapabilities } from './capabilities';
16
+
16
17
  export default () =>
17
18
  contributes(Capabilities.ReactSurface, [
18
19
  createSurface({
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { createContext, type PropsWithChildren, useContext } from 'react';
5
+ import React, { type PropsWithChildren, createContext, useContext } from 'react';
6
6
 
7
7
  import { type ComputeGraph, type ComputeGraphRegistry } from '@dxos/compute';
8
8
  import { raise } from '@dxos/debug';
@@ -4,26 +4,27 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react-vite';
7
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
8
  import React, { useEffect, useRef, useState } from 'react';
9
9
 
10
10
  import { testFunctionPlugins } from '@dxos/compute/testing';
11
- import { Obj, Filter } from '@dxos/echo';
11
+ import { Filter, Obj } from '@dxos/echo';
12
12
  import { FunctionType } from '@dxos/functions';
13
13
  import { useSpace } from '@dxos/react-client/echo';
14
14
  import { withClientProvider } from '@dxos/react-client/testing';
15
- import { Toolbar, Button, Input } from '@dxos/react-ui';
15
+ import { Button, Input, Toolbar } from '@dxos/react-ui';
16
16
  import { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';
17
17
  import { withTheme } from '@dxos/storybook-utils';
18
18
 
19
- import { useComputeGraph } from './ComputeGraphContextProvider';
20
19
  import { useSheetModel } from '../../model';
21
20
  import { withComputeGraphDecorator } from '../../testing';
22
- import { createSheet, SheetType } from '../../types';
21
+ import { SheetType, createSheet } from '../../types';
22
+
23
+ import { useComputeGraph } from './ComputeGraphContextProvider';
23
24
 
24
25
  const FUNCTION_NAME = 'TEST';
25
26
 
26
- const Story = () => {
27
+ const DefaultStory = () => {
27
28
  const space = useSpace();
28
29
  const graph = useComputeGraph(space);
29
30
  const [sheet, setSheet] = useState<SheetType>();
@@ -82,16 +83,18 @@ const Story = () => {
82
83
  );
83
84
  };
84
85
 
85
- export const Default = {};
86
+ export const Default: Story = {};
86
87
 
87
- const meta: Meta = {
88
+ const meta = {
88
89
  title: 'plugins/plugin-sheet/functions',
90
+ render: DefaultStory,
89
91
  decorators: [
90
92
  withClientProvider({ types: [FunctionType, SheetType], createIdentity: true, createSpace: true }),
91
93
  withComputeGraphDecorator({ plugins: testFunctionPlugins }),
92
94
  withTheme,
93
95
  ],
94
- render: (args: any) => <Story {...args} />,
95
- };
96
+ } satisfies Meta<typeof DefaultStory>;
96
97
 
97
98
  export default meta;
99
+
100
+ type Story = StoryObj<typeof meta>;
@@ -4,22 +4,23 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react-vite';
7
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
8
  import React from 'react';
9
9
 
10
10
  import { IntentPlugin } from '@dxos/app-framework';
11
11
  import { withPluginManager } from '@dxos/app-framework/testing';
12
12
  import { useSpace } from '@dxos/react-client/echo';
13
13
  import { withClientProvider } from '@dxos/react-client/testing';
14
- import { withTheme, withLayout } from '@dxos/storybook-utils';
14
+ import { withLayout, withTheme } from '@dxos/storybook-utils';
15
15
 
16
- import { GridSheet } from './GridSheet';
17
16
  import { createTestCells, useTestSheet, withComputeGraphDecorator } from '../../testing';
18
17
  import { translations } from '../../translations';
19
18
  import { SheetType } from '../../types';
20
19
  import { useComputeGraph } from '../ComputeGraph';
21
20
  import { SheetProvider } from '../SheetContext';
22
21
 
22
+ import { GridSheet } from './GridSheet';
23
+
23
24
  export const Basic = () => {
24
25
  const space = useSpace();
25
26
  const graph = useComputeGraph(space);
@@ -35,7 +36,7 @@ export const Basic = () => {
35
36
  );
36
37
  };
37
38
 
38
- const meta: Meta = {
39
+ const meta = {
39
40
  title: 'plugins/plugin-sheet/GridSheet',
40
41
  component: GridSheet,
41
42
  decorators: [
@@ -48,6 +49,8 @@ const meta: Meta = {
48
49
  }),
49
50
  ],
50
51
  parameters: { translations },
51
- };
52
+ } satisfies Meta<typeof GridSheet>;
52
53
 
53
54
  export default meta;
55
+
56
+ type Story = StoryObj<typeof meta>;
@@ -3,42 +3,43 @@
3
3
  //
4
4
 
5
5
  import React, {
6
+ type FocusEvent,
7
+ type KeyboardEvent,
8
+ type MouseEvent,
9
+ type WheelEvent,
6
10
  useCallback,
7
11
  useMemo,
8
12
  useRef,
9
13
  useState,
10
- type FocusEvent,
11
- type KeyboardEvent,
12
- type WheelEvent,
13
- type MouseEvent,
14
14
  } from 'react';
15
15
 
16
16
  import { createIntent, useIntentDispatcher } from '@dxos/app-framework';
17
- import { rangeToA1Notation, type CellRange } from '@dxos/compute';
17
+ import { type CellRange, rangeToA1Notation } from '@dxos/compute';
18
18
  import { defaultColSize, defaultRowSize } from '@dxos/lit-grid';
19
19
  import { DropdownMenu, Icon, useTranslation } from '@dxos/react-ui';
20
20
  import { useAttention } from '@dxos/react-ui-attention';
21
21
  import {
22
- closestCell,
23
- editorKeys,
24
- parseCellIndex,
25
- Grid,
26
- GridCellEditor,
22
+ type DxGridCellIndex,
27
23
  type DxGridElement,
28
24
  type DxGridPosition,
29
- type DxGridCellIndex,
30
- type EditorKeyHandler,
31
25
  type EditorBlurHandler,
26
+ type EditorKeyHandler,
27
+ Grid,
28
+ GridCellEditor,
32
29
  type GridContentProps,
30
+ closestCell,
31
+ editorKeys,
32
+ parseCellIndex,
33
33
  } from '@dxos/react-ui-grid';
34
34
 
35
- import { colLabelCell, rowLabelCell, useSheetModelDxGridProps } from './util';
36
- import { rangeExtension, sheetExtension, type RangeController } from '../../extensions';
35
+ import { type RangeController, rangeExtension, sheetExtension } from '../../extensions';
37
36
  import { useSelectThreadOnCellFocus, useUpdateFocusedCellOnThreadSelection } from '../../integrations';
38
37
  import { SHEET_PLUGIN } from '../../meta';
39
38
  import { DEFAULT_COLS, DEFAULT_ROWS, SheetAction } from '../../types';
40
39
  import { useSheetContext } from '../SheetContext';
41
40
 
41
+ import { colLabelCell, rowLabelCell, useSheetModelDxGridProps } from './util';
42
+
42
43
  const inertPosition: DxGridPosition = { plane: 'grid', col: 0, row: 0 };
43
44
 
44
45
  const initialCells = {
@@ -59,11 +60,11 @@ const frozen = {
59
60
  };
60
61
 
61
62
  const sheetColDefault = {
62
- frozenColsStart: { size: 48, readonly: true },
63
+ frozenColsStart: { size: 48, readonly: true, focusUnfurl: false },
63
64
  grid: { size: defaultColSize, resizeable: true },
64
65
  };
65
66
  const sheetRowDefault = {
66
- frozenRowsStart: { size: defaultRowSize, readonly: true },
67
+ frozenRowsStart: { size: defaultRowSize, readonly: true, focusUnfurl: false },
67
68
  grid: { size: defaultRowSize, resizeable: true },
68
69
  };
69
70
 
@@ -278,7 +279,7 @@ export const GridSheet = () => {
278
279
 
279
280
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
280
281
 
281
- const extension = useMemo(
282
+ const extensions = useMemo(
282
283
  () => [
283
284
  editorKeys({ onClose: handleClose, ...(editing?.initialContent && { onNav: handleClose }) }),
284
285
  sheetExtension({ functions: model.graph.getFunctions() }),
@@ -308,7 +309,7 @@ export const GridSheet = () => {
308
309
  return (
309
310
  // TODO(thure): Why are Table’s and Sheet’s editor boxes off by 1px?
310
311
  <div role='none' className='relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent '>
311
- <GridCellEditor getCellContent={getCellContent} extension={extension} onBlur={handleBlur} />
312
+ <GridCellEditor getCellContent={getCellContent} extensions={extensions} onBlur={handleBlur} />
312
313
  <Grid.Content
313
314
  initialCells={initialCells}
314
315
  limitColumns={DEFAULT_COLS}
@@ -4,51 +4,48 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react-vite';
8
- import React, { useEffect, useMemo, useState } from 'react';
7
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
+ import React, { useMemo, useState } from 'react';
9
9
 
10
10
  import { Client } from '@dxos/client';
11
11
  import { createDocAccessor } from '@dxos/client/echo';
12
12
  import { defaultFunctions } from '@dxos/compute';
13
13
  import { getRegisteredFunctionNames } from '@dxos/compute/testing';
14
+ import { useAsyncEffect } from '@dxos/react-hooks';
14
15
  import { automerge } from '@dxos/react-ui-editor';
15
16
  import { CellEditor, type CellEditorProps } from '@dxos/react-ui-grid';
16
17
  import { withTheme } from '@dxos/storybook-utils';
17
18
 
18
19
  import { sheetExtension } from '../../extensions';
19
- import { createSheet, SheetType } from '../../types';
20
+ import { SheetType, createSheet } from '../../types';
20
21
 
21
- type StoryProps = CellEditorProps;
22
-
23
- const Story = ({ value, ...props }: StoryProps) => {
24
- const extension = useMemo(() => {
22
+ const DefaultStory = ({ value, ...props }: CellEditorProps) => {
23
+ const extensions = useMemo(() => {
25
24
  const functionNames = getRegisteredFunctionNames();
26
25
  const functions = defaultFunctions.filter(({ name }) => functionNames.includes(name));
27
26
  return [sheetExtension({ functions })];
28
27
  }, []);
29
28
 
30
- return <CellEditor {...props} value={value} extension={extension} />;
29
+ return <CellEditor {...props} value={value} extensions={extensions} />;
31
30
  };
32
31
 
33
- const AutomergeStory = ({ value, ...props }: StoryProps) => {
32
+ const AutomergeStory = ({ value, ...props }: CellEditorProps) => {
34
33
  const cell = 'A1';
35
34
  const [object, setObject] = useState<SheetType>();
36
- useEffect(() => {
37
- setTimeout(async () => {
38
- const client = new Client({ types: [SheetType] });
39
- await client.initialize();
40
- await client.halo.createIdentity();
41
- const space = await client.spaces.create();
42
-
43
- const sheet = createSheet();
44
- sheet.name = 'Test';
45
- sheet.cells[cell] = { value };
46
- space.db.add(sheet);
47
- setObject(sheet);
48
- });
35
+ useAsyncEffect(async () => {
36
+ const client = new Client({ types: [SheetType] });
37
+ await client.initialize();
38
+ await client.halo.createIdentity();
39
+ const space = await client.spaces.create();
40
+
41
+ const sheet = createSheet();
42
+ sheet.name = 'Test';
43
+ sheet.cells[cell] = { value };
44
+ space.db.add(sheet);
45
+ setObject(sheet);
49
46
  }, [value]);
50
47
 
51
- const extension = useMemo(() => {
48
+ const extensions = useMemo(() => {
52
49
  if (!object) {
53
50
  return [];
54
51
  }
@@ -59,35 +56,37 @@ const AutomergeStory = ({ value, ...props }: StoryProps) => {
59
56
  return [automerge(accessor), sheetExtension({ functions })];
60
57
  }, [object]);
61
58
 
62
- return <CellEditor {...props} value={value} extension={extension} />;
59
+ return <CellEditor {...props} value={value} extensions={extensions} />;
63
60
  };
64
61
 
65
- export const Default = {};
62
+ const meta = {
63
+ title: 'plugins/plugin-sheet/CellEditor',
64
+ component: CellEditor,
65
+ render: DefaultStory,
66
+ decorators: [withTheme],
67
+ } satisfies Meta<typeof DefaultStory>;
68
+
69
+ export default meta;
70
+
71
+ type Story = StoryObj<typeof meta>;
72
+
73
+ export const Default: Story = {};
66
74
 
67
- export const AutoComplete = {
75
+ export const AutoComplete: Story = {
68
76
  args: {
69
77
  value: '=SUM',
70
78
  },
71
79
  };
72
80
 
73
- export const Formatting = {
81
+ export const Formatting: Story = {
74
82
  args: {
75
83
  value: '=SUM(A1:A2, 100, TRUE, "100", SUM(A1:A2, B1:B2))',
76
84
  },
77
85
  };
78
86
 
79
- export const Automerge = {
80
- render: (args: StoryProps) => <AutomergeStory {...args} />,
87
+ export const Automerge: Story = {
88
+ render: AutomergeStory,
81
89
  args: {
82
90
  value: '=SUM(A1:A2, 100, TRUE, "100", SUM(A1:A2, B1:B2))',
83
91
  },
84
92
  };
85
-
86
- const meta: Meta = {
87
- title: 'plugins/plugin-sheet/CellEditor',
88
- component: CellEditor,
89
- decorators: [withTheme],
90
- render: (args: StoryProps) => <Story {...args} />,
91
- };
92
-
93
- export default meta;
@@ -6,18 +6,18 @@ import { useEffect, useState } from 'react';
6
6
 
7
7
  import { inRange } from '@dxos/compute';
8
8
  import { createDocAccessor } from '@dxos/react-client/echo';
9
- import { parseValue, cellClassesForFieldType } from '@dxos/react-ui-form';
9
+ import { cellClassesForFieldType, parseValue } from '@dxos/react-ui-form';
10
10
  import {
11
- type GridContentProps,
12
- type DxGridElement,
13
11
  type DxGridAxisMeta,
12
+ type DxGridCellValue,
13
+ type DxGridElement,
14
14
  type DxGridPlane,
15
- type DxGridPlaneRange,
16
15
  type DxGridPlaneCells,
17
- type DxGridCellValue,
16
+ type DxGridPlaneRange,
17
+ type GridContentProps,
18
18
  colToA1Notation,
19
- rowToA1Notation,
20
19
  commentedClassName,
20
+ rowToA1Notation,
21
21
  } from '@dxos/react-ui-grid';
22
22
  import { mx } from '@dxos/react-ui-theme';
23
23
 
@@ -4,25 +4,26 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react-vite';
7
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
8
  import React from 'react';
9
9
 
10
- import { Capabilities, contributes, createResolver, IntentPlugin } from '@dxos/app-framework';
10
+ import { Capabilities, IntentPlugin, contributes, createResolver } from '@dxos/app-framework';
11
11
  import { withPluginManager } from '@dxos/app-framework/testing';
12
12
  import { GraphPlugin } from '@dxos/plugin-graph';
13
13
  import { fullyQualifiedId, useSpace } from '@dxos/react-client/echo';
14
14
  import { withClientProvider } from '@dxos/react-client/testing';
15
15
  import { AttendableContainer } from '@dxos/react-ui-attention';
16
16
  import { withAttention } from '@dxos/react-ui-attention/testing';
17
- import { withTheme, withLayout } from '@dxos/storybook-utils';
17
+ import { withLayout, withTheme } from '@dxos/storybook-utils';
18
18
 
19
- import { SheetContainer } from './SheetContainer';
20
19
  import { createTestCells, useTestSheet, withComputeGraphDecorator } from '../../testing';
21
20
  import { translations } from '../../translations';
22
21
  import { SheetAction, SheetType } from '../../types';
23
22
  import { useComputeGraph } from '../ComputeGraph';
24
23
  import { RangeList } from '../RangeList';
25
24
 
25
+ import { SheetContainer } from './SheetContainer';
26
+
26
27
  export const Basic = () => {
27
28
  const space = useSpace();
28
29
  const graph = useComputeGraph(space);
@@ -58,7 +59,7 @@ export const Spec = () => {
58
59
  );
59
60
  };
60
61
 
61
- const meta: Meta = {
62
+ const meta = {
62
63
  title: 'plugins/plugin-sheet/SheetContainer',
63
64
  component: SheetContainer,
64
65
  decorators: [
@@ -84,6 +85,8 @@ const meta: Meta = {
84
85
  }),
85
86
  ],
86
87
  parameters: { translations },
87
- };
88
+ } satisfies Meta<typeof SheetContainer>;
88
89
 
89
90
  export default meta;
91
+
92
+ type Story = StoryObj<typeof meta>;