@dxos/plugin-markdown 0.8.4-main.c1de068 → 0.8.4-main.dedc0f3

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 (235) hide show
  1. package/dist/lib/browser/{MarkdownPreview-S3C7CGAV.mjs → MarkdownCard-JLUQITYK.mjs} +16 -16
  2. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownContainer-F3WEEIBX.mjs → MarkdownContainer-JW7TRDSA.mjs} +256 -279
  4. package/dist/lib/browser/MarkdownContainer-JW7TRDSA.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-UKJJ7ZNP.mjs → anchor-sort-E33BSTYF.mjs} +5 -5
  6. package/dist/lib/browser/anchor-sort-E33BSTYF.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-ICLAF662.mjs → app-graph-serializer-OX62DNPT.mjs} +10 -11
  8. package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs.map +7 -0
  9. package/dist/lib/browser/blueprint-definition-5YKFUHRU.mjs +11 -0
  10. package/dist/lib/browser/blueprint-definition-5YKFUHRU.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-BEE7VQPU.mjs +78 -0
  12. package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-F6JJLKLN.mjs +102 -0
  14. package/dist/lib/browser/chunk-F6JJLKLN.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-LFML7LC6.mjs → chunk-LAVZ2W6X.mjs} +8 -9
  16. package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ODB2PTBP.mjs +28 -0
  18. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-OY6CGPOO.mjs +16 -0
  20. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-SUOK6YMI.mjs +22 -0
  22. package/dist/lib/browser/chunk-SUOK6YMI.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-LHDCHDBW.mjs → chunk-Z7P6JGGW.mjs} +6 -5
  24. package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +7 -0
  25. package/dist/lib/browser/index.mjs +34 -21
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs +62 -0
  28. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{react-surface-C3Z423TV.mjs → react-surface-L3NTMD4D.mjs} +53 -44
  31. package/dist/lib/browser/react-surface-L3NTMD4D.mjs.map +7 -0
  32. package/dist/lib/browser/{settings-KN75ZQY6.mjs → settings-AABBTB4Q.mjs} +5 -5
  33. package/dist/lib/browser/settings-AABBTB4Q.mjs.map +7 -0
  34. package/dist/lib/browser/{state-LZWTAS65.mjs → state-FTHQQX7V.mjs} +7 -7
  35. package/dist/lib/browser/state-FTHQQX7V.mjs.map +7 -0
  36. package/dist/lib/browser/toolkit-2AJTHG74.mjs +74 -0
  37. package/dist/lib/browser/toolkit-2AJTHG74.mjs.map +7 -0
  38. package/dist/lib/browser/types/index.mjs +6 -14
  39. package/dist/lib/node-esm/{MarkdownPreview-77UFEWXT.mjs → MarkdownCard-XL5EVSJ7.mjs} +16 -16
  40. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +7 -0
  41. package/dist/lib/node-esm/{MarkdownContainer-VOUHL6IU.mjs → MarkdownContainer-HRGQXIXP.mjs} +256 -279
  42. package/dist/lib/node-esm/MarkdownContainer-HRGQXIXP.mjs.map +7 -0
  43. package/dist/lib/node-esm/{anchor-sort-IPIS5D5B.mjs → anchor-sort-ALP2NH24.mjs} +5 -5
  44. package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs.map +7 -0
  45. package/dist/lib/node-esm/{app-graph-serializer-FLBXQKKR.mjs → app-graph-serializer-56TD3BMX.mjs} +10 -11
  46. package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs.map +7 -0
  47. package/dist/lib/node-esm/blueprint-definition-GVW67KGV.mjs +12 -0
  48. package/dist/lib/node-esm/blueprint-definition-GVW67KGV.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-ACFGXH2K.mjs → chunk-CB2R4YIY.mjs} +5 -5
  50. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-DVK63TD3.mjs +103 -0
  52. package/dist/lib/node-esm/chunk-DVK63TD3.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +79 -0
  54. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-VIR2ABYE.mjs → chunk-J7A6TUB2.mjs} +6 -5
  56. package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-JC2YWB5D.mjs +24 -0
  58. package/dist/lib/node-esm/chunk-JC2YWB5D.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-CWTFQSN7.mjs → chunk-O6EXWGGS.mjs} +8 -9
  60. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-VCG2U522.mjs +29 -0
  62. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +34 -21
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs +63 -0
  66. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs.map +7 -0
  67. package/dist/lib/node-esm/meta.json +1 -1
  68. package/dist/lib/node-esm/{react-surface-TTTBYNI2.mjs → react-surface-YZSZFR5D.mjs} +53 -44
  69. package/dist/lib/node-esm/react-surface-YZSZFR5D.mjs.map +7 -0
  70. package/dist/lib/node-esm/{settings-KVP7TVX7.mjs → settings-CXGR6DH4.mjs} +5 -5
  71. package/dist/lib/node-esm/settings-CXGR6DH4.mjs.map +7 -0
  72. package/dist/lib/node-esm/{state-NW3W4JCQ.mjs → state-NWMQ3XAI.mjs} +7 -7
  73. package/dist/lib/node-esm/state-NWMQ3XAI.mjs.map +7 -0
  74. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs +75 -0
  75. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +6 -14
  77. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  79. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  80. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
  82. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  86. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/index.d.ts +12 -10
  88. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  92. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/settings.d.ts +1 -1
  94. package/dist/types/src/capabilities/state.d.ts +2 -2
  95. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  97. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  98. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +7 -0
  99. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  100. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +10 -0
  101. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
  103. package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
  104. package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
  105. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  106. package/dist/types/src/components/MarkdownContainer.stories.d.ts +50 -4
  107. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  108. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +2 -2
  109. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +110 -12
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +2 -2
  113. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  114. package/dist/types/src/components/Suggestions.stories.d.ts +2 -2
  115. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/Toolbar.stories.d.ts +44 -7
  117. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/index.d.ts +1 -1
  119. package/dist/types/src/components/index.d.ts.map +1 -1
  120. package/dist/types/src/events.d.ts.map +1 -1
  121. package/dist/types/src/extensions.d.ts +3 -5
  122. package/dist/types/src/extensions.d.ts.map +1 -1
  123. package/dist/types/src/functions/diff.d.ts +6 -0
  124. package/dist/types/src/functions/diff.d.ts.map +1 -0
  125. package/dist/types/src/functions/index.d.ts +3 -0
  126. package/dist/types/src/functions/index.d.ts.map +1 -0
  127. package/dist/types/src/functions/open.d.ts +7 -0
  128. package/dist/types/src/functions/open.d.ts.map +1 -0
  129. package/dist/types/src/index.d.ts +2 -1
  130. package/dist/types/src/index.d.ts.map +1 -1
  131. package/dist/types/src/meta.d.ts +0 -1
  132. package/dist/types/src/meta.d.ts.map +1 -1
  133. package/dist/types/src/translations.d.ts +3 -2
  134. package/dist/types/src/translations.d.ts.map +1 -1
  135. package/dist/types/src/types/Markdown.d.ts +43 -0
  136. package/dist/types/src/types/Markdown.d.ts.map +1 -0
  137. package/dist/types/src/types/MarkdownAction.d.ts +33 -0
  138. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
  139. package/dist/types/src/types/index.d.ts +2 -1
  140. package/dist/types/src/types/index.d.ts.map +1 -1
  141. package/dist/types/src/types/types.d.ts +3 -59
  142. package/dist/types/src/types/types.d.ts.map +1 -1
  143. package/dist/types/src/util.d.ts +12 -3
  144. package/dist/types/src/util.d.ts.map +1 -1
  145. package/dist/types/tsconfig.tsbuildinfo +1 -1
  146. package/package.json +49 -44
  147. package/src/MarkdownPlugin.tsx +21 -12
  148. package/src/capabilities/anchor-sort.ts +3 -3
  149. package/src/capabilities/app-graph-serializer.ts +7 -5
  150. package/src/capabilities/artifact-definition.ts +18 -23
  151. package/src/capabilities/blueprint-definition.ts +39 -0
  152. package/src/capabilities/capabilities.ts +5 -4
  153. package/src/capabilities/index.ts +3 -1
  154. package/src/capabilities/intent-resolver.ts +15 -21
  155. package/src/capabilities/react-surface.tsx +21 -19
  156. package/src/capabilities/settings.ts +3 -3
  157. package/src/capabilities/state.ts +8 -8
  158. package/src/capabilities/toolkit.ts +47 -0
  159. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +79 -0
  160. package/src/components/{MarkdownPreview/MarkdownPreview.tsx → MarkdownCard/MarkdownCard.tsx} +11 -9
  161. package/src/components/MarkdownCard/index.ts +9 -0
  162. package/src/components/MarkdownContainer.stories.tsx +12 -15
  163. package/src/components/MarkdownContainer.tsx +10 -9
  164. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +10 -7
  165. package/src/components/MarkdownEditor/MarkdownEditor.tsx +24 -24
  166. package/src/components/MarkdownSettings/MarkdownSettings.tsx +81 -78
  167. package/src/components/Suggestions.stories.tsx +24 -27
  168. package/src/components/Toolbar.stories.tsx +19 -14
  169. package/src/components/index.ts +1 -1
  170. package/src/events.ts +2 -2
  171. package/src/extensions.tsx +10 -38
  172. package/src/functions/diff.ts +35 -0
  173. package/src/functions/index.ts +6 -0
  174. package/src/functions/open.ts +30 -0
  175. package/src/hooks/useSelectCurrentThread.tsx +3 -3
  176. package/src/index.ts +4 -1
  177. package/src/meta.ts +7 -8
  178. package/src/translations.ts +3 -2
  179. package/src/types/Markdown.ts +56 -0
  180. package/src/types/MarkdownAction.ts +29 -0
  181. package/src/types/index.ts +2 -1
  182. package/src/types/types.ts +6 -50
  183. package/src/util.tsx +20 -6
  184. package/dist/lib/browser/MarkdownContainer-F3WEEIBX.mjs.map +0 -7
  185. package/dist/lib/browser/MarkdownPreview-S3C7CGAV.mjs.map +0 -7
  186. package/dist/lib/browser/anchor-sort-UKJJ7ZNP.mjs.map +0 -7
  187. package/dist/lib/browser/app-graph-serializer-ICLAF662.mjs.map +0 -7
  188. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs +0 -145
  189. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs.map +0 -7
  190. package/dist/lib/browser/chunk-777RIED6.mjs +0 -16
  191. package/dist/lib/browser/chunk-777RIED6.mjs.map +0 -7
  192. package/dist/lib/browser/chunk-EPTSAJZM.mjs +0 -22
  193. package/dist/lib/browser/chunk-EPTSAJZM.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-LFML7LC6.mjs.map +0 -7
  195. package/dist/lib/browser/chunk-LHDCHDBW.mjs.map +0 -7
  196. package/dist/lib/browser/chunk-PHTD5DTR.mjs +0 -20
  197. package/dist/lib/browser/chunk-PHTD5DTR.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-UANWRJZU.mjs +0 -79
  199. package/dist/lib/browser/chunk-UANWRJZU.mjs.map +0 -7
  200. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs +0 -64
  201. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs.map +0 -7
  202. package/dist/lib/browser/react-surface-C3Z423TV.mjs.map +0 -7
  203. package/dist/lib/browser/settings-KN75ZQY6.mjs.map +0 -7
  204. package/dist/lib/browser/state-LZWTAS65.mjs.map +0 -7
  205. package/dist/lib/node-esm/MarkdownContainer-VOUHL6IU.mjs.map +0 -7
  206. package/dist/lib/node-esm/MarkdownPreview-77UFEWXT.mjs.map +0 -7
  207. package/dist/lib/node-esm/anchor-sort-IPIS5D5B.mjs.map +0 -7
  208. package/dist/lib/node-esm/app-graph-serializer-FLBXQKKR.mjs.map +0 -7
  209. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs +0 -146
  210. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs.map +0 -7
  211. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs +0 -22
  212. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs.map +0 -7
  213. package/dist/lib/node-esm/chunk-ACFGXH2K.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-CWTFQSN7.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs +0 -24
  216. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs.map +0 -7
  217. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs +0 -80
  218. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-VIR2ABYE.mjs.map +0 -7
  220. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs +0 -65
  221. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs.map +0 -7
  222. package/dist/lib/node-esm/react-surface-TTTBYNI2.mjs.map +0 -7
  223. package/dist/lib/node-esm/settings-KVP7TVX7.mjs.map +0 -7
  224. package/dist/lib/node-esm/state-NW3W4JCQ.mjs.map +0 -7
  225. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
  226. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
  227. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -42
  228. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
  229. package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
  230. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
  231. package/dist/types/src/types/schema.d.ts +0 -35
  232. package/dist/types/src/types/schema.d.ts.map +0 -1
  233. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -81
  234. package/src/components/MarkdownPreview/index.ts +0 -9
  235. package/src/types/schema.ts +0 -39
