@dxos/plugin-markdown 0.6.13 → 0.6.14-main.69511f5

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 (127) hide show
  1. package/dist/lib/browser/MarkdownContainer-HRGXWEA4.mjs +465 -0
  2. package/dist/lib/browser/MarkdownContainer-HRGXWEA4.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-DRJ3FPYF.mjs +15 -0
  4. package/dist/lib/browser/chunk-DRJ3FPYF.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-CQJL4G4X.mjs → chunk-US5O2P3R.mjs} +4 -2
  6. package/dist/lib/browser/chunk-US5O2P3R.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-VGIHBUXB.mjs +52 -0
  8. package/dist/lib/browser/chunk-VGIHBUXB.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +85 -125
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/meta.mjs +1 -1
  13. package/dist/lib/browser/types/index.mjs +6 -4
  14. package/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs +480 -0
  15. package/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs.map +7 -0
  16. package/dist/lib/node/chunk-6HPTH2F5.cjs +74 -0
  17. package/dist/lib/node/chunk-6HPTH2F5.cjs.map +7 -0
  18. package/dist/lib/node/{DocumentCard-EHJDDSRY.cjs → chunk-P7YU53RP.cjs} +16 -10
  19. package/dist/lib/node/chunk-P7YU53RP.cjs.map +7 -0
  20. package/dist/lib/node/{chunk-VWQH4WC2.cjs → chunk-UJMOZCIA.cjs} +11 -8
  21. package/dist/lib/node/chunk-UJMOZCIA.cjs.map +7 -0
  22. package/dist/lib/node/index.cjs +117 -153
  23. package/dist/lib/node/index.cjs.map +4 -4
  24. package/dist/lib/node/meta.cjs +3 -3
  25. package/dist/lib/node/meta.cjs.map +1 -1
  26. package/dist/lib/node/meta.json +1 -1
  27. package/dist/lib/node/types/index.cjs +8 -6
  28. package/dist/lib/node/types/index.cjs.map +2 -2
  29. package/dist/lib/node-esm/MarkdownContainer-FSWQL76V.mjs +466 -0
  30. package/dist/lib/node-esm/MarkdownContainer-FSWQL76V.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-HPOTHJC4.mjs +53 -0
  32. package/dist/lib/node-esm/chunk-HPOTHJC4.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-MIDCCMIX.mjs +42 -0
  34. package/dist/lib/node-esm/chunk-MIDCCMIX.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs +17 -0
  36. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs.map +7 -0
  37. package/dist/lib/node-esm/index.mjs +493 -0
  38. package/dist/lib/node-esm/index.mjs.map +7 -0
  39. package/dist/lib/node-esm/meta.json +1 -0
  40. package/dist/lib/node-esm/meta.mjs +10 -0
  41. package/dist/lib/node-esm/types/index.mjs +15 -0
  42. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  43. package/dist/types/src/components/MarkdownContainer.d.ts +15 -0
  44. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -0
  45. package/dist/types/src/components/MarkdownEditor.d.ts +12 -6
  46. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  47. package/dist/types/src/components/MarkdownEditor.stories.d.ts +4 -14
  48. package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -1
  49. package/dist/types/src/components/Toolbar.stories.d.ts +4 -2
  50. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/index.d.ts +1 -11
  52. package/dist/types/src/components/index.d.ts.map +1 -1
  53. package/dist/types/src/extensions.d.ts +12 -15
  54. package/dist/types/src/extensions.d.ts.map +1 -1
  55. package/dist/types/src/hooks/index.d.ts +2 -0
  56. package/dist/types/src/hooks/index.d.ts.map +1 -0
  57. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +6 -0
  58. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -0
  59. package/dist/types/src/meta.d.ts +4 -9
  60. package/dist/types/src/meta.d.ts.map +1 -1
  61. package/dist/types/src/types/document.d.ts +10 -1
  62. package/dist/types/src/types/document.d.ts.map +1 -1
  63. package/dist/types/src/types/types.d.ts +8 -9
  64. package/dist/types/src/types/types.d.ts.map +1 -1
  65. package/dist/types/src/util.d.ts.map +1 -1
  66. package/package.json +42 -45
  67. package/src/MarkdownPlugin.tsx +58 -113
  68. package/src/components/MarkdownContainer.tsx +103 -0
  69. package/src/components/MarkdownEditor.stories.tsx +34 -23
  70. package/src/components/MarkdownEditor.tsx +48 -79
  71. package/src/components/MarkdownSettings.tsx +15 -15
  72. package/src/components/Toolbar.stories.tsx +14 -11
  73. package/src/components/index.ts +2 -14
  74. package/src/extensions.tsx +128 -67
  75. package/src/hooks/index.ts +5 -0
  76. package/src/hooks/useSelectCurrentThread.tsx +46 -0
  77. package/src/meta.ts +15 -0
  78. package/src/translations.ts +1 -1
  79. package/src/types/document.ts +12 -0
  80. package/src/types/types.ts +10 -7
  81. package/src/util.tsx +6 -4
  82. package/dist/lib/browser/DocumentCard-2P4EICBA.mjs +0 -11
  83. package/dist/lib/browser/DocumentEditor-GPWV3VN3.mjs +0 -11
  84. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs +0 -10
  85. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs.map +0 -7
  86. package/dist/lib/browser/chunk-354DCID5.mjs +0 -117
  87. package/dist/lib/browser/chunk-354DCID5.mjs.map +0 -7
  88. package/dist/lib/browser/chunk-4GGD6YJO.mjs +0 -19
  89. package/dist/lib/browser/chunk-4GGD6YJO.mjs.map +0 -7
  90. package/dist/lib/browser/chunk-7AF2JLK4.mjs +0 -164
  91. package/dist/lib/browser/chunk-7AF2JLK4.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-CQJL4G4X.mjs.map +0 -7
  93. package/dist/lib/browser/chunk-RL7QY322.mjs +0 -86
  94. package/dist/lib/browser/chunk-RL7QY322.mjs.map +0 -7
  95. package/dist/lib/browser/chunk-VUN4QKTT.mjs +0 -208
  96. package/dist/lib/browser/chunk-VUN4QKTT.mjs.map +0 -7
  97. package/dist/lib/node/DocumentCard-EHJDDSRY.cjs.map +0 -7
  98. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs +0 -29
  99. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs.map +0 -7
  100. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs +0 -31
  101. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs.map +0 -7
  102. package/dist/lib/node/chunk-7XIBNEI7.cjs +0 -238
  103. package/dist/lib/node/chunk-7XIBNEI7.cjs.map +0 -7
  104. package/dist/lib/node/chunk-KTYIOXL5.cjs +0 -149
  105. package/dist/lib/node/chunk-KTYIOXL5.cjs.map +0 -7
  106. package/dist/lib/node/chunk-Q4ZSCBQE.cjs +0 -114
  107. package/dist/lib/node/chunk-Q4ZSCBQE.cjs.map +0 -7
  108. package/dist/lib/node/chunk-RVGN72IX.cjs +0 -189
  109. package/dist/lib/node/chunk-RVGN72IX.cjs.map +0 -7
  110. package/dist/lib/node/chunk-TGMR2CKU.cjs +0 -52
  111. package/dist/lib/node/chunk-TGMR2CKU.cjs.map +0 -7
  112. package/dist/lib/node/chunk-VWQH4WC2.cjs.map +0 -7
  113. package/dist/types/src/components/DocumentCard.d.ts +0 -16
  114. package/dist/types/src/components/DocumentCard.d.ts.map +0 -1
  115. package/dist/types/src/components/DocumentEditor.d.ts +0 -14
  116. package/dist/types/src/components/DocumentEditor.d.ts.map +0 -1
  117. package/dist/types/src/components/HeadingMenu.d.ts +0 -13
  118. package/dist/types/src/components/HeadingMenu.d.ts.map +0 -1
  119. package/dist/types/src/components/Layout.d.ts +0 -6
  120. package/dist/types/src/components/Layout.d.ts.map +0 -1
  121. package/src/components/DocumentCard.tsx +0 -107
  122. package/src/components/DocumentEditor.tsx +0 -137
  123. package/src/components/HeadingMenu.tsx +0 -46
  124. package/src/components/Layout.tsx +0 -27
  125. package/src/meta.tsx +0 -19
  126. /package/dist/lib/{browser/DocumentCard-2P4EICBA.mjs.map → node-esm/meta.mjs.map} +0 -0
  127. /package/dist/lib/{browser/DocumentEditor-GPWV3VN3.mjs.map → node-esm/types/index.mjs.map} +0 -0
