@dxos/plugin-markdown 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (208) hide show
  1. package/dist/lib/browser/blueprints/index.mjs +3 -4
  2. package/dist/lib/browser/blueprints/index.mjs.map +2 -2
  3. package/dist/lib/browser/{chunk-XKUKZNUS.mjs → chunk-DNSKDWUL.mjs} +4 -6
  4. package/dist/lib/browser/chunk-DNSKDWUL.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-46WIDM4R.mjs → chunk-SW6IK2GJ.mjs} +39 -13
  6. package/dist/lib/browser/chunk-SW6IK2GJ.mjs.map +7 -0
  7. package/dist/lib/browser/{create-HSXPXCC5.mjs → create-SRADQOTE.mjs} +4 -5
  8. package/dist/lib/browser/create-SRADQOTE.mjs.map +7 -0
  9. package/dist/lib/browser/{create-markdown-WB7DH3UF.mjs → create-markdown-A2ERCEOZ.mjs} +4 -5
  10. package/dist/lib/browser/create-markdown-A2ERCEOZ.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +7 -545
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{open-N6PAX6DY.mjs → open-ANTKMST5.mjs} +4 -5
  15. package/dist/lib/browser/open-ANTKMST5.mjs.map +7 -0
  16. package/dist/lib/browser/operations/index.mjs +4 -5
  17. package/dist/lib/browser/operations/index.mjs.map +3 -3
  18. package/dist/lib/browser/{scroll-to-anchor-5M4F24AB.mjs → scroll-to-anchor-4RJ6MQ7I.mjs} +4 -5
  19. package/dist/lib/browser/scroll-to-anchor-4RJ6MQ7I.mjs.map +7 -0
  20. package/dist/lib/browser/{set-view-mode-NBNF2I5W.mjs → set-view-mode-2S7KKY7C.mjs} +4 -5
  21. package/dist/lib/browser/set-view-mode-2S7KKY7C.mjs.map +7 -0
  22. package/dist/lib/browser/types/index.mjs +1 -2
  23. package/dist/lib/browser/{update-5QIRVGTL.mjs → update-markdown-CPM5KOQW.mjs} +7 -8
  24. package/dist/lib/browser/update-markdown-CPM5KOQW.mjs.map +7 -0
  25. package/dist/lib/node-esm/blueprints/index.mjs +3 -4
  26. package/dist/lib/node-esm/blueprints/index.mjs.map +2 -2
  27. package/dist/lib/node-esm/{chunk-E4BQCEXF.mjs → chunk-MWYFGI2J.mjs} +4 -6
  28. package/dist/lib/node-esm/chunk-MWYFGI2J.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-4MSJO6IJ.mjs → chunk-ZE6QJ4S5.mjs} +39 -13
  30. package/dist/lib/node-esm/chunk-ZE6QJ4S5.mjs.map +7 -0
  31. package/dist/lib/node-esm/{create-6Z2KYISY.mjs → create-6JGQPPQ6.mjs} +4 -5
  32. package/dist/lib/node-esm/create-6JGQPPQ6.mjs.map +7 -0
  33. package/dist/lib/node-esm/{create-markdown-JWQZICKY.mjs → create-markdown-KXSM2I2M.mjs} +4 -5
  34. package/dist/lib/{browser/create-markdown-WB7DH3UF.mjs.map → node-esm/create-markdown-KXSM2I2M.mjs.map} +1 -1
  35. package/dist/lib/node-esm/index.mjs +7 -545
  36. package/dist/lib/node-esm/index.mjs.map +4 -4
  37. package/dist/lib/node-esm/meta.json +1 -1
  38. package/dist/lib/node-esm/{open-DSNFRSNZ.mjs → open-GB6HNBHS.mjs} +4 -5
  39. package/dist/lib/node-esm/open-GB6HNBHS.mjs.map +7 -0
  40. package/dist/lib/node-esm/operations/index.mjs +4 -5
  41. package/dist/lib/node-esm/operations/index.mjs.map +3 -3
  42. package/dist/lib/node-esm/{scroll-to-anchor-D6SHGU2R.mjs → scroll-to-anchor-UABP74RR.mjs} +4 -5
  43. package/dist/lib/{browser/scroll-to-anchor-5M4F24AB.mjs.map → node-esm/scroll-to-anchor-UABP74RR.mjs.map} +1 -1
  44. package/dist/lib/node-esm/{set-view-mode-REYB4L7J.mjs → set-view-mode-JEDC5ZL7.mjs} +4 -5
  45. package/dist/lib/{browser/set-view-mode-NBNF2I5W.mjs.map → node-esm/set-view-mode-JEDC5ZL7.mjs.map} +1 -1
  46. package/dist/lib/node-esm/types/index.mjs +1 -2
  47. package/dist/lib/node-esm/{update-YMQAIKOF.mjs → update-markdown-AXLYHK6S.mjs} +7 -8
  48. package/dist/lib/node-esm/update-markdown-AXLYHK6S.mjs.map +7 -0
  49. package/dist/types/src/MarkdownPlugin.d.ts +1 -0
  50. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  51. package/dist/types/src/{cli/plugin.d.ts → MarkdownPlugin.node.d.ts} +2 -1
  52. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
  53. package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
  54. package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
  55. package/dist/types/src/blueprints/markdown-blueprint.d.ts +2 -2
  56. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
  61. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/index.d.ts +3 -21
  63. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/node.d.ts +1 -1
  65. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  67. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/settings.d.ts +1 -19
  70. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  72. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +14 -6
  73. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  74. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -1
  76. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  77. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -2
  78. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  79. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +1 -1
  80. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  81. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +46 -90
  82. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -1
  83. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  84. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +1 -1
  85. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  86. package/dist/types/src/containers/MarkdownCard/MarkdownEditableCard.d.ts +15 -0
  87. package/dist/types/src/containers/MarkdownCard/MarkdownEditableCard.d.ts.map +1 -0
  88. package/dist/types/src/containers/MarkdownCard/index.d.ts +1 -0
  89. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -1
  90. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +7 -5
  91. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -1
  92. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts +4 -4
  93. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -1
  94. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +70 -72
  95. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -1
  96. package/dist/types/src/containers/index.d.ts +1 -0
  97. package/dist/types/src/containers/index.d.ts.map +1 -1
  98. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  99. package/dist/types/src/hooks/useExtensions.d.ts +3 -1
  100. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  101. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  102. package/dist/types/src/index.d.ts +2 -3
  103. package/dist/types/src/index.d.ts.map +1 -1
  104. package/dist/types/src/operations/create-markdown.d.ts +1 -1
  105. package/dist/types/src/operations/create-markdown.d.ts.map +1 -1
  106. package/dist/types/src/operations/create.d.ts +1 -1
  107. package/dist/types/src/operations/create.d.ts.map +1 -1
  108. package/dist/types/src/operations/definitions.d.ts +2 -2
  109. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  110. package/dist/types/src/operations/index.d.ts +1 -1
  111. package/dist/types/src/operations/index.d.ts.map +1 -1
  112. package/dist/types/src/operations/open.d.ts +1 -1
  113. package/dist/types/src/operations/open.d.ts.map +1 -1
  114. package/dist/types/src/operations/scroll-to-anchor.d.ts +1 -1
  115. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
  116. package/dist/types/src/operations/set-view-mode.d.ts +1 -1
  117. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -1
  118. package/dist/types/src/operations/{update.d.ts → update-markdown.d.ts} +2 -2
  119. package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
  120. package/dist/types/src/testing.d.ts.map +1 -1
  121. package/dist/types/src/translations.d.ts +70 -73
  122. package/dist/types/src/translations.d.ts.map +1 -1
  123. package/dist/types/src/types/Markdown.d.ts +8 -8
  124. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  125. package/dist/types/src/types/Settings.d.ts +10 -9
  126. package/dist/types/src/types/Settings.d.ts.map +1 -1
  127. package/dist/types/src/types/capabilities.d.ts +3 -20
  128. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  129. package/dist/types/src/types/events.d.ts.map +1 -1
  130. package/dist/types/src/types/types.d.ts +1 -0
  131. package/dist/types/src/types/types.d.ts.map +1 -1
  132. package/dist/types/src/util.d.ts.map +1 -1
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +60 -73
  135. package/src/{cli/plugin.ts → MarkdownPlugin.node.ts} +4 -2
  136. package/src/MarkdownPlugin.test.ts +26 -0
  137. package/src/MarkdownPlugin.tsx +6 -4
  138. package/src/blueprints/markdown-blueprint.ts +2 -3
  139. package/src/capabilities/app-graph-serializer.ts +1 -2
  140. package/src/capabilities/artifact-definition.ts +1 -1
  141. package/src/capabilities/blueprint-definition.ts +2 -0
  142. package/src/capabilities/index.ts +2 -1
  143. package/src/capabilities/node.ts +1 -1
  144. package/src/capabilities/operation-handler.ts +1 -1
  145. package/src/capabilities/react-surface.tsx +15 -8
  146. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +3 -2
  147. package/src/components/MarkdownEditor/MarkdownEditor.tsx +4 -4
  148. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +3 -3
  149. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +4 -15
  150. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +2 -1
  151. package/src/components/MarkdownSettings/MarkdownSettings.tsx +16 -119
  152. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +3 -2
  153. package/src/containers/MarkdownCard/MarkdownCard.tsx +13 -7
  154. package/src/containers/MarkdownCard/MarkdownEditableCard.tsx +42 -0
  155. package/src/containers/MarkdownCard/index.ts +1 -0
  156. package/src/containers/MarkdownCard/snippet.ts +27 -51
  157. package/src/containers/MarkdownContainer/MarkdownContainer.stories.tsx +4 -3
  158. package/src/containers/MarkdownContainer/MarkdownContainer.tsx +5 -4
  159. package/src/containers/index.ts +3 -0
  160. package/src/hooks/useExtensions.tsx +7 -8
  161. package/src/index.ts +5 -4
  162. package/src/operations/create-markdown.ts +1 -1
  163. package/src/operations/create.conversations.json +1 -1
  164. package/src/operations/create.test.ts +4 -5
  165. package/src/operations/create.ts +1 -1
  166. package/src/operations/definitions.ts +1 -1
  167. package/src/operations/index.ts +2 -2
  168. package/src/operations/open.ts +1 -1
  169. package/src/operations/scroll-to-anchor.ts +1 -1
  170. package/src/operations/set-view-mode.ts +1 -1
  171. package/src/operations/{update.ts → update-markdown.ts} +1 -1
  172. package/src/operations/update.conversations.json +1 -1
  173. package/src/operations/update.test.ts +4 -5
  174. package/src/translations.ts +2 -26
  175. package/src/types/Settings.ts +47 -10
  176. package/src/types/capabilities.ts +2 -1
  177. package/src/types/types.ts +4 -1
  178. package/src/util.tsx +1 -1
  179. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs +0 -121
  180. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs.map +0 -7
  181. package/dist/lib/browser/chunk-46WIDM4R.mjs.map +0 -7
  182. package/dist/lib/browser/chunk-J5LGTIGS.mjs +0 -10
  183. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-XKUKZNUS.mjs.map +0 -7
  185. package/dist/lib/browser/cli/index.mjs +0 -39
  186. package/dist/lib/browser/cli/index.mjs.map +0 -7
  187. package/dist/lib/browser/create-HSXPXCC5.mjs.map +0 -7
  188. package/dist/lib/browser/open-N6PAX6DY.mjs.map +0 -7
  189. package/dist/lib/browser/update-5QIRVGTL.mjs.map +0 -7
  190. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs +0 -122
  191. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs.map +0 -7
  193. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  195. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  196. package/dist/lib/node-esm/cli/index.mjs +0 -40
  197. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  198. package/dist/lib/node-esm/create-6Z2KYISY.mjs.map +0 -7
  199. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs.map +0 -7
  200. package/dist/lib/node-esm/open-DSNFRSNZ.mjs.map +0 -7
  201. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs.map +0 -7
  202. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs.map +0 -7
  203. package/dist/lib/node-esm/update-YMQAIKOF.mjs.map +0 -7
  204. package/dist/types/src/cli/index.d.ts +0 -2
  205. package/dist/types/src/cli/index.d.ts.map +0 -1
  206. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  207. package/dist/types/src/operations/update.d.ts.map +0 -1
  208. package/src/cli/index.ts +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-markdown",
