@dxos/plugin-markdown 0.8.2-main.5885341 → 0.8.2-main.600d381

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 (150) hide show
  1. package/dist/lib/browser/{MarkdownContainer-5XV7K2NX.mjs → MarkdownContainer-CZGNGEO4.mjs} +45 -60
  2. package/dist/lib/browser/MarkdownContainer-CZGNGEO4.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownPreview-DX5U5LCX.mjs → MarkdownPreview-ID5RNELS.mjs} +7 -7
  4. package/dist/lib/browser/MarkdownPreview-ID5RNELS.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-serializer-OCXP7PCK.mjs → app-graph-serializer-6SMW5SL3.mjs} +3 -3
  6. package/dist/lib/browser/{artifact-definition-XTVOUMMI.mjs → artifact-definition-BEV7S3Q2.mjs} +9 -8
  7. package/dist/lib/browser/artifact-definition-BEV7S3Q2.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-QV6ZIXAD.mjs → chunk-DTJ3HDN6.mjs} +4 -4
  9. package/dist/lib/browser/{chunk-QV6ZIXAD.mjs.map → chunk-DTJ3HDN6.mjs.map} +3 -3
  10. package/dist/lib/browser/chunk-FJ5P5CGA.mjs +86 -0
  11. package/dist/lib/browser/chunk-FJ5P5CGA.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-LJ2UFBJ2.mjs → chunk-JD72ICHV.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-5QXYEKSX.mjs → chunk-WQOUWAY4.mjs} +7 -7
  14. package/dist/lib/browser/index.mjs +6 -6
  15. package/dist/lib/browser/index.mjs.map +3 -3
  16. package/dist/lib/browser/{intent-resolver-H37L3DBD.mjs → intent-resolver-K7GY2J5W.mjs} +4 -4
  17. package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs.map +7 -0
  18. package/dist/lib/browser/meta.json +1 -1
  19. package/dist/lib/browser/{react-surface-LBCMSLJ5.mjs → react-surface-2B7GO5M4.mjs} +9 -8
  20. package/dist/lib/browser/react-surface-2B7GO5M4.mjs.map +7 -0
  21. package/dist/lib/browser/{settings-EQSDBX6O.mjs → settings-QBFZJW2H.mjs} +2 -2
  22. package/dist/lib/browser/{thread-MFKBUVCB.mjs → thread-VUUBSXA5.mjs} +2 -2
  23. package/dist/lib/browser/types/index.mjs +1 -1
  24. package/dist/lib/node/{MarkdownContainer-5EQTBXV3.cjs → MarkdownContainer-CJL2QFWT.cjs} +51 -66
  25. package/dist/lib/node/MarkdownContainer-CJL2QFWT.cjs.map +7 -0
  26. package/dist/lib/node/{MarkdownPreview-W7QIN2KJ.cjs → MarkdownPreview-7OGABQ22.cjs} +14 -14
  27. package/dist/lib/node/MarkdownPreview-7OGABQ22.cjs.map +7 -0
  28. package/dist/lib/node/{app-graph-serializer-KBDLASRP.cjs → app-graph-serializer-4VZJUDTL.cjs} +9 -9
  29. package/dist/lib/node/{artifact-definition-ADEN2KD6.cjs → artifact-definition-HNSTQ7SX.cjs} +15 -14
  30. package/dist/lib/node/artifact-definition-HNSTQ7SX.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-YHL4JSA6.cjs → chunk-2HGBN655.cjs} +34 -32
  32. package/dist/lib/node/chunk-2HGBN655.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-JO4SBK36.cjs → chunk-ETVG2GKL.cjs} +6 -6
  34. package/dist/lib/node/{chunk-QRE5L6ZC.cjs → chunk-PLJVVHKG.cjs} +10 -10
  35. package/dist/lib/node/{chunk-WGMVEPB3.cjs → chunk-XJ4XHWXZ.cjs} +7 -7
  36. package/dist/lib/node/chunk-XJ4XHWXZ.cjs.map +7 -0
  37. package/dist/lib/node/index.cjs +23 -23
  38. package/dist/lib/node/index.cjs.map +3 -3
  39. package/dist/lib/node/{intent-resolver-NX5QNRYF.cjs → intent-resolver-FGBVXI7L.cjs} +10 -10
  40. package/dist/lib/node/intent-resolver-FGBVXI7L.cjs.map +7 -0
  41. package/dist/lib/node/meta.json +1 -1
  42. package/dist/lib/node/{react-surface-DJIZSVMN.cjs → react-surface-5AAXZCA7.cjs} +13 -12
  43. package/dist/lib/node/react-surface-5AAXZCA7.cjs.map +7 -0
  44. package/dist/lib/node/{settings-2JXASSLU.cjs → settings-I3Z64YPE.cjs} +6 -6
  45. package/dist/lib/node/{thread-MXEGV6HS.cjs → thread-NHTJKFC4.cjs} +6 -6
  46. package/dist/lib/node/types/index.cjs +7 -7
  47. package/dist/lib/node/types/index.cjs.map +1 -1
  48. package/dist/lib/node-esm/{MarkdownContainer-LONZOJJX.mjs → MarkdownContainer-76V4H5DS.mjs} +45 -60
  49. package/dist/lib/node-esm/MarkdownContainer-76V4H5DS.mjs.map +7 -0
  50. package/dist/lib/node-esm/{MarkdownPreview-T3OW2EN4.mjs → MarkdownPreview-NURUI35V.mjs} +7 -7
  51. package/dist/lib/node-esm/MarkdownPreview-NURUI35V.mjs.map +7 -0
  52. package/dist/lib/node-esm/{app-graph-serializer-67CO7ST3.mjs → app-graph-serializer-QH2FE7FH.mjs} +3 -3
  53. package/dist/lib/node-esm/{artifact-definition-KTS5M2FW.mjs → artifact-definition-GA7NQ3X5.mjs} +9 -8
  54. package/dist/lib/node-esm/artifact-definition-GA7NQ3X5.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-VQA6BQGT.mjs → chunk-6TXN2UXT.mjs} +2 -2
  56. package/dist/lib/node-esm/{chunk-4U2F4EB7.mjs → chunk-HEMSNCBW.mjs} +4 -4
  57. package/dist/lib/node-esm/{chunk-4U2F4EB7.mjs.map → chunk-HEMSNCBW.mjs.map} +3 -3
  58. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs +87 -0
  59. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-PALFXZBY.mjs → chunk-IMCNTYSA.mjs} +7 -7
  61. package/dist/lib/node-esm/index.mjs +6 -6
  62. package/dist/lib/node-esm/index.mjs.map +3 -3
  63. package/dist/lib/node-esm/{intent-resolver-XES4ZCA6.mjs → intent-resolver-3STR3645.mjs} +4 -4
  64. package/dist/lib/node-esm/intent-resolver-3STR3645.mjs.map +7 -0
  65. package/dist/lib/node-esm/meta.json +1 -1
  66. package/dist/lib/node-esm/{react-surface-737EXAWT.mjs → react-surface-IRT63VJF.mjs} +9 -8
  67. package/dist/lib/node-esm/react-surface-IRT63VJF.mjs.map +7 -0
  68. package/dist/lib/node-esm/{settings-67RVIH3N.mjs → settings-G7QIMIEK.mjs} +2 -2
  69. package/dist/lib/node-esm/{thread-5U4KSBED.mjs → thread-72RI26KD.mjs} +2 -2
  70. package/dist/lib/node-esm/types/index.mjs +1 -1
  71. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  74. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  76. package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
  77. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  78. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +0 -15
  79. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  80. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +2 -2
  81. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -1
  82. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +52 -54
  83. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  85. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/index.d.ts +1 -1
  88. package/dist/types/src/components/index.d.ts.map +1 -1
  89. package/dist/types/src/extensions.d.ts +2 -2
  90. package/dist/types/src/extensions.d.ts.map +1 -1
  91. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  92. package/dist/types/src/types/schema.d.ts +181 -186
  93. package/dist/types/src/types/schema.d.ts.map +1 -1
  94. package/dist/types/src/types/types.d.ts +84 -86
  95. package/dist/types/src/types/types.d.ts.map +1 -1
  96. package/dist/types/src/util.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +39 -37
  99. package/src/MarkdownPlugin.tsx +2 -2
  100. package/src/capabilities/artifact-definition.ts +5 -3
  101. package/src/capabilities/intent-resolver.ts +2 -2
  102. package/src/capabilities/react-surface.tsx +7 -6
  103. package/src/components/MarkdownContainer.tsx +3 -3
  104. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  105. package/src/components/MarkdownEditor/MarkdownEditor.tsx +20 -41
  106. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +3 -3
  107. package/src/components/MarkdownPreview/MarkdownPreview.tsx +8 -8
  108. package/src/components/Suggestions.stories.tsx +17 -10
  109. package/src/components/Toolbar.stories.tsx +14 -14
  110. package/src/extensions.tsx +2 -2
  111. package/src/hooks/useSelectCurrentThread.tsx +2 -2
  112. package/src/types/schema.ts +20 -12
  113. package/src/types/types.ts +22 -21
  114. package/src/util.tsx +3 -3
  115. package/dist/lib/browser/MarkdownContainer-5XV7K2NX.mjs.map +0 -7
  116. package/dist/lib/browser/MarkdownPreview-DX5U5LCX.mjs.map +0 -7
  117. package/dist/lib/browser/artifact-definition-XTVOUMMI.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-GVOEHF7E.mjs +0 -84
  119. package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +0 -7
  120. package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +0 -7
  121. package/dist/lib/browser/react-surface-LBCMSLJ5.mjs.map +0 -7
  122. package/dist/lib/node/MarkdownContainer-5EQTBXV3.cjs.map +0 -7
  123. package/dist/lib/node/MarkdownPreview-W7QIN2KJ.cjs.map +0 -7
  124. package/dist/lib/node/artifact-definition-ADEN2KD6.cjs.map +0 -7
  125. package/dist/lib/node/chunk-WGMVEPB3.cjs.map +0 -7
  126. package/dist/lib/node/chunk-YHL4JSA6.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +0 -7
  128. package/dist/lib/node/react-surface-DJIZSVMN.cjs.map +0 -7
  129. package/dist/lib/node-esm/MarkdownContainer-LONZOJJX.mjs.map +0 -7
  130. package/dist/lib/node-esm/MarkdownPreview-T3OW2EN4.mjs.map +0 -7
  131. package/dist/lib/node-esm/artifact-definition-KTS5M2FW.mjs.map +0 -7
  132. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs +0 -85
  133. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +0 -7
  134. package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +0 -7
  135. package/dist/lib/node-esm/react-surface-737EXAWT.mjs.map +0 -7
  136. /package/dist/lib/browser/{app-graph-serializer-OCXP7PCK.mjs.map → app-graph-serializer-6SMW5SL3.mjs.map} +0 -0
  137. /package/dist/lib/browser/{chunk-LJ2UFBJ2.mjs.map → chunk-JD72ICHV.mjs.map} +0 -0
  138. /package/dist/lib/browser/{chunk-5QXYEKSX.mjs.map → chunk-WQOUWAY4.mjs.map} +0 -0
  139. /package/dist/lib/browser/{settings-EQSDBX6O.mjs.map → settings-QBFZJW2H.mjs.map} +0 -0
  140. /package/dist/lib/browser/{thread-MFKBUVCB.mjs.map → thread-VUUBSXA5.mjs.map} +0 -0
  141. /package/dist/lib/node/{app-graph-serializer-KBDLASRP.cjs.map → app-graph-serializer-4VZJUDTL.cjs.map} +0 -0
  142. /package/dist/lib/node/{chunk-JO4SBK36.cjs.map → chunk-ETVG2GKL.cjs.map} +0 -0
  143. /package/dist/lib/node/{chunk-QRE5L6ZC.cjs.map → chunk-PLJVVHKG.cjs.map} +0 -0
  144. /package/dist/lib/node/{settings-2JXASSLU.cjs.map → settings-I3Z64YPE.cjs.map} +0 -0
  145. /package/dist/lib/node/{thread-MXEGV6HS.cjs.map → thread-NHTJKFC4.cjs.map} +0 -0
  146. /package/dist/lib/node-esm/{app-graph-serializer-67CO7ST3.mjs.map → app-graph-serializer-QH2FE7FH.mjs.map} +0 -0
  147. /package/dist/lib/node-esm/{chunk-VQA6BQGT.mjs.map → chunk-6TXN2UXT.mjs.map} +0 -0
  148. /package/dist/lib/node-esm/{chunk-PALFXZBY.mjs.map → chunk-IMCNTYSA.mjs.map} +0 -0
  149. /package/dist/lib/node-esm/{settings-67RVIH3N.mjs.map → settings-G7QIMIEK.mjs.map} +0 -0
  150. /package/dist/lib/node-esm/{thread-5U4KSBED.mjs.map → thread-72RI26KD.mjs.map} +0 -0
