@dxos/plugin-markdown 0.8.4-staging.60fe92afc8 → 0.9.1-main.c7dcc2e112

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 (137) hide show
  1. package/dist/lib/neutral/{MarkdownArticle-LWT5RFFJ.mjs → MarkdownArticle-I4UMD7AA.mjs} +3 -3
  2. package/dist/lib/neutral/MarkdownArticle-I4UMD7AA.mjs.map +7 -0
  3. package/dist/lib/neutral/{MarkdownCard-TBLIRDBO.mjs → MarkdownCard-OYO2HYZF.mjs} +2 -2
  4. package/dist/lib/neutral/MarkdownCard-OYO2HYZF.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownPlugin.mjs +6 -9
  6. package/dist/lib/neutral/MarkdownPlugin.mjs.map +3 -3
  7. package/dist/lib/neutral/{MarkdownSettings-YCTZJL5V.mjs → MarkdownSettings-F5AWRDT3.mjs} +2 -2
  8. package/dist/lib/neutral/{MarkdownSettings-YCTZJL5V.mjs.map → MarkdownSettings-F5AWRDT3.mjs.map} +3 -3
  9. package/dist/lib/neutral/{app-graph-builder-BWBA23FF.mjs → app-graph-builder-6Y5NHTNR.mjs} +3 -4
  10. package/dist/lib/neutral/app-graph-builder-6Y5NHTNR.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +6 -8
  12. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  13. package/dist/lib/neutral/capabilities/node.mjs +1 -1
  14. package/dist/lib/neutral/{chunk-67DKWOKF.mjs → chunk-4ULSRZRL.mjs} +3 -3
  15. package/dist/lib/neutral/chunk-4ULSRZRL.mjs.map +7 -0
  16. package/dist/lib/neutral/chunk-BL46CERY.mjs +8 -0
  17. package/dist/lib/neutral/{chunk-Y2LQRUU7.mjs → chunk-CRKAIDRD.mjs} +11 -11
  18. package/dist/lib/neutral/chunk-CRKAIDRD.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-GUXWFDD4.mjs +43 -0
  20. package/dist/lib/neutral/chunk-GUXWFDD4.mjs.map +7 -0
  21. package/dist/lib/neutral/components/index.mjs +9 -8
  22. package/dist/lib/neutral/components/index.mjs.map +3 -3
  23. package/dist/lib/neutral/containers/index.mjs +2 -2
  24. package/dist/lib/neutral/{create-JK35XC4R.mjs → create-XW2FQNLK.mjs} +2 -2
  25. package/dist/lib/neutral/{create-markdown-7MLE625M.mjs → create-markdown-KLSVQCT7.mjs} +2 -2
  26. package/dist/lib/neutral/{create-object-MU2LGXG6.mjs → create-object-3WMEQJ2C.mjs} +2 -2
  27. package/dist/lib/neutral/hooks/index.mjs +16 -12
  28. package/dist/lib/neutral/hooks/index.mjs.map +3 -3
  29. package/dist/lib/neutral/index.mjs +4 -4
  30. package/dist/lib/neutral/meta.json +1 -1
  31. package/dist/lib/neutral/meta.mjs +1 -1
  32. package/dist/lib/neutral/{navigation-resolver-3KBOMN4U.mjs → navigation-resolver-3WEM7SSC.mjs} +3 -3
  33. package/dist/lib/neutral/navigation-resolver-3WEM7SSC.mjs.map +7 -0
  34. package/dist/lib/neutral/{open-5YC77C4O.mjs → open-F7KLNKVN.mjs} +2 -2
  35. package/dist/lib/neutral/operations/index.mjs +1 -1
  36. package/dist/lib/neutral/plugin.mjs +2 -2
  37. package/dist/lib/neutral/{react-surface-XYZJBKHZ.mjs → react-surface-6LX4ZQ2H.mjs} +7 -12
  38. package/dist/lib/neutral/react-surface-6LX4ZQ2H.mjs.map +7 -0
  39. package/dist/lib/neutral/{scroll-to-anchor-GAFB7W55.mjs → scroll-to-anchor-ACND3WJU.mjs} +2 -2
  40. package/dist/lib/neutral/{set-view-mode-N7UHYMPG.mjs → set-view-mode-WDC7CAEC.mjs} +2 -2
  41. package/dist/lib/neutral/{settings-TDGDLCUR.mjs → settings-O6O6HT3I.mjs} +3 -3
  42. package/dist/lib/neutral/settings-O6O6HT3I.mjs.map +7 -0
  43. package/dist/lib/neutral/state-ZYT3JRWT.mjs +69 -0
  44. package/dist/lib/neutral/state-ZYT3JRWT.mjs.map +7 -0
  45. package/dist/lib/neutral/testing.mjs +2 -2
  46. package/dist/lib/neutral/testing.mjs.map +3 -3
  47. package/dist/lib/neutral/translations.mjs +1 -1
  48. package/dist/lib/neutral/translations.mjs.map +3 -3
  49. package/dist/lib/neutral/types/index.mjs +1 -1
  50. package/dist/lib/neutral/{update-markdown-NNINDDV5.mjs → update-markdown-FGVN3LD4.mjs} +2 -2
  51. package/dist/types/dx.config.d.ts +28 -0
  52. package/dist/types/dx.config.d.ts.map +1 -0
  53. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/editor-view-state.d.ts +7 -0
  55. package/dist/types/src/capabilities/editor-view-state.d.ts.map +1 -0
  56. package/dist/types/src/capabilities/index.d.ts +9 -16
  57. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/node.d.ts +1 -6
  60. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  62. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/state.d.ts +1 -1
  64. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
  65. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  66. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +2 -2
  67. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  68. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  69. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -2
  70. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  71. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts +4 -4
  72. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -1
  73. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -1
  74. package/dist/types/src/hooks/useExtensions.d.ts +3 -3
  75. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  76. package/dist/types/src/meta.d.ts +28 -2
  77. package/dist/types/src/meta.d.ts.map +1 -1
  78. package/dist/types/src/paths.d.ts.map +1 -1
  79. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -1
  80. package/dist/types/tsconfig.tsbuildinfo +1 -1
  81. package/dx.config.ts +31 -0
  82. package/package.json +41 -40
  83. package/src/MarkdownPlugin.test.ts +1 -1
  84. package/src/MarkdownPlugin.tsx +5 -10
  85. package/src/capabilities/app-graph-builder.ts +1 -3
  86. package/src/capabilities/editor-view-state.ts +28 -0
  87. package/src/capabilities/index.ts +2 -14
  88. package/src/capabilities/navigation-resolver.ts +2 -2
  89. package/src/capabilities/react-surface.tsx +20 -10
  90. package/src/capabilities/settings.ts +2 -2
  91. package/src/capabilities/state.ts +8 -4
  92. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  93. package/src/components/MarkdownEditor/MarkdownEditor.tsx +4 -4
  94. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +4 -3
  95. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +2 -2
  96. package/src/components/MarkdownSettings/MarkdownSettings.tsx +1 -1
  97. package/src/containers/MarkdownArticle/MarkdownArticle.stories.tsx +3 -4
  98. package/src/containers/MarkdownArticle/MarkdownArticle.tsx +3 -3
  99. package/src/containers/MarkdownCard/MarkdownCard.tsx +1 -1
  100. package/src/hooks/useEditorMenuOptions.ts +1 -1
  101. package/src/hooks/useExtensions.tsx +11 -11
  102. package/src/meta.ts +2 -22
  103. package/src/operations/create.conversations.json +1 -1
  104. package/src/operations/update.conversations.json +1 -1
  105. package/src/paths.ts +4 -2
  106. package/src/testing.ts +2 -2
  107. package/src/translations.ts +1 -1
  108. package/src/types/Markdown.ts +3 -3
  109. package/src/types/MarkdownCapabilities.ts +7 -5
  110. package/src/types/MarkdownEvents.ts +1 -1
  111. package/src/types/MarkdownOperation.ts +1 -1
  112. package/dist/lib/neutral/MarkdownArticle-LWT5RFFJ.mjs.map +0 -7
  113. package/dist/lib/neutral/MarkdownCard-TBLIRDBO.mjs.map +0 -7
  114. package/dist/lib/neutral/app-graph-builder-BWBA23FF.mjs.map +0 -7
  115. package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs +0 -56
  116. package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs.map +0 -7
  117. package/dist/lib/neutral/chunk-36QFEVOZ.mjs +0 -30
  118. package/dist/lib/neutral/chunk-36QFEVOZ.mjs.map +0 -7
  119. package/dist/lib/neutral/chunk-67DKWOKF.mjs.map +0 -7
  120. package/dist/lib/neutral/chunk-CIJD7P6X.mjs +0 -8
  121. package/dist/lib/neutral/chunk-Y2LQRUU7.mjs.map +0 -7
  122. package/dist/lib/neutral/navigation-resolver-3KBOMN4U.mjs.map +0 -7
  123. package/dist/lib/neutral/react-surface-XYZJBKHZ.mjs.map +0 -7
  124. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +0 -7
  125. package/dist/lib/neutral/state-5COCF5PN.mjs +0 -44
  126. package/dist/lib/neutral/state-5COCF5PN.mjs.map +0 -7
  127. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -5
  128. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  129. package/src/capabilities/app-graph-serializer.ts +0 -64
  130. /package/dist/lib/neutral/{chunk-CIJD7P6X.mjs.map → chunk-BL46CERY.mjs.map} +0 -0
  131. /package/dist/lib/neutral/{create-JK35XC4R.mjs.map → create-XW2FQNLK.mjs.map} +0 -0
  132. /package/dist/lib/neutral/{create-markdown-7MLE625M.mjs.map → create-markdown-KLSVQCT7.mjs.map} +0 -0
  133. /package/dist/lib/neutral/{create-object-MU2LGXG6.mjs.map → create-object-3WMEQJ2C.mjs.map} +0 -0
  134. /package/dist/lib/neutral/{open-5YC77C4O.mjs.map → open-F7KLNKVN.mjs.map} +0 -0
  135. /package/dist/lib/neutral/{scroll-to-anchor-GAFB7W55.mjs.map → scroll-to-anchor-ACND3WJU.mjs.map} +0 -0
  136. /package/dist/lib/neutral/{set-view-mode-N7UHYMPG.mjs.map → set-view-mode-WDC7CAEC.mjs.map} +0 -0
  137. /package/dist/lib/neutral/{update-markdown-NNINDDV5.mjs.map → update-markdown-FGVN3LD4.mjs.map} +0 -0