3
- "version": "0.8.4-main.9be5663bfe",
3
+ "version": "0.8.4-main.abd8ff62ef",
4
4
  "description": "DXOS Surface plugin for interacting with Markdown",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -15,17 +15,22 @@
15
15
  "imports": {
16
16
  "#blueprints": "./src/blueprints/index.ts",
17
17
  "#capabilities": {
18
- "source": "./src/capabilities/index.ts",
19
- "types": "./src/capabilities/index.ts",
20
18
  "browser": "./src/capabilities/index.ts",
21
- "node": "./src/capabilities/node.ts"
19
+ "node": "./src/capabilities/node.ts",
20
+ "default": "./src/capabilities/index.ts"
22
21
  },
23
22
  "#components": "./src/components/index.ts",
24
23
  "#containers": "./src/containers/index.ts",
25
24
  "#hooks": "./src/hooks/index.ts",
26
25
  "#meta": "./src/meta.ts",
27
26
  "#operations": "./src/operations/index.ts",
27
+ "#plugin": {
28
+ "browser": "./src/MarkdownPlugin.tsx",
29
+ "node": "./src/MarkdownPlugin.node.ts",
30
+ "default": "./src/MarkdownPlugin.tsx"
31
+ },
28
32
  "#testing": "./src/testing.ts",
33
+ "#translations": "./src/translations.ts",
29
34
  "#types": "./src/types/index.ts"
30
35
  },