@@ -16,17 +16,23 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var DocumentCard_EHJDDSRY_exports = {};
20
- __export(DocumentCard_EHJDDSRY_exports, {
21
- DocumentCard: () => import_chunk_Q4ZSCBQE.DocumentCard,
22
- default: () => import_chunk_Q4ZSCBQE.DocumentCard_default
19
+ var chunk_P7YU53RP_exports = {};
20
+ __export(chunk_P7YU53RP_exports, {
21
+ MARKDOWN_PLUGIN: () => MARKDOWN_PLUGIN,
22
+ meta_default: () => meta_default
23
23
  });
24
- module.exports = __toCommonJS(DocumentCard_EHJDDSRY_exports);
25
- var import_chunk_Q4ZSCBQE = require("./chunk-Q4ZSCBQE.cjs");
26
- var import_chunk_KTYIOXL5 = require("./chunk-KTYIOXL5.cjs");
27
- var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
24
+ module.exports = __toCommonJS(chunk_P7YU53RP_exports);
25
+ var MARKDOWN_PLUGIN = "dxos.org/plugin/markdown";
26
+ var meta_default = {
27
+ id: MARKDOWN_PLUGIN,
28
+ name: "Markdown Editor",
29
+ description: "Text editor supporting extended Markdown.",
30
+ homePage: "https://github.com/dxos/dxos/tree/main/packages/apps/plugins/plugin-markdown",
31
+ icon: "ph--text-aa--regular"
32
+ };
28
33
  // Annotate the CommonJS export names for ESM import in node:
29
34
  0 && (module.exports = {
30
- DocumentCard
35
+ MARKDOWN_PLUGIN,
36
+ meta_default
31
37
  });
32
- //# sourceMappingURL=DocumentCard-EHJDDSRY.cjs.map
38
+ //# sourceMappingURL=chunk-P7YU53RP.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const MARKDOWN_PLUGIN = 'dxos.org/plugin/markdown';\n\nexport default {\n id: MARKDOWN_PLUGIN,\n name: 'Markdown Editor',\n description: 'Text editor supporting extended Markdown.',\n homePage: 'https://github.com/dxos/dxos/tree/main/packages/apps/plugins/plugin-markdown',\n icon: 'ph--text-aa--regular',\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,kBAAkB;AAE/B,IAAA,eAAe;EACbC,IAAID;EACJE,MAAM;EACNC,aAAa;EACbC,UAAU;EACVC,MAAM;AACR;",
6
+ "names": ["MARKDOWN_PLUGIN", "id", "name", "description", "homePage", "icon"]
7
+ }
@@ -16,14 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_VWQH4WC2_exports = {};
20
- __export(chunk_VWQH4WC2_exports, {
19
+ var chunk_UJMOZCIA_exports = {};
20
+ __export(chunk_UJMOZCIA_exports, {
21
21
  DocumentType: () => DocumentType,
22
22
  MarkdownAction: () => MarkdownAction,
23
- TextType: () => TextType
23
+ TextType: () => TextType,
24
+ isEditorModel: () => isEditorModel
24
25
  });
25
- module.exports = __toCommonJS(chunk_VWQH4WC2_exports);
26
- var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
26
+ module.exports = __toCommonJS(chunk_UJMOZCIA_exports);
27
+ var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
27
28
  var import_echo_schema = require("@dxos/echo-schema");
28
29
  var import_types = require("@dxos/plugin-space/types");
29
30
  var TextType = class extends (0, import_echo_schema.TypedObject)({
@@ -43,7 +44,8 @@ var DocumentType = class extends (0, import_echo_schema.TypedObject)({
43
44
  threads: import_echo_schema.S.mutable(import_echo_schema.S.Array((0, import_echo_schema.ref)(import_types.ThreadType)))
44
45
  }) {
45
46
  };
46
- var MARKDOWN_ACTION = `${import_chunk_TGMR2CKU.MARKDOWN_PLUGIN}/action`;
47
+ var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
48
+ var MARKDOWN_ACTION = `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/action`;
47
49
  var MarkdownAction;
48
50
  (function(MarkdownAction2) {
49
51
  MarkdownAction2[MarkdownAction2["CREATE"] = `${MARKDOWN_ACTION}/create`] = "CREATE";
@@ -53,6 +55,7 @@ var MarkdownAction;
53
55
  0 && (module.exports = {
54
56
  DocumentType,
55
57
  MarkdownAction,
56
- TextType
58
+ TextType,
59
+ isEditorModel
57
60
  });
58
- //# sourceMappingURL=chunk-VWQH4WC2.cjs.map
61
+ //# sourceMappingURL=chunk-UJMOZCIA.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/document.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { ThreadType } from '@dxos/plugin-space/types';\n\nexport class TextType extends TypedObject({ typename: 'dxos.org/type/Text', version: '0.1.0' })({\n content: S.String,\n}) {}\n\nexport class DocumentType extends TypedObject({ typename: 'dxos.org/type/Document', version: '0.1.0' })({\n name: S.optional(S.String),\n fallbackName: S.optional(S.String),\n content: ref(TextType),\n threads: S.mutable(S.Array(ref(ThreadType))),\n}) {}\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n GraphSerializerProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SettingsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { type SpaceInitProvides } from '@dxos/plugin-space';\nimport { type Extension, type EditorInputMode, type EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { type DocumentType } from './document';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport enum MarkdownAction {\n CREATE = `${MARKDOWN_ACTION}/create`,\n SET_VIEW_MODE = `${MARKDOWN_ACTION}/set-view-mode`,\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownExtensionProvides = {\n // TODO(burdon): Rename.\n markdown: {\n extensions: MarkdownExtensionProvider;\n };\n};\n\n// TODO(wittjosiah): Factor out to graph plugin?\ntype StackProvides = {\n stack: {\n creators?: Record<string, any>[];\n };\n};\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport type MarkdownSettingsProps = {\n defaultViewMode: EditorViewMode;\n editorInputMode?: EditorInputMode;\n experimental?: boolean;\n debug?: boolean;\n toolbar?: boolean;\n typewriter?: string;\n // TODO(burdon): Per document settings.\n numberedHeadings?: boolean;\n folding?: boolean;\n};\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location when we implement comments in sheets.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type MarkdownPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n GraphSerializerProvides &\n MetadataRecordsProvides &\n SettingsProvides<MarkdownSettingsProps> &\n TranslationsProvides &\n SchemaProvides &\n SpaceInitProvides &\n StackProvides &\n ThreadProvides<DocumentType>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAoC;AACpC,mBAA2B;AAEpB,IAAMA,WAAN,kBAAuBC,gCAAY;EAAEC,UAAU;EAAsBC,SAAS;AAAQ,CAAA,EAAG;EAC9FC,SAASC,qBAAEC;AACb,CAAA,EAAA;AAAI;AAEG,IAAMC,eAAN,kBAA2BN,gCAAY;EAAEC,UAAU;EAA0BC,SAAS;AAAQ,CAAA,EAAG;EACtGK,MAAMH,qBAAEI,SAASJ,qBAAEC,MAAM;EACzBI,cAAcL,qBAAEI,SAASJ,qBAAEC,MAAM;EACjCF,aAASO,wBAAIX,QAAAA;EACbY,SAASP,qBAAEQ,QAAQR,qBAAES,UAAMH,wBAAII,uBAAAA,CAAAA,CAAAA;AACjC,CAAA,EAAA;AAAI;AAMG,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;ACRvB,IAAMC,kBAAkB,GAAGC,qCAAAA;;UAEfC,iBAAAA;8CACD,GAAGF,eAAAA,SAAwB,IAAA;qDACpB,GAAGA,eAAAA,gBAA+B,IAAA;GAFxCE,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["TextType", "TypedObject", "typename", "version", "content", "S", "String", "DocumentType", "name", "optional", "fallbackName", "ref", "threads", "mutable", "Array", "ThreadType", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction"]
7
+ }
@@ -28,117 +28,102 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- DocumentType: () => import_chunk_VWQH4WC2.DocumentType,
32
- MarkdownAction: () => import_chunk_VWQH4WC2.MarkdownAction,
31
+ DocumentType: () => import_chunk_UJMOZCIA.DocumentType,
32
+ MarkdownAction: () => import_chunk_UJMOZCIA.MarkdownAction,
33
33
  MarkdownPlugin: () => MarkdownPlugin,
34
- TextType: () => import_chunk_VWQH4WC2.TextType,
34
+ TextType: () => import_chunk_UJMOZCIA.TextType,
35
35
  default: () => src_default,
36
- getFallbackName: () => import_chunk_RVGN72IX.getFallbackName,
37
- isMarkdownProperties: () => import_chunk_RVGN72IX.isMarkdownProperties,
38
- markdownExtensionPlugins: () => import_chunk_RVGN72IX.markdownExtensionPlugins,
39
- serializer: () => import_chunk_RVGN72IX.serializer,
40
- setFallbackName: () => import_chunk_RVGN72IX.setFallbackName
36
+ getFallbackName: () => import_chunk_6HPTH2F5.getFallbackName,
37
+ isEditorModel: () => import_chunk_UJMOZCIA.isEditorModel,
38
+ isMarkdownProperties: () => import_chunk_6HPTH2F5.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_6HPTH2F5.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_6HPTH2F5.serializer,
41
+ setFallbackName: () => import_chunk_6HPTH2F5.setFallbackName
41
42
  });
42
43
  module.exports = __toCommonJS(node_exports);
43
- var import_chunk_Q4ZSCBQE = require("./chunk-Q4ZSCBQE.cjs");
44
- var import_chunk_RVGN72IX = require("./chunk-RVGN72IX.cjs");
45
- var import_chunk_VWQH4WC2 = require("./chunk-VWQH4WC2.cjs");
46
- var import_chunk_KTYIOXL5 = require("./chunk-KTYIOXL5.cjs");
47
- var import_chunk_7XIBNEI7 = require("./chunk-7XIBNEI7.cjs");
48
- var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
44
+ var import_chunk_6HPTH2F5 = require("./chunk-6HPTH2F5.cjs");
45
+ var import_chunk_UJMOZCIA = require("./chunk-UJMOZCIA.cjs");
46
+ var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
49
47
  var import_react = require("@phosphor-icons/react");
50
48
  var import_react2 = __toESM(require("react"));
51
49
  var import_app_framework = require("@dxos/app-framework");
52
50
  var import_echo_schema = require("@dxos/echo-schema");
53
51
  var import_local_storage = require("@dxos/local-storage");
54
- var import_log = require("@dxos/log");
55
52
  var import_plugin_client = require("@dxos/plugin-client");
56
53
  var import_plugin_graph = require("@dxos/plugin-graph");
57
54
  var import_plugin_space = require("@dxos/plugin-space");
58
55
  var import_types = require("@dxos/plugin-space/types");
59
56
  var import_echo = require("@dxos/react-client/echo");
60
57
  var import_react_ui_editor = require("@dxos/react-ui-editor");
61
- var import_react_ui_mosaic = require("@dxos/react-ui-mosaic");
62
- var import_react3 = __toESM(require("react"));
63
- var import_react4 = require("@phosphor-icons/react");
64
- var import_react5 = __toESM(require("react"));
65
- var import_app_framework2 = require("@dxos/app-framework");
58
+ var import_react3 = require("react");
59
+ var import_react4 = __toESM(require("react"));
66
60
  var import_react_ui = require("@dxos/react-ui");
67
- var import_react_ui_theme = require("@dxos/react-ui-theme");
68
- var import_react6 = __toESM(require("react"));
69
- var import_react_ui2 = require("@dxos/react-ui");
61
+ var import_react_ui_data = require("@dxos/react-ui-data");
70
62
  var import_react_ui_editor2 = require("@dxos/react-ui-editor");
71
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
72
- var import_react7 = __toESM(require("react"));
73
- var import_plugin_settings = require("@dxos/plugin-settings");
74
- var import_react_ui3 = require("@dxos/react-ui");
75
- var import_react_ui_editor3 = require("@dxos/react-ui-editor");
76
63
  var MarkdownSettings = ({ settings }) => {
77
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN);
78
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
64
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_P7YU53RP.MARKDOWN_PLUGIN);
65
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
79
66
  label: t("default view mode label")
80
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Root, {
67
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
81
68
  value: settings.defaultViewMode,
82
69
  onValueChange: (value) => {
83
70
  settings.defaultViewMode = value;
84
71
  }
85
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.TriggerButton, null), /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Portal, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Content, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Viewport, null, import_react_ui_editor3.EditorViewModes.map((mode) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Option, {
72
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.TriggerButton, null), /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorViewModes.map((mode) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Option, {
86
73
  key: mode,
87
74
  value: mode
88
75
  }, t(`${mode} mode label`, {
89
76
  ns: "react-ui-editor"
90
- })))))))), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
77
+ })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
91
78
  label: t("editor input mode label")
