@dxos/plugin-sheet 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (186) hide show
  1. package/dist/lib/browser/RangeList-YI6FSF3S.mjs +48 -0
  2. package/dist/lib/browser/RangeList-YI6FSF3S.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-S27QJYTN.mjs → SheetContainer-O577SWMS.mjs} +578 -243
  4. package/dist/lib/browser/SheetContainer-O577SWMS.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-LLO7PZKF.mjs → anchor-sort-NV6MQFUH.mjs} +5 -4
  6. package/dist/lib/browser/anchor-sort-NV6MQFUH.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-KE3AKN5W.mjs → chunk-GHS75KWH.mjs} +15 -32
  8. package/dist/lib/browser/chunk-GHS75KWH.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-IFLWVS2V.mjs → chunk-NNWF7EKC.mjs} +10 -10
  10. package/dist/lib/browser/{chunk-IFLWVS2V.mjs.map → chunk-NNWF7EKC.mjs.map} +2 -2
  11. package/dist/lib/browser/{compute-graph-registry-RC5L7RE4.mjs → compute-graph-registry-HVVALVIE.mjs} +2 -2
  12. package/dist/lib/browser/index.mjs +24 -27
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/{markdown-D2T2DOVX.mjs → markdown-I2REDYX5.mjs} +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{operation-resolver-YDOW72CN.mjs → operation-resolver-VGBMFSYG.mjs} +5 -19
  17. package/dist/lib/browser/operation-resolver-VGBMFSYG.mjs.map +7 -0
  18. package/dist/lib/browser/react-surface-NSPYPZYP.mjs +52 -0
  19. package/dist/lib/browser/react-surface-NSPYPZYP.mjs.map +7 -0
  20. package/dist/lib/browser/types/index.mjs +1 -1
  21. package/dist/lib/node-esm/RangeList-7EG3K4KG.mjs +49 -0
  22. package/dist/lib/node-esm/RangeList-7EG3K4KG.mjs.map +7 -0
  23. package/dist/lib/node-esm/{chunk-Y4V6HVHO.mjs → SheetContainer-ICPEZUMD.mjs} +578 -243
  24. package/dist/lib/node-esm/SheetContainer-ICPEZUMD.mjs.map +7 -0
  25. package/dist/lib/node-esm/{anchor-sort-OX5I2YOW.mjs → anchor-sort-7XYLH2AM.mjs} +5 -4
  26. package/dist/lib/node-esm/anchor-sort-7XYLH2AM.mjs.map +7 -0
  27. package/dist/lib/node-esm/{chunk-PPOYR7DK.mjs → chunk-M52YLLWU.mjs} +10 -10
  28. package/dist/lib/node-esm/{chunk-PPOYR7DK.mjs.map → chunk-M52YLLWU.mjs.map} +2 -2
  29. package/dist/lib/node-esm/{chunk-6J5L47IB.mjs → chunk-VGXC77GH.mjs} +15 -32
  30. package/dist/lib/node-esm/chunk-VGXC77GH.mjs.map +7 -0
  31. package/dist/lib/node-esm/{compute-graph-registry-ZGXVLVGD.mjs → compute-graph-registry-IDU2KKQU.mjs} +2 -2
  32. package/dist/lib/node-esm/index.mjs +24 -27
  33. package/dist/lib/node-esm/index.mjs.map +3 -3
  34. package/dist/lib/node-esm/{markdown-PTV72DLO.mjs → markdown-6KBH3MBO.mjs} +3 -3
  35. package/dist/lib/node-esm/meta.json +1 -1
  36. package/dist/lib/node-esm/{operation-resolver-Q63VQBVA.mjs → operation-resolver-E7FIHPCO.mjs} +5 -19
  37. package/dist/lib/node-esm/operation-resolver-E7FIHPCO.mjs.map +7 -0
  38. package/dist/lib/node-esm/{react-surface-SWRZSZVR.mjs → react-surface-LCMQBROP.mjs} +22 -21
  39. package/dist/lib/node-esm/react-surface-LCMQBROP.mjs.map +7 -0
  40. package/dist/lib/node-esm/types/index.mjs +1 -1
  41. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +3 -2
  43. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -1
  44. package/dist/types/src/capabilities/anchor-sort/index.d.ts +1 -1
  45. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -1
  46. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts +1 -1
  47. package/dist/types/src/capabilities/markdown/markdown.d.ts +1 -1
  48. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  49. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  51. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  53. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  55. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  56. package/dist/types/src/components/Sheet/Sheet.d.ts +15 -0
  57. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
  58. package/dist/types/src/components/Sheet/index.d.ts +2 -0
  59. package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
  60. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -0
  61. package/dist/types/src/components/SheetContent/SheetContent.d.ts +7 -0
  62. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -0
  63. package/dist/types/src/components/{GridSheet/GridSheet.stories.d.ts → SheetContent/SheetContent.stories.d.ts} +5 -2
  64. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -0
  65. package/dist/types/src/components/SheetContent/index.d.ts +2 -0
  66. package/dist/types/src/components/SheetContent/index.d.ts.map +1 -0
  67. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -0
  68. package/dist/types/src/components/{SheetContext/SheetContext.d.ts → SheetRoot/SheetRoot.d.ts} +6 -4
  69. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -0
  70. package/dist/types/src/components/SheetRoot/index.d.ts +2 -0
  71. package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -0
  72. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +7 -0
  73. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -0
  74. package/dist/types/src/components/SheetStatusbar/index.d.ts +2 -0
  75. package/dist/types/src/components/SheetStatusbar/index.d.ts.map +1 -0
  76. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +6 -3
  77. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  78. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +2 -0
  79. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  80. package/dist/types/src/components/index.d.ts +1 -4
  81. package/dist/types/src/components/index.d.ts.map +1 -1
  82. package/dist/types/src/{components → containers}/RangeList/RangeList.d.ts.map +1 -1
  83. package/dist/types/src/containers/RangeList/index.d.ts +3 -0
  84. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -0
  85. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +12 -0
  86. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -0
  87. package/dist/types/src/{components → containers}/SheetContainer/SheetContainer.stories.d.ts +2 -2
  88. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -0
  89. package/dist/types/src/{components → containers}/SheetContainer/index.d.ts.map +1 -1
  90. package/dist/types/src/containers/index.d.ts +4 -0
  91. package/dist/types/src/containers/index.d.ts.map +1 -0
  92. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  93. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  94. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  95. package/dist/types/src/testing/testing.d.ts +1 -1
  96. package/dist/types/src/translations.d.ts +1 -0
  97. package/dist/types/src/translations.d.ts.map +1 -1
  98. package/dist/types/src/types/Sheet.d.ts +1 -1
  99. package/dist/types/src/types/Sheet.d.ts.map +1 -1
  100. package/dist/types/src/types/types.d.ts +3 -24
  101. package/dist/types/src/types/types.d.ts.map +1 -1
  102. package/dist/types/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +62 -62
  104. package/src/SheetPlugin.tsx +15 -24
  105. package/src/capabilities/anchor-sort/anchor-sort.ts +3 -2
  106. package/src/capabilities/operation-resolver/operation-resolver.ts +4 -15
  107. package/src/capabilities/react-surface/react-surface.tsx +19 -13
  108. package/src/components/ComputeGraph/compute-graph.stories.tsx +2 -2
  109. package/src/components/Sheet/Sheet.tsx +20 -0
  110. package/src/components/Sheet/index.ts +5 -0
  111. package/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.tsx +5 -5
  112. package/src/components/{GridSheet/GridSheet.stories.tsx → SheetContent/SheetContent.stories.tsx} +12 -11
  113. package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +14 -11
  114. package/src/components/{RangeList → SheetContent}/index.ts +1 -1
  115. package/src/components/{GridSheet → SheetContent}/util.ts +3 -3
  116. package/src/components/{SheetContext/SheetContext.tsx → SheetRoot/SheetRoot.tsx} +44 -36
  117. package/src/components/{GridSheet → SheetRoot}/index.ts +1 -1
  118. package/src/components/{FunctionEditor/FunctionEditor.tsx → SheetStatusbar/SheetStatusbar.tsx} +19 -8
  119. package/src/components/{FunctionEditor → SheetStatusbar}/index.ts +1 -1
  120. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +4 -4
  121. package/src/components/SheetToolbar/SheetToolbar.tsx +11 -10
  122. package/src/components/SheetToolbar/align.ts +9 -9
  123. package/src/components/SheetToolbar/style.ts +7 -7
  124. package/src/components/index.ts +1 -7
  125. package/src/{components → containers}/RangeList/RangeList.tsx +10 -8
  126. package/src/containers/RangeList/index.ts +7 -0
  127. package/src/{components → containers}/SheetContainer/SheetContainer.stories.tsx +28 -33
  128. package/src/containers/SheetContainer/SheetContainer.tsx +57 -0
  129. package/src/{components → containers}/SheetContainer/index.ts +1 -1
  130. package/src/containers/index.ts +8 -0
  131. package/src/extensions/compute.stories.tsx +12 -11
  132. package/src/extensions/editor/sheet-extension.ts +10 -10
  133. package/src/integrations/thread-ranges.ts +6 -9
  134. package/src/meta.ts +1 -1
  135. package/src/model/sheet-model.ts +36 -34
  136. package/src/playwright/playwright.config.ts +1 -1
  137. package/src/playwright/sheet.spec.ts +1 -1
  138. package/src/translations.ts +1 -0
  139. package/src/types/Sheet.ts +8 -2
  140. package/src/types/capabilities.ts +1 -1
  141. package/src/types/sheet-range-types.ts +3 -3
  142. package/src/types/types.ts +4 -20
  143. package/dist/lib/browser/SheetContainer-J72HS2FI.mjs +0 -397
  144. package/dist/lib/browser/SheetContainer-J72HS2FI.mjs.map +0 -7
  145. package/dist/lib/browser/anchor-sort-LLO7PZKF.mjs.map +0 -7
  146. package/dist/lib/browser/chunk-KE3AKN5W.mjs.map +0 -7
  147. package/dist/lib/browser/chunk-S27QJYTN.mjs.map +0 -7
  148. package/dist/lib/browser/operation-resolver-YDOW72CN.mjs.map +0 -7
  149. package/dist/lib/browser/react-surface-JIYVFH42.mjs +0 -51
  150. package/dist/lib/browser/react-surface-JIYVFH42.mjs.map +0 -7
  151. package/dist/lib/node-esm/SheetContainer-OGSSDOZU.mjs +0 -398
  152. package/dist/lib/node-esm/SheetContainer-OGSSDOZU.mjs.map +0 -7
  153. package/dist/lib/node-esm/anchor-sort-OX5I2YOW.mjs.map +0 -7
  154. package/dist/lib/node-esm/chunk-6J5L47IB.mjs.map +0 -7
  155. package/dist/lib/node-esm/chunk-Y4V6HVHO.mjs.map +0 -7
  156. package/dist/lib/node-esm/operation-resolver-Q63VQBVA.mjs.map +0 -7
  157. package/dist/lib/node-esm/react-surface-SWRZSZVR.mjs.map +0 -7
  158. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
  159. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
  160. package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
  161. package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
  162. package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
  163. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
  164. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
  165. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
  166. package/dist/types/src/components/GridSheet/index.d.ts +0 -2
  167. package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
  168. package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
  169. package/dist/types/src/components/RangeList/index.d.ts +0 -2
  170. package/dist/types/src/components/RangeList/index.d.ts.map +0 -1
  171. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -10
  172. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
  173. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  174. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
  175. package/dist/types/src/components/SheetContext/index.d.ts +0 -2
  176. package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
  177. package/src/components/SheetContainer/SheetContainer.tsx +0 -48
  178. package/src/components/SheetContext/index.ts +0 -5
  179. /package/dist/lib/browser/{compute-graph-registry-RC5L7RE4.mjs.map → compute-graph-registry-HVVALVIE.mjs.map} +0 -0
  180. /package/dist/lib/browser/{markdown-D2T2DOVX.mjs.map → markdown-I2REDYX5.mjs.map} +0 -0
  181. /package/dist/lib/node-esm/{compute-graph-registry-ZGXVLVGD.mjs.map → compute-graph-registry-IDU2KKQU.mjs.map} +0 -0
  182. /package/dist/lib/node-esm/{markdown-PTV72DLO.mjs.map → markdown-6KBH3MBO.mjs.map} +0 -0
  183. /package/dist/types/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.d.ts +0 -0
  184. /package/dist/types/src/components/{GridSheet → SheetContent}/util.d.ts +0 -0
  185. /package/dist/types/src/{components → containers}/RangeList/RangeList.d.ts +0 -0
  186. /package/dist/types/src/{components → containers}/SheetContainer/index.d.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.bc674ce",