31
36
  "exports": {
@@ -41,12 +46,6 @@
41
46
  "browser": "./dist/lib/browser/blueprints/index.mjs",
42
47
  "node": "./dist/lib/node-esm/blueprints/index.mjs"
43
48
  },
44
- "./cli": {
45
- "source": "./src/cli/index.ts",
46
- "types": "./dist/types/src/cli/index.d.ts",
47
- "browser": "./dist/lib/browser/cli/index.mjs",
48
- "node": "./dist/lib/node-esm/cli/index.mjs"
49
- },
50
49
  "./operations": {
51
50
  "source": "./src/operations/index.ts",
52
51
  "types": "./dist/types/src/operations/index.d.ts",
@@ -59,6 +58,12 @@
59
58
  "browser": "./dist/lib/browser/testing.mjs",
60
59
  "node": "./dist/lib/node-esm/testing.mjs"
61
60
  },
61
+ "./translations": {
62
+ "source": "./src/translations.ts",
63
+ "types": "./dist/types/src/translations.d.ts",
64
+ "browser": "./dist/lib/browser/translations.mjs",
65
+ "node": "./dist/lib/node-esm/translations.mjs"
66
+ },
62
67
  "./types": {
63
68
  "source": "./src/types/index.ts",
64
69
  "types": "./dist/types/src/types/index.d.ts",
@@ -67,22 +72,6 @@
67
72
  }
68
73
  },
69
74
  "types": "dist/types/src/index.d.ts",
