@dxos/plugin-markdown 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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 (159) hide show
  1. package/dist/lib/browser/{MarkdownContainer-DGPA7SEG.mjs → MarkdownContainer-EFWQ6DHD.mjs} +231 -49
  2. package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownPreview-KQN2TGK6.mjs → MarkdownPreview-F4PYFW5L.mjs} +8 -8
  4. package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-VS4OZVPP.mjs → anchor-sort-BMAN2ABT.mjs} +4 -4
  6. package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-V6RLEHVY.mjs → app-graph-serializer-EI6TEHRQ.mjs} +7 -5
  8. package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +7 -0
  9. package/dist/lib/browser/{artifact-definition-5NAODQLG.mjs → artifact-definition-FQ2R6KPT.mjs} +6 -6
  10. package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-OTOPAFWC.mjs → chunk-354IBM5X.mjs} +7 -7
  12. package/dist/lib/browser/{chunk-C5RABVIX.mjs → chunk-D767LUGU.mjs} +7 -3
  13. package/dist/lib/browser/chunk-D767LUGU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-77NGW7EO.mjs → chunk-LXSRQPEP.mjs} +9 -9
  15. package/dist/lib/browser/chunk-LXSRQPEP.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-ECSM56YC.mjs → chunk-N2D26K6W.mjs} +4 -5
  17. package/dist/lib/browser/chunk-N2D26K6W.mjs.map +7 -0
  18. package/dist/lib/browser/index.mjs +7 -8
  19. package/dist/lib/browser/index.mjs.map +3 -3
  20. package/dist/lib/browser/{intent-resolver-4GDYST4Y.mjs → intent-resolver-6ZOABX2J.mjs} +6 -7
  21. package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs.map +7 -0
  22. package/dist/lib/browser/meta.json +1 -1
  23. package/dist/lib/browser/{react-surface-DM6B4UUJ.mjs → react-surface-4B5ELMEW.mjs} +14 -9
  24. package/dist/lib/browser/react-surface-4B5ELMEW.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-W5CK4PXP.mjs → settings-PLH54VC7.mjs} +4 -4
  26. package/dist/lib/browser/settings-PLH54VC7.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +1 -1
  28. package/dist/lib/node/{MarkdownContainer-BZK66EQD.cjs → MarkdownContainer-KYGUEZIL.cjs} +277 -95
  29. package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs.map +7 -0
  30. package/dist/lib/node/{MarkdownPreview-H7FFIWJH.cjs → MarkdownPreview-GCJJCXY6.cjs} +17 -17
  31. package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +7 -0
  32. package/dist/lib/node/{anchor-sort-NHVF23EU.cjs → anchor-sort-V3T4SFFI.cjs} +12 -12
  33. package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-CLALIYN3.cjs → app-graph-serializer-E6BXEDEL.cjs} +14 -12
  35. package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs.map +7 -0
  36. package/dist/lib/node/{artifact-definition-VEAHK7BX.cjs → artifact-definition-U27MH5SC.cjs} +16 -16
  37. package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-RQS4KBMG.cjs → chunk-3HHV4MM6.cjs} +6 -7
  39. package/dist/lib/node/chunk-3HHV4MM6.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-G7RBJX22.cjs → chunk-CJLYFGPI.cjs} +12 -12
  41. package/dist/lib/node/chunk-CJLYFGPI.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-BBDDZLQH.cjs → chunk-FU3XZZCO.cjs} +10 -10
  43. package/dist/lib/node/{chunk-ZDTL47I7.cjs → chunk-LQAC5HL7.cjs} +10 -6
  44. package/dist/lib/node/chunk-LQAC5HL7.cjs.map +7 -0
  45. package/dist/lib/node/index.cjs +26 -27
  46. package/dist/lib/node/index.cjs.map +3 -3
  47. package/dist/lib/node/{intent-resolver-AUZVK3NZ.cjs → intent-resolver-OEFLRNEJ.cjs} +14 -15
  48. package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +7 -0
  49. package/dist/lib/node/meta.json +1 -1
  50. package/dist/lib/node/{react-surface-QBW4FFXF.cjs → react-surface-456HQ4KZ.cjs} +21 -16
  51. package/dist/lib/node/react-surface-456HQ4KZ.cjs.map +7 -0
  52. package/dist/lib/node/{settings-IRKU3WPM.cjs → settings-E3NUTXJ4.cjs} +7 -7
  53. package/dist/lib/node/settings-E3NUTXJ4.cjs.map +7 -0
  54. package/dist/lib/node/types/index.cjs +7 -7
  55. package/dist/lib/node/types/index.cjs.map +1 -1
  56. package/dist/lib/node-esm/{MarkdownContainer-2DYVQ6RC.mjs → MarkdownContainer-O3SGMH4G.mjs} +231 -49
  57. package/dist/lib/node-esm/MarkdownContainer-O3SGMH4G.mjs.map +7 -0
  58. package/dist/lib/node-esm/{MarkdownPreview-JUIXYYKF.mjs → MarkdownPreview-KFDRV4GC.mjs} +8 -8
  59. package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +7 -0
  60. package/dist/lib/node-esm/{anchor-sort-G2HLCYFK.mjs → anchor-sort-BXL7BE67.mjs} +4 -4
  61. package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +7 -0
  62. package/dist/lib/node-esm/{app-graph-serializer-C3RNTQGM.mjs → app-graph-serializer-F7DGNF3G.mjs} +7 -5
  63. package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +7 -0
  64. package/dist/lib/node-esm/{artifact-definition-7TIJW2CO.mjs → artifact-definition-NQOHB6S5.mjs} +6 -6
  65. package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-TCFJNUAE.mjs → chunk-BWDDFDJY.mjs} +7 -3
  67. package/dist/lib/node-esm/chunk-BWDDFDJY.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-6RPARLIK.mjs → chunk-K26TX5V4.mjs} +9 -9
  69. package/dist/lib/node-esm/chunk-K26TX5V4.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-NCMPVEXO.mjs → chunk-T2Y2BT53.mjs} +4 -5
  71. package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-KK7LP3UQ.mjs → chunk-YOABAQ7A.mjs} +7 -7
  73. package/dist/lib/node-esm/index.mjs +7 -8
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/{intent-resolver-FTNXUNI2.mjs → intent-resolver-CLMSVF2K.mjs} +6 -7
  76. package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-surface-A4VAOQG6.mjs → react-surface-YHFOQTVO.mjs} +14 -9
  79. package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs.map +7 -0
  80. package/dist/lib/node-esm/{settings-MK7D7LHQ.mjs → settings-SIY33P3F.mjs} +4 -4
  81. package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +1 -1
  83. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  86. package/dist/types/src/components/MarkdownContainer.d.ts +1 -1
  87. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  88. package/dist/types/src/components/MarkdownContainer.stories.d.ts +9 -0
  89. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +4 -3
  91. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  92. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +3 -9
  93. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  94. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  95. package/dist/types/src/extensions.d.ts +3 -2
  96. package/dist/types/src/extensions.d.ts.map +1 -1
  97. package/dist/types/src/translations.d.ts +52 -2
  98. package/dist/types/src/translations.d.ts.map +1 -1
  99. package/dist/types/src/types/schema.d.ts +11 -14
  100. package/dist/types/src/types/schema.d.ts.map +1 -1
  101. package/dist/types/src/types/types.d.ts +5 -6
  102. package/dist/types/src/types/types.d.ts.map +1 -1
  103. package/dist/types/src/util.d.ts.map +1 -1
  104. package/package.json +38 -38
  105. package/src/MarkdownPlugin.tsx +3 -5
  106. package/src/capabilities/anchor-sort.ts +2 -2
  107. package/src/capabilities/app-graph-serializer.ts +5 -3
  108. package/src/capabilities/artifact-definition.ts +3 -3
  109. package/src/capabilities/intent-resolver.ts +4 -5
  110. package/src/capabilities/react-surface.tsx +5 -5
  111. package/src/capabilities/settings.ts +2 -2
  112. package/src/components/MarkdownContainer.stories.tsx +103 -0
  113. package/src/components/MarkdownContainer.tsx +149 -52
  114. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  115. package/src/components/MarkdownEditor/MarkdownEditor.tsx +215 -139
  116. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +8 -7
  117. package/src/components/MarkdownPreview/MarkdownPreview.tsx +5 -5
  118. package/src/components/Suggestions.stories.tsx +7 -9
  119. package/src/components/Toolbar.stories.tsx +3 -3
  120. package/src/extensions.tsx +7 -1
  121. package/src/translations.ts +6 -1
  122. package/src/types/schema.ts +2 -3
  123. package/src/util.tsx +5 -7
  124. package/dist/lib/browser/MarkdownContainer-DGPA7SEG.mjs.map +0 -7
  125. package/dist/lib/browser/MarkdownPreview-KQN2TGK6.mjs.map +0 -7
  126. package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +0 -7
  127. package/dist/lib/browser/app-graph-serializer-V6RLEHVY.mjs.map +0 -7
  128. package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-77NGW7EO.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-C5RABVIX.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-ECSM56YC.mjs.map +0 -7
  132. package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +0 -7
  133. package/dist/lib/browser/react-surface-DM6B4UUJ.mjs.map +0 -7
  134. package/dist/lib/browser/settings-W5CK4PXP.mjs.map +0 -7
  135. package/dist/lib/node/MarkdownContainer-BZK66EQD.cjs.map +0 -7
  136. package/dist/lib/node/MarkdownPreview-H7FFIWJH.cjs.map +0 -7
  137. package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +0 -7
  138. package/dist/lib/node/app-graph-serializer-CLALIYN3.cjs.map +0 -7
  139. package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +0 -7
  140. package/dist/lib/node/chunk-G7RBJX22.cjs.map +0 -7
  141. package/dist/lib/node/chunk-RQS4KBMG.cjs.map +0 -7
  142. package/dist/lib/node/chunk-ZDTL47I7.cjs.map +0 -7
  143. package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +0 -7
  144. package/dist/lib/node/react-surface-QBW4FFXF.cjs.map +0 -7
  145. package/dist/lib/node/settings-IRKU3WPM.cjs.map +0 -7
  146. package/dist/lib/node-esm/MarkdownContainer-2DYVQ6RC.mjs.map +0 -7
  147. package/dist/lib/node-esm/MarkdownPreview-JUIXYYKF.mjs.map +0 -7
  148. package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +0 -7
  149. package/dist/lib/node-esm/app-graph-serializer-C3RNTQGM.mjs.map +0 -7
  150. package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +0 -7
  152. package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +0 -7
  153. package/dist/lib/node-esm/chunk-TCFJNUAE.mjs.map +0 -7
  154. package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +0 -7
  155. package/dist/lib/node-esm/react-surface-A4VAOQG6.mjs.map +0 -7
  156. package/dist/lib/node-esm/settings-MK7D7LHQ.mjs.map +0 -7
  157. /package/dist/lib/browser/{chunk-OTOPAFWC.mjs.map → chunk-354IBM5X.mjs.map} +0 -0
  158. /package/dist/lib/node/{chunk-BBDDZLQH.cjs.map → chunk-FU3XZZCO.cjs.map} +0 -0
  159. /package/dist/lib/node-esm/{chunk-KK7LP3UQ.mjs.map → chunk-YOABAQ7A.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import { type ReactNode } from 'react';
2
2
  import { type PromiseIntentDispatcher } from '@dxos/app-framework';
3
3
  import { type QueryResult } from '@dxos/react-client/echo';
4
4
  import { type SelectionManager } from '@dxos/react-ui-attention';
5
- import { type EditorStateStore, type EditorViewMode, type Extension } from '@dxos/react-ui-editor';
5
+ import { type EditorStateStore, type EditorViewMode, type Extension, type PreviewOptions } from '@dxos/react-ui-editor';
6
6
  import { type DataType } from '@dxos/schema';
7
7
  import { type DocumentType, type MarkdownSettingsProps } from './types';
8
8
  type ExtensionsOptions = {
@@ -15,8 +15,9 @@ type ExtensionsOptions = {
15
15
  selectionManager?: SelectionManager;
16
16
  viewMode?: EditorViewMode;
17
17
  editorStateStore?: EditorStateStore;
18
+ previewOptions?: PreviewOptions;
18
19
  };
19
- export declare const useExtensions: ({ document, id, text, settings, selectionManager, viewMode, editorStateStore, }: ExtensionsOptions) => Extension[];
20
+ export declare const useExtensions: ({ document, id, text, settings, selectionManager, viewMode, editorStateStore, previewOptions, }: ExtensionsOptions) => Extension[];
20
21
  export declare const selectionChange: (selectionManager: SelectionManager) => Extension;
21
22
  export declare const renderRoot: <T extends Element>(root: T, node: ReactNode) => T;
22
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions.tsx"],"names":[],"mappings":"AAIA,OAAc,EAA6B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAGlF,OAAO,EAGL,KAAK,uBAAuB,EAG7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,SAAS,EAgBf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGxE,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,iFAQ3B,iBAAiB,KAAG,SAAS,EAyF/B,CAAC;AAsFF,eAAO,MAAM,eAAe,GAAI,kBAAkB,gBAAgB,cAejE,CAAC;AAuDF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,SAAS,KAAG,CAGxE,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions.tsx"],"names":[],"mappings":"AAIA,OAAc,EAA6B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAGlF,OAAO,EAGL,KAAK,uBAAuB,EAG7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,SAAS,EAgBd,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGxE,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,iGAS3B,iBAAiB,KAAG,SAAS,EA2F/B,CAAC;AAuFF,eAAO,MAAM,eAAe,GAAI,kBAAkB,gBAAgB,cAejE,CAAC;AAuDF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,SAAS,KAAG,CAGxE,CAAC"}
@@ -1,9 +1,59 @@
1
- import { DocumentType } from './types';
2
1
  declare const _default: {
3
2
  'en-US': {
4
- [DocumentType.typename]: {
3
+ [x: string]: {
5
4
  'typename label': string;
5
+ 'typename label_zero': string;
6
+ 'typename label_one': string;
7
+ 'typename label_other': string;
6
8
  'object name placeholder': string;
9
+ 'plugin name'?: undefined;
10
+ 'choose markdown from space dialog title'?: undefined;
11
+ 'empty choose markdown from space message'?: undefined;
12
+ 'chooser done label'?: undefined;
13
+ 'editor placeholder'?: undefined;
14
+ 'editor input mode label'?: undefined;
15
+ 'select editor input mode placeholder'?: undefined;
16
+ 'settings editor input mode default label'?: undefined;
17
+ 'settings editor input mode vim label'?: undefined;
18
+ 'settings editor input mode vscode label'?: undefined;
19
+ 'settings toolbar label'?: undefined;
20
+ 'settings numbered headings label'?: undefined;
21
+ 'settings folding label'?: undefined;
22
+ 'settings experimental label'?: undefined;
23
+ 'settings debug label'?: undefined;
24
+ 'settings debug placeholder'?: undefined;
25
+ 'toggle view mode label'?: undefined;
26
+ 'default view mode label'?: undefined;
27
+ 'upload image label'?: undefined;
28
+ 'fallback title'?: undefined;
29
+ 'navigate to document label'?: undefined;
30
+ } | {
31
+ 'plugin name': string;
32
+ 'choose markdown from space dialog title': string;
33
+ 'empty choose markdown from space message': string;
34
+ 'chooser done label': string;
35
+ 'editor placeholder': string;
36
+ 'editor input mode label': string;
37
+ 'select editor input mode placeholder': string;
38
+ 'settings editor input mode default label': string;
39
+ 'settings editor input mode vim label': string;
40
+ 'settings editor input mode vscode label': string;
41
+ 'settings toolbar label': string;
42
+ 'settings numbered headings label': string;
43
+ 'settings folding label': string;
44
+ 'settings experimental label': string;
45
+ 'settings debug label': string;
46
+ 'settings debug placeholder': string;
47
+ 'toggle view mode label': string;
48
+ 'default view mode label': string;
49
+ 'upload image label': string;
50
+ 'fallback title': string;
51
+ 'navigate to document label': string;
52
+ 'typename label'?: undefined;
53
+ 'typename label_zero'?: undefined;
54
+ 'typename label_one'?: undefined;
55
+ 'typename label_other'?: undefined;
56
+ 'object name placeholder'?: undefined;
7
57
  };
8
58
  "dxos.org/plugin/markdown": {
9
59
  'plugin name': string;
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;;;QAKjC,CAAC,YAAY,CAAC,QAAQ,CAAC;;;UAGtB;;;;;;;;;;;;;;;;;;;;;;;;;;AANP,wBAiCE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wBAoCE"}
@@ -1,30 +1,27 @@
1
1
  import { Schema } from 'effect';
2
+ import { Type } from '@dxos/echo';
2
3
  export declare const DocumentSchema: Schema.Struct<{
3
4
  name: Schema.optional<typeof Schema.String>;
4
5
  fallbackName: Schema.optional<typeof Schema.String>;
5
- content: import("@dxos/echo-schema").Ref$<{
6
- readonly id: string;
7
- content: string;
8
- }>;
6
+ content: Type.ref<Type.obj<Schema.Struct<{
7
+ content: typeof import("effect/Schema").String;
8
+ }>>>;
9
9
  }>;
10
- export declare const DocumentType: import("@dxos/echo-schema").EchoTypeSchema<Schema.Struct<{
10
+ export declare const DocumentType: Type.obj<Schema.Struct<{
11
11
  name: Schema.optional<typeof Schema.String>;
12
12
  fallbackName: Schema.optional<typeof Schema.String>;
13
- content: import("@dxos/echo-schema").Ref$<{
14
- readonly id: string;
15
- content: string;
16
- }>;
17
- }>, {}>;
13
+ content: Type.ref<Type.obj<Schema.Struct<{
14
+ content: typeof import("effect/Schema").String;
15
+ }>>>;
16
+ }>>;
18
17
  export type DocumentType = Schema.Schema.Type<typeof DocumentType>;
19
18
  export declare const createDocument: ({ name, content }: {
20
19
  name: string;
21
20
  content: string;
22
- }) => import("@dxos/live-object").Live<{
23
- readonly id: string;
21
+ }) => import("@dxos/live-object").Live<Type.OfKind<Type.Kind.Object> & {
24
22
  name?: string | undefined;
25
23
  fallbackName?: string | undefined;
26
- content: import("@dxos/echo-schema").Ref<{
27
- readonly id: string;
24
+ content: import("@dxos/echo-schema").Ref<Type.OfKind<Type.Kind.Object> & {
28
25
  content: string;
29
26
  }>;
30
27
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC,eAAO,MAAM,cAAc;;;;;;;EAI2B,CAAC;AAEvD,eAAO,MAAM,YAAY;;;;;;;OAKxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAGnE,eAAO,MAAM,cAAc,GAAI,mBAAmB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;EACA,CAAC;AAEpF;;GAEG;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,IAAI,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAM7C,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAI5C,eAAO,MAAM,cAAc;;;;;;EAI2B,CAAC;AAEvD,eAAO,MAAM,YAAY;;;;;;GAKxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAGnE,eAAO,MAAM,cAAc,GAAI,mBAAmB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;EACQ,CAAC;AAE5F;;GAEG;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,IAAI,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAM7C,CAAC"}
@@ -19,14 +19,13 @@ export declare namespace MarkdownAction {
19
19
  content: Schema.optional<typeof Schema.String>;
20
20
  }>;
21
21
  output: Schema.Struct<{
22
- object: import("@dxos/echo-schema").EchoTypeSchema<Schema.Struct<{
22
+ object: Type.obj<Schema.Struct<{
23
23
  name: Schema.optional<typeof Schema.String>;
24
24
  fallbackName: Schema.optional<typeof Schema.String>;
25
- content: import("@dxos/echo-schema").Ref$<{
26
- readonly id: string;
27
- content: string;
28
- }>;
29
- }>, {}>;
25
+ content: Type.ref<Type.obj<Schema.Struct<{
26
+ content: typeof import("effect/Schema").String;
27
+ }>>>;
28
+ }>>;
30
29
  }>;
31
30
  }>;
32
31
  export class Create extends Create_base {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,KAAK,SAAS,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,yBAAiB,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC9B,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
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,KAAK,SAAS,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,yBAAiB,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;IAC9B,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,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
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,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,CAU1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-markdown",
3
- "version": "0.8.3-main.672df60",
3
+ "version": "0.8.3-staging.0fa589b",
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",
@@ -39,34 +39,34 @@
39
39
  "@preact-signals/safe-react": "^0.9.0",
40
40
  "@preact/signals-core": "^1.9.0",
41
41
  "react-dropzone": "^14.2.3",
42
- "@dxos/app-framework": "0.8.3-main.672df60",
43
- "@dxos/ai": "0.8.3-main.672df60",
44
- "@dxos/artifact": "0.8.3-main.672df60",
45
- "@dxos/assistant": "0.8.3-main.672df60",
46
- "@dxos/async": "0.8.3-main.672df60",
47
- "@dxos/echo": "0.8.3-main.672df60",
48
- "@dxos/echo-schema": "0.8.3-main.672df60",
49
- "@dxos/invariant": "0.8.3-main.672df60",
50
- "@dxos/keys": "0.8.3-main.672df60",
51
- "@dxos/lit-ui": "0.8.3-main.672df60",
52
- "@dxos/live-object": "0.8.3-main.672df60",
53
- "@dxos/local-storage": "0.8.3-main.672df60",
54
- "@dxos/log": "0.8.3-main.672df60",
55
- "@dxos/plugin-attention": "0.8.3-main.672df60",
56
- "@dxos/plugin-client": "0.8.3-main.672df60",
57
- "@dxos/plugin-graph": "0.8.3-main.672df60",
58
- "@dxos/plugin-deck": "0.8.3-main.672df60",
59
- "@dxos/plugin-preview": "0.8.3-main.672df60",
60
- "@dxos/plugin-theme": "0.8.3-main.672df60",
61
- "@dxos/react-client": "0.8.3-main.672df60",
62
- "@dxos/react-hooks": "0.8.3-main.672df60",
63
- "@dxos/plugin-space": "0.8.3-main.672df60",
64
- "@dxos/react-ui-attention": "0.8.3-main.672df60",
65
- "@dxos/react-ui-editor": "0.8.3-main.672df60",
66
- "@dxos/react-ui-form": "0.8.3-main.672df60",
67
- "@dxos/react-ui-stack": "0.8.3-main.672df60",
68
- "@dxos/schema": "0.8.3-main.672df60",
69
- "@dxos/util": "0.8.3-main.672df60"
42
+ "@dxos/ai": "0.8.3-staging.0fa589b",
43
+ "@dxos/app-framework": "0.8.3-staging.0fa589b",
44
+ "@dxos/assistant": "0.8.3-staging.0fa589b",
45
+ "@dxos/artifact": "0.8.3-staging.0fa589b",
46
+ "@dxos/async": "0.8.3-staging.0fa589b",
47
+ "@dxos/invariant": "0.8.3-staging.0fa589b",
48
+ "@dxos/echo": "0.8.3-staging.0fa589b",
49
+ "@dxos/keys": "0.8.3-staging.0fa589b",
50
+ "@dxos/echo-schema": "0.8.3-staging.0fa589b",
51
+ "@dxos/lit-ui": "0.8.3-staging.0fa589b",
52
+ "@dxos/local-storage": "0.8.3-staging.0fa589b",
53
+ "@dxos/log": "0.8.3-staging.0fa589b",
54
+ "@dxos/live-object": "0.8.3-staging.0fa589b",
55
+ "@dxos/plugin-attention": "0.8.3-staging.0fa589b",
56
+ "@dxos/plugin-client": "0.8.3-staging.0fa589b",
57
+ "@dxos/plugin-deck": "0.8.3-staging.0fa589b",
58
+ "@dxos/plugin-preview": "0.8.3-staging.0fa589b",
59
+ "@dxos/plugin-graph": "0.8.3-staging.0fa589b",
60
+ "@dxos/plugin-space": "0.8.3-staging.0fa589b",
61
+ "@dxos/plugin-theme": "0.8.3-staging.0fa589b",
62
+ "@dxos/react-client": "0.8.3-staging.0fa589b",
63
+ "@dxos/react-ui-attention": "0.8.3-staging.0fa589b",
64
+ "@dxos/react-ui-editor": "0.8.3-staging.0fa589b",
65
+ "@dxos/react-ui-form": "0.8.3-staging.0fa589b",
66
+ "@dxos/react-hooks": "0.8.3-staging.0fa589b",
67
+ "@dxos/react-ui-stack": "0.8.3-staging.0fa589b",
68
+ "@dxos/schema": "0.8.3-staging.0fa589b",
69
+ "@dxos/util": "0.8.3-staging.0fa589b"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@effect-rx/rx-react": "^0.34.1",
@@ -78,13 +78,13 @@
78
78
  "react": "~18.2.0",
79
79
  "react-dom": "~18.2.0",
80
80
  "vite": "5.4.7",
81
- "@dxos/plugin-storybook-layout": "0.8.3-main.672df60",
82
- "@dxos/debug": "0.8.3-main.672df60",
83
- "@dxos/plugin-theme": "0.8.3-main.672df60",
84
- "@dxos/random": "0.8.3-main.672df60",
85
- "@dxos/react-ui": "0.8.3-main.672df60",
86
- "@dxos/react-ui-theme": "0.8.3-main.672df60",
87
- "@dxos/storybook-utils": "0.8.3-main.672df60"
81
+ "@dxos/debug": "0.8.3-staging.0fa589b",
82
+ "@dxos/plugin-theme": "0.8.3-staging.0fa589b",
83
+ "@dxos/plugin-storybook-layout": "0.8.3-staging.0fa589b",
84
+ "@dxos/random": "0.8.3-staging.0fa589b",
85
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
86
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b",
87
+ "@dxos/storybook-utils": "0.8.3-staging.0fa589b"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "@effect-rx/rx-react": "^0.34.1",
@@ -93,8 +93,8 @@
93
93
  "effect": "^3.13.3",
94
94
  "react": "~18.2.0",
95
95
  "react-dom": "~18.2.0",
96
- "@dxos/react-ui": "0.8.3-main.672df60",
97
- "@dxos/react-ui-theme": "0.8.3-main.672df60"
96
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
97
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b"
98
98
  },
99
99
  "publishConfig": {
100
100
  "access": "public"
@@ -3,8 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';
6
- import { isInstanceOf, type BaseObject } from '@dxos/echo-schema';
7
- import { RefArray } from '@dxos/live-object';
6
+ import { type Obj, Ref } from '@dxos/echo';
8
7
  import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
9
8
  import { SpaceCapabilities } from '@dxos/plugin-space';
10
9
  import { defineObjectForm } from '@dxos/plugin-space/types';
@@ -54,14 +53,13 @@ export const MarkdownPlugin = () =>
54
53
  contributes(Capabilities.Metadata, {
55
54
  id: DocumentType.typename,
56
55
  metadata: {
57
- label: (object: any) =>
58
- isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,
56
+ label: (object: DocumentType) => object.name || object.fallbackName,
59
57
  icon: 'ph--text-aa--regular',
60
58
  graphProps: {
61
59
  managesAutofocus: true,
62
60
  },
63
61
  // TODO(wittjosiah): Move out of metadata.
64
- loadReferences: async (doc: DocumentType) => await RefArray.loadAll<BaseObject>([doc.content]),
62
+ loadReferences: async (doc: DocumentType) => await Ref.Array.loadAll<Obj.Any>([doc.content]),
65
63
  serializer,
66
64
  // TODO(wittjosiah): Consider how to do generic comments without these.
67
65
  comments: 'anchored',
@@ -3,14 +3,14 @@
3
3
  //
4
4
 
5
5
  import { Capabilities, contributes } from '@dxos/app-framework';
6
- import { getSchemaTypename } from '@dxos/echo-schema';
6
+ import { Type } from '@dxos/echo';
7
7
  import { createDocAccessor, getRangeFromCursor, getTarget } from '@dxos/react-client/echo';
8
8
 
9
9
  import { DocumentType } from '../types';
10
10
 
11
11
  export default () =>
12
12
  contributes(Capabilities.AnchorSort, {
13
- key: getSchemaTypename(DocumentType)!,
13
+ key: Type.getTypename(DocumentType)!,
14
14
  sort: (anchorA, anchorB) => {
15
15
  const doc = getTarget(anchorA) as DocumentType;
16
16
  const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;
@@ -5,8 +5,10 @@
5
5
  import { pipe } from 'effect';
6
6
 
7
7
  import { contributes, Capabilities, type PluginContext, chain, createIntent } from '@dxos/app-framework';
8
- import { SpaceAction, CollectionType } from '@dxos/plugin-space/types';
8
+ import { Obj, Type } from '@dxos/echo';
9
+ import { SpaceAction } from '@dxos/plugin-space/types';
9
10
  import { isSpace } from '@dxos/react-client/echo';
11
+ import { DataType } from '@dxos/schema';
10
12
 
11
13
  import translations from '../translations';
12
14
  import { MarkdownAction, DocumentType } from '../types';
@@ -30,8 +32,8 @@ export default (context: PluginContext) =>
30
32
  deserialize: async (data, ancestors) => {
31
33
  const space = ancestors.find(isSpace);
32
34
  const target =
33
- ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??
34
- space?.properties[CollectionType.typename]?.target;
35
+ ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??
36
+ space?.properties[Type.getTypename(DataType.Collection)]?.target;
35
37
  if (!space || !target) {
36
38
  return;
37
39
  }
@@ -8,7 +8,7 @@ import { createTool, ToolResult } from '@dxos/ai';
8
8
  import { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';
9
9
  import { ArtifactId, defineArtifact } from '@dxos/artifact';
10
10
  import { createArtifactElement } from '@dxos/assistant';
11
- import { isInstanceOf } from '@dxos/echo-schema';
11
+ import { Obj } from '@dxos/echo';
12
12
  import { invariant, assertArgument } from '@dxos/invariant';
13
13
  import { SpaceAction } from '@dxos/plugin-space/types';
14
14
  import { Filter, fullyQualifiedId, type Space } from '@dxos/react-client/echo';
@@ -78,7 +78,7 @@ export default () => {
78
78
  const space = extensions.space;
79
79
  const { objects: documents } = await space.db.query(Filter.type(DocumentType)).run();
80
80
  const documentInfo = documents.map((doc) => {
81
- invariant(isInstanceOf(DocumentType, doc));
81
+ invariant(Obj.instanceOf(DocumentType, doc));
82
82
  return {
83
83
  id: fullyQualifiedId(doc),
84
84
  name: doc.name || doc.fallbackName || 'Unnamed Document',
@@ -99,7 +99,7 @@ export default () => {
99
99
  execute: async ({ id }, { extensions }) => {
100
100
  invariant(extensions?.space, 'No space');
101
101
  const document = await extensions.space.db.query(Filter.ids(ArtifactId.toDXN(id).toString())).first();
102
- assertArgument(isInstanceOf(DocumentType, document), 'Invalid type');
102
+ assertArgument(Obj.instanceOf(DocumentType, document), 'Invalid type');
103
103
 
104
104
  const { content } = await document.content?.load();
105
105
  return ToolResult.Success({
@@ -12,8 +12,7 @@ import {
12
12
  createResolver,
13
13
  type PluginContext,
14
14
  } from '@dxos/app-framework';
15
- import { isInstanceOf } from '@dxos/echo-schema';
16
- import { live } from '@dxos/live-object';
15
+ import { Obj } from '@dxos/echo';
17
16
  import { createDocAccessor, getRangeFromCursor, Ref } from '@dxos/react-client/echo';
18
17
  import { DataType } from '@dxos/schema';
19
18
 
@@ -25,9 +24,9 @@ export default (context: PluginContext) =>
25
24
  createResolver({
26
25
  intent: MarkdownAction.Create,
27
26
  resolve: ({ name, content }) => {
28
- const doc = live(DocumentType, {
27
+ const doc = Obj.make(DocumentType, {
29
28
  name,
30
- content: Ref.make(live(DataType.Text, { content: content ?? '' })),
29
+ content: Ref.make(Obj.make(DataType.Text, { content: content ?? '' })),
31
30
  });
32
31
 
33
32
  return { data: { object: doc } };
@@ -46,7 +45,7 @@ export default (context: PluginContext) =>
46
45
  data,
47
46
  ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {
48
47
  target: DocumentType;
49
- } => isInstanceOf(DocumentType, data.target),
48
+ } => Obj.instanceOf(DocumentType, data.target),
50
49
  resolve: async ({ target, object: objectRef, at, label }) => {
51
50
  const text = await target.content.load();
52
51
  const accessor = createDocAccessor(text, ['content']);
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { createSurface, contributes, Capabilities, useCapability } from '@dxos/app-framework';
8
- import { isInstanceOf } from '@dxos/echo-schema';
8
+ import { Obj } from '@dxos/echo';
9
9
  import { SettingsStore } from '@dxos/local-storage';
10
10
  import { AttentionCapabilities } from '@dxos/plugin-attention';
11
11
  import { fullyQualifiedId } from '@dxos/react-client/echo';
@@ -22,7 +22,7 @@ export default () =>
22
22
  id: `${MARKDOWN_PLUGIN}/document`,
23
23
  role: ['article', 'section', 'tabpanel'],
24
24
  filter: (data): data is { subject: DocumentType; variant: undefined } =>
25
- isInstanceOf(DocumentType, data.subject) && !data.variant,
25
+ Obj.instanceOf(DocumentType, data.subject) && !data.variant,
26
26
  component: ({ data, role }) => {
27
27
  const selectionManager = useCapability(AttentionCapabilities.Selection);
28
28
  const settingsStore = useCapability(Capabilities.SettingsStore);
@@ -49,7 +49,7 @@ export default () =>
49
49
  id: `${MARKDOWN_PLUGIN}/text`,
50
50
  role: ['article', 'section', 'tabpanel'],
51
51
  filter: (data): data is { id: string; subject: DataType.Text } =>
52
- typeof data.id === 'string' && isInstanceOf(DataType.Text, data.subject),
52
+ typeof data.id === 'string' && Obj.instanceOf(DataType.Text, data.subject),
53
53
  component: ({ data, role }) => {
54
54
  const selectionManager = useCapability(AttentionCapabilities.Selection);
55
55
  const settingsStore = useCapability(Capabilities.SettingsStore);
@@ -105,9 +105,9 @@ export default () =>
105
105
  }),
106
106
  createSurface({
107
107
  id: `${MARKDOWN_PLUGIN}/preview`,
108
- role: 'popover',
108
+ role: ['popover', 'card--kanban', 'card--document', 'card'],
109
109
  filter: (data): data is { subject: DocumentType | DataType.Text } =>
110
- isInstanceOf(DocumentType, data.subject) || isInstanceOf(DataType.Text, data.subject),
110
+ Obj.instanceOf(DocumentType, data.subject) || Obj.instanceOf(DataType.Text, data.subject),
111
111
  component: ({ data, role }) => <MarkdownPreview {...data} role={role} />,
112
112
  }),
113
113
  ]);
@@ -5,7 +5,7 @@
5
5
  import { Capabilities, contributes } from '@dxos/app-framework';
6
6
  import { live } from '@dxos/live-object';
7
7
 
8
- import { MARKDOWN_PLUGIN } from '../meta';
8
+ import { meta } from '../meta';
9
9
  import { type MarkdownSettingsProps, MarkdownSettingsSchema } from '../types';
10
10
 
11
11
  export default () => {
@@ -18,8 +18,8 @@ export default () => {
18
18
  });
19
19
 
20
20
  return contributes(Capabilities.Settings, {
21
+ prefix: meta.id,
21
22
  schema: MarkdownSettingsSchema,
22
- prefix: MARKDOWN_PLUGIN,
23
23
  value: settings,
24
24
  });
25
25
  };
@@ -0,0 +1,103 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import '@dxos-theme';
6
+
7
+ import { type Meta } from '@storybook/react';
8
+ import React, { useMemo } from 'react';
9
+
10
+ import { Capabilities, contributes, IntentPlugin, SettingsPlugin, Surface } from '@dxos/app-framework';
11
+ import { withPluginManager } from '@dxos/app-framework/testing';
12
+ import { todo } from '@dxos/debug';
13
+ import { Obj, Query, Ref, Type } from '@dxos/echo';
14
+ import { AttentionPlugin } from '@dxos/plugin-attention';
15
+ import { ClientPlugin } from '@dxos/plugin-client';
16
+ import { GraphPlugin } from '@dxos/plugin-graph';
17
+ import { PreviewPlugin } from '@dxos/plugin-preview';
18
+ import { SpaceCapabilities, SpacePlugin } from '@dxos/plugin-space';
19
+ import { StorybookLayoutPlugin } from '@dxos/plugin-storybook-layout';
20
+ import { ThemePlugin } from '@dxos/plugin-theme';
21
+ import { faker } from '@dxos/random';
22
+ import { useQuery, useSpace } from '@dxos/react-client/echo';
23
+ import { defaultTx } from '@dxos/react-ui-theme';
24
+ import { DataType } from '@dxos/schema';
25
+ import { createObjectFactory, Testing, type ValueGenerator } from '@dxos/schema/testing';
26
+ import { withLayout } from '@dxos/storybook-utils';
27
+
28
+ import { MarkdownPlugin } from '../MarkdownPlugin';
29
+ import translations from '../translations';
30
+ import { DocumentType } from '../types';
31
+
32
+ faker.seed(1);
33
+
34
+ const generator: ValueGenerator = faker as any;
35
+
36
+ const DefaultStory = () => {
37
+ const space = useSpace();
38
+ const [doc] = useQuery(space, Query.type(DocumentType));
39
+ const data = useMemo(() => ({ subject: doc }), [doc]);
40
+
41
+ return <Surface role='article' data={data} />;
42
+ };
43
+
44
+ const meta: Meta<typeof DefaultStory> = {
45
+ title: 'plugins/plugin-markdown/MarkdownContainer',
46
+ render: DefaultStory,
47
+ decorators: [
48
+ withPluginManager({
49
+ plugins: [
50
+ AttentionPlugin(),
51
+ ThemePlugin({ tx: defaultTx }),
52
+ StorybookLayoutPlugin(),
53
+ ClientPlugin({
54
+ types: [DocumentType, DataType.Text, Testing.Contact],
55
+ onClientInitialized: async (_, client) => {
56
+ await client.halo.createIdentity();
57
+ await client.spaces.waitUntilReady();
58
+ await client.spaces.default.waitUntilReady();
59
+ const space = client.spaces.default;
60
+ const doc = Obj.make(DocumentType, {
61
+ name: 'Test',
62
+ content: Ref.make(Obj.make(DataType.Text, { content: '# Test\n\n' })),
63
+ });
64
+ space.db.add(doc);
65
+ const createObjects = createObjectFactory(space.db, generator);
66
+ await createObjects([{ type: Testing.Contact, count: 10 }]);
67
+ await space.db.flush({ indexes: true });
68
+ },
69
+ }),
70
+ SpacePlugin(),
71
+ SettingsPlugin(),
72
+ IntentPlugin(),
73
+ MarkdownPlugin(),
74
+ PreviewPlugin(),
75
+ GraphPlugin(),
76
+ ],
77
+ capabilities: [
78
+ // NOTE: Editor only queries for object form schemas when linking.
79
+ contributes(SpaceCapabilities.ObjectForm, {
80
+ objectSchema: Testing.Contact,
81
+ getIntent: () => todo(),
82
+ }),
83
+ contributes(Capabilities.Metadata, {
84
+ id: Type.getTypename(Testing.Contact),
85
+ metadata: {
86
+ icon: 'ph--user--regular',
87
+ },
88
+ }),
89
+ ],
90
+ }),
91
+ withLayout({ fullscreen: true }),
92
+ ],
93
+ parameters: {
94
+ translations,
95
+ controls: { disable: true },
96
+ },
97
+ };
98
+
99
+ export default meta;
100
+
101
+ type Story = Meta<typeof DefaultStory>;
102
+
103
+ export const Default: Story = {};