3
+ "version": "0.8.4-main.c351d160a8",
4
4
  "description": "Braneframe sketch plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -14,15 +14,15 @@
14
14
  "type": "module",
15
15
  "exports": {
16
16
  ".": {
17
+ "source": "./src/index.ts",
17
18
  "browser": "./dist/lib/browser/index.mjs",
18
19
  "node": "./dist/lib/node-esm/index.mjs",
19
- "source": "./src/index.ts",
20
20
  "types": "./dist/types/src/index.d.ts"
21
21
  },
22
22
  "./types": {
23
+ "source": "./src/types/index.ts",
23
24
  "browser": "./dist/lib/browser/types/index.mjs",
24
25
  "node": "./dist/lib/node-esm/types/index.mjs",
25
- "source": "./src/types/index.ts",
26
26
  "types": "./dist/types/src/types/index.d.ts"
27
27
  }
28
28
  },
@@ -58,78 +58,78 @@
58
58
  "re-resizable": "^6.9.17",
59
59
  "react-markdown": "^10.1.0",
60
60
  "react-resize-detector": "^11.0.1",
61
- "@dxos/app-framework": "0.8.4-main.bc674ce",
62
- "@dxos/client": "0.8.4-main.bc674ce",
63
- "@dxos/async": "0.8.4-main.bc674ce",
64
- "@dxos/compute": "0.8.4-main.bc674ce",
65
- "@dxos/context": "0.8.4-main.bc674ce",
66
- "@dxos/crypto": "0.8.4-main.bc674ce",
67
- "@dxos/echo": "0.8.4-main.bc674ce",
68
- "@dxos/debug": "0.8.4-main.bc674ce",
69
- "@dxos/echo-db": "0.8.4-main.bc674ce",
70
- "@dxos/functions": "0.8.4-main.bc674ce",
71
- "@dxos/keys": "0.8.4-main.bc674ce",
72
- "@dxos/lit-grid": "0.8.4-main.bc674ce",
73
- "@dxos/invariant": "0.8.4-main.bc674ce",
74
- "@dxos/log": "0.8.4-main.bc674ce",
75
- "@dxos/operation": "0.8.4-main.bc674ce",
76
- "@dxos/plugin-automation": "0.8.4-main.bc674ce",
77
- "@dxos/plugin-client": "0.8.4-main.bc674ce",
78
- "@dxos/plugin-graph": "0.8.4-main.bc674ce",
79
- "@dxos/plugin-markdown": "0.8.4-main.bc674ce",
80
- "@dxos/plugin-script": "0.8.4-main.bc674ce",
81
- "@dxos/plugin-space": "0.8.4-main.bc674ce",
82
- "@dxos/plugin-deck": "0.8.4-main.bc674ce",
83
- "@dxos/plugin-stack": "0.8.4-main.bc674ce",
84
- "@dxos/plugin-thread": "0.8.4-main.bc674ce",
85
- "@dxos/react-client": "0.8.4-main.bc674ce",
86
- "@dxos/react-ui-attention": "0.8.4-main.bc674ce",
87
- "@dxos/react-hooks": "0.8.4-main.bc674ce",
88
- "@dxos/react-ui-editor": "0.8.4-main.bc674ce",
89
- "@dxos/react-ui-grid": "0.8.4-main.bc674ce",
90
- "@dxos/react-ui-form": "0.8.4-main.bc674ce",
91
- "@dxos/react-ui-menu": "0.8.4-main.bc674ce",
92
- "@dxos/react-ui-mosaic": "0.8.4-main.bc674ce",
93
- "@dxos/react-ui-stack": "0.8.4-main.bc674ce",
94
- "@dxos/types": "0.8.4-main.bc674ce",
95
- "@dxos/react-ui-list": "0.8.4-main.bc674ce",
96
- "@dxos/ui-editor": "0.8.4-main.bc674ce",
97
- "@dxos/schema": "0.8.4-main.bc674ce",
98
- "@dxos/util": "0.8.4-main.bc674ce",
99
- "@dxos/plugin-attention": "0.8.4-main.bc674ce"
61
+ "@dxos/app-toolkit": "0.8.4-main.c351d160a8",
62
+ "@dxos/app-framework": "0.8.4-main.c351d160a8",
63
+ "@dxos/compute": "0.8.4-main.c351d160a8",
64
+ "@dxos/client": "0.8.4-main.c351d160a8",
65
+ "@dxos/async": "0.8.4-main.c351d160a8",
66
+ "@dxos/debug": "0.8.4-main.c351d160a8",
67
+ "@dxos/echo": "0.8.4-main.c351d160a8",
68
+ "@dxos/echo-db": "0.8.4-main.c351d160a8",
69
+ "@dxos/functions": "0.8.4-main.c351d160a8",
70
+ "@dxos/invariant": "0.8.4-main.c351d160a8",
71
+ "@dxos/keys": "0.8.4-main.c351d160a8",
72
+ "@dxos/log": "0.8.4-main.c351d160a8",
73
+ "@dxos/lit-grid": "0.8.4-main.c351d160a8",
74
+ "@dxos/operation": "0.8.4-main.c351d160a8",
75
+ "@dxos/plugin-automation": "0.8.4-main.c351d160a8",
76
+ "@dxos/plugin-client": "0.8.4-main.c351d160a8",
77
+ "@dxos/crypto": "0.8.4-main.c351d160a8",
78
+ "@dxos/context": "0.8.4-main.c351d160a8",
79
+ "@dxos/plugin-deck": "0.8.4-main.c351d160a8",
80
+ "@dxos/plugin-graph": "0.8.4-main.c351d160a8",
81
+ "@dxos/plugin-script": "0.8.4-main.c351d160a8",
82
+ "@dxos/plugin-space": "0.8.4-main.c351d160a8",
83
+ "@dxos/plugin-stack": "0.8.4-main.c351d160a8",
84
+ "@dxos/plugin-thread": "0.8.4-main.c351d160a8",
85
+ "@dxos/react-client": "0.8.4-main.c351d160a8",
86
+ "@dxos/react-hooks": "0.8.4-main.c351d160a8",
87
+ "@dxos/react-ui-attention": "0.8.4-main.c351d160a8",
88
+ "@dxos/react-ui-editor": "0.8.4-main.c351d160a8",
89
+ "@dxos/plugin-attention": "0.8.4-main.c351d160a8",
90
+ "@dxos/react-ui-grid": "0.8.4-main.c351d160a8",
91
+ "@dxos/react-ui-form": "0.8.4-main.c351d160a8",
92
+ "@dxos/react-ui-list": "0.8.4-main.c351d160a8",
93
+ "@dxos/react-ui-menu": "0.8.4-main.c351d160a8",
94
+ "@dxos/react-ui-mosaic": "0.8.4-main.c351d160a8",
95
+ "@dxos/react-ui-stack": "0.8.4-main.c351d160a8",
96
+ "@dxos/schema": "0.8.4-main.c351d160a8",
97
+ "@dxos/ui-editor": "0.8.4-main.c351d160a8",
98
+ "@dxos/types": "0.8.4-main.c351d160a8",
99
+ "@dxos/util": "0.8.4-main.c351d160a8",
100
+ "@dxos/plugin-markdown": "0.8.4-main.c351d160a8"
100
101
  },