70
- "typesVersions": {
71
- "*": {
72
- "blueprints": [
73
- "dist/types/src/blueprints/index.d.ts"
74
- ],
75
- "operations": [
76
- "dist/types/src/operations/index.d.ts"
77
- ],
78
- "toolkit": [
79
- "dist/types/src/toolkit.d.ts"
80
- ],
81
- "types": [
82
- "dist/types/src/types/index.d.ts"
83
- ]
84
- }
85
- },
86
75
  "files": [
87
76
  "dist",
88
77
  "src"
@@ -98,43 +87,41 @@
98
87
  "@effect/experimental": "0.58.0",
99
88
  "@radix-ui/react-context": "1.1.1",
100
89
  "react-dropzone": "^14.2.3",
101
- "@dxos/ai": "0.8.4-main.9be5663bfe",
102
- "@dxos/async": "0.8.4-main.9be5663bfe",
103
- "@dxos/app-framework": "0.8.4-main.9be5663bfe",
104
- "@dxos/app-toolkit": "0.8.4-main.9be5663bfe",
105
- "@dxos/blueprints": "0.8.4-main.9be5663bfe",
106
- "@dxos/client-protocol": "0.8.4-main.9be5663bfe",
107
- "@dxos/assistant": "0.8.4-main.9be5663bfe",
108
- "@dxos/echo": "0.8.4-main.9be5663bfe",
109
- "@dxos/effect": "0.8.4-main.9be5663bfe",
110
- "@dxos/functions": "0.8.4-main.9be5663bfe",
111
- "@dxos/functions-runtime": "0.8.4-main.9be5663bfe",
112
- "@dxos/echo-db": "0.8.4-main.9be5663bfe",
113
- "@dxos/invariant": "0.8.4-main.9be5663bfe",
114
- "@dxos/keys": "0.8.4-main.9be5663bfe",
115
- "@dxos/lit-ui": "0.8.4-main.9be5663bfe",
116
- "@dxos/log": "0.8.4-main.9be5663bfe",
117
- "@dxos/plugin-client": "0.8.4-main.9be5663bfe",
118
- "@dxos/plugin-attention": "0.8.4-main.9be5663bfe",
119
- "@dxos/operation": "0.8.4-main.9be5663bfe",
120
- "@dxos/plugin-graph": "0.8.4-main.9be5663bfe",
121
- "@dxos/plugin-preview": "0.8.4-main.9be5663bfe",
122
- "@dxos/plugin-theme": "0.8.4-main.9be5663bfe",
123
- "@dxos/plugin-space": "0.8.4-main.9be5663bfe",
124
- "@dxos/react-hooks": "0.8.4-main.9be5663bfe",
125
- "@dxos/react-client": "0.8.4-main.9be5663bfe",
126
- "@dxos/react-ui-editor": "0.8.4-main.9be5663bfe",
127
- "@dxos/plugin-deck": "0.8.4-main.9be5663bfe",
128
- "@dxos/react-ui-form": "0.8.4-main.9be5663bfe",
129
- "@dxos/react-ui-menu": "0.8.4-main.9be5663bfe",
130
- "@dxos/react-ui-mosaic": "0.8.4-main.9be5663bfe",
131
- "@dxos/react-ui-stack": "0.8.4-main.9be5663bfe",
132
- "@dxos/ui": "0.8.4-main.9be5663bfe",
133
- "@dxos/schema": "0.8.4-main.9be5663bfe",
134
- "@dxos/types": "0.8.4-main.9be5663bfe",
135
- "@dxos/ui-editor": "0.8.4-main.9be5663bfe",
136
- "@dxos/util": "0.8.4-main.9be5663bfe",
137
- "@dxos/react-ui-attention": "0.8.4-main.9be5663bfe"
90
+ "@dxos/ai": "0.8.4-main.abd8ff62ef",
91
+ "@dxos/app-framework": "0.8.4-main.abd8ff62ef",
92
+ "@dxos/assistant": "0.8.4-main.abd8ff62ef",
93
+ "@dxos/app-toolkit": "0.8.4-main.abd8ff62ef",
94
+ "@dxos/async": "0.8.4-main.abd8ff62ef",
95
+ "@dxos/client-protocol": "0.8.4-main.abd8ff62ef",
96
+ "@dxos/compute": "0.8.4-main.abd8ff62ef",
97
+ "@dxos/echo": "0.8.4-main.abd8ff62ef",
98
+ "@dxos/effect": "0.8.4-main.abd8ff62ef",
99
+ "@dxos/functions-runtime": "0.8.4-main.abd8ff62ef",
100
+ "@dxos/invariant": "0.8.4-main.abd8ff62ef",
101
+ "@dxos/echo-db": "0.8.4-main.abd8ff62ef",
102
+ "@dxos/keys": "0.8.4-main.abd8ff62ef",
103
+ "@dxos/lit-ui": "0.8.4-main.abd8ff62ef",
104
+ "@dxos/log": "0.8.4-main.abd8ff62ef",
105
+ "@dxos/plugin-attention": "0.8.4-main.abd8ff62ef",
106
+ "@dxos/plugin-client": "0.8.4-main.abd8ff62ef",
107
+ "@dxos/plugin-deck": "0.8.4-main.abd8ff62ef",
108
+ "@dxos/plugin-space": "0.8.4-main.abd8ff62ef",
109
+ "@dxos/plugin-graph": "0.8.4-main.abd8ff62ef",
110
+ "@dxos/plugin-preview": "0.8.4-main.abd8ff62ef",
111
+ "@dxos/plugin-theme": "0.8.4-main.abd8ff62ef",
112
+ "@dxos/react-client": "0.8.4-main.abd8ff62ef",
113
+ "@dxos/react-ui-attention": "0.8.4-main.abd8ff62ef",
114
+ "@dxos/react-ui-editor": "0.8.4-main.abd8ff62ef",
115
+ "@dxos/react-ui-form": "0.8.4-main.abd8ff62ef",
116
+ "@dxos/react-hooks": "0.8.4-main.abd8ff62ef",
117
+ "@dxos/react-ui-mosaic": "0.8.4-main.abd8ff62ef",
118
+ "@dxos/react-ui-stack": "0.8.4-main.abd8ff62ef",
119
+ "@dxos/react-ui-menu": "0.8.4-main.abd8ff62ef",
120
+ "@dxos/schema": "0.8.4-main.abd8ff62ef",
121
+ "@dxos/ui-editor": "0.8.4-main.abd8ff62ef",
122
+ "@dxos/util": "0.8.4-main.abd8ff62ef",
123
+ "@dxos/types": "0.8.4-main.abd8ff62ef",
124
+ "@dxos/ui": "0.8.4-main.abd8ff62ef"
138
125
  },