@@ -1,17 +1,19 @@
1
1
  import {
2
2
  MarkdownCapabilities
3
- } from "./chunk-777RIED6.mjs";
3
+ } from "./chunk-OY6CGPOO.mjs";
4
4
  import {
5
- DocumentType,
6
5
  isEditorModel
7
- } from "./chunk-UANWRJZU.mjs";
6
+ } from "./chunk-LAVZ2W6X.mjs";
8
7
  import {
9
- MARKDOWN_PLUGIN
10
- } from "./chunk-EPTSAJZM.mjs";
8
+ Markdown_exports
9
+ } from "./chunk-BEE7VQPU.mjs";
10
+ import {
11
+ meta
12
+ } from "./chunk-ODB2PTBP.mjs";
11
13
 
12
14
  // src/capabilities/react-surface.tsx
13
15
  import React2 from "react";
14
- import { createSurface, contributes, Capabilities, useCapability } from "@dxos/app-framework";
16
+ import { Capabilities, contributes, createSurface, useCapability } from "@dxos/app-framework";
15
17
  import { Obj } from "@dxos/echo";
16
18
  import { SettingsStore } from "@dxos/local-storage";
17
19
  import { AttentionCapabilities } from "@dxos/plugin-attention";
@@ -26,13 +28,17 @@ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
26
28
  import React from "react";