92
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Root, {
79
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
93
80
  value: settings.editorInputMode ?? "default",
94
81
  onValueChange: (value) => {
95
82
  settings.editorInputMode = value;
96
83
  }
97
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.TriggerButton, {
84
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.TriggerButton, {
98
85
  placeholder: t("select editor input mode placeholder")
99
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Portal, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Content, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Viewport, null, import_react_ui_editor3.EditorInputModes.map((mode) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Option, {
86
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorInputModes.map((mode) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Option, {
100
87
  key: mode,
101
88
  value: mode
102
- }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
89
+ }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
103
90
  label: t("settings toolbar label")
104
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
91
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
105
92
  checked: settings.toolbar,
106
93
  onCheckedChange: (checked) => settings.toolbar = !!checked
107
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
94
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
108
95
  label: t("settings numbered headings label")
109
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
96
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
110
97
  checked: settings.numberedHeadings,
111
98
  onCheckedChange: (checked) => settings.numberedHeadings = !!checked
112
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
99
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
113
100
  label: t("settings folding label")
114
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
101
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
115
102
  checked: settings.folding,
116
103
  onCheckedChange: (checked) => settings.folding = !!checked
117
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
104
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
118
105
  label: t("settings experimental label")
119
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
106
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
120
107
  checked: settings.experimental,
121
108
  onCheckedChange: (checked) => settings.experimental = !!checked
122
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
109
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
123
110
  label: t("settings debug label"),
124
- secondary: settings.debug ? /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.TextArea, {
111
+ secondary: settings.debug ? /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.TextArea, {
125
112
  rows: 5,
126
113
  value: settings.typewriter,
127
114
  onChange: ({ target: { value } }) => settings.typewriter = value,
128
115
  placeholder: t("settings debug placeholder")
129
116
  })) : void 0
130
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
117
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
131
118
  checked: settings.debug,
132
119
  onCheckedChange: (checked) => settings.debug = !!checked
133
120
  })));