139
126
  "devDependencies": {
140
127
  "@effect-atom/atom-react": "^0.5.0",
@@ -144,14 +131,14 @@
144
131
  "effect": "3.20.0",
145
132
  "react": "~19.2.3",
146
133
  "react-dom": "~19.2.3",
147
- "vite": "^7.1.11",
148
- "@dxos/debug": "0.8.4-main.9be5663bfe",
149
- "@dxos/plugin-theme": "0.8.4-main.9be5663bfe",
150
- "@dxos/random": "0.8.4-main.9be5663bfe",
151
- "@dxos/react-ui": "0.8.4-main.9be5663bfe",
152
- "@dxos/plugin-testing": "0.8.4-main.9be5663bfe",
153
- "@dxos/ui-theme": "0.8.4-main.9be5663bfe",
154
- "@dxos/storybook-utils": "0.8.4-main.9be5663bfe"
134
+ "vite": "^8.0.10",
135
+ "@dxos/debug": "0.8.4-main.abd8ff62ef",
136
+ "@dxos/plugin-theme": "0.8.4-main.abd8ff62ef",
137
+ "@dxos/random": "0.8.4-main.abd8ff62ef",
138
+ "@dxos/storybook-utils": "0.8.4-main.abd8ff62ef",
139
+ "@dxos/plugin-testing": "0.8.4-main.abd8ff62ef",
140
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
141
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef"
155
142
  },
156
143
  "peerDependencies": {
157
144
  "@effect-atom/atom-react": "^0.5.0",
@@ -159,8 +146,8 @@
159
146
  "effect": "3.20.0",
160
147
  "react": "~19.2.3",
161
148
  "react-dom": "~19.2.3",
162
- "@dxos/react-ui": "0.8.4-main.9be5663bfe",
163
- "@dxos/ui-theme": "0.8.4-main.9be5663bfe"
149
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
150
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef"
164
151
  },
165
152
  "publishConfig": {
166
153
  "access": "public"
@@ -1,12 +1,12 @@
1
1
  //
2
- // Copyright 2025 DXOS.org
2
+ // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Plugin } from '@dxos/app-framework';
8
8
  import { AppPlugin } from '@dxos/app-toolkit';
9
- import { Operation } from '@dxos/operation';
9
+ import { Operation } from '@dxos/compute';
10
10
  import { SpaceOperation } from '@dxos/plugin-space/operations';
11
11
  import { type CreateObject } from '@dxos/plugin-space/types';
12
12
  import { Text } from '@dxos/schema';
@@ -37,3 +37,5 @@ export const MarkdownPlugin = Plugin.define(meta).pipe(
37
37
  AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),
38
38
  Plugin.make,
39
39
  );
40
+
41
+ export default MarkdownPlugin;
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import { ClientPlugin } from '@dxos/plugin-client';
8
+ import { createComposerTestApp } from '@dxos/plugin-testing/harness';
9
+
10
+ import { MarkdownPlugin } from '#plugin';
11
+
12
+ import { meta } from './meta';
13
+
14
+ const moduleId = (name: string) => `${meta.id}.module.${name}`;
15
+
16
+ describe('MarkdownPlugin', () => {
17
+ test('modules activate on the expected events', async ({ expect }) => {
18
+ await using harness = await createComposerTestApp({
19
+ plugins: [ClientPlugin({}), MarkdownPlugin()],
20
+ });
21
+
22
+ expect(harness.manager.getActive()).toEqual(
23
+ expect.arrayContaining([moduleId('metadata'), moduleId('schema'), moduleId('OperationHandler')]),
24
+ );
25
+ });
26
+ });
@@ -7,12 +7,12 @@ import * as Option from 'effect/Option';
7
7
 
8
8
  import { Plugin } from '@dxos/app-framework';
9
9
  import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