27
29
  import { Input, Select, useTranslation } from "@dxos/react-ui";
28
30
  import { EditorInputModes, EditorViewModes } from "@dxos/react-ui-editor";
29
- import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
31
+ import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
30
32
  var MarkdownSettings = ({ settings }) => {
31
33
  var _effect = _useSignals();
32
34
  try {
33
- const { t } = useTranslation(MARKDOWN_PLUGIN);
34
- return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
35
- label: t("default view mode label")
35
+ const { t } = useTranslation(meta.id);
36
+ return /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
37
+ title: t("settings title", {
38
+ ns: meta.id
39
+ })
40
+ }, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItemInput, {
41
+ title: t("default view mode label")
36
42
  }, /* @__PURE__ */ React.createElement(Select.Root, {
37
43
  value: settings.defaultViewMode,
38
44
  onValueChange: (value) => {
@@ -43,8 +49,8 @@ var MarkdownSettings = ({ settings }) => {
43
49
  value: mode
44
50
  }, t(`${mode} mode label`, {
45
51
  ns: "react-ui-editor"
46
- })))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
47
- label: t("editor input mode label")
52
+ })))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
53
+ title: t("editor input mode label")
48
54
  }, /* @__PURE__ */ React.createElement(Select.Root, {
49
55
  value: settings.editorInputMode ?? "default",
50
56
  onValueChange: (value) => {
@@ -55,61 +61,64 @@ var MarkdownSettings = ({ settings }) => {
55
61
  }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
56
62
  key: mode,
57
63
  value: mode
58
- }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
59
- label: t("settings toolbar label")
64
+ }, t(`settings editor input mode ${mode} label`)))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
65
+ title: t("settings toolbar label")
60
66
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
61
67
  checked: settings.toolbar,
62
68
  onCheckedChange: (checked) => settings.toolbar = !!checked
63
- })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
64
- label: t("settings numbered headings label")
69
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
70
+ title: t("settings numbered headings label")
65
71
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
66
72
  checked: settings.numberedHeadings,
67
73
  onCheckedChange: (checked) => settings.numberedHeadings = !!checked
68
- })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
69
- label: t("settings folding label")
74
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
75
+ title: t("settings folding label")
70
76
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
71
77
  checked: settings.folding,
72
78
  onCheckedChange: (checked) => settings.folding = !!checked
73
- })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
74
- label: t("settings experimental label")
79
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
80
+ title: t("settings experimental label")
75
81
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
76
82
  checked: settings.experimental,
77
83
  onCheckedChange: (checked) => settings.experimental = !!checked
78
- })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
79
- label: t("settings debug label"),
80
- secondary: settings.debug ? /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextArea, {
81
- rows: 5,
82
- value: settings.typewriter,
83
- onChange: ({ target: { value } }) => settings.typewriter = value,
84
- placeholder: t("settings debug placeholder")
85
- })) : void 0
84
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
85
+ title: t("settings debug label")
86
86
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
87
87
  checked: settings.debug,