@@ -5,7 +5,7 @@
5
5
  import { type ViewUpdate } from '@codemirror/view';
6
6
  import { useMemo } from 'react';
7
7
 
8
- import { fromUrlPath } from '@dxos/app-toolkit';
8
+ import { Paths } from '@dxos/app-toolkit';
9
9
  import { debounceAndThrottle } from '@dxos/async';
10
10
  import { Obj } from '@dxos/echo';
11
11
  import { createDocAccessor } from '@dxos/echo-client';
@@ -13,7 +13,7 @@ import { invariant } from '@dxos/invariant';
13
13
  import { getSpace, useObject } from '@dxos/react-client/echo';
14
14
  import { useIdentity } from '@dxos/react-client/halo';
15
15
  import { useThemeContext } from '@dxos/react-ui';
16
- import { type SelectionManager } from '@dxos/react-ui-attention';
16
+ import { selectionAspect, type ViewStateManager } from '@dxos/react-ui-attention';
17
17
  import { Text } from '@dxos/schema';
18
18
  import { Domino } from '@dxos/ui';
19
19
  import {
@@ -51,7 +51,7 @@ export type ExtensionsOptions = {
51
51
  compact?: boolean;
52
52
  viewMode?: EditorViewMode;
53
53
  editable?: boolean;
54
- selectionManager?: SelectionManager;
54
+ viewState?: ViewStateManager;
55
55
  editorStateStore?: EditorStateStore;
56
56
  previewOptions?: PreviewOptions;
57
57
  platform?: 'mobile' | 'desktop';
@@ -66,7 +66,7 @@ export const useExtensions = ({
66
66
  settings,
67
67
  compact,
68
68
  viewMode,
69
- selectionManager,
69
+ viewState,
70
70
  editorStateStore,
71
71
  previewOptions,
72
72
  onSelectObject,
@@ -95,7 +95,7 @@ export const useExtensions = ({
95
95
  settings,
96
96
  compact,
97
97
  viewMode,
98
- selectionManager,
98
+ viewState,
99
99
  previewOptions,
100
100
  platform,
101
101
  onSelectObject,
@@ -105,7 +105,7 @@ export const useExtensions = ({
105
105
  object,
106
106
  compact,
107
107
  viewMode,
108
- selectionManager,
108
+ viewState,
109
109
  previewOptions,
110
110
  settings,
111
111
  settings?.debug,
@@ -155,12 +155,12 @@ const createBaseExtensions = ({
155
155
  settings,
156
156
  compact,
157
157
  viewMode,
158
- selectionManager,
158
+ viewState,
159
159
  previewOptions,
160
160
  platform,
161
161
  }: ExtensionsOptions): Extension[] => {
162
162
  const extensions: Extension[] = [
163
- selectionManager && selectionChange(selectionManager),
163
+ viewState && selectionChange(viewState),
164
164
  settings?.editorInputMode && InputModeExtensions[settings.editorInputMode],
165
165
  settings?.folding && !compact && platform !== 'mobile' && folding(),
166
166
  ].filter(isTruthy);
@@ -195,7 +195,7 @@ const createBaseExtensions = ({
195
195
  return extensions;
196
196
  };
197
197
 
198
- const selectionChange = (selectionManager: SelectionManager) => {
198
+ const selectionChange = (viewState: ViewStateManager) => {
199
199
  const debouncedHandler = debounceAndThrottle((update: ViewUpdate) => {
200
200
  const id = update.state.facet(documentId);
201
201
  const cursorConverter = update.state.facet(Cursor.converter);
@@ -213,7 +213,7 @@ const selectionChange = (selectionManager: SelectionManager) => {
213
213
  to: cursorConverter.toCursor(range.to),
214
214
  }));
215
215
 
216
- selectionManager.updateMultiRange(id, ranges);
216
+ viewState.set(selectionAspect, id, { mode: 'multi-range', ranges });
217
217
  }, 100);
218
218
 
219
219
  return EditorView.updateListener.of((update: ViewUpdate) => {
@@ -228,7 +228,7 @@ const createRenderLink =
228
228
  (el, { url }) => {
229
229
  // TODO(burdon): Formalize/document internal link format.
230
230
  const isInternal = url.startsWith('/') || url.startsWith(window.location.origin);
231
- const qualifiedId = isInternal ? fromUrlPath(new URL(url, window.location.origin).pathname) : undefined;
231
+ const qualifiedId = isInternal ? Paths.fromUrlPath(new URL(url, window.location.origin).pathname) : undefined;
232
232
  const icon = Domino.of('span')
233
233
  .classNames('dx-link ms-1 inline-block align-[-0.125em]')
234
234
  .append(Domino.svg(isInternal ? 'ph--arrow-square-down--regular' : 'ph--arrow-square-out--regular'));
package/src/meta.ts CHANGED
@@ -3,27 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Plugin } from '@dxos/app-framework';
6
- import { DXN } from '@dxos/keys';
7
- import { trim } from '@dxos/util';
8
6
 
9
- export const meta = Plugin.makeMeta({
10
- key: DXN.make('org.dxos.plugin.markdown'),
11
- name: 'Markdown',
12
- author: 'DXOS',
13
- description: trim`
14
- A full-featured markdown editor for authoring documents in your space. Edits flow through a collaborative CodeMirror surface backed by ECHO Text, so every keystroke replicates to other peers in real time without merge conflicts or lost work.
7
+ import config from '../dx.config';
15
8
 
16
- Documents can be opened in source, preview, or read-only mode and rendered as a full-surface article or as embeddable cards. An optional formatting toolbar exposes headings, lists, links, and other common markdown actions, and dispositional toolbar actions contributed by other plugins are surfaced inline alongside it.
17
-
18
- The editor integrates with the rest of the workspace through @ references that link to any ECHO object, image and file uploads stored in the active space, and anchored comment threads on text ranges. Comments can optionally be routed to an AI agent on every message or only on @mention.
19
-
20
- A built-in blueprint exposes create, open, and update operations as tools for AI agents. Updates are applied as compact find-and-replace diffs against the document, making it safe for agents to edit large documents incrementally while you continue collaborating.
21
- `,
22
- icon: 'ph--text-aa--regular',
23
- iconHue: 'indigo',
24
- source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',
25
- screenshots: [
26
- 'https://customer-5rxcjpyab08avpmn.cloudflarestream.com/cdf2656365bb1fd327c1fc2105d75e5a/iframe?poster=https%3A%2F%2Fcustomer-5rxcjpyab08avpmn.cloudflarestream.com%2Fcdf2656365bb1fd327c1fc2105d75e5a%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600',
27
- 'https://dxos.network/plugin-details-markdown-dark.png',
28
- ],
29
- });
9
+ export const meta = Plugin.getMetaFromConfig(config);