10
+ import { Operation } from '@dxos/compute';
10
11
  import { Annotation, type Obj, Ref } from '@dxos/echo';
11
12
  import { createDocAccessor, getTextInRange } from '@dxos/echo-db';
12
- import { Operation } from '@dxos/operation';
13
13
  import { SpaceOperation } from '@dxos/plugin-space/operations';
14
14
  import { type CreateObject } from '@dxos/plugin-space/types';
15
- import { translations as editorTranslations } from '@dxos/react-ui-editor';
15
+ import { translations as editorTranslations } from '@dxos/react-ui-editor/translations';
16
16
  import { Text } from '@dxos/schema';
17
17
 
18
18
  import { MarkdownBlueprint } from '#blueprints';
@@ -27,9 +27,9 @@ import {
27
27
  } from '#capabilities';
28
28
  import { meta } from '#meta';
29
29
  import { MarkdownOperation } from '#operations';
30
+ import { translations } from '#translations';
30
31
  import { Markdown, MarkdownEvents } from '#types';
31
32
 
32
- import { translations } from './translations';
33
33
  import { serializer } from './util';
34
34
 
35
35
  export const MarkdownPlugin = Plugin.define(meta).pipe(
@@ -76,7 +76,7 @@ export const MarkdownPlugin = Plugin.define(meta).pipe(
76
76
  AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),
77
77
  AppPlugin.addSurfaceModule({
78
78
  activate: ReactSurface,
79
- activatesBefore: [MarkdownEvents.SetupExtensions],
79
+ firesBeforeActivation: [MarkdownEvents.SetupExtensions],
80
80
  }),
81
81
  AppPlugin.addTranslationsModule({ translations: [...translations, ...editorTranslations] }),
82
82
  Plugin.addModule({
@@ -102,3 +102,5 @@ export const MarkdownPlugin = Plugin.define(meta).pipe(
102
102
  }),
103
103
  Plugin.make,
104
104
  );
105
+
106
+ export default MarkdownPlugin;
@@ -2,8 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type AppCapabilities } from '@dxos/app-toolkit';
6
- import { Blueprint, Template } from '@dxos/blueprints';
5
+ import { Blueprint, Template } from '@dxos/compute';
7
6
  import { trim } from '@dxos/util';
8
7
 
9
8
  import { Create, Open, Update } from '../operations/definitions';
@@ -36,7 +35,7 @@ const make = () =>
36
35
  }),
37
36
  });
38
37
 
