@dxos/plugin-markdown 0.8.3-staging.0fa589b → 0.8.4-main.f9ba587

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 (139) hide show
  1. package/dist/lib/browser/{MarkdownContainer-EFWQ6DHD.mjs → MarkdownContainer-BO5MZWA4.mjs} +19 -18
  2. package/dist/lib/browser/{MarkdownContainer-EFWQ6DHD.mjs.map → MarkdownContainer-BO5MZWA4.mjs.map} +3 -3
  3. package/dist/lib/browser/{MarkdownPreview-F4PYFW5L.mjs → MarkdownPreview-XYP2VXI2.mjs} +7 -7
  4. package/dist/lib/browser/{MarkdownPreview-F4PYFW5L.mjs.map → MarkdownPreview-XYP2VXI2.mjs.map} +3 -3
  5. package/dist/lib/browser/{anchor-sort-BMAN2ABT.mjs → anchor-sort-UKJJ7ZNP.mjs} +4 -4
  6. package/dist/lib/browser/{app-graph-serializer-EI6TEHRQ.mjs → app-graph-serializer-7DKUUZSJ.mjs} +9 -9
  7. package/dist/lib/browser/app-graph-serializer-7DKUUZSJ.mjs.map +7 -0
  8. package/dist/lib/browser/{artifact-definition-FQ2R6KPT.mjs → artifact-definition-JSUG6XPF.mjs} +5 -5
  9. package/dist/lib/browser/{chunk-D767LUGU.mjs → chunk-5JRBJCZM.mjs} +9 -10
  10. package/dist/lib/browser/chunk-5JRBJCZM.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-QVJETNGS.mjs → chunk-777RIED6.mjs} +3 -3
  12. package/dist/lib/browser/{chunk-JX6XNEHE.mjs → chunk-EPTSAJZM.mjs} +2 -2
  13. package/dist/lib/browser/chunk-IZLATPXQ.mjs +20 -0
  14. package/dist/lib/browser/{chunk-LXSRQPEP.mjs → chunk-LFML7LC6.mjs} +3 -3
  15. package/dist/lib/browser/{chunk-N2D26K6W.mjs → chunk-UANWRJZU.mjs} +5 -5
  16. package/dist/lib/browser/chunk-UANWRJZU.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +10 -10
  18. package/dist/lib/browser/index.mjs.map +1 -1
  19. package/dist/lib/browser/{intent-resolver-6ZOABX2J.mjs → intent-resolver-3MXYO3MW.mjs} +5 -5
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-4B5ELMEW.mjs → react-surface-NAXBGUR3.mjs} +11 -11
  22. package/dist/lib/browser/{settings-PLH54VC7.mjs → settings-KN75ZQY6.mjs} +4 -4
  23. package/dist/lib/browser/{state-KI6PJ6DT.mjs → state-LZWTAS65.mjs} +4 -4
  24. package/dist/lib/browser/types/index.mjs +2 -2
  25. package/dist/lib/node-esm/{MarkdownContainer-O3SGMH4G.mjs → MarkdownContainer-J2NVCX2H.mjs} +19 -18
  26. package/dist/lib/node-esm/{MarkdownContainer-O3SGMH4G.mjs.map → MarkdownContainer-J2NVCX2H.mjs.map} +3 -3
  27. package/dist/lib/node-esm/{MarkdownPreview-KFDRV4GC.mjs → MarkdownPreview-JEXD3KSQ.mjs} +7 -7
  28. package/dist/lib/node-esm/{MarkdownPreview-KFDRV4GC.mjs.map → MarkdownPreview-JEXD3KSQ.mjs.map} +3 -3
  29. package/dist/lib/node-esm/{anchor-sort-BXL7BE67.mjs → anchor-sort-IPIS5D5B.mjs} +4 -4
  30. package/dist/lib/node-esm/{app-graph-serializer-F7DGNF3G.mjs → app-graph-serializer-YRMRPW7A.mjs} +9 -9
  31. package/dist/lib/node-esm/app-graph-serializer-YRMRPW7A.mjs.map +7 -0
  32. package/dist/lib/node-esm/{artifact-definition-NQOHB6S5.mjs → artifact-definition-6C2MOHGP.mjs} +5 -5
  33. package/dist/lib/node-esm/{chunk-JXXDCSMW.mjs → chunk-ACFGXH2K.mjs} +3 -3
  34. package/dist/lib/node-esm/{chunk-K26TX5V4.mjs → chunk-CWTFQSN7.mjs} +3 -3
  35. package/dist/lib/node-esm/{chunk-RX63ZNML.mjs → chunk-CXG7GMYP.mjs} +2 -2
  36. package/dist/lib/node-esm/chunk-FWKOJW6J.mjs +22 -0
  37. package/dist/lib/node-esm/{chunk-T2Y2BT53.mjs → chunk-JEEQLO7C.mjs} +5 -5
  38. package/dist/lib/{browser/chunk-N2D26K6W.mjs.map → node-esm/chunk-JEEQLO7C.mjs.map} +2 -2
  39. package/dist/lib/node-esm/{chunk-BWDDFDJY.mjs → chunk-Q5DIKLN5.mjs} +9 -10
  40. package/dist/lib/node-esm/chunk-Q5DIKLN5.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +10 -10
  42. package/dist/lib/node-esm/index.mjs.map +1 -1
  43. package/dist/lib/node-esm/{intent-resolver-CLMSVF2K.mjs → intent-resolver-BZYWV53A.mjs} +5 -5
  44. package/dist/lib/node-esm/meta.json +1 -1
  45. package/dist/lib/node-esm/{react-surface-YHFOQTVO.mjs → react-surface-BSAGEIN6.mjs} +11 -11
  46. package/dist/lib/node-esm/{settings-SIY33P3F.mjs → settings-KVP7TVX7.mjs} +4 -4
  47. package/dist/lib/node-esm/{state-LLGVRYKL.mjs → state-NW3W4JCQ.mjs} +4 -4
  48. package/dist/lib/node-esm/types/index.mjs +2 -2
  49. package/dist/types/src/components/MarkdownContainer.stories.d.ts +1 -1
  50. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +1 -1
  52. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +1 -1
  54. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/Suggestions.stories.d.ts +1 -1
  56. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/Toolbar.stories.d.ts +1 -1
  58. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  59. package/dist/types/src/extensions.d.ts.map +1 -1
  60. package/dist/types/src/translations.d.ts +33 -80
  61. package/dist/types/src/translations.d.ts.map +1 -1
  62. package/dist/types/src/types/schema.d.ts +2 -2
  63. package/dist/types/src/types/types.d.ts +4 -3
  64. package/dist/types/src/types/types.d.ts.map +1 -1
  65. package/dist/types/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +43 -45
  67. package/src/MarkdownPlugin.tsx +1 -1
  68. package/src/capabilities/app-graph-serializer.ts +3 -3
  69. package/src/components/MarkdownContainer.stories.tsx +2 -2
  70. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +2 -2
  71. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +2 -2
  72. package/src/components/MarkdownPreview/MarkdownPreview.tsx +2 -2
  73. package/src/components/Suggestions.stories.tsx +2 -2
  74. package/src/components/Toolbar.stories.tsx +1 -1
  75. package/src/extensions.tsx +18 -14
  76. package/src/translations.ts +6 -6
  77. package/src/types/types.ts +2 -2
  78. package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +0 -7
  79. package/dist/lib/browser/chunk-354IBM5X.mjs +0 -20
  80. package/dist/lib/browser/chunk-D767LUGU.mjs.map +0 -7
  81. package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs +0 -783
  82. package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs.map +0 -7
  83. package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs +0 -103
  84. package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +0 -7
  85. package/dist/lib/node/anchor-sort-V3T4SFFI.cjs +0 -48
  86. package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +0 -7
  87. package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs +0 -65
  88. package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs.map +0 -7
  89. package/dist/lib/node/artifact-definition-U27MH5SC.cjs +0 -158
  90. package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +0 -7
  91. package/dist/lib/node/chunk-3HHV4MM6.cjs +0 -101
  92. package/dist/lib/node/chunk-3HHV4MM6.cjs.map +0 -7
  93. package/dist/lib/node/chunk-CJLYFGPI.cjs +0 -74
  94. package/dist/lib/node/chunk-CJLYFGPI.cjs.map +0 -7
  95. package/dist/lib/node/chunk-FU3XZZCO.cjs +0 -58
  96. package/dist/lib/node/chunk-FU3XZZCO.cjs.map +0 -7
  97. package/dist/lib/node/chunk-IFYSBQE5.cjs +0 -35
  98. package/dist/lib/node/chunk-IFYSBQE5.cjs.map +0 -7
  99. package/dist/lib/node/chunk-LQAC5HL7.cjs +0 -68
  100. package/dist/lib/node/chunk-LQAC5HL7.cjs.map +0 -7
  101. package/dist/lib/node/chunk-ZU5OIHCY.cjs +0 -45
  102. package/dist/lib/node/chunk-ZU5OIHCY.cjs.map +0 -7
  103. package/dist/lib/node/index.cjs +0 -165
  104. package/dist/lib/node/index.cjs.map +0 -7
  105. package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs +0 -77
  106. package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +0 -7
  107. package/dist/lib/node/meta.json +0 -1
  108. package/dist/lib/node/react-surface-456HQ4KZ.cjs +0 -218
  109. package/dist/lib/node/react-surface-456HQ4KZ.cjs.map +0 -7
  110. package/dist/lib/node/settings-E3NUTXJ4.cjs +0 -42
  111. package/dist/lib/node/settings-E3NUTXJ4.cjs.map +0 -7
  112. package/dist/lib/node/state-KKDRAG7X.cjs +0 -51
  113. package/dist/lib/node/state-KKDRAG7X.cjs.map +0 -7
  114. package/dist/lib/node/types/index.cjs +0 -40
  115. package/dist/lib/node/types/index.cjs.map +0 -7
  116. package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +0 -7
  117. package/dist/lib/node-esm/chunk-BWDDFDJY.mjs.map +0 -7
  118. package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +0 -7
  119. package/dist/lib/node-esm/chunk-YOABAQ7A.mjs +0 -22
  120. /package/dist/lib/browser/{anchor-sort-BMAN2ABT.mjs.map → anchor-sort-UKJJ7ZNP.mjs.map} +0 -0
  121. /package/dist/lib/browser/{artifact-definition-FQ2R6KPT.mjs.map → artifact-definition-JSUG6XPF.mjs.map} +0 -0
  122. /package/dist/lib/browser/{chunk-QVJETNGS.mjs.map → chunk-777RIED6.mjs.map} +0 -0
  123. /package/dist/lib/browser/{chunk-JX6XNEHE.mjs.map → chunk-EPTSAJZM.mjs.map} +0 -0
  124. /package/dist/lib/browser/{chunk-354IBM5X.mjs.map → chunk-IZLATPXQ.mjs.map} +0 -0
  125. /package/dist/lib/browser/{chunk-LXSRQPEP.mjs.map → chunk-LFML7LC6.mjs.map} +0 -0
  126. /package/dist/lib/browser/{intent-resolver-6ZOABX2J.mjs.map → intent-resolver-3MXYO3MW.mjs.map} +0 -0
  127. /package/dist/lib/browser/{react-surface-4B5ELMEW.mjs.map → react-surface-NAXBGUR3.mjs.map} +0 -0
  128. /package/dist/lib/browser/{settings-PLH54VC7.mjs.map → settings-KN75ZQY6.mjs.map} +0 -0
  129. /package/dist/lib/browser/{state-KI6PJ6DT.mjs.map → state-LZWTAS65.mjs.map} +0 -0
  130. /package/dist/lib/node-esm/{anchor-sort-BXL7BE67.mjs.map → anchor-sort-IPIS5D5B.mjs.map} +0 -0
  131. /package/dist/lib/node-esm/{artifact-definition-NQOHB6S5.mjs.map → artifact-definition-6C2MOHGP.mjs.map} +0 -0
  132. /package/dist/lib/node-esm/{chunk-JXXDCSMW.mjs.map → chunk-ACFGXH2K.mjs.map} +0 -0
  133. /package/dist/lib/node-esm/{chunk-K26TX5V4.mjs.map → chunk-CWTFQSN7.mjs.map} +0 -0
  134. /package/dist/lib/node-esm/{chunk-RX63ZNML.mjs.map → chunk-CXG7GMYP.mjs.map} +0 -0
  135. /package/dist/lib/node-esm/{chunk-YOABAQ7A.mjs.map → chunk-FWKOJW6J.mjs.map} +0 -0
  136. /package/dist/lib/node-esm/{intent-resolver-CLMSVF2K.mjs.map → intent-resolver-BZYWV53A.mjs.map} +0 -0
  137. /package/dist/lib/node-esm/{react-surface-YHFOQTVO.mjs.map → react-surface-BSAGEIN6.mjs.map} +0 -0
  138. /package/dist/lib/node-esm/{settings-SIY33P3F.mjs.map → settings-KVP7TVX7.mjs.map} +0 -0
  139. /package/dist/lib/node-esm/{state-LLGVRYKL.mjs.map → state-NW3W4JCQ.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-markdown",
3
- "version": "0.8.3-staging.0fa589b",
3
+ "version": "0.8.4-main.f9ba587",
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",
@@ -33,68 +33,66 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@automerge/automerge": "3.0.0-beta.4",
36
+ "@automerge/automerge": "3.0.0",
37
37
  "@codemirror/search": "^6.5.6",
38
38
  "@codemirror/view": "^6.34.1",
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/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"
42
+ "@dxos/ai": "0.8.4-main.f9ba587",
43
+ "@dxos/app-framework": "0.8.4-main.f9ba587",
44
+ "@dxos/artifact": "0.8.4-main.f9ba587",
45
+ "@dxos/assistant": "0.8.4-main.f9ba587",
46
+ "@dxos/async": "0.8.4-main.f9ba587",
47
+ "@dxos/echo-schema": "0.8.4-main.f9ba587",
48
+ "@dxos/echo": "0.8.4-main.f9ba587",
49
+ "@dxos/invariant": "0.8.4-main.f9ba587",
50
+ "@dxos/keys": "0.8.4-main.f9ba587",
51
+ "@dxos/lit-ui": "0.8.4-main.f9ba587",
52
+ "@dxos/live-object": "0.8.4-main.f9ba587",
53
+ "@dxos/local-storage": "0.8.4-main.f9ba587",
54
+ "@dxos/plugin-attention": "0.8.4-main.f9ba587",
55
+ "@dxos/log": "0.8.4-main.f9ba587",
56
+ "@dxos/plugin-client": "0.8.4-main.f9ba587",
57
+ "@dxos/plugin-deck": "0.8.4-main.f9ba587",
58
+ "@dxos/plugin-graph": "0.8.4-main.f9ba587",
59
+ "@dxos/plugin-preview": "0.8.4-main.f9ba587",
60
+ "@dxos/plugin-space": "0.8.4-main.f9ba587",
61
+ "@dxos/plugin-theme": "0.8.4-main.f9ba587",
62
+ "@dxos/react-client": "0.8.4-main.f9ba587",
63
+ "@dxos/react-hooks": "0.8.4-main.f9ba587",
64
+ "@dxos/react-ui-attention": "0.8.4-main.f9ba587",
65
+ "@dxos/react-ui-editor": "0.8.4-main.f9ba587",
66
+ "@dxos/react-ui-form": "0.8.4-main.f9ba587",
67
+ "@dxos/react-ui-stack": "0.8.4-main.f9ba587",
68
+ "@dxos/schema": "0.8.4-main.f9ba587",
69
+ "@dxos/util": "0.8.4-main.f9ba587"
70
70
  },