88
88
  onCheckedChange: (checked) => settings.debug = !!checked
89
- })));
89
+ })), settings.debug && /* @__PURE__ */ React.createElement(ControlItemInput, {
90
+ title: t("settings debug textarea label", {
91
+ ns: meta.id
92
+ })
93
+ }, /* @__PURE__ */ React.createElement(Input.TextArea, {
94
+ rows: 5,
95
+ value: settings.typewriter,
96
+ onChange: ({ target: { value } }) => settings.typewriter = value,
97
+ placeholder: t("settings debug placeholder")
98
+ })))));
90
99
  } finally {
91
100
  _effect.f();
92
101
  }
93
102
  };
94
103
 
95
104
  // src/components/index.ts
96
- var MarkdownContainer = lazy(() => import("./MarkdownContainer-F3WEEIBX.mjs"));
97
- var MarkdownPreview = lazy(() => import("./MarkdownPreview-S3C7CGAV.mjs"));
105
+ var MarkdownContainer = lazy(() => import("./MarkdownContainer-JW7TRDSA.mjs"));
106
+ var MarkdownCard = lazy(() => import("./MarkdownCard-JLUQITYK.mjs"));
98
107
 
99
108
  // src/capabilities/react-surface.tsx
100
109
  var react_surface_default = () => contributes(Capabilities.ReactSurface, [
101
110
  createSurface({
102
- id: `${MARKDOWN_PLUGIN}/document`,
111
+ id: `${meta.id}/surface/document`,
103
112
  role: [
104
113
  "article",
105
114
  "section",
106
115
  "tabpanel"
107
116
  ],
108
- filter: (data) => Obj.instanceOf(DocumentType, data.subject) && !data.variant,
117
+ filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject) && !data.variant,
109
118
  component: ({ data, role }) => {
110
119
  const selectionManager = useCapability(AttentionCapabilities.Selection);
111
120
  const settingsStore = useCapability(Capabilities.SettingsStore);
112
- const settings = settingsStore.getStore(MARKDOWN_PLUGIN).value;
121
+ const settings = settingsStore.getStore(meta.id).value;
113
122
  const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
114
123
  const viewMode = getViewMode(fullyQualifiedId(data.subject));
115
124
  return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
@@ -126,7 +135,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
126
135
  }
127
136
  }),
128
137
  createSurface({
129
- id: `${MARKDOWN_PLUGIN}/text`,
138
+ id: `${meta.id}/surface/text`,
130
139
  role: [
131
140
  "article",
132
141
  "section",
@@ -136,7 +145,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
136
145
  component: ({ data, role }) => {
137
146
  const selectionManager = useCapability(AttentionCapabilities.Selection);
138
147
  const settingsStore = useCapability(Capabilities.SettingsStore);
139
- const settings = settingsStore.getStore(MARKDOWN_PLUGIN).value;
148
+ const settings = settingsStore.getStore(meta.id).value;
140
149
  const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
141
150
  return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
142
151
  id: data.id,
@@ -152,7 +161,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
152
161
  }
153
162
  }),
154
163
  createSurface({
155
- id: `${MARKDOWN_PLUGIN}/editor`,
164
+ id: `${meta.id}/surface/editor`,
156
165
  role: [
157
166
  "article",
158
167
  "section"
@@ -161,7 +170,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
161
170
  component: ({ data, role }) => {
162
171
  const selectionManager = useCapability(AttentionCapabilities.Selection);
163
172
  const settingsStore = useCapability(Capabilities.SettingsStore);
164
- const settings = settingsStore.getStore(MARKDOWN_PLUGIN).value;
173
+ const settings = settingsStore.getStore(meta.id).value;
165
174
  const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
166
175
  return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
167
176
  id: data.subject.id,
@@ -177,15 +186,15 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
177
186
  }
178
187
  }),
179
188
  createSurface({
180
- id: `${MARKDOWN_PLUGIN}/plugin-settings`,
189
+ id: `${meta.id}/surface/plugin-settings`,
181
190
  role: "article",
182
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === MARKDOWN_PLUGIN,
191
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
183
192
  component: ({ data: { subject } }) => /* @__PURE__ */ React2.createElement(MarkdownSettings, {
184
193
  settings: subject.value
185
194
  })
186
195
  }),
187
196
  createSurface({
188
- id: `${MARKDOWN_PLUGIN}/preview`,
197
+ id: `${meta.id}/surface/preview`,
189
198
  role: [
190
199
  "card--popover",
191
200
  "card--intrinsic",
@@ -193,8 +202,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
193
202
  "card--transclusion",
194
203
  "card"
195
204
  ],
196
- filter: (data) => Obj.instanceOf(DocumentType, data.subject) || Obj.instanceOf(DataType.Text, data.subject),
197
- component: ({ data, role }) => /* @__PURE__ */ React2.createElement(MarkdownPreview, {
205
+ filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject) || Obj.instanceOf(DataType.Text, data.subject),
206
+ component: ({ data, role }) => /* @__PURE__ */ React2.createElement(MarkdownCard, {
198
207
  ...data,
199
208
  role
200
209
  })
@@ -203,4 +212,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
203
212
  export {
204
213
  react_surface_default as default
205
214
  };
206
- //# sourceMappingURL=react-surface-C3Z423TV.mjs.map
215
+ //# sourceMappingURL=react-surface-L3NTMD4D.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCard, MarkdownContainer, MarkdownSettings } from '../components';\nimport { meta } from '../meta';\nimport { Markdown } from '../types';\nimport { isEditorModel } from '../util';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/surface/document`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: Markdown.Document; variant: undefined } =>\n Obj.instanceOf(Markdown.Document, data.subject) && !data.variant,\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n const viewMode = getViewMode(fullyQualifiedId(data.subject));\n\n return (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={viewMode}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: DataType.Text } =>\n typeof data.id === 'string' && Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<Markdown.Settings> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <MarkdownSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/surface/preview`,\n role: ['card--popover', 'card--intrinsic', 'card--extrinsic', 'card--transclusion', 'card'],\n filter: (data): data is { subject: Markdown.Document | DataType.Text } =>\n Obj.instanceOf(Markdown.Document, data.subject) || Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => <MarkdownCard {...data} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\nexport const MarkdownCard = lazy(() => import('./MarkdownCard'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type Markdown } from '../../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: Markdown.Settings }) => {\n const { t } = useTranslation(meta.id);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n <ControlItemInput title={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings debug label')}>\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </ControlItemInput>\n\n {settings.debug && (\n <ControlItemInput title={t('settings debug textarea label', { ns: meta.id })}>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </ControlItemInput>\n )}\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "Obj", "SettingsStore", "AttentionCapabilities", "fullyQualifiedId", "DataType", "lazy", "React", "Input", "Select", "useTranslation", "EditorInputModes", "EditorViewModes", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "MarkdownSettings", "settings", "t", "useTranslation", "meta", "id", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "Arrow", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "MarkdownContainer", "lazy", "MarkdownCard", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Markdown", "Document", "subject", "variant", "component", "selectionManager", "useCapability", "AttentionCapabilities", "Selection", "settingsStore", "SettingsStore", "settings", "getStore", "value", "state", "editorState", "getViewMode", "setViewMode", "MarkdownCapabilities", "State", "viewMode", "fullyQualifiedId", "React", "MarkdownContainer", "object", "extensionProviders", "editorStateStore", "onViewModeChange", "DataType", "Text", "isEditorModel", "prefix", "MarkdownSettings", "MarkdownCard"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
- MarkdownSettingsSchema
3
- } from "./chunk-UANWRJZU.mjs";
2
+ Markdown_exports
3
+ } from "./chunk-BEE7VQPU.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-EPTSAJZM.mjs";
6
+ } from "./chunk-ODB2PTBP.mjs";
7
7
 
8
8
  // src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
@@ -18,11 +18,11 @@ var settings_default = () => {
18
18
  });
19
19
  return contributes(Capabilities.Settings, {
20
20
  prefix: meta.id,
21
- schema: MarkdownSettingsSchema,
21
+ schema: Markdown_exports.Settings,
22
22
  value: settings
23
23
  });
24
24
  };
25
25
  export {
26
26
  settings_default as default
27
27
  };
28
- //# sourceMappingURL=settings-KN75ZQY6.mjs.map
28
+ //# sourceMappingURL=settings-AABBTB4Q.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { Markdown } from '../types';\n\nexport default () => {\n const settings = live<Markdown.Settings>({\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: Markdown.Settings,\n value: settings,\n });\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAwB;IACvCC,iBAAiB;IACjBC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;IACTC,cAAc;EAChB,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC,iBAASL;IACjBM,OAAOf;EACT,CAAA;AACF;",
6
+ "names": ["Capabilities", "contributes", "live", "settings", "live", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "Markdown", "value"]
7
+ }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  MarkdownCapabilities
3
- } from "./chunk-777RIED6.mjs";
3
+ } from "./chunk-OY6CGPOO.mjs";
4
4
  import {
5
- MARKDOWN_PLUGIN
6
- } from "./chunk-EPTSAJZM.mjs";
5
+ meta
6
+ } from "./chunk-ODB2PTBP.mjs";
7
7
 