134
121
  };
135
- var DocumentCard = import_react3.default.lazy(() => import("./DocumentCard-EHJDDSRY.cjs"));
136
- var DocumentEditor = import_react3.default.lazy(() => import("./DocumentEditor-I5GCRBKU.cjs"));
137
- var MarkdownEditor = import_react3.default.lazy(() => import("./MarkdownEditor-UE23H75V.cjs"));
122
+ var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-QZ4YLO7M.cjs"));
138
123
  var translations_default = [
139
124
  {
140
125
  "en-US": {
141
- [import_chunk_TGMR2CKU.MARKDOWN_PLUGIN]: {
126
+ [import_chunk_P7YU53RP.MARKDOWN_PLUGIN]: {
142
127
  "plugin name": "Editor",
143
128
  "create stack section label": "Create document",
144
129
  "document title placeholder": "New document",
@@ -147,7 +132,7 @@ var translations_default = [
147
132
  "empty choose markdown from space message": "None available; try creating a new one instead?",
148
133
  "chooser done label": "Add selected",
149
134
  "create document label": "Create document",
150
- "editor placeholder": "New document",
135
+ "editor placeholder": "",
151
136
  "editor input mode label": "Editor input mode",
152
137
  "select editor input mode placeholder": "Select editor input mode\u2026",
153
138
  "settings editor input mode default label": "Default",
@@ -165,37 +150,30 @@ var translations_default = [
165
150
  }
166
151
  }
167
152
  ];
168
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx";
169
- var isEditorModel = (data) => {
170
- return data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
171
- };
153
+ var getDoc = (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object : void 0;
172
154
  var MarkdownPlugin = () => {
173
- const settings = new import_local_storage.LocalStorageStore(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN, {
155
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
174
156
  defaultViewMode: "preview",
175
157
  toolbar: true,
176
- folding: false,
158
+ numberedHeadings: true,
159
+ folding: true,
177
160
  experimental: false
178
161
  });
179
- const state = new import_local_storage.LocalStorageStore(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN, {
162
+ const editorStateStore = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/editor`);
163
+ const state = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
180
164
  extensionProviders: [],
181
165
  viewMode: {}
182
166
  });
183
- const getViewMode = (id) => {
184
- return id && state.values.viewMode[id] || settings.values.defaultViewMode;
185
- };
186
- const setViewMode = (id, nextViewMode) => {
187
- state.values.viewMode[id] = nextViewMode;
188
- };
167
+ const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
168
+ const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
189
169
  return {
190
- meta: import_chunk_TGMR2CKU.meta_default,
170
+ meta: import_chunk_P7YU53RP.meta_default,
191
171
  ready: async (plugins) => {
192
172
  settings.prop({
193
173
  key: "defaultViewMode",
194
- storageKey: "default-view-mode",
195
174
  type: import_local_storage.LocalStorageStore.enum()
196
175
  }).prop({
197
176
  key: "editorInputMode",
198
- storageKey: "editor-mode",
199
177
  type: import_local_storage.LocalStorageStore.enum({
200
178
  allowUndefined: true
201
179
  })
@@ -232,28 +210,26 @@ var MarkdownPlugin = () => {
232
210
  });
233
211
  state.prop({
234
212
  key: "viewMode",
235
- storageKey: "view-mode",
236
213
  type: import_local_storage.LocalStorageStore.json()
237
214
  });
238
- (0, import_chunk_RVGN72IX.markdownExtensionPlugins)(plugins).forEach((plugin) => {
215
+ (0, import_chunk_6HPTH2F5.markdownExtensionPlugins)(plugins).forEach((plugin) => {
239
216
  const { extensions } = plugin.provides.markdown;
240
- state.values.extensionProviders.push(extensions);
217
+ state.values.extensionProviders?.push(extensions);
241
218
  });
242
219
  },
243
220
  provides: {
244
221
  settings: settings.values,
245
222
  metadata: {
246
223
  records: {
247
- [import_chunk_VWQH4WC2.DocumentType.typename]: {
248
- label: (object) => object instanceof import_chunk_VWQH4WC2.DocumentType ? object.name ?? object.fallbackName : void 0,
224
+ [import_chunk_UJMOZCIA.DocumentType.typename]: {
225
+ label: (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object.name || object.fallbackName : void 0,
249
226
  placeholder: [
250
227
  "document title placeholder",
251
228
  {
252
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
229
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
253
230
  }
254
231
  ],
255
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
256
- iconSymbol: "ph--text-aa--regular",
232
+ icon: "ph--text-aa--regular",
257
233
  graphProps: {
258
234
  managesAutofocus: true
259
235
  },
@@ -262,7 +238,7 @@ var MarkdownPlugin = () => {
262
238
  doc2.content,
263
239
  ...doc2.threads
264
240
  ]),
265
- serializer: import_chunk_RVGN72IX.serializer
241
+ serializer: import_chunk_6HPTH2F5.serializer
266
242
  }
267
243
  }
268
244
  },
@@ -272,10 +248,21 @@ var MarkdownPlugin = () => {
272
248
  ],
273
249
  echo: {
274
250
  schema: [
275
- import_chunk_VWQH4WC2.DocumentType,
276
- import_chunk_VWQH4WC2.TextType
251
+ import_chunk_UJMOZCIA.DocumentType,
252
+ import_chunk_UJMOZCIA.TextType
277
253
  ]
278
254
  },
255
+ space: {
256
+ onSpaceCreate: {
257
+ label: [
258
+ "create document label",
259
+ {
260
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
261
+ }
262
+ ],
263
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
264
+ }
265
+ },
279
266
  graph: {
280
267
  builder: (plugins) => {
281
268
  const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
@@ -284,7 +271,7 @@ var MarkdownPlugin = () => {
284
271
  return [];
285
272
  }
286
273
  return (0, import_plugin_graph.createExtension)({
287
- id: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
274
+ id: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
288
275
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
289
276
  actions: ({ node }) => {
290
277
  const id = node.id.split("/").at(-1);
@@ -297,12 +284,12 @@ var MarkdownPlugin = () => {
297
284
  }
298
285
  return [
299
286
  {
300
- id: `${import_chunk_TGMR2CKU.MARKDOWN_PLUGIN}/create/${node.id}`,
287
+ id: `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/create/${node.id}`,
301
288
  data: async () => {
302
289
  await dispatch([
303
290
  {
304
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
305
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
291
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
292
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
306
293
  },
307
294
  {
308
295
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -319,11 +306,10 @@ var MarkdownPlugin = () => {
319
306
  label: [
320
307
  "create document label",
321
308
  {
322
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
309
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
323
310
  }
324
311
  ],
325
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
326
- iconSymbol: "ph--text-aa--regular",
312
+ icon: "ph--text-aa--regular",
327
313
  testId: "markdownPlugin.createObject"
328
314
  }
329
315
  }
@@ -338,14 +324,14 @@ var MarkdownPlugin = () => {
338
324
  }
339
325
  return [
340
326
  {
341
- inputType: import_chunk_VWQH4WC2.DocumentType.typename,
327
+ inputType: import_chunk_UJMOZCIA.DocumentType.typename,
342
328
  outputType: "text/markdown",
343
329
  // Reconcile with metadata serializers.
344
330
  serialize: async (node) => {
345
331
  const doc = node.data;
346
332
  const content = await (0, import_echo.loadObjectReferences)(doc, (doc2) => doc2.content);
347
333
  return {
348
- name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_TGMR2CKU.MARKDOWN_PLUGIN]["document title placeholder"],
334
+ name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_P7YU53RP.MARKDOWN_PLUGIN]["document title placeholder"],
349
335
  data: content.content,
350
336
  type: "text/markdown"
351
337
  };
@@ -358,8 +344,8 @@ var MarkdownPlugin = () => {
358
344
  }
359
345
  const result = await dispatch([
360
346
  {
361
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
362
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
347
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
348
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
363
349
  data: {
364
350
  name: data.name,
365
351
  content: data.data
@@ -386,99 +372,76 @@ var MarkdownPlugin = () => {
386
372
  type: [
387
373
  "plugin name",
388
374
  {
389
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
375
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
390
376
  }
391
377
  ],
392
378
  label: [
393
379
  "create stack section label",
394
380
  {
395
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
381
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
396
382
  }
397
383
  ],
398
384
  icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
399
385
  intent: {
400
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
401
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
386
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
387
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
402
388
  }
403
389
  }
404
390
  ]
405
391
  },
406
392
  thread: {
407
- // TODO(Zan): How to better handle the type predicate?
408
- predicate: (obj) => obj instanceof import_chunk_VWQH4WC2.DocumentType,
393
+ predicate: (obj) => obj instanceof import_chunk_UJMOZCIA.DocumentType,
409
394
  createSort: (doc) => {
410
395
  const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
411
396
  "content"
412
397
  ]) : void 0;
413
398
  if (!accessor) {
414
- import_log.log.warn("No accessor found for document content.", void 0, {
415
- F: __dxlog_file,
416
- L: 250,
417
- S: void 0,
418
- C: (f, a) => f(...a)
419
- });
420
399
  return (_) => 0;
421
400
  }
422
401
  const getStartPosition = (cursor) => {
423
402
  const range = cursor ? (0, import_echo.getRangeFromCursor)(accessor, cursor) : void 0;
424
403
  return range?.start ?? Number.MAX_SAFE_INTEGER;
425
404
  };
426
- return (anchorA, anchorB) => getStartPosition(anchorA) - getStartPosition(anchorB);
405
+ return (anchorA, anchorB) => {
406
+ if (anchorA === void 0 || anchorB === void 0) {
407
+ return 0;
408
+ }
409
+ const posA = getStartPosition(anchorA);
410
+ const posB = getStartPosition(anchorB);
411
+ return posA - posB;
412
+ };
427
413
  }
428
414
  },
429
415
  surface: {
430
- component: ({ data, role, ...props }, forwardedRef) => {
431
- const doc = data.active instanceof import_chunk_VWQH4WC2.DocumentType ? data.active : data.object instanceof import_chunk_VWQH4WC2.DocumentType ? data.object : void 0;
416
+ component: ({ data, role }) => {
432
417
  switch (role) {
433
418
  case "section":
434
419
  case "article": {
435
- if (doc && doc.content) {
436
- return /* @__PURE__ */ import_react2.default.createElement(DocumentEditor, {
437
- role,
438
- coordinate: data.coordinate,
439
- document: doc,
440
- extensionProviders: state.values.extensionProviders,
441
- settings: settings.values,
442
- scrollPastEnd: true,
443
- viewMode: getViewMode((0, import_echo.fullyQualifiedId)(doc)),
444
- onViewModeChange: setViewMode
445
- });
446
- } else if (isEditorModel(data.object)) {
447
- return /* @__PURE__ */ import_react2.default.createElement(MarkdownEditor, {
448
- id: data.object.id,
449
- role,
450
- coordinate: data.coordinate,
451
- initialValue: data.object.text,
452
- extensionProviders: state.values.extensionProviders,
453
- inputMode: settings.values.editorInputMode,
454
- toolbar: settings.values.toolbar,
455
- scrollPastEnd: true,
456
- viewMode: getViewMode(data.object.id),
457
- onViewModeChange: setViewMode
458
- });
459
- }
460
- break;
461
- }
462
- case "card": {
463
- if ((0, import_app_framework.isObject)(data.content) && typeof data.content.id === "string" && data.content.object instanceof import_chunk_VWQH4WC2.DocumentType) {
464
- const cardProps = {
465
- ...props,
466
- item: {
467
- id: data.content.id,
468
- object: data.content.object,
469
- color: typeof data.content.color === "string" ? data.content.color : void 0
470
- }
471
- };
472
- return (0, import_react_ui_mosaic.isTileComponentProps)(cardProps) ? /* @__PURE__ */ import_react2.default.createElement(DocumentCard, {
473
- ...cardProps,
474
- settings: settings.values,
475
- ref: forwardedRef
476
- }) : null;
420
+ const doc = getDoc(data.active) ?? getDoc(data.object);
421
+ const { id, object } = (0, import_chunk_UJMOZCIA.isEditorModel)(data.object) ? {
422
+ id: data.object.id,
423
+ object: data.object
424
+ } : doc ? {
425
+ id: (0, import_echo.fullyQualifiedId)(doc),
426
+ object: doc
427
+ } : {};
428
+ if (!id || !object) {
429
+ return null;
477
430
  }
478
- break;
431
+ return /* @__PURE__ */ import_react2.default.createElement(MarkdownContainer, {
432
+ id,
433
+ object,
434
+ role,
435
+ coordinate: data.coordinate,
436
+ settings: settings.values,
437
+ extensionProviders: state.values.extensionProviders,
438
+ viewMode: getViewMode(id),
439
+ editorStateStore,
440
+ onViewModeChange: setViewMode
441
+ });
479
442
  }
480
443
  case "settings": {
481
- return data.plugin === import_chunk_TGMR2CKU.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
444
+ return data.plugin === import_chunk_P7YU53RP.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
482
445
  settings: settings.values
483
446
  }) : null;
484
447
  }
@@ -489,10 +452,10 @@ var MarkdownPlugin = () => {
489
452
  intent: {
490
453
  resolver: ({ action, data }) => {
491
454
  switch (action) {
492
- case import_chunk_VWQH4WC2.MarkdownAction.CREATE: {
493
- const doc = (0, import_echo_schema.create)(import_chunk_VWQH4WC2.DocumentType, {
455
+ case import_chunk_UJMOZCIA.MarkdownAction.CREATE: {
456
+ const doc = (0, import_echo_schema.create)(import_chunk_UJMOZCIA.DocumentType, {
494
457
  name: data?.name,
495
- content: (0, import_echo_schema.create)(import_chunk_VWQH4WC2.TextType, {
458
+ content: (0, import_echo_schema.create)(import_chunk_UJMOZCIA.TextType, {
496
459
  content: data?.content ?? ""
497
460
  }),
498
461
  threads: []
@@ -511,7 +474,7 @@ var MarkdownPlugin = () => {
511
474
  ]
512
475
  };
513
476
  }
514
- case import_chunk_VWQH4WC2.MarkdownAction.SET_VIEW_MODE: {
477
+ case import_chunk_UJMOZCIA.MarkdownAction.SET_VIEW_MODE: {
515
478
  const { id, viewMode } = data ?? {};
516
479
  if (typeof id === "string" && import_react_ui_editor.EditorViewModes.includes(viewMode)) {
517
480
  state.values.viewMode[id] = viewMode;
@@ -535,6 +498,7 @@ var src_default = MarkdownPlugin;
535
498
  MarkdownPlugin,
536
499
  TextType,
537
500
  getFallbackName,
501
+ isEditorModel,
538
502
  isMarkdownProperties,
539
503
  markdownExtensionPlugins,
540
504
  serializer,