71
71
  "devDependencies": {
72
- "@effect-rx/rx-react": "^0.34.1",
73
- "@effect/platform": "0.80.12",
74
- "@phosphor-icons/react": "^2.1.5",
72
+ "@effect-rx/rx-react": "0.38.0",
73
+ "@effect/platform": "0.88.0",
75
74
  "@types/react": "~18.2.0",
76
75
  "@types/react-dom": "~18.2.0",
77
- "effect": "3.14.21",
76
+ "effect": "3.16.13",
78
77
  "react": "~18.2.0",
79
78
  "react-dom": "~18.2.0",
80
79
  "vite": "5.4.7",
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"
80
+ "@dxos/debug": "0.8.4-main.f9ba587",
81
+ "@dxos/plugin-storybook-layout": "0.8.4-main.f9ba587",
82
+ "@dxos/plugin-theme": "0.8.4-main.f9ba587",
83
+ "@dxos/random": "0.8.4-main.f9ba587",
84
+ "@dxos/react-ui": "0.8.4-main.f9ba587",
85
+ "@dxos/react-ui-theme": "0.8.4-main.f9ba587",
86
+ "@dxos/storybook-utils": "0.8.4-main.f9ba587"
88
87
  },
89
88
  "peerDependencies": {
90
89
  "@effect-rx/rx-react": "^0.34.1",
91
- "@effect/platform": "0.80.12",
92
- "@phosphor-icons/react": "^2.1.5",
90
+ "@effect/platform": "^0.80.12",
93
91
  "effect": "^3.13.3",
94
92
  "react": "~18.2.0",
95
93
  "react-dom": "~18.2.0",
96
- "@dxos/react-ui": "0.8.3-staging.0fa589b",
97
- "@dxos/react-ui-theme": "0.8.3-staging.0fa589b"
94
+ "@dxos/react-ui": "0.8.4-main.f9ba587",
95
+ "@dxos/react-ui-theme": "0.8.4-main.f9ba587"
98
96
  },