8
8
  // src/capabilities/state.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  import { LocalStorageStore } from "@dxos/local-storage";
11
11
  import { createEditorStateStore } from "@dxos/react-ui-editor";
12
12
  var state_default = (context) => {
13
- const state = new LocalStorageStore(MARKDOWN_PLUGIN, {
13
+ const state = new LocalStorageStore(meta.id, {
14
14
  extensionProviders: [],
15
15
  viewMode: {}
16
16
  });
@@ -18,9 +18,9 @@ var state_default = (context) => {
18
18
  key: "viewMode",
19
19
  type: LocalStorageStore.json()
20
20
  });
21
- const editorState = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);
21
+ const editorState = createEditorStateStore(`${meta.id}/editor`);
22
22
  const getViewMode = (id) => {
23
- const defaultViewMode = context.getCapability(Capabilities.SettingsStore).getStore(MARKDOWN_PLUGIN).value.defaultViewMode;
23
+ const defaultViewMode = context.getCapability(Capabilities.SettingsStore).getStore(meta.id).value.defaultViewMode;
24
24
  return id && state.values.viewMode[id] || defaultViewMode;
25
25
  };
26
26
  const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
@@ -34,4 +34,4 @@ var state_default = (context) => {
34
34
  export {
35
35
  state_default as default
36
36
  };
37
- //# sourceMappingURL=state-LZWTAS65.mjs.map
37
+ //# sourceMappingURL=state-FTHQQX7V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { meta } from '../meta';\nimport { type Markdown, type MarkdownPluginState } from '../types';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(meta.id, { extensionProviders: [], viewMode: {} });\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${meta.id}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context.getCapability(Capabilities.SettingsStore).getStore<Markdown.Settings>(meta.id)!\n .value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n // Return object with methods.\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,yBAAyB;AAClC,SAA8BC,8BAA8B;AAO5D,IAAA,gBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAAuCC,KAAKC,IAAI;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AACzGL,QAAMM,KAAK;IAAEC,KAAK;IAAYC,MAAMP,kBAAkBQ,KAAI;EAAsC,CAAA;AAGhG,QAAMC,cAAcC,uBAAuB,GAAGT,KAAKC,EAAE,SAAS;AAE9D,QAAMS,cAAc,CAACT,OAAAA;AACnB,UAAMU,kBAAkBd,QAAQe,cAAcC,aAAaC,aAAa,EAAEC,SAA4Bf,KAAKC,EAAE,EAC1Ge,MAAML;AACT,WAAQV,MAAMH,MAAMmB,OAAOd,SAASF,EAAAA,KAAQU;EAC9C;AAEA,QAAMO,cAAc,CAACjB,IAAYE,aAA8BL,MAAMmB,OAAOd,SAASF,EAAAA,IAAME;AAG3F,SAAOgB,YAAYC,qBAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQT;IAAaE;IAAaQ;EAAY,CAAA;AAC9G;",
6
+ "names": ["Capabilities", "contributes", "LocalStorageStore", "createEditorStateStore", "context", "state", "LocalStorageStore", "meta", "id", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "defaultViewMode", "getCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
7
+ }
@@ -0,0 +1,74 @@
1
+ import {
2
+ MarkdownAction_exports
3
+ } from "./chunk-BEE7VQPU.mjs";
4
+ import "./chunk-ODB2PTBP.mjs";
5
+
6
+ // src/capabilities/toolkit.ts
7
+ import { AiTool, AiToolkit } from "@effect/ai";
8
+ import { Effect, Schema } from "effect";
9
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
10
+ import { invariant } from "@dxos/invariant";
11
+ import { getActiveSpace } from "@dxos/plugin-space";
12
+ import { SpaceAction } from "@dxos/plugin-space/types";
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/toolkit.ts";
27
+ var _AiToolkit_make;
28
+ var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("create-document", {
29
+ description: "Creates a new markdown document.",
30
+ parameters: {
31
+ name: Schema.optional(Schema.String),
32
+ content: Schema.optional(Schema.String)
33
+ },
34
+ // TODO(wittjosiah): Return document.
35
+ success: Schema.Any,
36
+ failure: Schema.Never
37
+ }))) {
38
+ };
39
+ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
40
+ "create-document": ({ name, content }) => {
41
+ const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
42
+ const space = getActiveSpace(context);
43
+ invariant(space, "No active space", {
44
+ F: __dxlog_file,
45
+ L: 33,
46
+ S: Toolkit,
47
+ A: [
48
+ "space",
49
+ "'No active space'"
50
+ ]
51
+ });
52
+ return Effect.gen(function* () {
53
+ const { object } = yield* dispatch(createIntent(MarkdownAction_exports.Create, {
54
+ name,
55
+ content
56
+ }));
57
+ yield* dispatch(createIntent(SpaceAction.AddObject, {
58
+ object,
59
+ target: space
60
+ }));
61
+ return {
62
+ id: object.id
63
+ };
64
+ }).pipe(Effect.orDie);
65
+ }
66
+ }));
67
+ var toolkit_default = (context) => [
68
+ contributes(Capabilities.Toolkit, Toolkit),
69
+ contributes(Capabilities.ToolkitHandler, Toolkit.layer(context))
70
+ ];
71
+ export {
72
+ toolkit_default as default
73
+ };
74
+ //# sourceMappingURL=toolkit-2AJTHG74.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/toolkit.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { AiTool, AiToolkit } from '@effect/ai';\nimport { Effect, Schema } from 'effect';\n\nimport { Capabilities, type Capability, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\n\nimport { MarkdownAction } from '../types';\n\n// TODO(burdon): Reconcile with functions (currently reuses plugin framework intents).\nclass Toolkit extends AiToolkit.make(\n AiTool.make('create-document', {\n description: 'Creates a new markdown document.',\n parameters: {\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n },\n // TODO(wittjosiah): Return document.\n success: Schema.Any,\n failure: Schema.Never,\n }),\n) {\n static layer = (context: PluginContext) =>\n Toolkit.toLayer({\n 'create-document': ({ name, content }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const { object } = yield* dispatch(createIntent(MarkdownAction.Create, { name, content }));\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space }));\n return { id: object.id };\n }).pipe(Effect.orDie);\n },\n });\n}\n\nexport default (context: PluginContext): Capability<any>[] => [\n contributes(Capabilities.Toolkit, Toolkit),\n contributes(Capabilities.ToolkitHandler, Toolkit.layer(context)),\n];\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,QAAQC,iBAAiB;AAClC,SAASC,QAAQC,cAAc;AAE/B,SAASC,cAAmDC,aAAaC,oBAAoB;AAC7F,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;;;;;;;;;;;;;;;IAKNC;AAAtB,IAAMC,UAAN,eAAsBD,kBAAAA,UAAUE,KAC9BC,OAAOD,KAAK,mBAAmB;EAC7BE,aAAa;EACbC,YAAY;IACVC,MAAMC,OAAOC,SAASD,OAAOE,MAAM;IACnCC,SAASH,OAAOC,SAASD,OAAOE,MAAM;EACxC;;EAEAE,SAASJ,OAAOK;EAChBC,SAASN,OAAOO;AAClB,CAAA,CAAA,GACF;AAeA;AAdE,iBAZIb,SAYGc,SAAQ,CAACC,YACdf,QAAQgB,QAAQ;EACd,mBAAmB,CAAC,EAAEX,MAAMI,QAAO,MAAE;AACnC,UAAM,EAAEQ,SAAQ,IAAKF,QAAQG,cAAcC,aAAaC,gBAAgB;AACxE,UAAMC,QAAQC,eAAeP,OAAAA;AAC7BQ,cAAUF,OAAO,mBAAA;;;SAjBnBrB;;;;;;AAmBE,WAAOwB,OAAOC,IAAI,aAAA;AAChB,YAAM,EAAEC,OAAM,IAAK,OAAOT,SAASU,aAAaC,uBAAeC,QAAQ;QAAExB;QAAMI;MAAQ,CAAA,CAAA;AACvF,aAAOQ,SAASU,aAAaG,YAAYC,WAAW;QAAEL;QAAQM,QAAQX;MAAM,CAAA,CAAA;AAC5E,aAAO;QAAEY,IAAIP,OAAOO;MAAG;IACzB,CAAA,EAAGC,KAAKV,OAAOW,KAAK;EACtB;AACF,CAAA,CAAA;AAGJ,IAAA,kBAAe,CAACpB,YAA8C;EAC5DqB,YAAYjB,aAAanB,SAASA,OAAAA;EAClCoC,YAAYjB,aAAakB,gBAAgBrC,QAAQc,MAAMC,OAAAA,CAAAA;;",
6
+ "names": ["AiTool", "AiToolkit", "Effect", "Schema", "Capabilities", "contributes", "createIntent", "invariant", "getActiveSpace", "SpaceAction", "AiToolkit", "Toolkit", "make", "AiTool", "description", "parameters", "name", "Schema", "optional", "String", "content", "success", "Any", "failure", "Never", "layer", "context", "toLayer", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "space", "getActiveSpace", "invariant", "Effect", "gen", "object", "createIntent", "MarkdownAction", "Create", "SpaceAction", "AddObject", "target", "id", "pipe", "orDie", "contributes", "ToolkitHandler"]
7
+ }
@@ -1,18 +1,10 @@
1
1
  import {
2
- DocumentSchema,
3
- DocumentType,
4
- MarkdownAction,
5
- MarkdownSettingsSchema,
6
- createDocument,
7
- isEditorModel
8
- } from "../chunk-UANWRJZU.mjs";
9
- import "../chunk-EPTSAJZM.mjs";
2
+ MarkdownAction_exports,
3
+ Markdown_exports
4
+ } from "../chunk-BEE7VQPU.mjs";
5
+ import "../chunk-ODB2PTBP.mjs";
10
6
  export {
11
- DocumentSchema,
12
- DocumentType,
13
- MarkdownAction,
14
- MarkdownSettingsSchema,
15
- createDocument,
16
- isEditorModel
7
+ Markdown_exports as Markdown,
8
+ MarkdownAction_exports as MarkdownAction
17
9
  };