@@ -1,31 +1,33 @@
1
- import { S } from '@dxos/echo-schema';
1
+ import { Schema } from 'effect';
2
2
  import { type Extension, EditorViewMode } from '@dxos/react-ui-editor';
3
3
  import { DocumentType } from './schema';
4
4
  export declare namespace MarkdownAction {
5
- const Create_base: S.TaggedClass<Create, "dxos.org/plugin/markdown/action", {
6
- readonly _tag: S.tag<"dxos.org/plugin/markdown/action">;
5
+ const Create_base: Schema.TaggedClass<Create, "dxos.org/plugin/markdown/action", {
6
+ readonly _tag: Schema.tag<"dxos.org/plugin/markdown/action">;
7
7
  } & {
8
- input: S.Struct<{
9
- spaceId: typeof S.String;
10
- name: S.optional<typeof S.String>;
11
- content: S.optional<typeof S.String>;
8
+ input: Schema.Struct<{
9
+ spaceId: typeof Schema.String;
10
+ name: Schema.optional<typeof Schema.String>;
11
+ content: Schema.optional<typeof Schema.String>;
12
12
  }>;
13
- output: S.Struct<{
14
- object: import("@dxos/echo-schema").EchoTypeSchema<S.Struct<{
15
- name: S.optional<typeof S.String>;
16
- fallbackName: S.optional<typeof S.String>;
17
- content: import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").TypedObjectFields<{
18
- content: typeof S.String;
19
- }, import("@dxos/echo-schema").TypedObjectOptions>>;
20
- threads: S.mutable<S.Array$<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").TypedObjectFields<{
21
- name: S.optional<typeof S.String>;
22
- anchor: S.optional<typeof S.String>;
23
- status: S.optional<S.Union<[S.Literal<["staged"]>, S.Literal<["active"]>, S.Literal<["resolved"]>]>>;
24
- messages: S.mutable<S.Array$<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").TypedObjectFields<{
25
- id: import("@dxos/echo-schema").ObjectIdClass;
26
- created: S.SchemaClass<string, string, never>;
27
- sender: S.mutable<S.Struct<{
28
- contact: S.optional<import("@dxos/echo-schema").Ref$<{
13
+ output: Schema.Struct<{
14
+ object: import("@dxos/echo-schema").EchoTypeSchema<Schema.Struct<{
15
+ name: Schema.optional<typeof Schema.String>;
16
+ fallbackName: Schema.optional<typeof Schema.String>;
17
+ content: import("@dxos/echo-schema").Ref$<{
18
+ readonly id: string;
19
+ content: string;
20
+ }>;
21
+ threads: Schema.mutable<Schema.Array$<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").TypedObjectFields<{
22
+ name: Schema.optional<typeof Schema.String>;
23
+ anchor: Schema.optional<typeof Schema.String>;
24
+ status: Schema.optional<Schema.Union<[Schema.Literal<["staged"]>, Schema.Literal<["active"]>, Schema.Literal<["resolved"]>]>>;
25
+ messages: Schema.mutable<Schema.Array$<import("@dxos/echo-schema").Ref$<{
26
+ readonly id: string;
27
+ created: string;
28
+ sender: {
29
+ name?: string | undefined;
30
+ contact?: import("@dxos/echo-schema").Ref<{
29
31
  readonly id: string;
30
32
  fields?: {
31
33
  readonly value: string;
@@ -138,67 +140,63 @@ export declare namespace MarkdownAction {
138
140
  (hint: string): string | number;
139
141
  };
140
142
  } | undefined;
141
- }>>;
142
- identityDid: S.optional<typeof S.String>;
143
- identityKey: S.optional<typeof S.String>;
144
- email: S.optional<typeof S.String>;
145
- name: S.optional<typeof S.String>;
146
- role: S.optional<S.Literal<["user", "assistant"]>>;
147
- }>>;
148
- blocks: S.mutable<S.Array$<S.Union<[S.mutable<S.extend<S.Struct<{
149
- pending: S.optional<typeof S.Boolean>;
150
- }>, S.Struct<{
151
- type: S.Literal<["text"]>;
152
- disposition: S.optional<typeof S.String>;
153
- text: typeof S.String;
154
- }>>>, S.mutable<S.extend<S.Struct<{
155
- pending: S.optional<typeof S.Boolean>;
156
- }>, S.Struct<{
157
- type: S.Literal<["json"]>;
158
- disposition: S.optional<typeof S.String>;
159
- data: typeof S.String;
160
- }>>>, S.mutable<S.extend<S.Struct<{
161
- pending: S.optional<typeof S.Boolean>;
162
- }>, S.Struct<{
163
- type: S.Literal<["image"]>;
164
- id: S.optional<typeof S.String>;
165
- source: S.optional<S.Union<[S.mutable<S.Struct<{
166
- type: S.Literal<["base64"]>;
167
- mediaType: typeof S.String;
168
- data: typeof S.String;
169
- }>>, S.mutable<S.Struct<{
170
- type: S.Literal<["http"]>;
171
- url: typeof S.String;
172
- }>>]>>;
173
- }>>>, S.mutable<S.extend<S.Struct<{
174
- pending: S.optional<typeof S.Boolean>;
175
- }>, S.Struct<{
176
- type: S.Literal<["reference"]>;
177
- reference: import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").Expando>;
178
- }>>>, S.mutable<S.extend<S.Struct<{
179
- pending: S.optional<typeof S.Boolean>;
180
- }>, S.Struct<{
181
- type: S.Literal<["transcription"]>;
182
- started: typeof S.String;
183
- text: typeof S.String;
184
- }>>>]>>>;
185
- properties: S.optional<S.mutable<S.Record$<typeof S.String, typeof S.Any>>>;
186
- }, import("@dxos/echo-schema").TypedObjectOptions>>>>;
143
+ }> | undefined;
144
+ identityDid?: string | undefined;
145
+ identityKey?: string | undefined;
146
+ email?: string | undefined;
147
+ role?: "user" | "assistant" | undefined;
148
+ };
149
+ blocks: ({
150
+ pending?: boolean | undefined;
151
+ type: "text";
152
+ disposition?: string | undefined;
153
+ text: string;
154
+ } | {
155
+ pending?: boolean | undefined;
156
+ type: "json";
157
+ disposition?: string | undefined;
158
+ data: string;
159
+ } | {
160
+ pending?: boolean | undefined;
161
+ id?: string | undefined;
162
+ type: "image";
163
+ source?: {
164
+ type: "base64";
165
+ data: string;
166
+ mediaType: string;
167
+ } | {
168
+ type: "http";
169
+ url: string;
170
+ } | undefined;
171
+ } | {
172
+ pending?: boolean | undefined;
173
+ type: "reference";
174
+ reference: import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").Expando>;
175
+ } | {
176
+ pending?: boolean | undefined;
177
+ type: "transcription";
178
+ text: string;
179
+ started: string;
180
+ })[];
181
+ properties?: {
182
+ [x: string]: any;
183
+ } | undefined;
184
+ }>>>;
187
185
  }, import("@dxos/echo-schema").TypedObjectOptions>>>>;
188
- assistantChatQueue: S.optional<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").Expando>>;
186
+ assistantChatQueue: Schema.optional<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").Expando>>;
189
187
  }>, {}>;
190
188
  }>;
191
189
  }>;
192
190
  export class Create extends Create_base {
193
191
  }
194
- const SetViewMode_base: S.TaggedClass<SetViewMode, "dxos.org/plugin/markdown/action/set-view-mode", {
195
- readonly _tag: S.tag<"dxos.org/plugin/markdown/action/set-view-mode">;
192
+ const SetViewMode_base: Schema.TaggedClass<SetViewMode, "dxos.org/plugin/markdown/action/set-view-mode", {
193
+ readonly _tag: Schema.tag<"dxos.org/plugin/markdown/action/set-view-mode">;
196
194
  } & {
197
- input: S.Struct<{
198
- id: typeof S.String;
199
- viewMode: S.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
195
+ input: Schema.Struct<{
196
+ id: typeof Schema.String;
197
+ viewMode: Schema.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
200
198
  }>;
201
- output: typeof S.Void;
199
+ output: typeof Schema.Void;
202
200
  }>;
203
201
  export class SetViewMode extends SetViewMode_base {
204
202
  }
@@ -213,15 +211,15 @@ export type MarkdownPluginState = {
213
211
  extensionProviders?: MarkdownExtensionProvider[];
214
212
  viewMode: Record<string, EditorViewMode>;
215
213
  };
216
- export declare const MarkdownSettingsSchema: S.mutable<S.Struct<{
217
- defaultViewMode: S.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
218
- editorInputMode: S.optional<S.Schema<"default" | "vim" | "vscode", "default" | "vim" | "vscode", never>>;
219
- experimental: S.optional<typeof S.Boolean>;
220
- debug: S.optional<typeof S.Boolean>;
221
- toolbar: S.optional<typeof S.Boolean>;
222
- typewriter: S.optional<typeof S.String>;
223
- numberedHeadings: S.optional<typeof S.Boolean>;
224
- folding: S.optional<typeof S.Boolean>;
214
+ export declare const MarkdownSettingsSchema: Schema.mutable<Schema.Struct<{
215
+ defaultViewMode: Schema.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
216
+ editorInputMode: Schema.optional<Schema.Schema<"default" | "vim" | "vscode", "default" | "vim" | "vscode", never>>;
217
+ experimental: Schema.optional<typeof Schema.Boolean>;
218
+ debug: Schema.optional<typeof Schema.Boolean>;
219
+ toolbar: Schema.optional<typeof Schema.Boolean>;
220
+ typewriter: Schema.optional<typeof Schema.String>;
221
+ numberedHeadings: Schema.optional<typeof Schema.Boolean>;
222
+ folding: Schema.optional<typeof Schema.Boolean>;
225
223
  }>>;
226
- export type MarkdownSettingsProps = S.Schema.Type<typeof MarkdownSettingsSchema>;
224
+ export type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;
227
225
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,KAAK,SAAS,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,yBAAiB,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;gCAY4C,CAAC;mCAClE,CAAC;;sCAEe,CAAC;;;qDAS1B,CAAC;;4CAAmF,CAAC;;+CAKhF,CAAC;wCACN,CAAD;0CAAgD,CAAC;yCAGrC,CAAC;2CACoB,CAAC;;qCAI3B,CAAC;wCAEL,CAAH;6CAAmD,CAAC;wCACT,CAAC;wCACL,CAAC;0CAErC,CAAJ;qCAA2C,CAAC;sCACJ,CAAC;;kDAEjB,CAAC;;0CAIyB,CAAC;;kDACL,CAAC;;4CAAmF,CAAC;;kDAAkF,CAAC;;yCAAgF,CAAC;;uDAAiF,CAAC;yDAA+D,CAAC;yDAA+D,CAAC;uDAA6D,CAAC;2DAAiE,CAAC;oEAA0E,CAAC;wDAA8D,CAAC;;kDAA+E,CAAC;;oCAA2E,CAAC;;kDAAkF,CAAC;;wCAA+E,CAAC;;;;;;gDAA0P,CAAC,4BAA4B,CAAC;gDAAuE,CAAC,+BAA+B,CAAC;;;;gDAA4K,CAAC,4BAA4B,CAAC;gDAAuE,CAAC,+BAA+B,CAAC;;;;gDAA4K,CAAC,4BAA4B,CAAC;gDAAuE,CAAC,+BAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;gEAA2pC,CAAC;mEAAwE,CAAC;iEAAsE,CAAC,YAAY,CAAC;oEAAyE,CAAC,YAAY,CAAC;iEAAsE,CAAC,aAAa,CAAC,YAAY,CAAC;oEAAyE,CAAC,aAAa,CAAC,YAAY,CAAC;;;kEAAwL,CAAC;qEAA0E,CAAC;qEAA0E,CAAC,cAAc,CAAC;wEAA6E,CAAC,cAAc,CAAC;;;gDAAmJ,CAAC;;;;;;;;;uCAAuX,CAAC;uCAA6C,CAAC;iCAAuC,CAAC;gCAAsC,CAAC;;;mCAAqF,CAAC;;uCAAwE,CAAC;;;mCAAiF,CAAC;;uCAAwE,CAAC;;;mCAAiF,CAAC;8BAAqC,CAAC;;kCAAmE,CAAC;;;;;;;;;mCAA8O,CAAC;;;;mCAA4H,CAAC;;;;;kCAAiJ,CAAC;;;;;;;;;IAnDnrL,MAAM,OAAO,MAAO,SAAQ,WAS1B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,WAAY,SAAQ,gBAM/B;KAAG;;CACN;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAGrD,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE,KAAK,SAAS,GAAG,SAAS,CAAC;AAEtG,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG;IAEhC,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAIjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;GAYlC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAItE,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEhE,eAAO,MAAM,oBAAoB,SAAU,OAAO,KAAG,IAAI,IAAI,kBAKhD,CAAC;AAId,eAAO,MAAM,eAAe,YAAa,MAAM,WAE9C,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,MAAM,WAE1C,CAAC;AAEF,eAAO,MAAM,eAAe,0BAKrB,CAAC;AAER,eAAO,MAAM,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAY1D,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAItE,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEhE,eAAO,MAAM,oBAAoB,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,kBAKhD,CAAC;AAId,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,WAE9C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,WAE1C,CAAC;AAEF,eAAO,MAAM,eAAe,0BAKrB,CAAC;AAER,eAAO,MAAM,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAY1D,CAAC"}
@@ -1 +1 @@
1
- {"version":"5.7.3"}
1
+ {"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-markdown",
3
- "version": "0.8.2-main.5885341",
3
+ "version": "0.8.2-main.600d381",
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",
@@ -38,33 +38,34 @@
38
38
  "@preact/signals-core": "^1.6.0",
39
39
  "effect": "3.14.21",
40
40
  "react-dropzone": "^14.2.3",
41
- "@dxos/app-framework": "0.8.2-main.5885341",
42
- "@dxos/async": "0.8.2-main.5885341",
43
- "@dxos/artifact": "0.8.2-main.5885341",
44
- "@dxos/echo-schema": "0.8.2-main.5885341",
45
- "@dxos/automerge": "0.8.2-main.5885341",
46
- "@dxos/invariant": "0.8.2-main.5885341",
47
- "@dxos/keys": "0.8.2-main.5885341",
48
- "@dxos/lit-ui": "0.8.2-main.5885341",
49
- "@dxos/live-object": "0.8.2-main.5885341",
50
- "@dxos/local-storage": "0.8.2-main.5885341",
51
- "@dxos/log": "0.8.2-main.5885341",
52
- "@dxos/plugin-attention": "0.8.2-main.5885341",
53
- "@dxos/plugin-client": "0.8.2-main.5885341",
54
- "@dxos/plugin-deck": "0.8.2-main.5885341",
55
- "@dxos/plugin-graph": "0.8.2-main.5885341",
56
- "@dxos/plugin-theme": "0.8.2-main.5885341",
57
- "@dxos/plugin-preview": "0.8.2-main.5885341",
58
- "@dxos/react-client": "0.8.2-main.5885341",
59
- "@dxos/react-hooks": "0.8.2-main.5885341",
60
- "@dxos/plugin-space": "0.8.2-main.5885341",
61
- "@dxos/react-ui-card": "0.8.2-main.5885341",
62
- "@dxos/react-ui-editor": "0.8.2-main.5885341",
63
- "@dxos/react-ui-attention": "0.8.2-main.5885341",
64
- "@dxos/react-ui-form": "0.8.2-main.5885341",
65
- "@dxos/react-ui-stack": "0.8.2-main.5885341",
66
- "@dxos/schema": "0.8.2-main.5885341",
67
- "@dxos/util": "0.8.2-main.5885341"
41
+ "@dxos/app-framework": "0.8.2-main.600d381",
42
+ "@dxos/artifact": "0.8.2-main.600d381",
43
+ "@dxos/async": "0.8.2-main.600d381",
44
+ "@dxos/automerge": "0.8.2-main.600d381",
45
+ "@dxos/echo-schema": "0.8.2-main.600d381",
46
+ "@dxos/invariant": "0.8.2-main.600d381",
47
+ "@dxos/echo": "0.8.2-main.600d381",
48
+ "@dxos/keys": "0.8.2-main.600d381",
49
+ "@dxos/lit-ui": "0.8.2-main.600d381",
50
+ "@dxos/live-object": "0.8.2-main.600d381",
51
+ "@dxos/local-storage": "0.8.2-main.600d381",
52
+ "@dxos/log": "0.8.2-main.600d381",
53
+ "@dxos/plugin-attention": "0.8.2-main.600d381",
54
+ "@dxos/plugin-client": "0.8.2-main.600d381",
55
+ "@dxos/plugin-deck": "0.8.2-main.600d381",
56
+ "@dxos/plugin-graph": "0.8.2-main.600d381",
57
+ "@dxos/plugin-preview": "0.8.2-main.600d381",
58
+ "@dxos/plugin-theme": "0.8.2-main.600d381",
59
+ "@dxos/plugin-space": "0.8.2-main.600d381",
60
+ "@dxos/react-hooks": "0.8.2-main.600d381",
61
+ "@dxos/react-ui-attention": "0.8.2-main.600d381",
62
+ "@dxos/react-client": "0.8.2-main.600d381",
63
+ "@dxos/react-ui-card": "0.8.2-main.600d381",
64
+ "@dxos/react-ui-editor": "0.8.2-main.600d381",
65
+ "@dxos/react-ui-form": "0.8.2-main.600d381",
66
+ "@dxos/react-ui-stack": "0.8.2-main.600d381",
67
+ "@dxos/util": "0.8.2-main.600d381",
68
+ "@dxos/schema": "0.8.2-main.600d381"
68
69
  },
69
70
  "devDependencies": {
70
71
  "@phosphor-icons/react": "^2.1.5",
@@ -73,20 +74,21 @@
73
74
  "react": "~18.2.0",
74
75
  "react-dom": "~18.2.0",
75
76
  "vite": "5.4.7",
76
- "@dxos/debug": "0.8.2-main.5885341",
77
- "@dxos/plugin-storybook-layout": "0.8.2-main.5885341",
78
- "@dxos/plugin-theme": "0.8.2-main.5885341",
79
- "@dxos/random": "0.8.2-main.5885341",
80
- "@dxos/react-ui": "0.8.2-main.5885341",
81
- "@dxos/react-ui-theme": "0.8.2-main.5885341",
82
- "@dxos/storybook-utils": "0.8.2-main.5885341"
77
+ "@dxos/debug": "0.8.2-main.600d381",
78
+ "@dxos/plugin-theme": "0.8.2-main.600d381",
79
+ "@dxos/plugin-storybook-layout": "0.8.2-main.600d381",
80
+ "@dxos/random": "0.8.2-main.600d381",
81
+ "@dxos/react-ui-theme": "0.8.2-main.600d381",
82
+ "@dxos/react-ui": "0.8.2-main.600d381",
83
+ "@dxos/storybook-utils": "0.8.2-main.600d381"
83
84
  },
84
85
  "peerDependencies": {
85
86
  "@phosphor-icons/react": "^2.1.5",
87
+ "effect": "^3.13.3",
86
88
  "react": "~18.2.0",
87
89
  "react-dom": "~18.2.0",
88
- "@dxos/react-ui": "0.8.2-main.5885341",
89
- "@dxos/react-ui-theme": "0.8.2-main.5885341"
90
+ "@dxos/react-ui": "0.8.2-main.600d381",
91
+ "@dxos/react-ui-theme": "0.8.2-main.600d381"
90
92
  },
91
93
  "publishConfig": {
92
94
  "access": "public"
@@ -9,7 +9,7 @@ import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
9
9
  import { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';
10
10
  import { defineObjectForm } from '@dxos/plugin-space/types';
11
11
  import { translations as editorTranslations } from '@dxos/react-ui-editor';
12
- import { TextType } from '@dxos/schema';
12
+ import { DataType } from '@dxos/schema';
13
13
 
14
14
  import {
15
15
  AppGraphSerializer,
@@ -81,7 +81,7 @@ export const MarkdownPlugin = () =>
81
81
  defineModule({
82
82
  id: `${meta.id}/module/schema`,
83
83
  activatesOn: ClientEvents.SetupSchema,
84
- activate: () => contributes(ClientCapabilities.Schema, [TextType]),
84
+ activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),
85
85
  }),
86
86
  defineModule({
87
87
  id: `${meta.id}/module/react-surface`,
@@ -2,9 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { Schema } from 'effect';
6
+
5
7
  import { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';
6
8
  import { ArtifactId, defineArtifact, defineTool, ToolResult } from '@dxos/artifact';
7
- import { isInstanceOf, S } from '@dxos/echo-schema';
9
+ import { isInstanceOf } from '@dxos/echo-schema';
8
10
  import { invariant, assertArgument } from '@dxos/invariant';
9
11
  import { Filter, fullyQualifiedId, type Space } from '@dxos/react-client/echo';
10
12
 
@@ -34,7 +36,7 @@ export default () => {
34
36
  name: 'list',
35
37
  description: 'List all markdown documents in the current space.',
36
38
  caption: 'Listing markdown documents...',
37
- schema: S.Struct({}),
39
+ schema: Schema.Struct({}),
38
40
  execute: async (_input, { extensions }) => {
39
41
  invariant(extensions?.space, 'No space');
40
42
  const space = extensions.space;
@@ -55,7 +57,7 @@ export default () => {
55
57
  name: 'inspect',
56
58
  description: 'Read the content of a markdown document.',
57
59
  caption: 'Inspecting markdown document...',
58
- schema: S.Struct({
60
+ schema: Schema.Struct({
59
61
  id: ArtifactId,
60
62
  }),
61
63
  execute: async ({ id }, { extensions }) => {
@@ -17,7 +17,7 @@ import { log } from '@dxos/log';
17
17
  import { ClientCapabilities } from '@dxos/plugin-client';
18
18
  import { resolveRef } from '@dxos/react-client';
19
19
  import { createDocAccessor } from '@dxos/react-client/echo';
20
- import { TextType } from '@dxos/schema';
20
+ import { DataType } from '@dxos/schema';
21
21
 
22
22
  import { MarkdownCapabilities } from './capabilities';
23
23
  import { DocumentType, MarkdownAction } from '../types';
@@ -29,7 +29,7 @@ export default (context: PluginsContext) =>
29
29
  resolve: ({ name, spaceId, content }) => {
30
30
  const doc = live(DocumentType, {
31
31
  name,
32
- content: makeRef(live(TextType, { content: content ?? '' })),
32
+ content: makeRef(live(DataType.Text, { content: content ?? '' })),
33
33
  assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),
34
34
  threads: [],
35
35
  });
@@ -8,7 +8,7 @@ import { createSurface, contributes, Capabilities, useCapability } from '@dxos/a
8
8
  import { isInstanceOf } from '@dxos/echo-schema';
9
9
  import { SettingsStore } from '@dxos/local-storage';
10
10
  import { fullyQualifiedId } from '@dxos/react-client/echo';
11
- import { TextType } from '@dxos/schema';
11
+ import { DataType } from '@dxos/schema';
12
12
 
13
13
  import { MarkdownCapabilities } from './capabilities';
14
14
  import { MarkdownContainer, MarkdownSettings, MarkdownPreview } from '../components';
@@ -26,6 +26,7 @@ export default () =>
26
26
  const settingsStore = useCapability(Capabilities.SettingsStore);
27
27
  const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;
28
28
  const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
29
+ const viewMode = getViewMode(fullyQualifiedId(data.subject));
29
30
 
30
31
  return (
31
32
  <MarkdownContainer
@@ -34,7 +35,7 @@ export default () =>
34
35
  role={role}
35
36
  settings={settings}
36
37
  extensionProviders={state.extensionProviders}
37
- viewMode={getViewMode(fullyQualifiedId(data.subject))}
38
+ viewMode={viewMode}
38
39
  editorStateStore={editorState}
39
40
  onViewModeChange={setViewMode}
40
41
  />
@@ -44,8 +45,8 @@ export default () =>
44
45
  createSurface({
45
46
  id: `${MARKDOWN_PLUGIN}/text`,
46
47
  role: ['article', 'section', 'tabpanel'],
47
- filter: (data): data is { id: string; subject: TextType } =>
48
- typeof data.id === 'string' && isInstanceOf(TextType, data.subject),
48
+ filter: (data): data is { id: string; subject: DataType.Text } =>
49
+ typeof data.id === 'string' && isInstanceOf(DataType.Text, data.subject),
49
50
  component: ({ data, role }) => {
50
51
  const settingsStore = useCapability(Capabilities.SettingsStore);
51
52
  const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;
@@ -98,8 +99,8 @@ export default () =>
98
99
  createSurface({
99
100
  id: `${MARKDOWN_PLUGIN}/preview`,
100
101
  role: 'popover',
101
- filter: (data): data is { subject: DocumentType | TextType } =>
102
- isInstanceOf(DocumentType, data.subject) || isInstanceOf(TextType, data.subject),
102
+ filter: (data): data is { subject: DocumentType | DataType.Text } =>
103
+ isInstanceOf(DocumentType, data.subject) || isInstanceOf(DataType.Text, data.subject),
103
104
  component: ({ data, role }) => <MarkdownPreview {...data} role={role} />,
104
105
  }),
105
106
  ]);
@@ -7,7 +7,7 @@ import React, { useEffect, useMemo } from 'react';
7
7
  import { Capabilities, useCapabilities } from '@dxos/app-framework';
8
8
  import { isInstanceOf } from '@dxos/echo-schema';
9
9
  import { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';
10
- import { TextType } from '@dxos/schema';
10
+ import { DataType } from '@dxos/schema';
11
11
 
12
12
  import { MarkdownEditor, type MarkdownEditorProps } from './MarkdownEditor';
13
13
  import { useExtensions } from '../extensions';
@@ -19,7 +19,7 @@ export type MarkdownContainerProps = Pick<
19
19
  'role' | 'extensionProviders' | 'viewMode' | 'editorStateStore' | 'onViewModeChange'
20
20
  > & {
21
21
  id: string;
22
- object: DocumentType | TextType | any;
22
+ object: DocumentType | DataType.Text | any;
23
23
  settings: MarkdownSettingsProps;
24
24
  };
25
25
 
@@ -36,7 +36,7 @@ const MarkdownContainer = ({
36
36
  }: MarkdownContainerProps) => {
37
37
  const scrollPastEnd = role === 'article';
38
38
  const doc = isInstanceOf(DocumentType, object) ? object : undefined;
39
- const text = isInstanceOf(TextType, object) ? object : undefined;
39
+ const text = isInstanceOf(DataType.Text, object) ? object : undefined;
40
40
  const extensions = useExtensions({ document: doc, text, id, settings, viewMode, editorStateStore });
41
41
 
42
42
  if (doc) {
@@ -36,7 +36,7 @@ const meta: Meta<typeof MarkdownEditor> = {
36
36
  render: DefaultStory,
37
37
  decorators: [
38
38
  withTheme,
39
- withLayout({ tooltips: true, fullscreen: true }),
39
+ withLayout({ fullscreen: true }),
40
40
  withAttention,
41
41
  withPluginManager({ plugins: [IntentPlugin()] }),
42
42
  ],
@@ -2,17 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { openSearchPanel } from '@codemirror/search';
6
5
  import { type EditorView } from '@codemirror/view';
7
6
  import React, { useMemo, useEffect, useCallback } from 'react';
8
7
  import { useDropzone } from 'react-dropzone';
9
8
 
10
9
  import { createIntent, type FileInfo, useIntentDispatcher } from '@dxos/app-framework';
10
+ import { invariant } from '@dxos/invariant';
11
11
  import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';
12
12
  import { useThemeContext, useTranslation } from '@dxos/react-ui';
13
13
  import {
14
14
  type DNDOptions,
15
- type EditorAction,
16
15
  type EditorViewMode,
17
16
  type EditorInputMode,
18
17
  type EditorSelectionState,
@@ -20,7 +19,6 @@ import {
20
19
  EditorToolbar,
21
20
  type UseTextEditorProps,
22
21
  createBasicExtensions,
23
- createEditorAction,
24
22
  createMarkdownExtensions,
25
23
  createThemeExtensions,
26
24
  dropFile,
@@ -28,12 +26,12 @@ import {
28
26
  editorGutter,
29
27
  processEditorPayload,
30
28
  stackItemContentEditorClassNames,
31
- useActionHandler,
32
29
  useCommentState,
33
30
  useCommentClickListener,
34
31
  useFormattingState,
35
32
  useTextEditor,
36
33
  useEditorToolbarState,
34
+ addLink,
37
35
  } from '@dxos/react-ui-editor';
38
36
  import { StackItem } from '@dxos/react-ui-stack';
39
37
  import { isNotFalsy, isNonNullable } from '@dxos/util';
@@ -178,38 +176,28 @@ export const MarkdownEditor = ({
178
176
 
179
177
  const info = await onFileUpload(file);
180
178
  if (info) {
181
- processEditorPayload(editorView, { type: 'image', data: info.url });
179
+ addLink({ url: info.url, image: true })(editorView);
182
180
  }
183
181
  });
184
182
  }
185
- }, [acceptedFiles, editorView]);
183
+ }, [acceptedFiles, editorView, onFileUpload]);
186
184
 
187
- // Toolbar handler.
188
- const handleToolbarAction = useActionHandler(editorView);
189
- const handleAction = useCallback(
190
- (action: EditorAction) => {
191
- switch (action.properties.type) {
192
- case 'search': {
193
- if (editorView) {
194
- openSearchPanel(editorView);
195
- }
196
- return;
197
- }
198
- case 'view-mode': {
199
- onViewModeChange?.(id, action.properties.data);
200
- return;
201
- }
202
- case 'image': {
203
- open();
204
- return;
205
- }
206
- }
185
+ const getView = useCallback(() => {
186
+ invariant(editorView);
187
+ return editorView;
188
+ }, [editorView]);
207
189
 
208
- handleToolbarAction?.(action);
209
- },
210
- [editorView, onViewModeChange, open],
190
+ const handleViewModeChange = useCallback(
191
+ (mode: EditorViewMode) => onViewModeChange?.(id, mode),
192
+ [id, onViewModeChange],
211
193
  );
212
194
 
195
+ const handleImageUpload = useCallback(() => {
196
+ if (onFileUpload) {
197
+ open();
198
+ }
199
+ }, [onFileUpload]);
200
+
213
201
  return (
214
202
  <StackItem.Content toolbar={!!toolbar} classNames='is-full min-bs-0'>
215
203
  {toolbar && (
@@ -218,9 +206,10 @@ export const MarkdownEditor = ({
218
206
  attendableId={id}
219
207
  role={role}
220
208
  state={toolbarState}
209
+ getView={getView}
221
210
  comment={comment}
222
- customActions={onFileUpload ? createUploadAction : undefined}
223
- onAction={handleAction}
211
+ image={handleImageUpload}
212
+ viewMode={handleViewModeChange}
224
213
  />
225
214
  <input {...getInputProps()} />
226
215
  </>
@@ -248,13 +237,3 @@ const useTest = (view?: EditorView) => {
248
237
  }
249
238
  }, [view]);
250
239
  };
251
-
252
- export const createUploadAction = () => ({
253
- nodes: [
254
- createEditorAction({ type: 'image', testId: 'editor.toolbar.image' }, 'ph--image-square--regular', [
255
- 'upload image label',
256
- { ns: MARKDOWN_PLUGIN },
257
- ]),
258
- ],
259
- edges: [{ source: 'root', target: 'image' }],
260
- });
@@ -14,7 +14,7 @@ import { DocumentType } from '@dxos/plugin-markdown/types';
14
14
  import { faker } from '@dxos/random';
15
15
  import { makeRef } from '@dxos/react-client/echo';
16
16
  import { Icon, Popover } from '@dxos/react-ui';
17
- import { TextType } from '@dxos/schema';
17
+ import { DataType } from '@dxos/schema';
18
18
  import { withTheme, withLayout } from '@dxos/storybook-utils';
19
19
 
20
20
  import { MarkdownPreview } from './MarkdownPreview';
@@ -38,7 +38,7 @@ const meta: Meta<typeof MarkdownPreview> = {
38
38
  </Popover.Root>
39
39
  );
40
40
  },
41
- decorators: [withPluginManager({ plugins: [IntentPlugin()] }), withTheme, withLayout({ tooltips: true })],
41
+ decorators: [withPluginManager({ plugins: [IntentPlugin()] }), withTheme, withLayout()],
42
42
  parameters: {
43
43
  layout: 'centered',
44
44
  translations,
@@ -51,7 +51,7 @@ const data = (() => {
51
51
  const document = create(DocumentType, {
52
52
  name: faker.lorem.words(3),
53
53
  content: makeRef(
54
- create(TextType, {
54
+ create(DataType.Text, {
55
55
  content: faker.lorem.paragraphs(3),
56
56
  }),
57
57
  ),