99
97
  "publishConfig": {
100
98
  "access": "public"
@@ -22,7 +22,7 @@ import {
22
22
  } from './capabilities';
23
23
  import { MarkdownEvents } from './events';
24
24
  import { meta } from './meta';
25
- import translations from './translations';
25
+ import { translations } from './translations';
26
26
  import { DocumentType, MarkdownAction } from './types';
27
27
  import { serializer } from './util';
28
28
 
@@ -5,12 +5,12 @@
5
5
  import { pipe } from 'effect';
6
6
 
7
7
  import { contributes, Capabilities, type PluginContext, chain, createIntent } from '@dxos/app-framework';
8
- import { Obj, Type } from '@dxos/echo';
8
+ import { Obj } from '@dxos/echo';
9
9
  import { SpaceAction } from '@dxos/plugin-space/types';
10
10
  import { isSpace } from '@dxos/react-client/echo';
11
11
  import { DataType } from '@dxos/schema';
12
12
 
13
- import translations from '../translations';
13
+ import { translations } from '../translations';
14
14
  import { MarkdownAction, DocumentType } from '../types';
15
15
 
16
16
  export default (context: PluginContext) =>
@@ -33,7 +33,7 @@ export default (context: PluginContext) =>
33
33
  const space = ancestors.find(isSpace);
34
34
  const target =
35
35
  ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??
36
- space?.properties[Type.getTypename(DataType.Collection)]?.target;
36
+ space?.properties[DataType.Collection.typename]?.target;
37
37
  if (!space || !target) {
38
38
  return;
39
39
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react';
7
+ import { type Meta } from '@storybook/react-vite';
8
8
  import React, { useMemo } from 'react';
9
9
 
10
10
  import { Capabilities, contributes, IntentPlugin, SettingsPlugin, Surface } from '@dxos/app-framework';
@@ -26,7 +26,7 @@ import { createObjectFactory, Testing, type ValueGenerator } from '@dxos/schema/
26
26
  import { withLayout } from '@dxos/storybook-utils';
27
27
 
28
28
  import { MarkdownPlugin } from '../MarkdownPlugin';
29
- import translations from '../translations';
29
+ import { translations } from '../translations';
30
30
  import { DocumentType } from '../types';
31
31
 
32
32
  faker.seed(1);
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react';
7
+ import { type Meta } from '@storybook/react-vite';
8
8
  import React, { useMemo } from 'react';
9
9
 
10
10
  import { IntentPlugin } from '@dxos/app-framework';
@@ -15,7 +15,7 @@ import { automerge, translations as editorTranslations } from '@dxos/react-ui-ed
15
15
  import { withLayout, withTheme } from '@dxos/storybook-utils';
16
16
 
17
17
  import { MarkdownEditor, type MarkdownEditorProps } from './MarkdownEditor';
18
- import translations from '../../translations';
18
+ import { translations } from '../../translations';
19
19
 
20
20
  const content = Array.from({ length: 100 }, (_, i) => `Line ${i + 1}`).join('\n');
21
21
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react';
7
+ import { type Meta } from '@storybook/react-vite';
8
8
  import React from 'react';
9
9
 
10
10
  import { IntentPlugin } from '@dxos/app-framework';
@@ -17,7 +17,7 @@ import { DataType } from '@dxos/schema';
17
17
  import { withTheme, withLayout } from '@dxos/storybook-utils';
18
18
 
19
19
  import { MarkdownPreview } from './MarkdownPreview';
20
- import translations from '../../translations';
20
+ import { translations } from '../../translations';
21
21
 
22
22
  faker.seed(1234);
23
23
 
@@ -57,7 +57,7 @@ export const MarkdownPreview = ({ subject, role }: PreviewProps<DocumentType | D
57
57
  );
58
58
 
59
59
  return (
60
- <Card.Container role={role}>
60
+ <Card.SurfaceRoot role={role}>
61
61
  <Card.Heading>{getTitle(subject, t('fallback title'))}</Card.Heading>
62
62
  {snippet && <Card.Text classNames='line-clamp-3 break-words col-span-2'>{snippet}</Card.Text>}
63
63
  <Card.Chrome>
@@ -66,6 +66,6 @@ export const MarkdownPreview = ({ subject, role }: PreviewProps<DocumentType | D
66
66
  <Icon icon='ph--arrow-right--regular' />
67
67
  </Button>
68
68
  </Card.Chrome>
69
- </Card.Container>
69
+ </Card.SurfaceRoot>
70
70
  );
71
71
  };
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react';
7
+ import { type Meta } from '@storybook/react-vite';
8
8
  import { Match, Option, pipe, Schema } from 'effect';
9
9
  import React, { type FC, useEffect, useMemo, useState } from 'react';
10
10
 
@@ -40,7 +40,7 @@ import MarkdownContainer from './MarkdownContainer';
40
40
  import { MarkdownPlugin } from '../MarkdownPlugin';
41
41
  import { MarkdownCapabilities } from '../capabilities';
42
42
  import { MARKDOWN_PLUGIN } from '../meta';
43
- import translations from '../translations';
43
+ import { translations } from '../translations';
44
44
  import { createDocument, DocumentType, type MarkdownSettingsProps } from '../types';
45
45
 
46
46
  faker.seed(1);
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import { type Meta } from '@storybook/react';
7
+ import { type Meta } from '@storybook/react-vite';
8
8
  import React, { type FC, useCallback, useState } from 'react';
9
9
 
10
10
  import { Obj } from '@dxos/echo';
@@ -2,6 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { type ViewUpdate } from '@codemirror/view';
5
6
  import React, { type AnchorHTMLAttributes, type ReactNode, useMemo } from 'react';
6
7
  import { createRoot } from 'react-dom/client';
7
8
 
@@ -12,6 +13,7 @@ import {
12
13
  useCapabilities,
13
14
  useIntentDispatcher,
14
15
  } from '@dxos/app-framework';
16
+ import { debounceAndThrottle } from '@dxos/async';
15
17
  import { invariant } from '@dxos/invariant';
16
18
  import { createDocAccessor, fullyQualifiedId, getSpace, type QueryResult } from '@dxos/react-client/echo';
17
19
  import { useIdentity } from '@dxos/react-client/halo';
@@ -249,20 +251,22 @@ const createBaseExtensions = ({
249
251
  };
250
252
 
251
253
  export const selectionChange = (selectionManager: SelectionManager) => {
252
- return EditorView.updateListener.of((update) => {
253
- if (update.selectionSet) {
254
- const id = update.state.facet(documentId);
255
- const cursorConverter = update.state.facet(Cursor.converter);
256
- const selection = update.state.selection;
257
- const ranges = selection.ranges
258
- .map((range) => ({
259
- from: cursorConverter.toCursor(range.from),
260
- to: cursorConverter.toCursor(range.to),
261
- }))
262
- .filter(({ from, to }) => to > from);
263
- selectionManager.updateMultiRange(id, ranges);
264
- }
265
- });
254
+ return EditorView.updateListener.of(
255
+ debounceAndThrottle((update: ViewUpdate) => {
256
+ if (update.selectionSet) {
257
+ const id = update.state.facet(documentId);
258
+ const cursorConverter = update.state.facet(Cursor.converter);
259
+ const selection = update.state.selection;
260
+ const ranges = selection.ranges
261
+ .map((range) => ({
262
+ from: cursorConverter.toCursor(range.from),
263
+ to: cursorConverter.toCursor(range.to),
264
+ }))
265
+ .filter(({ from, to }) => to > from);
266
+ selectionManager.updateMultiRange(id, ranges);
267
+ }
268
+ }, 100),
269
+ );
266
270
  };
267
271
 
268
272
  // TODO(burdon): Factor out styles.
@@ -2,22 +2,22 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Type } from '@dxos/echo';
5
+ import { type Resource } from '@dxos/react-ui';
6
6
 
7
- import { MARKDOWN_PLUGIN } from './meta';
7
+ import { meta } from './meta';
8
8
  import { DocumentType } from './types';
9
9
 
10
- export default [
10
+ export const translations = [
11
11
  {
12
12
  'en-US': {
13
- [Type.getTypename(DocumentType)]: {
13
+ [DocumentType.typename]: {
14
14
  'typename label': 'Document',
15
15
  'typename label_zero': 'Documents',
16
16
  'typename label_one': 'Document',
17
17
  'typename label_other': 'Documents',
18
18
  'object name placeholder': 'New document',
19
19
  },
20
- [MARKDOWN_PLUGIN]: {
20
+ [meta.id]: {
21
21
  'plugin name': 'Editor',
22
22
  'choose markdown from space dialog title': 'Choose one or more documents to add',
23
23
  // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)
@@ -43,4 +43,4 @@ export default [
43
43
  },
44
44
  },
45
45
  },
46
- ];
46
+ ] as const satisfies Resource[];
@@ -5,8 +5,8 @@
5
5
  import { Schema } from 'effect';
6
6
 
7
7
  import { Type } from '@dxos/echo';
8
- // TODO(wittjosiah): This pulls in UI code into the types entrypoint.
9
- import { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';
8
+ import { type Extension } from '@dxos/react-ui-editor';
9
+ import { EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor/types';
10
10
 
11
11
  import { DocumentType } from './schema';
12
12
  import { MARKDOWN_PLUGIN } from '../meta';
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\n\nimport { contributes, Capabilities, type PluginContext, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport translations from '../translations';\nimport { MarkdownAction, DocumentType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: DocumentType.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name || doc.fallbackName || translations[0]['en-US'][DocumentType.typename]['object name placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??\n space?.properties[Type.getTypename(DataType.Collection)]?.target;\n if (!space || !target) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n pipe(\n createIntent(MarkdownAction.Create, { spaceId: space.id, name: data.name, content: data.data }),\n chain(SpaceAction.AddObject, { target }),\n ),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
- "mappings": ";;;;;;;;;;AAIA,SAASA,YAAY;AAErB,SAASC,aAAaC,cAAkCC,OAAOC,oBAAoB;AACnF,SAASC,KAAKC,YAAY;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,eAAe;AACxB,SAASC,gBAAgB;AAKzB,IAAA,+BAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC,aAAaC;IACxBC,YAAY;;IAEZC,WAAW,OAAOC,SAAAA;AAChB,YAAMC,MAAMD,KAAKE;AACjB,YAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,aAAO;QACLC,MACEJ,IAAII,QAAQJ,IAAIK,gBAAgBC,qBAAa,CAAA,EAAG,OAAA,EAASX,aAAaC,QAAQ,EAAE,yBAAA;QAClFK,MAAMC,QAAQA;QACdK,MAAM;MACR;IACF;IACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,YAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,YAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,SAASC,YAAYJ,QAAAA,CAAAA,KACrEL,OAAOU,WAAWC,KAAKC,YAAYJ,SAASC,UAAU,CAAA,GAAIN;AAC5D,UAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;MACF;AAEA,YAAM,EAAEU,iBAAiBC,SAAQ,IAAKlC,QAAQmC,cAAcjC,aAAakC,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACnBI,KACEC,aAAaC,eAAeC,QAAQ;QAAEC,SAAStB,MAAMuB;QAAI7B,MAAMH,KAAKG;QAAMF,SAASD,KAAKA;MAAK,CAAA,GAC7FiC,MAAMC,YAAYC,WAAW;QAAEvB;MAAO,CAAA,CAAA,CAAA;AAI1C,aAAOc,OAAO1B,MAAMoC;IACtB;EACF;CACD;",
6
- "names": ["pipe", "contributes", "Capabilities", "chain", "createIntent", "Obj", "Type", "SpaceAction", "isSpace", "DataType", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "DocumentType", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "DataType", "Collection", "properties", "Type", "getTypename", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "pipe", "createIntent", "MarkdownAction", "Create", "spaceId", "id", "chain", "SpaceAction", "AddObject", "object"]
7
- }
@@ -1,20 +0,0 @@
1
- // packages/plugins/plugin-markdown/src/capabilities/index.ts
2
- import { lazy } from "@dxos/app-framework";
3
- var AnchorSort = lazy(() => import("./anchor-sort-BMAN2ABT.mjs"));
4
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-EI6TEHRQ.mjs"));
5
- var ArtifactDefinition = lazy(() => import("./artifact-definition-FQ2R6KPT.mjs"));
6
- var IntentResolver = lazy(() => import("./intent-resolver-6ZOABX2J.mjs"));
7
- var ReactSurface = lazy(() => import("./react-surface-4B5ELMEW.mjs"));
8
- var MarkdownSettings = lazy(() => import("./settings-PLH54VC7.mjs"));
9
- var MarkdownState = lazy(() => import("./state-KI6PJ6DT.mjs"));
10
-
11
- export {
12
- AnchorSort,
13
- AppGraphSerializer,
14
- ArtifactDefinition,
15
- IntentResolver,
16
- ReactSurface,
17
- MarkdownSettings,
18
- MarkdownState
19
- };
20
- //# sourceMappingURL=chunk-354IBM5X.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [Type.getTypename(DocumentType)]: {\n 'typename label': 'Document',\n 'typename label_zero': 'Documents',\n 'typename label_one': 'Document',\n 'typename label_other': 'Documents',\n 'object name placeholder': 'New document',\n },\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n 'upload image label': 'Upload image',\n 'fallback title': 'Untitled',\n 'navigate to document label': 'Open document',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,YAAY;AAKrB,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,YAAAA,CAAAA,GAAgB;QAChC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,eAAe;QACf,2CAA2C;;QAE3C,4CAA4C;QAC5C,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,wCAAwC;QACxC,4CAA4C;QAC5C,wCAAwC;QACxC,2CAA2C;QAC3C,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;MAChC;IACF;EACF;;",
6
- "names": ["Type", "Type", "getTypename", "DocumentType", "MARKDOWN_PLUGIN"]
7
- }