39
- const blueprint: AppCapabilities.BlueprintDefinition = {
38
+ const blueprint: Blueprint.Definition = {
40
39
  key: BLUEPRINT_KEY,
41
40
  make,
42
41
  };
@@ -12,10 +12,9 @@ import { SpaceOperation } from '@dxos/plugin-space/operations';
12
12
  import { isSpace } from '@dxos/react-client/echo';
13
13
 
14
14
  import { MarkdownOperation } from '#operations';
15
+ import { translations } from '#translations';
15
16
  import { Markdown } from '#types';
16
17
 
17
- import { translations } from '../translations';
18
-
19
18
  export default Capability.makeModule(
20
19
  Effect.fnUntraced(function* () {
21
20
  // Get context for lazy capability access in callbacks.
@@ -11,7 +11,7 @@ import * as Schema from 'effect/Schema';
11
11
  import { ToolResult, createTool } from '@dxos/ai';
12
12
  import { Capabilities, Capability } from '@dxos/app-framework';
13
13
  import { ArtifactId, createArtifactElement } from '@dxos/assistant';
14
- import { defineArtifact } from '@dxos/blueprints';
14
+ import { defineArtifact } from '@dxos/compute';
15
15
  import { Obj } from '@dxos/echo';
16
16
  import { assertArgument, invariant } from '@dxos/invariant';
17
17
  import { SpaceOperation } from '@dxos/plugin-space/operations';
@@ -6,6 +6,8 @@ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capability } from '@dxos/app-framework';
8
8
  import { AppCapabilities } from '@dxos/app-toolkit';
9
+ // eslint-disable-next-line unused-imports/no-unused-imports
10
+ import type { Blueprint } from '@dxos/compute';
9
11
 
10
12
  import { MarkdownBlueprint } from '#blueprints';
11
13
 
@@ -3,7 +3,8 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ // eslint-disable-next-line unused-imports/no-unused-imports
7
+ import type { Blueprint, OperationHandlerSet } from '@dxos/compute';
7
8
 
8
9
  export const AnchorSort = Capability.lazy('AnchorSort', () => import('./anchor-sort'));
9
10
  export const AppGraphSerializer = Capability.lazy('AppGraphSerializer', () => import('./app-graph-serializer'));
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
9
9
  'OperationHandler',
@@ -5,7 +5,7 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
- import type { OperationHandlerSet } from '@dxos/operation';
8
+ import type { OperationHandlerSet } from '@dxos/compute';
9
9
 
10
10
  import { MarkdownOperationHandlerSet } from '#operations';
11
11
 
@@ -17,10 +17,10 @@ import { AppSurface } from '@dxos/app-toolkit/ui';
17
17
  import { Obj } from '@dxos/echo';
18
18
  import { AttentionCapabilities } from '@dxos/plugin-attention/types';
19
19
  import { Text } from '@dxos/schema';
20
- import { type EditorViewMode } from '@dxos/ui-editor';
20
+ import { type EditorViewMode } from '@dxos/ui-editor/types';
21
21
 
22
22
  import { MarkdownSettings } from '#components';
23
- import { MarkdownCard, MarkdownContainer, type MarkdownContainerProps } from '#containers';
23
+ import { MarkdownCard, MarkdownEditableCard, MarkdownContainer, type MarkdownContainerProps } from '#containers';
24
24
  import { meta } from '#meta';
25
25
  import { Markdown, MarkdownCapabilities } from '#types';
26
26
 
@@ -48,9 +48,12 @@ export default Capability.makeModule(() =>
48
48
  Surface.create({
49
49
  id: 'surface.text',
50
50
  // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
51
- role: ['article', 'section', 'tabpanel'],
52
51
  // TODO(burdon): Why is attendableId required? See EventArticle.tsx
53
- filter: AppSurface.objectArticle(Text.Text),
52
+ filter: AppSurface.oneOf(
53
+ AppSurface.object(AppSurface.Article, Text.Text),
54
+ AppSurface.object(AppSurface.Section, Text.Text),
55
+ AppSurface.object(AppSurface.Tabpanel, Text.Text),
56
+ ),
54
57
  component: ({ data, role, ref }) => {
55
58
  return (
56
59
  <Container
@@ -65,17 +68,21 @@ export default Capability.makeModule(() =>
65
68
  }),
66
69
  Surface.create({
67
70
  id: 'surface.plugin-settings',
68
- role: 'article',
69
- filter: AppSurface.settingsArticle(meta.id),
71
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
70
72
  component: ({ data: { subject } }) => {
71
73
  const { settings, updateSettings } = useSettingsState<Markdown.Settings>(subject.atom);
72
74
  return <MarkdownSettings settings={settings} onSettingsChange={updateSettings} />;
73
75
  },
74
76
  }),
77
+ Surface.create({
78
+ id: 'surface.editable',
79
+ position: 'hoist',
80
+ filter: AppSurface.object(AppSurface.Card, [Markdown.Document, Text.Text], (data) => data.editable === true),
81
+ component: ({ data }) => <MarkdownEditableCard subject={data.subject} />,
82
+ }),
75
83
  Surface.create({
76
84
  id: 'surface.preview',
77
- role: 'card--content',
78
- filter: AppSurface.objectCard([Markdown.Document, Text.Text]),
85
+ filter: AppSurface.object(AppSurface.Card, [Markdown.Document, Text.Text], (data) => data.editable !== true),
79
86
  component: ({ data }) => <MarkdownCard {...data} />,
80
87
  }),
81
88
  ]),
@@ -14,13 +14,14 @@ import { corePlugins } from '@dxos/plugin-testing';
14
14
  import { useQuery, useSpaces } from '@dxos/react-client/echo';
15
15
  import { Panel } from '@dxos/react-ui';
16
16
  import { AttendableContainer } from '@dxos/react-ui-attention';
17
- import { Editor, translations as editorTranslations } from '@dxos/react-ui-editor';
17
+ import { Editor } from '@dxos/react-ui-editor';
18
+ import { translations as editorTranslations } from '@dxos/react-ui-editor/translations';
18
19
  import { Loading, withLayout } from '@dxos/react-ui/testing';
19
20
  import { Text } from '@dxos/schema';
20
21
 
22
+ import { translations } from '#translations';
21
23
  import { Markdown } from '#types';
22
24
 
23
- import { translations } from '../../translations';
24
25
  import { MarkdownEditor, MarkdownEditorProvider, type MarkdownEditorProviderProps } from './MarkdownEditor';
25
26
 
26
27
  type DefaultStoryProps = Omit<MarkdownEditorProviderProps, 'id' | 'extensions' | 'children'>;
@@ -10,6 +10,7 @@ import React, { type ReactNode, useCallback, useMemo, useState } from 'react';
10
10
  import { createPortal } from 'react-dom';
11
11
 
12
12
  import { Surface } from '@dxos/app-framework/ui';
13
+ import { AppSurface } from '@dxos/app-toolkit/ui';
13
14
  import { Obj } from '@dxos/echo';
14
15
  import { DXN } from '@dxos/keys';
15
16
  import { useClient } from '@dxos/react-client';
@@ -207,21 +208,20 @@ MarkdownEditorContent.displayName = MARKDOWN_EDITOR_CONTENT_NAME;
207
208
  const MARKDOWN_EDITOR_TOOLBAR_NAME = 'MarkdownEditor.Toolbar';
208
209
 
209
210
  type MarkdownEditorToolbarProps = ThemedClassName<
210
- Omit<NaturalMarkdownToolbarProps, 'state' | 'editorView' | 'onAction' | 'onFileUpload' | 'onViewModeChange' | 'id'>
211
+ Omit<NaturalMarkdownToolbarProps, 'editorView' | 'onAction' | 'onFileUpload' | 'onViewModeChange' | 'id'>
211
212
  >;
212
213
 
213
214
  const MarkdownEditorToolbar = (props: MarkdownEditorToolbarProps) => {
214
215
  const { id, attendableId, onAction, onFileUpload, onViewModeChange } =
215
216
  useMarkdownEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
216
217
 
217
- const { controller, state } = useEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
218
+ const { controller } = useEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
218
219
 
219
220
  return (
220
221
  <NaturalMarkdownToolbar
221
222
  {...props}
222
223
  id={attendableId ?? id}
223
224
  editorView={controller?.view ?? undefined}
224
- state={state}
225
225
  onAction={onAction}
226
226
  onFileUpload={onFileUpload}
227
227
  onViewModeChange={onViewModeChange}
@@ -259,7 +259,7 @@ const PreviewBlock = ({ el, link }: PreviewBlock) => {
259
259
  const subject = client.graph.makeRef(dxn).target;
260
260
  const data = useMemo(() => ({ subject }), [subject]);
261
261
 
262
- return createPortal(<Surface.Surface role='card--content' data={data} limit={1} />, el);
262
+ return createPortal(<Surface.Surface type={AppSurface.Card} data={data} limit={1} />, el);
263
263
  };
264
264
 
265
265
  //
@@ -17,9 +17,8 @@ import {
17
17
  import {
18
18
  type EditorSelectionState,
19
19
  type EditorStateStore,
20
- type EditorViewMode,
21
20
  type ThemeExtensionsOptions,
22
- compactSlots,
21
+ mobileSlots,
23
22
  createBasicExtensions,
24
23
  createMarkdownExtensions,
25
24
  createThemeExtensions,
@@ -29,6 +28,7 @@ import {
29
28
  processEditorPayload,
30
29
  editorClassNames,
31
30
  } from '@dxos/ui-editor';
31
+ import { type EditorViewMode } from '@dxos/ui-editor/types';
32
32
  import { mx } from '@dxos/ui-theme';
33
33
  import { isTruthy } from '@dxos/util';
34
34
 
@@ -110,7 +110,7 @@ export const MarkdownEditorContent = forwardRef<EditorView | null, MarkdownEdito
110
110
  }),
111
111
  createThemeExtensions({
112
112
  themeMode,
113
- slots: slots ?? (compact ? compactSlots : documentSlots),
113
+ slots: slots ?? (compact ? mobileSlots : documentSlots),
114
114
  syntaxHighlighting: true,
115
115
  }),
116
116
  createMarkdownExtensions(),
@@ -6,8 +6,7 @@ import { type EditorView } from '@codemirror/view';
6
6
  import React, { useCallback, useState } from 'react';
7
7
 
8
8
  import { type FileInfo } from '@dxos/app-toolkit';
9
- import { invariant } from '@dxos/invariant';
10
- import { EditorToolbar, type EditorToolbarProps } from '@dxos/react-ui-editor';
9
+ import { Editor, type EditorToolbarProps } from '@dxos/react-ui-editor';
11
10
  import { composable, composableProps } from '@dxos/ui-theme';
12
11
 
13
12
  import { FileUpload, type FileUploadAction } from './FileUpload';
@@ -16,36 +15,26 @@ export type MarkdownEditorToolbarProps = {
16
15
  id: string;
17
16
  editorView?: EditorView;
18
17
  onFileUpload?: (file: File) => Promise<FileInfo | undefined>;
19
- } & Pick<EditorToolbarProps, 'role' | 'state' | 'customActions' | 'onAction' | 'onViewModeChange'>;
18
+ } & Pick<EditorToolbarProps, 'role' | 'customActions' | 'onAction' | 'onViewModeChange'>;
20
19
 
21
20
  export const MarkdownEditorToolbar = composable<HTMLDivElement, MarkdownEditorToolbarProps>(
22
- (
23
- { id, role, state, editorView, customActions, onAction, onFileUpload, onViewModeChange, ...props },
24
- forwardedRef,
25
- ) => {
21
+ ({ id, role, editorView, customActions, onAction, onFileUpload, onViewModeChange, ...props }, forwardedRef) => {
26
22
  const { className, ...rest } = composableProps(props);
27
23
  const [upload, setUpload] = useState<FileUploadAction | null>(null);
28
24
  const uploadRef = useCallback((next: FileUploadAction) => setUpload(() => next), []);
29
25
 
30
- const getView = useCallback(() => {
31
- invariant(editorView);
32
- return editorView;
33
- }, [editorView]);
34
-
35
26
  if (!editorView) {
36
27
  return <div className={className} {...rest} ref={forwardedRef} />;
37
28
  }
38
29
 
39
30
  return (
40
31
  <div role='none' className='contents' ref={forwardedRef}>
41
- <EditorToolbar
32
+ <Editor.Toolbar
42
33
  {...rest}
43
34
  classNames={className}
44
35
  attendableId={id}
45
36
  role={role}
46
- state={state}
47
37
  customActions={customActions}
48
- getView={getView}
49
38
  onAction={onAction}
50
39
  onImageUpload={upload ?? undefined}
51
40
  onViewModeChange={onViewModeChange}
@@ -6,7 +6,8 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
 
7
7
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
8
8
 
9
- import { translations } from '../../translations';
9
+ import { translations } from '#translations';
10
+
10
11
  import { MarkdownSettings } from './MarkdownSettings';
11
12
 
12
13
  const meta = {