18
10
  //# sourceMappingURL=index.mjs.map
@@ -2,43 +2,43 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getAbstract,
4
4
  getFallbackName
5
- } from "./chunk-CWTFQSN7.mjs";
5
+ } from "./chunk-O6EXWGGS.mjs";
6
6
  import {
7
- DocumentType
8
- } from "./chunk-JEEQLO7C.mjs";
7
+ Markdown_exports
8
+ } from "./chunk-FXILAQ5F.mjs";
9
9
  import {
10
- MARKDOWN_PLUGIN
11
- } from "./chunk-CXG7GMYP.mjs";
10
+ meta
11
+ } from "./chunk-VCG2U522.mjs";
12
12
 
13
- // src/components/MarkdownPreview/MarkdownPreview.tsx
13
+ // src/components/MarkdownCard/MarkdownCard.tsx
14
14
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
15
15
  import { pipe } from "effect";
16
16
  import React, { useCallback } from "react";
17
- import { chain, createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
17
+ import { LayoutAction, chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
18
18
  import { Obj } from "@dxos/echo";
19
19
  import { fullyQualifiedId } from "@dxos/react-client/echo";
20
20
  import { Button, Icon, useTranslation } from "@dxos/react-ui";
21
21
  import { Card } from "@dxos/react-ui-stack";
22
22
  import { DataType } from "@dxos/schema";
23
23
  var getTitle = (subject, fallback) => {
24
- if (Obj.instanceOf(DocumentType, subject)) {
24
+ if (Obj.instanceOf(Markdown_exports.Document, subject)) {
25
25
  return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);
26
26
  } else if (Obj.instanceOf(DataType.Text, subject)) {
27
27
  return getFallbackName(subject.content);
28
28
  }
29
29
  };
30
30
  var getSnippet = (subject, fallback) => {
31
- if (Obj.instanceOf(DocumentType, subject)) {
31
+ if (Obj.instanceOf(Markdown_exports.Document, subject)) {
32
32
  return getAbstract(subject.content?.target?.content ?? fallback);
33
33
  } else if (Obj.instanceOf(DataType.Text, subject)) {
34
34
  return getAbstract(subject.content);
35
35
  }
36
36
  };
37
- var MarkdownPreview = ({ subject, role }) => {
37
+ var MarkdownCard = ({ subject, role }) => {
38
38
  var _effect = _useSignals();
39
39
  try {
40
40
  const { dispatchPromise: dispatch } = useIntentDispatcher();
41
- const { t } = useTranslation(MARKDOWN_PLUGIN);
41
+ const { t } = useTranslation(meta.id);
42
42
  const snippet = getSnippet(subject, t("fallback abstract"));
43
43
  const handleNavigate = useCallback(() => dispatch(pipe(createIntent(LayoutAction.UpdatePopover, {
44
44
  part: "popover",
@@ -72,10 +72,10 @@ var MarkdownPreview = ({ subject, role }) => {
72
72
  }
73
73
  };
74
74
 
75
- // src/components/MarkdownPreview/index.ts
76
- var MarkdownPreview_default = MarkdownPreview;
75
+ // src/components/MarkdownCard/index.ts
76
+ var MarkdownCard_default = MarkdownCard;
77
77
  export {
78
- MarkdownPreview,
79
- MarkdownPreview_default as default
78
+ MarkdownCard,
79
+ MarkdownCard_default as default
80
80
  };
81
- //# sourceMappingURL=MarkdownPreview-77UFEWXT.mjs.map
81
+ //# sourceMappingURL=MarkdownCard-XL5EVSJ7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/MarkdownCard/MarkdownCard.tsx", "../../../src/components/MarkdownCard/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { LayoutAction, chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type PreviewProps } from '@dxos/plugin-preview';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { Button, Icon, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { Markdown } from '../../types';\nimport { getAbstract, getFallbackName } from '../../util';\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: Markdown.Document | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: Markdown.Document | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return getAbstract(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getAbstract(subject.content);\n }\n};\n\nexport type MarkdownCardProps = PreviewProps<Markdown.Document | DataType.Text>;\n\nexport const MarkdownCard = ({ subject, role }: MarkdownCardProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(meta.id);\n const snippet = getSnippet(subject, t('fallback abstract'));\n\n // TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.\n const handleNavigate = useCallback(\n () =>\n dispatch(\n pipe(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: null,\n options: { state: false, anchorId: '' },\n }),\n chain(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(subject)] }),\n ),\n ),\n [dispatch, subject],\n );\n\n return (\n <Card.SurfaceRoot role={role}>\n <Card.Heading>{getTitle(subject, t('fallback title'))}</Card.Heading>\n {snippet && <Card.Text classNames='line-clamp-3 break-words col-span-2'>{snippet}</Card.Text>}\n {role === 'card--popover' && (\n <Card.Chrome>\n <Button onClick={handleNavigate}>\n <span className='grow'>{t('navigate to document label')}</span>\n <Icon icon='ph--arrow-right--regular' />\n </Button>\n </Card.Chrome>\n )}\n </Card.SurfaceRoot>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownCard } from './MarkdownCard';\n\nexport * from './MarkdownCard';\n\nexport default MarkdownCard;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,SAASA,YAAY;AACrB,OAAOC,SAASC,mBAAmB;AAEnC,SAASC,cAAcC,OAAOC,cAAcC,2BAA2B;AACvE,SAASC,WAAW;AAEpB,SAASC,wBAAwB;AACjC,SAASC,QAAQC,MAAMC,sBAAsB;AAC7C,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAOzB,IAAMC,WAAW,CAACC,SAA4CC,aAAAA;AAC5D,MAAIC,IAAIC,WAAWC,iBAASC,UAAUL,OAAAA,GAAU;AAC9C,WAAOA,QAAQM,QAAQN,QAAQO,gBAAgBC,gBAAgBR,QAAQS,SAASC,QAAQD,WAAWR,QAAAA;EACrG,WAAWC,IAAIC,WAAWQ,SAASC,MAAMZ,OAAAA,GAAU;AACjD,WAAOQ,gBAAgBR,QAAQS,OAAO;EACxC;AACF;AAGA,IAAMI,aAAa,CAACb,SAA4CC,aAAAA;AAC9D,MAAIC,IAAIC,WAAWC,iBAASC,UAAUL,OAAAA,GAAU;AAC9C,WAAOc,YAAYd,QAAQS,SAASC,QAAQD,WAAWR,QAAAA;EACzD,WAAWC,IAAIC,WAAWQ,SAASC,MAAMZ,OAAAA,GAAU;AACjD,WAAOc,YAAYd,QAAQS,OAAO;EACpC;AACF;AAIO,IAAMM,eAAe,CAAC,EAAEf,SAASgB,KAAI,MAAqB;;;AAC/D,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAMC,UAAUX,WAAWb,SAASoB,EAAE,mBAAA,CAAA;AAGtC,UAAMK,iBAAiBC,YACrB,MACER,SACES,KACEC,aAAaC,aAAaC,eAAe;MACvCC,MAAM;MACN/B,SAAS;MACTgC,SAAS;QAAEC,OAAO;QAAOC,UAAU;MAAG;IACxC,CAAA,GACAC,MAAMN,aAAaO,MAAM;MAAEL,MAAM;MAAQ/B,SAAS;QAACqC,iBAAiBrC,OAAAA;;IAAU,CAAA,CAAA,CAAA,GAGpF;MAACkB;MAAUlB;KAAQ;AAGrB,WACE,sBAAA,cAACsC,KAAKC,aAAW;MAACvB;OAChB,sBAAA,cAACsB,KAAKE,SAAO,MAAEzC,SAASC,SAASoB,EAAE,gBAAA,CAAA,CAAA,GAClCI,WAAW,sBAAA,cAACc,KAAK1B,MAAI;MAAC6B,YAAW;OAAuCjB,OAAAA,GACxER,SAAS,mBACR,sBAAA,cAACsB,KAAKI,QAAM,MACV,sBAAA,cAACC,QAAAA;MAAOC,SAASnB;OACf,sBAAA,cAACoB,QAAAA;MAAKC,WAAU;OAAQ1B,EAAE,4BAAA,CAAA,GAC1B,sBAAA,cAAC2B,MAAAA;MAAKC,MAAK;;;;;AAMvB;;;AClEA,IAAA,uBAAeC;",
6
+ "names": ["pipe", "React", "useCallback", "LayoutAction", "chain", "createIntent", "useIntentDispatcher", "Obj", "fullyQualifiedId", "Button", "Icon", "useTranslation", "Card", "DataType", "getTitle", "subject", "fallback", "Obj", "instanceOf", "Markdown", "Document", "name", "fallbackName", "getFallbackName", "content", "target", "DataType", "Text", "getSnippet", "getAbstract", "MarkdownCard", "role", "dispatchPromise", "dispatch", "useIntentDispatcher", "t", "useTranslation", "meta", "id", "snippet", "handleNavigate", "useCallback", "pipe", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "state", "anchorId", "chain", "Open", "fullyQualifiedId", "Card", "SurfaceRoot", "Heading", "classNames", "Chrome", "Button", "onClick", "span", "className", "Icon", "icon", "MarkdownCard"]
7
+ }