101
102
  "devDependencies": {
102
- "@effect-atom/atom-react": "^0.4.6",
103
- "@effect/platform": "0.93.6",
103
+ "@effect-atom/atom-react": "^0.5.0",
104
+ "@effect/platform": "0.94.4",
104
105
  "@lezer/generator": "^1.7.1",
105
106
  "@tldraw/indices": "^2.0.0-alpha.14",
106
107
  "@types/lodash.defaultsdeep": "^4.6.6",
107
108
  "@types/react": "~19.2.7",
108
109
  "@types/react-dom": "~19.2.3",
109
- "@types/react-window": "^2.0.0",
110
- "effect": "3.19.11",
110
+ "effect": "3.19.16",
111
111
  "react": "~19.2.3",
112
112
  "react-dom": "~19.2.3",
113
- "vite": "7.1.9",
114
- "@dxos/lit-grid": "0.8.4-main.bc674ce",
115
- "@dxos/echo-generator": "0.8.4-main.bc674ce",
116
- "@dxos/random": "0.8.4-main.bc674ce",
117
- "@dxos/plugin-testing": "0.8.4-main.bc674ce",
118
- "@dxos/react-ui": "0.8.4-main.bc674ce",
119
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.bc674ce",
120
- "@dxos/storybook-utils": "0.8.4-main.bc674ce",
121
- "@dxos/test-utils": "0.8.4-main.bc674ce",
122
- "@dxos/ui-theme": "0.8.4-main.bc674ce",
123
- "@dxos/ui-types": "0.8.4-main.bc674ce"
113
+ "vite": "^7.1.11",
114
+ "@dxos/echo-generator": "0.8.4-main.c351d160a8",
115
+ "@dxos/lit-grid": "0.8.4-main.c351d160a8",
116
+ "@dxos/plugin-testing": "0.8.4-main.c351d160a8",
117
+ "@dxos/react-ui": "0.8.4-main.c351d160a8",
118
+ "@dxos/random": "0.8.4-main.c351d160a8",
119
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.c351d160a8",
120
+ "@dxos/storybook-utils": "0.8.4-main.c351d160a8",
121
+ "@dxos/test-utils": "0.8.4-main.c351d160a8",
122
+ "@dxos/ui-types": "0.8.4-main.c351d160a8",
123
+ "@dxos/ui-theme": "0.8.4-main.c351d160a8"
124
124
  },
