@dxos/plugin-markdown 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc

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 (254) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs +32 -0
  4. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
  6. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
  7. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs +102 -0
  8. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs.map +7 -0
  9. package/dist/lib/neutral/MarkdownPlugin.mjs +10 -0
  10. package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
  11. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs +23 -0
  13. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs.map +7 -0
  14. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
  15. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
  16. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs +32 -0
  17. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs.map +7 -0
  18. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs +55 -0
  19. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs.map +7 -0
  20. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
  21. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
  22. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  23. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  24. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  25. package/dist/lib/neutral/capabilities/node.mjs +11 -0
  26. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-5JWFZVBC.mjs +8 -0
  28. package/dist/lib/neutral/chunk-5JWFZVBC.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  30. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  31. package/dist/lib/{browser/index.mjs → neutral/chunk-KDN4GKG2.mjs} +5 -42
  32. package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
  33. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-LXNSKCPD.mjs} +9 -15
  34. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-LYUELXJH.mjs +57 -0
  36. package/dist/lib/neutral/chunk-LYUELXJH.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-SOLAMEK3.mjs +276 -0
  38. package/dist/lib/neutral/chunk-SOLAMEK3.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-YC2OAUM7.mjs +22 -0
  40. package/dist/lib/neutral/chunk-YC2OAUM7.mjs.map +7 -0
  41. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs +30 -0
  42. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs.map +7 -0
  43. package/dist/lib/neutral/components/index.mjs +370 -0
  44. package/dist/lib/neutral/components/index.mjs.map +7 -0
  45. package/dist/lib/neutral/containers/index.mjs +13 -0
  46. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  47. package/dist/lib/{browser/create-SRADQOTE.mjs → neutral/create-3PGJ2NEK.mjs} +5 -6
  48. package/dist/lib/neutral/create-3PGJ2NEK.mjs.map +7 -0
  49. package/dist/lib/{browser/create-markdown-A2ERCEOZ.mjs → neutral/create-markdown-5LS46GMH.mjs} +5 -6
  50. package/dist/lib/neutral/create-markdown-5LS46GMH.mjs.map +7 -0
  51. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs +27 -0
  52. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs.map +7 -0
  53. package/dist/lib/neutral/hooks/index.mjs +321 -0
  54. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  55. package/dist/lib/neutral/index.mjs +42 -0
  56. package/dist/lib/neutral/index.mjs.map +7 -0
  57. package/dist/lib/neutral/meta.json +1 -0
  58. package/dist/lib/neutral/meta.mjs +8 -0
  59. package/dist/lib/neutral/meta.mjs.map +7 -0
  60. package/dist/lib/{browser/open-ANTKMST5.mjs → neutral/open-WCYGBLAG.mjs} +5 -5
  61. package/dist/lib/neutral/open-WCYGBLAG.mjs.map +7 -0
  62. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
  63. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
  64. package/dist/lib/neutral/operations/index.mjs +8 -0
  65. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  66. package/dist/lib/neutral/plugin.mjs +16 -0
  67. package/dist/lib/neutral/plugin.mjs.map +7 -0
  68. package/dist/lib/neutral/react-surface-SCIL76V5.mjs +119 -0
  69. package/dist/lib/neutral/react-surface-SCIL76V5.mjs.map +7 -0
  70. package/dist/lib/{browser/scroll-to-anchor-4RJ6MQ7I.mjs → neutral/scroll-to-anchor-6FIOKVKT.mjs} +7 -8
  71. package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs.map +7 -0
  72. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs +24 -0
  73. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs.map +7 -0
  74. package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
  75. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
  76. package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
  77. package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
  78. package/dist/lib/neutral/testing.mjs +22 -0
  79. package/dist/lib/neutral/testing.mjs.map +7 -0
  80. package/dist/lib/neutral/translations.mjs +43 -0
  81. package/dist/lib/neutral/translations.mjs.map +7 -0
  82. package/dist/lib/neutral/types/index.mjs +16 -0
  83. package/dist/lib/neutral/types/index.mjs.map +7 -0
  84. package/dist/lib/{browser/update-markdown-CPM5KOQW.mjs → neutral/update-markdown-5EDRD3SH.mjs} +5 -5
  85. package/dist/lib/neutral/update-markdown-5EDRD3SH.mjs.map +7 -0
  86. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  87. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -1
  88. package/dist/types/src/MarkdownPlugin.workerd.d.ts +4 -0
  89. package/dist/types/src/MarkdownPlugin.workerd.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  91. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  93. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/index.d.ts +15 -2
  95. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/node.d.ts +6 -0
  97. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/state.d.ts +2 -2
  99. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  100. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  101. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  102. package/dist/types/src/containers/{MarkdownCard/MarkdownEditableCard.d.ts → EditableMarkdownCard/EditableMarkdownCard.d.ts} +4 -4
  103. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
  104. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
  105. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
  106. package/dist/types/src/containers/{MarkdownContainer/MarkdownContainer.d.ts → MarkdownArticle/MarkdownArticle.d.ts} +3 -3
  107. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
  108. package/dist/types/src/containers/{MarkdownContainer/MarkdownContainer.stories.d.ts → MarkdownArticle/MarkdownArticle.stories.d.ts} +1 -1
  109. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
  110. package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
  111. package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
  112. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  113. package/dist/types/src/containers/MarkdownCard/index.d.ts +0 -1
  114. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -1
  115. package/dist/types/src/containers/index.d.ts +3 -3
  116. package/dist/types/src/containers/index.d.ts.map +1 -1
  117. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  118. package/dist/types/src/index.d.ts +2 -3
  119. package/dist/types/src/index.d.ts.map +1 -1
  120. package/dist/types/src/meta.d.ts.map +1 -1
  121. package/dist/types/src/operations/create-markdown.d.ts +2 -2
  122. package/dist/types/src/operations/create-markdown.d.ts.map +1 -1
  123. package/dist/types/src/operations/create.d.ts +2 -2
  124. package/dist/types/src/operations/create.d.ts.map +1 -1
  125. package/dist/types/src/operations/index.d.ts +0 -1
  126. package/dist/types/src/operations/index.d.ts.map +1 -1
  127. package/dist/types/src/operations/open.d.ts +2 -2
  128. package/dist/types/src/operations/open.d.ts.map +1 -1
  129. package/dist/types/src/operations/scroll-to-anchor.d.ts +2 -2
  130. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
  131. package/dist/types/src/operations/set-view-mode.d.ts +2 -2
  132. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -1
  133. package/dist/types/src/operations/update-markdown.d.ts +2 -2
  134. package/dist/types/src/operations/update-markdown.d.ts.map +1 -1
  135. package/dist/types/src/plugin.d.ts +4 -0
  136. package/dist/types/src/plugin.d.ts.map +1 -0
  137. package/dist/types/src/testing.d.ts +1 -0
  138. package/dist/types/src/testing.d.ts.map +1 -1
  139. package/dist/types/src/types/Markdown.d.ts +1 -0
  140. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  141. package/dist/types/src/types/{capabilities.d.ts → MarkdownCapabilities.d.ts} +10 -12
  142. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
  143. package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
  144. package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
  145. package/dist/types/src/{operations/definitions.d.ts → types/MarkdownOperation.d.ts} +1 -1
  146. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
  147. package/dist/types/src/types/index.d.ts +3 -2
  148. package/dist/types/src/types/index.d.ts.map +1 -1
  149. package/dist/types/src/util.d.ts +1 -1
  150. package/dist/types/src/util.d.ts.map +1 -1
  151. package/dist/types/tsconfig.tsbuildinfo +1 -1
  152. package/package.json +117 -87
  153. package/src/MarkdownPlugin.node.ts +2 -23
  154. package/src/MarkdownPlugin.test.ts +2 -2
  155. package/src/MarkdownPlugin.tsx +4 -50
  156. package/src/MarkdownPlugin.workerd.ts +19 -0
  157. package/src/blueprints/markdown-blueprint.ts +6 -6
  158. package/src/capabilities/app-graph-serializer.ts +3 -4
  159. package/src/capabilities/artifact-definition.ts +2 -3
  160. package/src/capabilities/comment-config.ts +32 -0
  161. package/src/capabilities/create-object.ts +30 -0
  162. package/src/capabilities/index.ts +3 -1
  163. package/src/capabilities/node.ts +2 -0
  164. package/src/capabilities/react-surface.tsx +5 -5
  165. package/src/capabilities/state.ts +4 -4
  166. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  167. package/src/components/MarkdownEditor/MarkdownEditor.tsx +32 -25
  168. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +1 -2
  169. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +1 -1
  170. package/src/containers/{MarkdownCard/MarkdownEditableCard.tsx → EditableMarkdownCard/EditableMarkdownCard.tsx} +5 -5
  171. package/src/containers/EditableMarkdownCard/index.ts +6 -0
  172. package/src/containers/{MarkdownContainer/MarkdownContainer.stories.tsx → MarkdownArticle/MarkdownArticle.stories.tsx} +3 -3
  173. package/src/containers/{MarkdownContainer/MarkdownContainer.tsx → MarkdownArticle/MarkdownArticle.tsx} +2 -2
  174. package/src/containers/MarkdownArticle/index.ts +6 -0
  175. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +2 -2
  176. package/src/containers/MarkdownCard/MarkdownCard.tsx +0 -1
  177. package/src/containers/MarkdownCard/index.ts +0 -1
  178. package/src/containers/index.ts +3 -5
  179. package/src/hooks/useLinkQuery.ts +9 -26
  180. package/src/index.ts +2 -8
  181. package/src/meta.ts +4 -1
  182. package/src/operations/create-markdown.ts +2 -3
  183. package/src/operations/create.conversations.json +1 -1
  184. package/src/operations/create.test.ts +4 -5
  185. package/src/operations/create.ts +2 -3
  186. package/src/operations/index.ts +0 -2
  187. package/src/operations/open.ts +2 -2
  188. package/src/operations/scroll-to-anchor.ts +2 -3
  189. package/src/operations/set-view-mode.ts +2 -3
  190. package/src/operations/update-markdown.ts +2 -2
  191. package/src/operations/update.conversations.json +1 -1
  192. package/src/operations/update.test.ts +4 -5
  193. package/src/plugin.ts +11 -0
  194. package/src/testing.ts +5 -3
  195. package/src/types/Markdown.ts +5 -0
  196. package/src/types/{capabilities.ts → MarkdownCapabilities.ts} +12 -12
  197. package/src/types/MarkdownEvents.ts +14 -0
  198. package/src/{operations/definitions.ts → types/MarkdownOperation.ts} +3 -1
  199. package/src/types/index.ts +3 -2
  200. package/src/util.tsx +1 -1
  201. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-DNSKDWUL.mjs +0 -156
  203. package/dist/lib/browser/chunk-DNSKDWUL.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-SW6IK2GJ.mjs +0 -124
  205. package/dist/lib/browser/chunk-SW6IK2GJ.mjs.map +0 -7
  206. package/dist/lib/browser/create-SRADQOTE.mjs.map +0 -7
  207. package/dist/lib/browser/create-markdown-A2ERCEOZ.mjs.map +0 -7
  208. package/dist/lib/browser/index.mjs.map +0 -7
  209. package/dist/lib/browser/meta.json +0 -1
  210. package/dist/lib/browser/open-ANTKMST5.mjs.map +0 -7
  211. package/dist/lib/browser/operations/index.mjs +0 -13
  212. package/dist/lib/browser/operations/index.mjs.map +0 -7
  213. package/dist/lib/browser/scroll-to-anchor-4RJ6MQ7I.mjs.map +0 -7
  214. package/dist/lib/browser/set-view-mode-2S7KKY7C.mjs +0 -25
  215. package/dist/lib/browser/set-view-mode-2S7KKY7C.mjs.map +0 -7
  216. package/dist/lib/browser/types/index.mjs +0 -15
  217. package/dist/lib/browser/update-markdown-CPM5KOQW.mjs.map +0 -7
  218. package/dist/lib/node-esm/blueprints/index.mjs +0 -51
  219. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-MWYFGI2J.mjs +0 -157
  221. package/dist/lib/node-esm/chunk-MWYFGI2J.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-ZE6QJ4S5.mjs +0 -125
  223. package/dist/lib/node-esm/chunk-ZE6QJ4S5.mjs.map +0 -7
  224. package/dist/lib/node-esm/create-6JGQPPQ6.mjs +0 -30
  225. package/dist/lib/node-esm/create-6JGQPPQ6.mjs.map +0 -7
  226. package/dist/lib/node-esm/create-markdown-KXSM2I2M.mjs +0 -22
  227. package/dist/lib/node-esm/create-markdown-KXSM2I2M.mjs.map +0 -7
  228. package/dist/lib/node-esm/index.mjs +0 -136
  229. package/dist/lib/node-esm/index.mjs.map +0 -7
  230. package/dist/lib/node-esm/meta.json +0 -1
  231. package/dist/lib/node-esm/open-GB6HNBHS.mjs +0 -21
  232. package/dist/lib/node-esm/open-GB6HNBHS.mjs.map +0 -7
  233. package/dist/lib/node-esm/operations/index.mjs +0 -14
  234. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  235. package/dist/lib/node-esm/scroll-to-anchor-UABP74RR.mjs +0 -49
  236. package/dist/lib/node-esm/scroll-to-anchor-UABP74RR.mjs.map +0 -7
  237. package/dist/lib/node-esm/set-view-mode-JEDC5ZL7.mjs +0 -26
  238. package/dist/lib/node-esm/set-view-mode-JEDC5ZL7.mjs.map +0 -7
  239. package/dist/lib/node-esm/types/index.mjs +0 -16
  240. package/dist/lib/node-esm/update-markdown-AXLYHK6S.mjs +0 -45
  241. package/dist/lib/node-esm/update-markdown-AXLYHK6S.mjs.map +0 -7
  242. package/dist/types/src/containers/MarkdownCard/MarkdownEditableCard.d.ts.map +0 -1
  243. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +0 -1
  244. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +0 -1
  245. package/dist/types/src/containers/MarkdownContainer/index.d.ts +0 -3
  246. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +0 -1
  247. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  248. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  249. package/dist/types/src/types/events.d.ts +0 -5
  250. package/dist/types/src/types/events.d.ts.map +0 -1
  251. package/src/containers/MarkdownContainer/index.ts +0 -6
  252. package/src/types/events.ts +0 -14
  253. /package/dist/lib/{browser/types/index.mjs.map → neutral/MarkdownPlugin.mjs.map} +0 -0
  254. /package/dist/lib/{node-esm/types → neutral/blueprints}/index.mjs.map +0 -0