125
125
  "peerDependencies": {
126
- "@effect-atom/atom-react": "^0.4.6",
127
- "@effect/platform": "0.93.6",
128
- "effect": "3.19.11",
126
+ "@effect-atom/atom-react": "^0.5.0",
127
+ "@effect/platform": "0.94.4",
128
+ "effect": "3.19.16",
129
129
  "react": "~19.2.3",
130
130
  "react-dom": "~19.2.3",
131
- "@dxos/ui-theme": "0.8.4-main.bc674ce",
132
- "@dxos/react-ui": "0.8.4-main.bc674ce"
131
+ "@dxos/react-ui": "0.8.4-main.c351d160a8",
132
+ "@dxos/ui-theme": "0.8.4-main.c351d160a8"
133
133
  },
134
134
  "publishConfig": {
135
135
  "access": "public"
@@ -3,50 +3,43 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
6
7
 
7
- import { ActivationEvent, Capability, Common, Plugin } from '@dxos/app-framework';
8
- import { Operation } from '@dxos/operation';
8
+ import { ActivationEvent, Plugin } from '@dxos/app-framework';
9
+ import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
10
+ import { Annotation } from '@dxos/echo';
9
11
  import { AutomationEvents } from '@dxos/plugin-automation';
10
12
  import { ClientEvents } from '@dxos/plugin-client';
11
13
  import { MarkdownEvents } from '@dxos/plugin-markdown';
12
- import { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';
13
14
  import { type CreateObject } from '@dxos/plugin-space/types';
14
15
 
15
16
  import { AnchorSort, ComputeGraphRegistry, Markdown, OperationResolver, ReactSurface } from './capabilities';
16
17
  import { meta } from './meta';
17
18
  import { serializer } from './serializer';
18
19
  import { translations } from './translations';
19
- import { Sheet, SheetOperation } from './types';
20
+ import { Sheet } from './types';
20
21
 
21
22
  export const SheetPlugin = Plugin.define(meta).pipe(
22
- Plugin.addModule({
23
- activatesOn: ActivationEvent.allOf(ClientEvents.ClientReady, AutomationEvents.ComputeRuntimeReady),
24
- activate: ComputeGraphRegistry,
25
- }),
26
- Common.Plugin.addTranslationsModule({ translations }),
27
- Common.Plugin.addMetadataModule({
23
+ AppPlugin.addMetadataModule({
28
24
  metadata: {
29
25
  id: Sheet.Sheet.typename,
30
26
  metadata: {
31
27
  label: (object: Sheet.Sheet) => object.name,
32
- icon: 'ph--grid-nine--regular',
33
- iconHue: 'indigo',
28
+ icon: Annotation.IconAnnotation.get(Sheet.Sheet).pipe(Option.getOrThrow).icon,
29
+ iconHue: Annotation.IconAnnotation.get(Sheet.Sheet).pipe(Option.getOrThrow).hue ?? 'white',
34
30
  serializer,
35
31
  comments: 'anchored',
36
32
  createObject: ((props) => Effect.sync(() => Sheet.make(props))) satisfies CreateObject,
37
33
  },
38
34
  },
39
35
  }),
40
- Common.Plugin.addSchemaModule({ schema: [Sheet.Sheet] }),
36
+ AppPlugin.addOperationResolverModule({ activate: OperationResolver }),
37
+ AppPlugin.addSchemaModule({ schema: [Sheet.Sheet] }),
38
+ AppPlugin.addSurfaceModule({ activate: ReactSurface }),
39
+ AppPlugin.addTranslationsModule({ translations }),
41
40
  Plugin.addModule({
42
- id: 'on-space-created',
43
- activatesOn: SpaceEvents.SpaceCreated,
44
- activate: () =>
45
- Effect.succeed(
46
- Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>
47
- Operation.invoke(SheetOperation.OnCreateSpace, params),
48
- ),
49
- ),
41
+ activatesOn: ActivationEvent.allOf(ClientEvents.ClientReady, AutomationEvents.ComputeRuntimeReady),
42
+ activate: ComputeGraphRegistry,
50
43
  }),
51
44
  Plugin.addModule({
52
45
  activatesOn: MarkdownEvents.SetupExtensions,
@@ -54,10 +47,8 @@ export const SheetPlugin = Plugin.define(meta).pipe(
54
47
  }),
55
48
  Plugin.addModule({
56
49
  // TODO(wittjosiah): More relevant event?
57
- activatesOn: Common.ActivationEvent.AppGraphReady,
50
+ activatesOn: AppActivationEvents.AppGraphReady,
58
51
  activate: AnchorSort,
59
52
  }),
60
- Common.Plugin.addSurfaceModule({ activate: ReactSurface }),
61
- Common.Plugin.addOperationResolverModule({ activate: OperationResolver }),
62
53
  Plugin.make,
63
54
  );
@@ -4,14 +4,15 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
8
9
  import { Relation } from '@dxos/echo';
9
10
 
10
11
  import { Sheet, compareIndexPositions } from '../../types';
11
12
 
12
13
  export default Capability.makeModule(() =>
13
14
  Effect.succeed(
14
- Capability.contributes(Common.Capability.AnchorSort, {
15
+ Capability.contributes(AppCapabilities.AnchorSort, {
15
16
  key: Sheet.Sheet.typename,
16
17
  sort: (anchorA, anchorB) => {
17
18
  const sheet = Relation.getTarget(anchorA) as Sheet.Sheet;
@@ -4,17 +4,15 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common, UndoMapping } from '@dxos/app-framework';
8
- import { Obj, Ref, Type } from '@dxos/echo';
7
+ import { Capabilities, Capability, UndoMapping } from '@dxos/app-framework';
9
8
  import { OperationResolver } from '@dxos/operation';
10
- import { Collection } from '@dxos/schema';
11
9
 
12
10
  import { meta } from '../../meta';
13
- import { Sheet, SheetOperation } from '../../types';
11
+ import { SheetOperation } from '../../types';
14
12
 
15
13
  export default Capability.makeModule(() =>
16
14
  Effect.succeed([
17
- Capability.contributes(Common.Capability.UndoMapping, [
15
+ Capability.contributes(Capabilities.UndoMapping, [
18
16
  UndoMapping.make({
19
17
  operation: SheetOperation.DropAxis,
20
18
  inverse: SheetOperation.RestoreAxis,
@@ -29,16 +27,7 @@ export default Capability.makeModule(() =>
29
27
  message: ['axis dropped label', { ns: meta.id }],
30
28
  }),
31
29
  ]),
32
- Capability.contributes(Common.Capability.OperationResolver, [
33
- OperationResolver.make({
34
- operation: SheetOperation.OnCreateSpace,
35
- handler: Effect.fnUntraced(function* ({ rootCollection }) {
36
- const collection = Collection.makeManaged({ key: Type.getTypename(Sheet.Sheet) });
37
- Obj.change(rootCollection, (c) => {
38
- c.objects.push(Ref.make(collection));
39
- });
40
- }),
41
- }),
30
+ Capability.contributes(Capabilities.OperationResolver, [
42
31
  OperationResolver.make({
43
32
  operation: SheetOperation.InsertAxis,
44
33
  handler: ({ model, axis, index, count }) =>
@@ -5,35 +5,41 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
  import React from 'react';
7
7
 
8
- import { Capability, Common } from '@dxos/app-framework';
9
- import { useCapability } from '@dxos/app-framework/react';
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface, useCapability } from '@dxos/app-framework/ui';
10
10
  import { Obj } from '@dxos/echo';
11
11
  import { getSpace } from '@dxos/react-client/echo';
12
12
 
13
- import { ComputeGraphContextProvider, RangeList, SheetContainer } from '../../components';
13
+ import { RangeList, SheetContainer } from '../../containers';
14
14
  import { meta } from '../../meta';
15
15
  import { Sheet, SheetCapabilities } from '../../types';
16
16
 
17
17
  export default Capability.makeModule(() =>
18
18
  Effect.succeed(
19
- Capability.contributes(Common.Capability.ReactSurface, [
20
- Common.createSurface({
21
- id: `${meta.id}/sheet`,
19
+ Capability.contributes(Capabilities.ReactSurface, [
20
+ Surface.create({
21
+ id: `${meta.id}.sheet`,
22
22
  role: ['article', 'section'],
23
- filter: (data): data is { subject: Sheet.Sheet } =>
24
- Obj.instanceOf(Sheet.Sheet, data.subject) && !!getSpace(data.subject),
23
+ filter: (data): data is { attendableId: string; subject: Sheet.Sheet } =>
24
+ typeof data.attendableId === 'string' &&
25
+ Obj.instanceOf(Sheet.Sheet, data.subject) &&
26
+ !!getSpace(data.subject),
25
27
  component: ({ data, role }) => {
26
28
  const computeGraphRegistry = useCapability(SheetCapabilities.ComputeGraphRegistry);
27
29
 
28
30
  return (
29
- <ComputeGraphContextProvider registry={computeGraphRegistry}>
30
- <SheetContainer role={role} subject={data.subject} space={getSpace(data.subject)!} />
31
- </ComputeGraphContextProvider>
31
+ <SheetContainer
32
+ role={role}
33
+ subject={data.subject}
34
+ attendableId={data.attendableId}
35
+ space={getSpace(data.subject)!}
36
+ registry={computeGraphRegistry}
37
+ />
32
38
  );
33
39
  },
34
40
  }),
35
- Common.createSurface({
36
- id: `${meta.id}/object-settings`,
41
+ Surface.create({
42
+ id: `${meta.id}.object-settings`,
37
43
  role: 'object-settings',
38
44
  filter: (data): data is { subject: Sheet.Sheet } => Obj.instanceOf(Sheet.Sheet, data.subject),
39
45
  component: ({ data }) => <RangeList sheet={data.subject} />,
@@ -84,10 +84,10 @@ const DefaultStory = () => {
84
84
  export const Default: Story = {};
85
85
 
86
86
  const meta = {
87
- title: 'plugins/plugin-sheet/functions',
87
+ title: 'plugins/plugin-sheet/components/functions',
88
88
  render: DefaultStory,
89
89
  decorators: [
90
- withTheme,
90
+ withTheme(),
91
91
  withClientProvider({ types: [Function.Function, Sheet.Sheet], createIdentity: true, createSpace: true }),
92
92
  withComputeGraphDecorator({ plugins: testFunctionPlugins }),
93
93
  ],
@@ -0,0 +1,20 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { SheetContent } from '../SheetContent';
6
+ import { SheetRoot } from '../SheetRoot';
7
+ import { SheetStatusbar } from '../SheetStatusbar';
8
+ import { SheetToolbar } from '../SheetToolbar';
9
+
10
+ export { useSheetContext, type SheetContextValue, type SheetRootProps } from '../SheetRoot';
11
+ export { type SheetContentProps } from '../SheetContent';
12
+ export { type SheetToolbarProps } from '../SheetToolbar';
13
+ export { type SheetStatusbarProps } from '../SheetStatusbar';
14
+
15
+ export const Sheet = {
16
+ Root: SheetRoot,
17
+ Toolbar: SheetToolbar,
18
+ Content: SheetContent,
19
+ Statusbar: SheetStatusbar,
20
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './Sheet';
@@ -38,9 +38,9 @@ const AutomergeStory = ({ value, ...props }: CellEditorProps) => {
38
38
  const space = await client.spaces.create();
39
39
 
40
40
  const sheet = Sheet.make();
41
- Obj.change(sheet, (s) => {
42
- s.name = 'Test';
43
- s.cells[cell] = { value };
41
+ Obj.change(sheet, (obj) => {
42
+ obj.name = 'Test';
43
+ obj.cells[cell] = { value };
44
44
  });
45
45
  space.db.add(sheet);
46
46
  setObject(sheet);
@@ -61,9 +61,9 @@ const AutomergeStory = ({ value, ...props }: CellEditorProps) => {
61
61
  };
62
62
 
63
63
  const meta = {
64
- title: 'plugins/plugin-sheet/CellEditor',
64
+ title: 'plugins/plugin-sheet/components/CellEditor',
65
65
 
66
- decorators: [withTheme],
66
+ decorators: [withTheme()],
67
67
  component: CellEditor,
68
68
  render: DefaultStory,
69
69
  } satisfies Meta<typeof DefaultStory>;
@@ -10,15 +10,15 @@ import { testFunctionPlugins } from '@dxos/compute/testing';
10
10
  import { OperationPlugin, RuntimePlugin } from '@dxos/plugin-testing';
11
11
  import { useSpace } from '@dxos/react-client/echo';
12
12
  import { withClientProvider } from '@dxos/react-client/testing';
13
- import { withTheme } from '@dxos/react-ui/testing';
13
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
14
14
 
15
15
  import { createTestCells, useTestSheet, withComputeGraphDecorator } from '../../testing';
16
16
  import { translations } from '../../translations';
17
17
  import { Sheet } from '../../types';
18
18
  import { useComputeGraph } from '../ComputeGraph';
19
- import { SheetProvider } from '../SheetContext';
19
+ import { SheetRoot } from '../SheetRoot';
20
20
 
21
- import { GridSheet } from './GridSheet';
21
+ import { SheetContent } from './SheetContent';
22
22
 
23
23
  export const Basic = () => {
24
24
  const space = useSpace();
@@ -29,19 +29,20 @@ export const Basic = () => {
29
29
  }
30
30
 
31
31
  return (
32
- <SheetProvider graph={graph} sheet={sheet} ignoreAttention>
33
- <div role='none' className='grid bs-full is-full'>
34
- <GridSheet />
32
+ <SheetRoot graph={graph} sheet={sheet} attendableId='test' ignoreAttention>
33
+ <div role='none' className='grid h-full w-full'>
34
+ <SheetContent />
35
35
  </div>
36
- </SheetProvider>
36
+ </SheetRoot>
37
37
  );
38
38
  };
39
39
 
40
40
  const meta = {
41
- title: 'plugins/plugin-sheet/GridSheet',
42
- component: GridSheet,
41
+ title: 'plugins/plugin-sheet/components/SheetContent',
42
+ component: SheetContent,
43
43
  decorators: [
44
- withTheme,
44
+ withTheme(),
45
+ withLayout({ layout: 'fullscreen' }),
45
46
  withClientProvider({ types: [Sheet.Sheet], createSpace: true }),
46
47
  withComputeGraphDecorator({ plugins: testFunctionPlugins }),
47
48
  withPluginManager({
@@ -52,7 +53,7 @@ const meta = {
52
53
  layout: 'fullscreen',
53
54
  translations,
54
55
  },
55
- } satisfies Meta<typeof GridSheet>;
56
+ } satisfies Meta<typeof SheetContent>;
56
57
 
57
58
  export default meta;
58
59
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  import React, {
6
6
  type FocusEvent,
7
+ forwardRef,
7
8
  type KeyboardEvent,
8
9
  type MouseEvent,
9
10
  type WheelEvent,
@@ -13,11 +14,11 @@ import React, {
13
14
  useState,
14
15
  } from 'react';
15
16
 
16
- import { useOperationInvoker } from '@dxos/app-framework/react';
17
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
17
18
  import { type CellRange, rangeToA1Notation } from '@dxos/compute';
18
19
  import { Obj } from '@dxos/echo';
19
20
  import { defaultColSize, defaultRowSize } from '@dxos/lit-grid';
20
- import { DropdownMenu, Icon, useTranslation } from '@dxos/react-ui';
21
+ import { type ComposableProps, DropdownMenu, Icon, SlottableProps, useTranslation } from '@dxos/react-ui';
21
22
  import { useAttention } from '@dxos/react-ui-attention';
22
23
  import {
23
24
  type DxGridCellIndex,
@@ -32,12 +33,13 @@ import {
32
33
  editorKeys,
33
34
  parseCellIndex,
34
35
  } from '@dxos/react-ui-grid';
36
+ import { composableProps } from '@dxos/ui-theme';
35
37
 
36
38
  import { type RangeController, rangeExtension, sheetExtension } from '../../extensions';
37
39
  import { useSelectThreadOnCellFocus, useUpdateFocusedCellOnThreadSelection } from '../../integrations';
38
40
  import { meta } from '../../meta';
39
41
  import { DEFAULT_COLS, DEFAULT_ROWS, SheetOperation } from '../../types';
40
- import { useSheetContext } from '../SheetContext';
42
+ import { useSheetContext } from '../SheetRoot';
41
43
 
42
44
  import { colLabelCell, rowLabelCell, useSheetModelDxGridProps } from './util';
43
45
 
@@ -69,10 +71,13 @@ const sheetRowDefault = {
69
71
  grid: { size: defaultRowSize, resizeable: true },
70
72
  };
71
73
 
72
- export const GridSheet = () => {
74
+ export type SheetContentProps = ComposableProps;
75
+
76
+ export const SheetContent = forwardRef<HTMLDivElement, SheetContentProps>((props, forwardedRef) => {
73
77
  const { t } = useTranslation(meta.id);
74
78
  const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } =
75
79
  useSheetContext();
80
+
76
81
  // NOTE(thure): using `useState` instead of `useRef` works with refs provided by `@lit/react` and gives us
77
82
  // a reliable dependency for `useEffect` whereas `useLayoutEffect` does not guarantee the element will be defined.
78
83
  const [dxGrid, setDxGrid] = useState<DxGridElement | null>(null);
@@ -317,19 +322,20 @@ export const GridSheet = () => {
317
322
  useSelectThreadOnCellFocus();
318
323
 
319
324
  return (
320
- // TODO(thure): Why are Table’s and Sheet’s editor boxes off by 1px?
321
- <div role='none' className='relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent'>
325
+ <div ref={forwardedRef} {...composableProps(props, { role: 'none', className: 'relative min-h-0' })}>
322
326
  <GridCellEditor getCellContent={getCellContent} extensions={extensions} onBlur={handleBlur} />
323
327
  <Grid.Content
328
+ className='[--dx-grid-base:var(--base-surface)] [&_.dx-grid]:absolute [&_.dx-grid]:inset-0'
324
329
  initialCells={initialCells}
325
330
  limitColumns={DEFAULT_COLS}
326
331
  limitRows={DEFAULT_ROWS}
327
332
  columns={columns}
328
333
  rows={rows}
329
- // TODO(burdon): `col` vs. `column`?
330
334
  columnDefault={sheetColDefault}
331
335
  rowDefault={sheetRowDefault}
336
+ activeRefs={activeRefs}
332
337
  frozen={frozen}
338
+ overscroll='trap'
333
339
  onAxisResize={handleAxisResize}
334
340
  onSelect={handleSelect}
335
341
  onFocus={handleFocus}
@@ -337,9 +343,6 @@ export const GridSheet = () => {
337
343
  onKeyDown={handleKeyDown}
338
344
  onContextMenu={handleContextMenu}
339
345
  onClick={handleClick}
340
- overscroll='trap'
341
- className='[--dx-grid-base:var(--baseSurface)] [&_.dx-grid]:absolute [&_.dx-grid]:inset-0'
342
- activeRefs={activeRefs}
343
346
  ref={setDxGrid}
344
347
  />
345
348
  <DropdownMenu.Root
@@ -383,4 +386,4 @@ export const GridSheet = () => {
383
386
  </DropdownMenu.Root>
384
387
  </div>
385
388
  );
386
- };
389
+ });
@@ -2,4 +2,4 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export * from './RangeList';
5
+ export * from './SheetContent';
@@ -96,13 +96,13 @@ const gridCellGetter = (model: SheetModel) => {
96
96
 
97
97
  export const rowLabelCell = (row: number) => ({
98
98
  value: rowToA1Notation(row),
99
- className: '!bg-toolbarSurface text-subdued text-end pie-1',
99
+ className: '!bg-toolbar-surface text-subdued text-end pe-1',
100
100
  resizeHandle: 'row',
101
101
  });
102
102
 
103
103
  export const colLabelCell = (col: number) => ({
104
104
  value: colToA1Notation(col),
105
- className: '!bg-toolbarSurface text-subdued',
105
+ className: '!bg-toolbar-surface text-subdued',
106
106
  resizeHandle: 'col',
107
107
  });
108
108
 
@@ -114,7 +114,7 @@ const cellGetter = (model: SheetModel) => {
114
114
  return getGridCells(nextBounds);
115
115
  case 'fixedStartStart': {
116
116
  return {
117
- '0,0': { className: '!bg-toolbarSurface' },
117
+ '0,0': { className: '!bg-toolbar-surface' },
118
118
  };
119
119
  }
120
120
  case 'frozenColsStart':