@@ -1,22 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- CreateMarkdown
4
- } from "./chunk-MWYFGI2J.mjs";
5
- import {
6
- Markdown_exports
7
- } from "./chunk-ZE6QJ4S5.mjs";
8
-
9
- // src/operations/create-markdown.ts
10
- import * as Effect from "effect/Effect";
11
- import { Operation } from "@dxos/compute";
12
- var handler = CreateMarkdown.pipe(Operation.withHandler(({ name, content }) => Effect.succeed({
13
- object: Markdown_exports.make({
14
- name,
15
- content
16
- })
17
- })));
18
- var create_markdown_default = handler;
19
- export {
20
- create_markdown_default as default
21
- };
22
- //# sourceMappingURL=create-markdown-KXSM2I2M.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/create-markdown.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\n\nimport { Markdown } from '../types';\nimport { CreateMarkdown } from './definitions';\n\nconst handler: Operation.WithHandler<typeof CreateMarkdown> = CreateMarkdown.pipe(\n Operation.withHandler(({ name, content }) =>\n Effect.succeed({\n object: Markdown.make({ name, content }),\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAK1B,IAAMC,UAAwDC,eAAeC,KAC3EC,UAAUC,YAAY,CAAC,EAAEC,MAAMC,QAAO,MAC7BC,eAAQ;EACbC,QAAQC,iBAASC,KAAK;IAAEL;IAAMC;EAAQ,CAAA;AACxC,CAAA,CAAA,CAAA;AAIJ,IAAA,0BAAeN;",
6
- "names": ["Effect", "Operation", "handler", "CreateMarkdown", "pipe", "Operation", "withHandler", "name", "content", "succeed", "object", "Markdown", "make"]
7
- }
@@ -1,136 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- MarkdownCapabilities,
4
- MarkdownEvents,
5
- MarkdownStateSchema,
6
- Markdown_exports,
7
- Settings_exports
8
- } from "./chunk-ZE6QJ4S5.mjs";
9
-
10
- // src/index.ts
11
- import { Plugin } from "@dxos/app-framework";
12
-
13
- // src/meta.ts
14
- import { trim } from "@dxos/util";
15
- var meta = {
16
- id: "org.dxos.plugin.markdown",
17
- name: "Markdown",
18
- description: trim`
19
- Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
20
- Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
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://dxos.network/plugin-details-markdown-dark.png"
27
- ]
28
- };
29
-
30
- // src/util.tsx
31
- import { debounce } from "@dxos/async";
32
- import { Obj } from "@dxos/echo";
33
- import { Markdown } from "#types";
34
- var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
35
- var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
36
- var nonTitleChars = /[^\w ]/g;
37
- var skipPatterns = [
38
- /^!\[/,
39
- /^---\s*$/,
40
- /^```/,
41
- /^\s*$/
42
- ];
43
- var titlePatterns = [
44
- /^#{1,6}\s+(.+)/
45
- ];
46
- var getFallbackName = (content = "") => {
47
- const len = content.length;
48
- let i = 0;
49
- while (i < len) {
50
- let lineEnd = i;
51
- while (lineEnd < len && content[lineEnd] !== "\n") {
52
- lineEnd++;
53
- }
54
- const line = content.slice(i, lineEnd).trim();
55
- i = lineEnd + 1;
56
- if (skipPatterns.some((pattern) => pattern.test(line))) {
57
- continue;
58
- }
59
- for (const pattern of titlePatterns) {
60
- const match = pattern.exec(line);
61
- if (match) {
62
- const text2 = match[1].replaceAll(nonTitleChars, "").trim();
63
- if (text2.length > 0) {
64
- return text2;
65
- }
66
- }
67
- }
68
- const maxLen = 32;
69
- const text = line.replaceAll(nonTitleChars, "").trim();
70
- if (text.length > 0) {
71
- if (text.length > maxLen) {
72
- const words = text.split(/\s+/);
73
- let result = "";
74
- for (const word of words) {
75
- const next = result.length === 0 ? word : result + " " + word;
76
- if (next.length > maxLen) {
77
- break;
78
- }
79
- result = next;
80
- }
81
- return result + "\u2026";
82
- }
83
- return text;
84
- }
85
- }
86
- return "";
87
- };
88
- var getContentSnippet = (content = "", maxLines = 3) => {
89
- const abstract = content.split("\n").filter((line) => !line.startsWith("!")).filter((line) => line.trim() !== "");
90
- return abstract.slice(0, maxLines).join("\n") ?? "";
91
- };
92
- var setFallbackName = debounce((doc, content = "") => {
93
- const name = getFallbackName(content);
94
- if (doc.fallbackName !== name) {
95
- Obj.update(doc, (doc2) => {
96
- doc2.fallbackName = name;
97
- });
98
- }
99
- }, 200);
100
- var serializer = {
101
- serialize: async ({ object }) => {
102
- const { content } = await object.content.load();
103
- return JSON.stringify({
104
- name: object.name,
105
- fallbackName: object.fallbackName,
106
- content
107
- });
108
- },
109
- deserialize: async ({ content: serialized }) => {
110
- const { name, fallbackName, content } = JSON.parse(serialized);
111
- return Markdown.make({
112
- name,
113
- fallbackName,
114
- content
115
- });
116
- }
117
- };
118
-
119
- // src/index.ts
120
- var MarkdownPlugin = Plugin.lazy(meta, () => import("#plugin"));
121
- export {
122
- Markdown_exports as Markdown,
123
- MarkdownCapabilities,
124
- MarkdownEvents,
125
- MarkdownPlugin,
126
- MarkdownStateSchema,
127
- Settings_exports as Settings,
128
- getContentSnippet,
129
- getFallbackName,
130
- isEditorModel,
131
- isMarkdownProperties,
132
- meta,
133
- serializer,
134
- setFallbackName
135
- };
136
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/index.ts", "../../../src/meta.ts", "../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport { MarkdownCapabilities, MarkdownEvents } from './types';\n\nexport * from './meta';\nexport * from './types';\nexport * from './util';\n\nexport const MarkdownPlugin = Plugin.lazy(meta, () => import('#plugin'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.markdown',\n name: 'Markdown',\n description: trim`\n Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.\n Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.\n `,\n icon: 'ph--text-aa--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\n\nimport { Markdown } from '#types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\n// Lines matching these patterns are skipped.\nconst skipPatterns = [\n /^!\\[/, // Image.\n /^---\\s*$/, // Horizontal rule.\n /^```/, // Code block fence.\n /^\\s*$/, // Empty or whitespace-only.\n];\n\n// Patterns to extract title text (first capture group is used).\nconst titlePatterns = [\n /^#{1,6}\\s+(.+)/, // Heading.\n];\n\n/**\n * Extracts a fallback name by scanning lines for the first heading or text fragment.\n */\nexport const getFallbackName = (content = ''): string => {\n const len = content.length;\n\n let i = 0;\n while (i < len) {\n // Find end of line.\n let lineEnd = i;\n while (lineEnd < len && content[lineEnd] !== '\\n') {\n lineEnd++;\n }\n\n const line = content.slice(i, lineEnd).trim();\n i = lineEnd + 1;\n\n // Skip lines matching skip patterns.\n if (skipPatterns.some((pattern) => pattern.test(line))) {\n continue;\n }\n\n // Check for title patterns.\n for (const pattern of titlePatterns) {\n const match = pattern.exec(line);\n if (match) {\n const text = match[1].replaceAll(nonTitleChars, '').trim();\n if (text.length > 0) {\n return text;\n }\n }\n }\n\n // Use line as plain text fallback.\n const maxLen = 32;\n const text = line.replaceAll(nonTitleChars, '').trim();\n if (text.length > 0) {\n if (text.length > maxLen) {\n const words = text.split(/\\s+/);\n let result = '';\n for (const word of words) {\n const next = result.length === 0 ? word : result + ' ' + word;\n if (next.length > maxLen) {\n break;\n }\n result = next;\n }\n\n return result + '…';\n }\n\n return text;\n }\n }\n\n return '';\n};\n\n// TODO(burdon): Option to strip Markdown.\nexport const getContentSnippet = (content = '', maxLines = 3) => {\n const abstract = content\n .split('\\n')\n .filter((line) => !line.startsWith('!'))\n .filter((line) => line.trim() !== '');\n\n return abstract.slice(0, maxLines).join('\\n') ?? '';\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content = '') => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n Obj.update(doc, (doc) => {\n doc.fallbackName = name;\n });\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.make({ name, fallbackName, content });\n },\n};\n"],
5
- "mappings": ";;;;;;;;;;AAIA,SAASA,cAAc;;;ACCvB,SAASC,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IAAC;;AAChB;;;ACdA,SAASC,gBAAgB;AACzB,SAASC,WAAW;AAGpB,SAASC,gBAAgB;AAOlB,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCH,IAAIO,SAASJ,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKK,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAGtB,IAAMC,eAAe;EACnB;EACA;EACA;EACA;;AAIF,IAAMC,gBAAgB;EACpB;;AAMK,IAAMC,kBAAkB,CAACC,UAAU,OAAE;AAC1C,QAAMC,MAAMD,QAAQE;AAEpB,MAAIC,IAAI;AACR,SAAOA,IAAIF,KAAK;AAEd,QAAIG,UAAUD;AACd,WAAOC,UAAUH,OAAOD,QAAQI,OAAAA,MAAa,MAAM;AACjDA;IACF;AAEA,UAAMC,OAAOL,QAAQM,MAAMH,GAAGC,OAAAA,EAASG,KAAI;AAC3CJ,QAAIC,UAAU;AAGd,QAAIP,aAAaW,KAAK,CAACC,YAAYA,QAAQC,KAAKL,IAAAA,CAAAA,GAAQ;AACtD;IACF;AAGA,eAAWI,WAAWX,eAAe;AACnC,YAAMa,QAAQF,QAAQG,KAAKP,IAAAA;AAC3B,UAAIM,OAAO;AACT,cAAMnB,QAAOmB,MAAM,CAAA,EAAGE,WAAWjB,eAAe,EAAA,EAAIW,KAAI;AACxD,YAAIf,MAAKU,SAAS,GAAG;AACnB,iBAAOV;QACT;MACF;IACF;AAGA,UAAMsB,SAAS;AACf,UAAMtB,OAAOa,KAAKQ,WAAWjB,eAAe,EAAA,EAAIW,KAAI;AACpD,QAAIf,KAAKU,SAAS,GAAG;AACnB,UAAIV,KAAKU,SAASY,QAAQ;AACxB,cAAMC,QAAQvB,KAAKwB,MAAM,KAAA;AACzB,YAAIC,SAAS;AACb,mBAAWC,QAAQH,OAAO;AACxB,gBAAMI,OAAOF,OAAOf,WAAW,IAAIgB,OAAOD,SAAS,MAAMC;AACzD,cAAIC,KAAKjB,SAASY,QAAQ;AACxB;UACF;AACAG,mBAASE;QACX;AAEA,eAAOF,SAAS;MAClB;AAEA,aAAOzB;IACT;EACF;AAEA,SAAO;AACT;AAGO,IAAM4B,oBAAoB,CAACpB,UAAU,IAAIqB,WAAW,MAAC;AAC1D,QAAMC,WAAWtB,QACdgB,MAAM,IAAA,EACNO,OAAO,CAAClB,SAAS,CAACA,KAAKmB,WAAW,GAAA,CAAA,EAClCD,OAAO,CAAClB,SAASA,KAAKE,KAAI,MAAO,EAAA;AAEpC,SAAOe,SAAShB,MAAM,GAAGe,QAAAA,EAAUI,KAAK,IAAA,KAAS;AACnD;AAEO,IAAMC,kBAAkBxC,SAAS,CAACyC,KAAwB3B,UAAU,OAAE;AAC3E,QAAM4B,OAAO7B,gBAAgBC,OAAAA;AAC7B,MAAI2B,IAAIE,iBAAiBD,MAAM;AAC7BzC,QAAI2C,OAAOH,KAAK,CAACA,SAAAA;AACfA,MAAAA,KAAIE,eAAeD;IACrB,CAAA;EACF;AACF,GAAG,GAAA;AAEI,IAAMG,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEjC,QAAO,IAAK,MAAMiC,OAAOjC,QAAQkC,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAER,MAAMK,OAAOL;MAAMC,cAAcI,OAAOJ;MAAc7B;IAAQ,CAAA;EACxF;EAEAqC,aAAa,OAAO,EAAErC,SAASsC,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAc7B,QAAO,IAAKmC,KAAKI,MAAMD,UAAAA;AACnD,WAAOlD,SAASoD,KAAK;MAAEZ;MAAMC;MAAc7B;IAAQ,CAAA;EACrD;AACF;;;AFxHO,IAAMyC,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
- "names": ["Plugin", "trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "screenshots", "debounce", "Obj", "Markdown", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "isObject", "title", "nonTitleChars", "skipPatterns", "titlePatterns", "getFallbackName", "content", "len", "length", "i", "lineEnd", "line", "slice", "trim", "some", "pattern", "test", "match", "exec", "replaceAll", "maxLen", "words", "split", "result", "word", "next", "getContentSnippet", "maxLines", "abstract", "filter", "startsWith", "join", "setFallbackName", "doc", "name", "fallbackName", "update", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "make", "MarkdownPlugin", "Plugin", "lazy", "meta"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2068,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/capabilities.ts":{"bytes":4801,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/events.ts":{"bytes":1371,"imports":[{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/types.ts":{"bytes":1436,"imports":[],"format":"esm"},"src/types/Settings.ts":{"bytes":5862,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/ui-editor/types","kind":"import-statement","external":true}],"format":"esm"},"src/types/Markdown.ts":{"bytes":5527,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/Settings.ts","kind":"import-statement","original":"./Settings"}],"format":"esm"},"src/types/index.ts":{"bytes":859,"imports":[{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/types/events.ts","kind":"import-statement","original":"./events"},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"},{"path":"src/types/Markdown.ts","kind":"import-statement","original":"./Markdown"},{"path":"src/types/Settings.ts","kind":"import-statement","original":"./Settings"}],"format":"esm"},"src/util.tsx":{"bytes":12802,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"src/util.tsx","kind":"import-statement","original":"./util"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/operations/definitions.ts":{"bytes":12968,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/ui-editor/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/blueprints/markdown-blueprint.ts":{"bytes":4100,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"../operations/definitions"}],"format":"esm"},"src/blueprints/index.ts":{"bytes":537,"imports":[{"path":"src/blueprints/markdown-blueprint.ts","kind":"import-statement","original":"./markdown-blueprint"}],"format":"esm"},"src/operations/create.ts":{"bytes":2467,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/create-markdown.ts":{"bytes":1792,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/open.ts":{"bytes":2089,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/scroll-to-anchor.ts":{"bytes":5166,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/set-view-mode.ts":{"bytes":2500,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/update-markdown.ts":{"bytes":6182,"imports":[{"path":"@automerge/automerge","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/index.ts":{"bytes":1579,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/create.ts","kind":"dynamic-import","original":"./create"},{"path":"src/operations/create-markdown.ts","kind":"dynamic-import","original":"./create-markdown"},{"path":"src/operations/open.ts","kind":"dynamic-import","original":"./open"},{"path":"src/operations/scroll-to-anchor.ts","kind":"dynamic-import","original":"./scroll-to-anchor"},{"path":"src/operations/set-view-mode.ts","kind":"dynamic-import","original":"./set-view-mode"},{"path":"src/operations/update-markdown.ts","kind":"dynamic-import","original":"./update-markdown"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/set-view-mode-JEDC5ZL7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1316},"dist/lib/node-esm/set-view-mode-JEDC5ZL7.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/set-view-mode.ts","inputs":{"src/operations/set-view-mode.ts":{"bytesInOutput":456}},"bytes":800},"dist/lib/node-esm/update-markdown-AXLYHK6S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3333},"dist/lib/node-esm/update-markdown-AXLYHK6S.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"@automerge/automerge","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/update-markdown.ts","inputs":{"src/operations/update-markdown.ts":{"bytesInOutput":1352}},"bytes":1665},"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8052},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["Markdown","MarkdownCapabilities","MarkdownEvents","MarkdownPlugin","MarkdownStateSchema","Settings","getContentSnippet","getFallbackName","isEditorModel","isMarkdownProperties","meta","serializer","setFallbackName"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":111},"src/meta.ts":{"bytesInOutput":559},"src/util.tsx":{"bytesInOutput":2584}},"bytes":3872},"dist/lib/node-esm/blueprints/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2002},"dist/lib/node-esm/blueprints/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["MarkdownBlueprint"],"entryPoint":"src/blueprints/index.ts","inputs":{"src/blueprints/markdown-blueprint.ts":{"bytesInOutput":1120},"src/blueprints/index.ts":{"bytesInOutput":0}},"bytes":1450},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"}],"exports":["Markdown","MarkdownCapabilities","MarkdownEvents","MarkdownStateSchema","Settings"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":412},"dist/lib/node-esm/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":807},"dist/lib/node-esm/operations/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/create-6JGQPPQ6.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/create-markdown-KXSM2I2M.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/open-GB6HNBHS.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/scroll-to-anchor-UABP74RR.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/set-view-mode-JEDC5ZL7.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/update-markdown-AXLYHK6S.mjs","kind":"dynamic-import"}],"exports":["MarkdownOperation","MarkdownOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/index.ts":{"bytesInOutput":386}},"bytes":722},"dist/lib/node-esm/create-6JGQPPQ6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1350},"dist/lib/node-esm/create-6JGQPPQ6.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/create.ts","inputs":{"src/operations/create.ts":{"bytesInOutput":463}},"bytes":777},"dist/lib/node-esm/create-markdown-KXSM2I2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":956},"dist/lib/node-esm/create-markdown-KXSM2I2M.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/create-markdown.ts","inputs":{"src/operations/create-markdown.ts":{"bytesInOutput":286}},"bytes":635},"dist/lib/node-esm/open-GB6HNBHS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1154},"dist/lib/node-esm/open-GB6HNBHS.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/open.ts","inputs":{"src/operations/open.ts":{"bytesInOutput":378}},"bytes":656},"dist/lib/node-esm/scroll-to-anchor-UABP74RR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2741},"dist/lib/node-esm/scroll-to-anchor-UABP74RR.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MWYFGI2J.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/scroll-to-anchor.ts","inputs":{"src/operations/scroll-to-anchor.ts":{"bytesInOutput":1108}},"bytes":1464},"dist/lib/node-esm/chunk-MWYFGI2J.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6304},"dist/lib/node-esm/chunk-MWYFGI2J.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/ui-editor/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["Create","CreateMarkdown","Open","ScrollToAnchor","SetViewMode","Update","definitions_exports"],"inputs":{"src/operations/definitions.ts":{"bytesInOutput":3666}},"bytes":4021},"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9186},"dist/lib/node-esm/chunk-ZE6QJ4S5.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/ui-editor/types","kind":"import-statement","external":true}],"exports":["MarkdownCapabilities","MarkdownEvents","MarkdownStateSchema","Markdown_exports","Settings_exports","__export"],"inputs":{"src/types/capabilities.ts":{"bytesInOutput":825},"src/types/index.ts":{"bytesInOutput":0},"src/types/events.ts":{"bytesInOutput":302},"src/types/Markdown.ts":{"bytesInOutput":1157},"src/types/Settings.ts":{"bytesInOutput":1584}},"bytes":4432}}}
@@ -1,21 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- Open
4
- } from "./chunk-MWYFGI2J.mjs";
5
- import "./chunk-ZE6QJ4S5.mjs";
6
-
7
- // src/operations/open.ts
8
- import * as Effect from "effect/Effect";
9
- import { Operation } from "@dxos/compute";
10
- import { Database } from "@dxos/echo";
11
- var handler = Open.pipe(Operation.withHandler(Effect.fn(function* ({ doc }) {
12
- const { content } = yield* doc.pipe(Database.load, Effect.map((_) => _.content), Effect.flatMap(Database.load));
13
- return {
14
- content
15
- };
16
- })));
17
- var open_default = handler;
18
- export {
19
- open_default as default
20
- };
21
- //# sourceMappingURL=open-GB6HNBHS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/open.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nimport { Open } from './definitions';\n\nconst handler: Operation.WithHandler<typeof Open> = Open.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ doc }) {\n const { content } = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n return { content };\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAMC,UAA8CC,KAAKC,KACvDC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAG,GAAE;AAC1B,QAAM,EAAEC,QAAO,IAAK,OAAOD,IAAIJ,KAC7BM,SAASC,MACFC,WAAI,CAACC,MAAMA,EAAEJ,OAAO,GACpBK,eAAQJ,SAASC,IAAI,CAAA;AAE9B,SAAO;IAAEF;EAAQ;AACnB,CAAA,CAAA,CAAA;AAIJ,IAAA,eAAeP;",
6
- "names": ["Effect", "Operation", "Database", "handler", "Open", "pipe", "Operation", "withHandler", "fn", "doc", "content", "Database", "load", "map", "_", "flatMap"]
7
- }
@@ -1,14 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- definitions_exports
4
- } from "../chunk-MWYFGI2J.mjs";
5
- import "../chunk-ZE6QJ4S5.mjs";
6
-
7
- // src/operations/index.ts
8
- import { OperationHandlerSet } from "@dxos/compute";
9
- var MarkdownOperationHandlerSet = OperationHandlerSet.lazy(() => import("../create-6JGQPPQ6.mjs"), () => import("../create-markdown-KXSM2I2M.mjs"), () => import("../open-GB6HNBHS.mjs"), () => import("../scroll-to-anchor-UABP74RR.mjs"), () => import("../set-view-mode-JEDC5ZL7.mjs"), () => import("../update-markdown-AXLYHK6S.mjs"));
10
- export {
11
- definitions_exports as MarkdownOperation,
12
- MarkdownOperationHandlerSet
13
- };
14
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/operations/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * as MarkdownOperation from './definitions';\n\nexport const MarkdownOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./create'),\n () => import('./create-markdown'),\n () => import('./open'),\n () => import('./scroll-to-anchor'),\n () => import('./set-view-mode'),\n () => import('./update-markdown'),\n);\n"],
5
- "mappings": ";;;;;;;AAIA,SAASA,2BAA2B;AAI7B,IAAMC,8BAA8BD,oBAAoBE,KAC7D,MAAM,OAAO,wBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,sBAAA,GACb,MAAM,OAAO,kCAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,iCAAA,CAAA;",
6
- "names": ["OperationHandlerSet", "MarkdownOperationHandlerSet", "lazy"]
7
- }
@@ -1,49 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ScrollToAnchor
4
- } from "./chunk-MWYFGI2J.mjs";
5
- import {
6
- MarkdownCapabilities
7
- } from "./chunk-ZE6QJ4S5.mjs";
8
-
9
- // src/operations/scroll-to-anchor.ts
10
- import { EditorView } from "@codemirror/view";
11
- import * as Effect from "effect/Effect";
12
- import { Capability } from "@dxos/app-framework";
13
- import { Operation } from "@dxos/compute";
14
- import { Cursor, setSelection } from "@dxos/ui-editor";
15
- var handler = ScrollToAnchor.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ subject, cursor }) {
16
- const editorViews = yield* Capability.get(MarkdownCapabilities.EditorViews);
17
- const entry = editorViews.get(subject);
18
- if (!entry) {
19
- return;
20
- }
21
- const range = Cursor.getRangeFromCursor(entry.view.state, cursor);
22
- if (range) {
23
- const selection = entry.view.state.selection.main.from !== range.from ? {
24
- anchor: range.from
25
- } : void 0;
26
- const effects = [
27
- EditorView.scrollIntoView(range.from, {
28
- y: "start",
29
- yMargin: 96
30
- })
31
- ];
32
- if (selection) {
33
- effects.push(setSelection.of({
34
- current: entry.documentId
35
- }));
36
- }
37
- entry.view.dispatch({
38
- effects,
39
- selection: selection ? {
40
- anchor: range.from
41
- } : void 0
42
- });
43
- }
44
- })));
45
- var scroll_to_anchor_default = handler;
46
- export {
47
- scroll_to_anchor_default as default
48
- };
49
- //# sourceMappingURL=scroll-to-anchor-UABP74RR.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/scroll-to-anchor.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Cursor, setSelection } from '@dxos/ui-editor';\n\nimport { MarkdownCapabilities } from '../types';\nimport { ScrollToAnchor } from './definitions';\n\nconst handler: Operation.WithHandler<typeof ScrollToAnchor> = ScrollToAnchor.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ subject, cursor }) {\n const editorViews = yield* Capability.get(MarkdownCapabilities.EditorViews);\n const entry = editorViews.get(subject);\n if (!entry) {\n return;\n }\n const range = Cursor.getRangeFromCursor(entry.view.state, cursor);\n if (range) {\n const selection = entry.view.state.selection.main.from !== range.from ? { anchor: range.from } : undefined;\n const effects: any[] = [EditorView.scrollIntoView(range.from, { y: 'start', yMargin: 96 })];\n if (selection) {\n effects.push(setSelection.of({ current: entry.documentId }));\n }\n entry.view.dispatch({\n effects,\n selection: selection ? { anchor: range.from } : undefined,\n });\n }\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;AAIA,SAASA,kBAAkB;AAC3B,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,oBAAoB;AAKrC,IAAMC,UAAwDC,eAAeC,KAC3EC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,SAASC,OAAM,GAAE;AAC9C,QAAMC,cAAc,OAAOC,WAAWC,IAAIC,qBAAqBC,WAAW;AAC1E,QAAMC,QAAQL,YAAYE,IAAIJ,OAAAA;AAC9B,MAAI,CAACO,OAAO;AACV;EACF;AACA,QAAMC,QAAQC,OAAOC,mBAAmBH,MAAMI,KAAKC,OAAOX,MAAAA;AAC1D,MAAIO,OAAO;AACT,UAAMK,YAAYN,MAAMI,KAAKC,MAAMC,UAAUC,KAAKC,SAASP,MAAMO,OAAO;MAAEC,QAAQR,MAAMO;IAAK,IAAIE;AACjG,UAAMC,UAAiB;MAACC,WAAWC,eAAeZ,MAAMO,MAAM;QAAEM,GAAG;QAASC,SAAS;MAAG,CAAA;;AACxF,QAAIT,WAAW;AACbK,cAAQK,KAAKC,aAAaC,GAAG;QAAEC,SAASnB,MAAMoB;MAAW,CAAA,CAAA;IAC3D;AACApB,UAAMI,KAAKiB,SAAS;MAClBV;MACAL,WAAWA,YAAY;QAAEG,QAAQR,MAAMO;MAAK,IAAIE;IAClD,CAAA;EACF;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,2BAAevB;",
6
- "names": ["EditorView", "Effect", "Capability", "Operation", "Cursor", "setSelection", "handler", "ScrollToAnchor", "pipe", "Operation", "withHandler", "fnUntraced", "subject", "cursor", "editorViews", "Capability", "get", "MarkdownCapabilities", "EditorViews", "entry", "range", "Cursor", "getRangeFromCursor", "view", "state", "selection", "main", "from", "anchor", "undefined", "effects", "EditorView", "scrollIntoView", "y", "yMargin", "push", "setSelection", "of", "current", "documentId", "dispatch"]
7
- }
@@ -1,26 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- SetViewMode
4
- } from "./chunk-MWYFGI2J.mjs";
5
- import {
6
- MarkdownCapabilities
7
- } from "./chunk-ZE6QJ4S5.mjs";
8
-
9
- // src/operations/set-view-mode.ts
10
- import * as Effect from "effect/Effect";
11
- import { Capabilities } from "@dxos/app-framework";
12
- import { Operation } from "@dxos/compute";
13
- var handler = SetViewMode.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ id, viewMode }) {
14
- yield* Capabilities.updateAtomValue(MarkdownCapabilities.State, (current) => ({
15
- ...current,
16
- viewMode: {
17
- ...current.viewMode,
18
- [id]: viewMode
19
- }
20
- }));
21
- })));
22
- var set_view_mode_default = handler;
23
- export {
24
- set_view_mode_default as default
25
- };
26
- //# sourceMappingURL=set-view-mode-JEDC5ZL7.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/set-view-mode.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\n\nimport { MarkdownCapabilities } from '../types';\nimport { SetViewMode } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SetViewMode> = SetViewMode.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ id, viewMode }) {\n yield* Capabilities.updateAtomValue(MarkdownCapabilities.State, (current) => ({\n ...current,\n viewMode: { ...current.viewMode, [id]: viewMode },\n }));\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAK1B,IAAMC,UAAqDC,YAAYC,KACrEC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,IAAIC,SAAQ,GAAE;AAC3C,SAAOC,aAAaC,gBAAgBC,qBAAqBC,OAAO,CAACC,aAAa;IAC5E,GAAGA;IACHL,UAAU;MAAE,GAAGK,QAAQL;MAAU,CAACD,EAAAA,GAAKC;IAAS;EAClD,EAAA;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,wBAAeP;",
6
- "names": ["Effect", "Capabilities", "Operation", "handler", "SetViewMode", "pipe", "Operation", "withHandler", "fnUntraced", "id", "viewMode", "Capabilities", "updateAtomValue", "MarkdownCapabilities", "State", "current"]
7
- }
@@ -1,16 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- MarkdownCapabilities,
4
- MarkdownEvents,
5
- MarkdownStateSchema,
6
- Markdown_exports,
7
- Settings_exports
8
- } from "../chunk-ZE6QJ4S5.mjs";
9
- export {
10
- Markdown_exports as Markdown,
11
- MarkdownCapabilities,
12
- MarkdownEvents,
13
- MarkdownStateSchema,
14
- Settings_exports as Settings
15
- };
16
- //# sourceMappingURL=index.mjs.map
@@ -1,45 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- Update
4
- } from "./chunk-MWYFGI2J.mjs";
5
- import "./chunk-ZE6QJ4S5.mjs";
6
-
7
- // src/operations/update-markdown.ts
8
- import { next as A } from "@automerge/automerge";
9
- import * as Effect from "effect/Effect";
10
- import { Operation } from "@dxos/compute";
11
- import { Database } from "@dxos/echo";
12
- import { DocAccessor, createDocAccessor } from "@dxos/echo-db";
13
- var handler = Update.pipe(Operation.withHandler(Effect.fn(function* ({ doc, edits }) {
14
- const content = yield* doc.pipe(Database.load, Effect.map((_) => _.content), Effect.flatMap(Database.load));
15
- const accessor = createDocAccessor(content, [
16
- "content"
17
- ]);
18
- for (const edit of edits) {
19
- accessor.handle.change((doc2) => {
20
- const text = DocAccessor.getValue(accessor);
21
- if (edit.replaceAll) {
22
- let idx = text.indexOf(edit.oldString);
23
- while (idx !== -1) {
24
- A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
25
- const updated = DocAccessor.getValue(accessor);
26
- idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
27
- }
28
- } else {
29
- const idx = text.indexOf(edit.oldString);
30
- if (idx === -1) {
31
- throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
32
- }
33
- A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
34
- }
35
- });
36
- }
37
- return {
38
- newContent: DocAccessor.getValue(accessor)
39
- };
40
- })));
41
- var update_markdown_default = handler;
42
- export {
43
- update_markdown_default as default
44
- };
45
- //# sourceMappingURL=update-markdown-AXLYHK6S.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/update-markdown.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A, type Doc } from '@automerge/automerge';\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\nimport { DocAccessor, createDocAccessor } from '@dxos/echo-db';\n\nimport { Update } from './definitions';\n\nconst handler: Operation.WithHandler<typeof Update> = Update.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ doc, edits }) {\n const content = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n const accessor = createDocAccessor(content, ['content']);\n\n for (const edit of edits) {\n accessor.handle.change((doc: Doc<typeof content>) => {\n const text = DocAccessor.getValue<string>(accessor);\n if (edit.replaceAll) {\n let idx = text.indexOf(edit.oldString);\n while (idx !== -1) {\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n const updated = DocAccessor.getValue<string>(accessor);\n idx = updated.indexOf(edit.oldString, idx + edit.newString.length);\n }\n } else {\n const idx = text.indexOf(edit.oldString);\n if (idx === -1) {\n throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);\n }\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n }\n });\n }\n\n return {\n newContent: DocAccessor.getValue<string>(accessor),\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;AAIA,SAASA,QAAQC,SAAmB;AACpC,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,aAAaC,yBAAyB;AAI/C,IAAMC,UAAgDC,OAAOC,KAC3DC,UAAUC,YACDC,UAAG,WAAW,EAAEC,KAAKC,MAAK,GAAE;AACjC,QAAMC,UAAU,OAAOF,IAAIJ,KACzBO,SAASC,MACFC,WAAI,CAACC,MAAMA,EAAEJ,OAAO,GACpBK,eAAQJ,SAASC,IAAI,CAAA;AAE9B,QAAMI,WAAWC,kBAAkBP,SAAS;IAAC;GAAU;AAEvD,aAAWQ,QAAQT,OAAO;AACxBO,aAASG,OAAOC,OAAO,CAACZ,SAAAA;AACtB,YAAMa,OAAOC,YAAYC,SAAiBP,QAAAA;AAC1C,UAAIE,KAAKM,YAAY;AACnB,YAAIC,MAAMJ,KAAKK,QAAQR,KAAKS,SAAS;AACrC,eAAOF,QAAQ,IAAI;AACjBG,YAAEC,OAAOrB,MAAKQ,SAASc,MAAkBL,KAAKP,KAAKS,UAAUI,QAAQb,KAAKc,SAAS;AACnF,gBAAMC,UAAUX,YAAYC,SAAiBP,QAAAA;AAC7CS,gBAAMQ,QAAQP,QAAQR,KAAKS,WAAWF,MAAMP,KAAKc,UAAUD,MAAM;QACnE;MACF,OAAO;AACL,cAAMN,MAAMJ,KAAKK,QAAQR,KAAKS,SAAS;AACvC,YAAIF,QAAQ,IAAI;AACd,gBAAM,IAAIS,MAAM,mBAAmBC,KAAKC,UAAUlB,KAAKS,SAAS,CAAA,EAAG;QACrE;AACAC,UAAEC,OAAOrB,MAAKQ,SAASc,MAAkBL,KAAKP,KAAKS,UAAUI,QAAQb,KAAKc,SAAS;MACrF;IACF,CAAA;EACF;AAEA,SAAO;IACLK,YAAYf,YAAYC,SAAiBP,QAAAA;EAC3C;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,0BAAed;",
6
- "names": ["next", "A", "Effect", "Operation", "Database", "DocAccessor", "createDocAccessor", "handler", "Update", "pipe", "Operation", "withHandler", "fn", "doc", "edits", "content", "Database", "load", "map", "_", "flatMap", "accessor", "createDocAccessor", "edit", "handle", "change", "text", "DocAccessor", "getValue", "replaceAll", "idx", "indexOf", "oldString", "A", "splice", "path", "length", "newString", "updated", "Error", "JSON", "stringify", "newContent"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownEditableCard.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MarkdownCard/MarkdownEditableCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,yBAAyB,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;CAAE,CAAC;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,yBAAyB,sBAiB1E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MarkdownContainer/MarkdownContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAK/D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,QAAQ,EAAwB,KAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,kBAAkB,CAChE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAC7B;IACE,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,GACjD,IAAI,CAAC,2BAA2B,EAAE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CAAC,GACrF,IAAI,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CACvD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;QARtB,MAAM;cACA,QAAQ,CAAC,QAAQ;uBACR,gBAAgB;;;wCAgHtC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownContainer.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MarkdownContainer/MarkdownContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAkB,MAAM,OAAO,CAAC;AA6DvC,QAAA,MAAM,IAAI;;;;;;;YAqDM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGc,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -1,3 +0,0 @@
1
- export { MarkdownContainer, type MarkdownContainerProps } from './MarkdownContainer';
2
- export { MarkdownContainer as default } from './MarkdownContainer';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MarkdownContainer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../src/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAO,MAAM,YAAY,CAAC;AAsB3C,eAAO,MAAM,MAAM;;;;;oBAgBjB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;sBAUzB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;oBAef,CAAC;AAEH,eAAO,MAAM,cAAc;;;;4BASzB,CAAC;AAGH,eAAO,MAAM,WAAW;;;4BAQtB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;oBAoBjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/types/capabilities.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB;;GAI/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,GAAG,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;CAC5D,CAAC;AAEF,yBAAiB,oBAAoB,CAAC,CAAC;IAC9B,MAAM,QAAQ,sGAAsF,CAAC;IAE5G,uDAAuD;IAChD,MAAM,KAAK,sEAA+E,CAAC;IAElG,kEAAkE;IAC3D,MAAM,WAAW,2CAA0E,CAAC;IAEnG,sEAAsE;IAC/D,MAAM,WAAW,6CAA4E,CAAC;IAG9F,MAAM,UAAU,sDAAmF,CAAC;CAC5G"}
@@ -1,5 +0,0 @@
1
- import { type ActivationEvent } from '@dxos/app-framework';
2
- export declare namespace MarkdownEvents {
3
- const SetupExtensions: ActivationEvent.ActivationEvent;
4
- }
5
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,yBAAiB,cAAc,CAAC,CAAC;IACxB,MAAM,eAAe,EAAE,eAAe,CAAC,eAE7C,CAAC;CACH"}
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export { MarkdownContainer, type MarkdownContainerProps } from './MarkdownContainer';
6
- export { MarkdownContainer as default } from './MarkdownContainer';
@@ -1,14 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { type ActivationEvent } from '@dxos/app-framework';
6
- import { AppActivationEvents } from '@dxos/app-toolkit';
7
-
8
- import { meta } from '#meta';
9
-
10
- export namespace MarkdownEvents {
11
- export const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(
12
- `${meta.id}.event.setup-extensions`,
13
- );
14
- }