@dxos/plugin-markdown 0.6.12 → 0.6.13-main.548ca8d

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 (120) hide show
  1. package/dist/lib/browser/MarkdownContainer-52FJDCTV.mjs +467 -0
  2. package/dist/lib/browser/MarkdownContainer-52FJDCTV.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-4MPY6KRJ.mjs +50 -0
  4. package/dist/lib/browser/chunk-4MPY6KRJ.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-DRJ3FPYF.mjs +15 -0
  6. package/dist/lib/browser/chunk-DRJ3FPYF.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-CQJL4G4X.mjs → chunk-US5O2P3R.mjs} +4 -2
  8. package/dist/lib/browser/chunk-US5O2P3R.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +77 -117
  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-5XPB5VP5.cjs +482 -0
  15. package/dist/lib/node/MarkdownContainer-5XPB5VP5.cjs.map +7 -0
  16. package/dist/lib/node/chunk-MOF6UCLA.cjs +72 -0
  17. package/dist/lib/node/chunk-MOF6UCLA.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 +111 -147
  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-ILCO3PDV.mjs +468 -0
  30. package/dist/lib/node-esm/MarkdownContainer-ILCO3PDV.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-CD634NG3.mjs +51 -0
  32. package/dist/lib/node-esm/chunk-CD634NG3.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 +8 -3
  46. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  47. package/dist/types/src/components/MarkdownEditor.stories.d.ts +3 -3
  48. package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -1
  49. package/dist/types/src/components/index.d.ts +2 -11
  50. package/dist/types/src/components/index.d.ts.map +1 -1
  51. package/dist/types/src/extensions.d.ts +11 -15
  52. package/dist/types/src/extensions.d.ts.map +1 -1
  53. package/dist/types/src/hooks/index.d.ts +2 -0
  54. package/dist/types/src/hooks/index.d.ts.map +1 -0
  55. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +6 -0
  56. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -0
  57. package/dist/types/src/meta.d.ts +4 -9
  58. package/dist/types/src/meta.d.ts.map +1 -1
  59. package/dist/types/src/types/document.d.ts +10 -1
  60. package/dist/types/src/types/document.d.ts.map +1 -1
  61. package/dist/types/src/types/types.d.ts +8 -9
  62. package/dist/types/src/types/types.d.ts.map +1 -1
  63. package/package.json +41 -36
  64. package/src/MarkdownPlugin.tsx +49 -97
  65. package/src/components/MarkdownContainer.tsx +108 -0
  66. package/src/components/MarkdownEditor.stories.tsx +11 -5
  67. package/src/components/MarkdownEditor.tsx +40 -75
  68. package/src/components/index.ts +2 -14
  69. package/src/extensions.tsx +124 -67
  70. package/src/hooks/index.ts +5 -0
  71. package/src/hooks/useSelectCurrentThread.tsx +46 -0
  72. package/src/meta.ts +15 -0
  73. package/src/types/document.ts +12 -0
  74. package/src/types/types.ts +10 -7
  75. package/dist/lib/browser/DocumentCard-2P4EICBA.mjs +0 -11
  76. package/dist/lib/browser/DocumentEditor-GPWV3VN3.mjs +0 -11
  77. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs +0 -10
  78. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs.map +0 -7
  79. package/dist/lib/browser/chunk-354DCID5.mjs +0 -117
  80. package/dist/lib/browser/chunk-354DCID5.mjs.map +0 -7
  81. package/dist/lib/browser/chunk-4GGD6YJO.mjs +0 -19
  82. package/dist/lib/browser/chunk-4GGD6YJO.mjs.map +0 -7
  83. package/dist/lib/browser/chunk-7AF2JLK4.mjs +0 -164
  84. package/dist/lib/browser/chunk-7AF2JLK4.mjs.map +0 -7
  85. package/dist/lib/browser/chunk-CQJL4G4X.mjs.map +0 -7
  86. package/dist/lib/browser/chunk-RL7QY322.mjs +0 -86
  87. package/dist/lib/browser/chunk-RL7QY322.mjs.map +0 -7
  88. package/dist/lib/browser/chunk-VUN4QKTT.mjs +0 -208
  89. package/dist/lib/browser/chunk-VUN4QKTT.mjs.map +0 -7
  90. package/dist/lib/node/DocumentCard-EHJDDSRY.cjs.map +0 -7
  91. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs +0 -29
  92. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs.map +0 -7
  93. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs +0 -31
  94. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs.map +0 -7
  95. package/dist/lib/node/chunk-7XIBNEI7.cjs +0 -238
  96. package/dist/lib/node/chunk-7XIBNEI7.cjs.map +0 -7
  97. package/dist/lib/node/chunk-KTYIOXL5.cjs +0 -149
  98. package/dist/lib/node/chunk-KTYIOXL5.cjs.map +0 -7
  99. package/dist/lib/node/chunk-Q4ZSCBQE.cjs +0 -114
  100. package/dist/lib/node/chunk-Q4ZSCBQE.cjs.map +0 -7
  101. package/dist/lib/node/chunk-RVGN72IX.cjs +0 -189
  102. package/dist/lib/node/chunk-RVGN72IX.cjs.map +0 -7
  103. package/dist/lib/node/chunk-TGMR2CKU.cjs +0 -52
  104. package/dist/lib/node/chunk-TGMR2CKU.cjs.map +0 -7
  105. package/dist/lib/node/chunk-VWQH4WC2.cjs.map +0 -7
  106. package/dist/types/src/components/DocumentCard.d.ts +0 -16
  107. package/dist/types/src/components/DocumentCard.d.ts.map +0 -1
  108. package/dist/types/src/components/DocumentEditor.d.ts +0 -14
  109. package/dist/types/src/components/DocumentEditor.d.ts.map +0 -1
  110. package/dist/types/src/components/HeadingMenu.d.ts +0 -13
  111. package/dist/types/src/components/HeadingMenu.d.ts.map +0 -1
  112. package/dist/types/src/components/Layout.d.ts +0 -6
  113. package/dist/types/src/components/Layout.d.ts.map +0 -1
  114. package/src/components/DocumentCard.tsx +0 -107
  115. package/src/components/DocumentEditor.tsx +0 -137
  116. package/src/components/HeadingMenu.tsx +0 -46
  117. package/src/components/Layout.tsx +0 -27
  118. package/src/meta.tsx +0 -19
  119. /package/dist/lib/{browser/DocumentCard-2P4EICBA.mjs.map → node-esm/meta.mjs.map} +0 -0
  120. /package/dist/lib/{browser/DocumentEditor-GPWV3VN3.mjs.map → node-esm/types/index.mjs.map} +0 -0
@@ -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_MOF6UCLA.getFallbackName,
37
+ isEditorModel: () => import_chunk_UJMOZCIA.isEditorModel,
38
+ isMarkdownProperties: () => import_chunk_MOF6UCLA.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_MOF6UCLA.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_MOF6UCLA.serializer,
41
+ setFallbackName: () => import_chunk_MOF6UCLA.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_MOF6UCLA = require("./chunk-MOF6UCLA.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
58
  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");
59
+ var import_react4 = __toESM(require("react"));
60
+ var import_plugin_settings = require("@dxos/plugin-settings");
66
61
  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");
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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_plugin_settings.SettingsValue, {
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 = import_react3.default.lazy(() => import("./MarkdownContainer-5XPB5VP5.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",
@@ -165,29 +150,22 @@ 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
158
  folding: false,
177
159
  experimental: false
178
160
  });
179
- const state = new import_local_storage.LocalStorageStore(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN, {
161
+ const state = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
180
162
  extensionProviders: [],
181
163
  viewMode: {}
182
164
  });
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
- };
165
+ const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
166
+ const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
189
167
  return {
190
- meta: import_chunk_TGMR2CKU.meta_default,
168
+ meta: import_chunk_P7YU53RP.meta_default,
191
169
  ready: async (plugins) => {
192
170
  settings.prop({
193
171
  key: "defaultViewMode",
@@ -235,25 +213,24 @@ var MarkdownPlugin = () => {
235
213
  storageKey: "view-mode",
236
214
  type: import_local_storage.LocalStorageStore.json()
237
215
  });
238
- (0, import_chunk_RVGN72IX.markdownExtensionPlugins)(plugins).forEach((plugin) => {
216
+ (0, import_chunk_MOF6UCLA.markdownExtensionPlugins)(plugins).forEach((plugin) => {
239
217
  const { extensions } = plugin.provides.markdown;
240
- state.values.extensionProviders.push(extensions);
218
+ state.values.extensionProviders?.push(extensions);
241
219
  });
242
220
  },
243
221
  provides: {
244
222
  settings: settings.values,
245
223
  metadata: {
246
224
  records: {
247
- [import_chunk_VWQH4WC2.DocumentType.typename]: {
248
- label: (object) => object instanceof import_chunk_VWQH4WC2.DocumentType ? object.name ?? object.fallbackName : void 0,
225
+ [import_chunk_UJMOZCIA.DocumentType.typename]: {
226
+ label: (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object.name || object.fallbackName : void 0,
249
227
  placeholder: [
250
228
  "document title placeholder",
251
229
  {
252
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
230
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
253
231
  }
254
232
  ],
255
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
256
- iconSymbol: "ph--text-aa--regular",
233
+ icon: "ph--text-aa--regular",
257
234
  graphProps: {
258
235
  managesAutofocus: true
259
236
  },
@@ -262,7 +239,7 @@ var MarkdownPlugin = () => {
262
239
  doc2.content,
263
240
  ...doc2.threads
264
241
  ]),
265
- serializer: import_chunk_RVGN72IX.serializer
242
+ serializer: import_chunk_MOF6UCLA.serializer
266
243
  }
267
244
  }
268
245
  },
@@ -272,10 +249,21 @@ var MarkdownPlugin = () => {
272
249
  ],
273
250
  echo: {
274
251
  schema: [
275
- import_chunk_VWQH4WC2.DocumentType,
276
- import_chunk_VWQH4WC2.TextType
252
+ import_chunk_UJMOZCIA.DocumentType,
253
+ import_chunk_UJMOZCIA.TextType
277
254
  ]
278
255
  },
256
+ space: {
257
+ onSpaceCreate: {
258
+ label: [
259
+ "create document label",
260
+ {
261
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
262
+ }
263
+ ],
264
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
265
+ }
266
+ },
279
267
  graph: {
280
268
  builder: (plugins) => {
281
269
  const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
@@ -284,7 +272,7 @@ var MarkdownPlugin = () => {
284
272
  return [];
285
273
  }
286
274
  return (0, import_plugin_graph.createExtension)({
287
- id: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
275
+ id: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
288
276
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
289
277
  actions: ({ node }) => {
290
278
  const id = node.id.split("/").at(-1);
@@ -297,12 +285,12 @@ var MarkdownPlugin = () => {
297
285
  }
298
286
  return [
299
287
  {
300
- id: `${import_chunk_TGMR2CKU.MARKDOWN_PLUGIN}/create/${node.id}`,
288
+ id: `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/create/${node.id}`,
301
289
  data: async () => {
302
290
  await dispatch([
303
291
  {
304
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
305
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
292
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
293
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
306
294
  },
307
295
  {
308
296
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -319,11 +307,10 @@ var MarkdownPlugin = () => {
319
307
  label: [
320
308
  "create document label",
321
309
  {
322
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
310
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
323
311
  }
324
312
  ],
325
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
326
- iconSymbol: "ph--text-aa--regular",
313
+ icon: "ph--text-aa--regular",
327
314
  testId: "markdownPlugin.createObject"
328
315
  }
329
316
  }
@@ -338,14 +325,14 @@ var MarkdownPlugin = () => {
338
325
  }
339
326
  return [
340
327
  {
341
- inputType: import_chunk_VWQH4WC2.DocumentType.typename,
328
+ inputType: import_chunk_UJMOZCIA.DocumentType.typename,
342
329
  outputType: "text/markdown",
343
330
  // Reconcile with metadata serializers.
344
331
  serialize: async (node) => {
345
332
  const doc = node.data;
346
333
  const content = await (0, import_echo.loadObjectReferences)(doc, (doc2) => doc2.content);
347
334
  return {
348
- name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_TGMR2CKU.MARKDOWN_PLUGIN]["document title placeholder"],
335
+ name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_P7YU53RP.MARKDOWN_PLUGIN]["document title placeholder"],
349
336
  data: content.content,
350
337
  type: "text/markdown"
351
338
  };
@@ -358,8 +345,8 @@ var MarkdownPlugin = () => {
358
345
  }
359
346
  const result = await dispatch([
360
347
  {
361
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
362
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
348
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
349
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
363
350
  data: {
364
351
  name: data.name,
365
352
  content: data.data
@@ -386,99 +373,75 @@ var MarkdownPlugin = () => {
386
373
  type: [
387
374
  "plugin name",
388
375
  {
389
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
376
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
390
377
  }
391
378
  ],
392
379
  label: [
393
380
  "create stack section label",
394
381
  {
395
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
382
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
396
383
  }
397
384
  ],
398
385
  icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
399
386
  intent: {
400
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
401
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
387
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
388
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
402
389
  }
403
390
  }
404
391
  ]
405
392
  },
406
393
  thread: {
407
- // TODO(Zan): How to better handle the type predicate?
408
- predicate: (obj) => obj instanceof import_chunk_VWQH4WC2.DocumentType,
394
+ predicate: (obj) => obj instanceof import_chunk_UJMOZCIA.DocumentType,
409
395
  createSort: (doc) => {
410
396
  const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
411
397
  "content"
412
398
  ]) : void 0;
413
399
  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
400
  return (_) => 0;
421
401
  }
422
402
  const getStartPosition = (cursor) => {
423
403
  const range = cursor ? (0, import_echo.getRangeFromCursor)(accessor, cursor) : void 0;
424
404
  return range?.start ?? Number.MAX_SAFE_INTEGER;
425
405
  };
426
- return (anchorA, anchorB) => getStartPosition(anchorA) - getStartPosition(anchorB);
406
+ return (anchorA, anchorB) => {
407
+ if (anchorA === void 0 || anchorB === void 0) {
408
+ return 0;
409
+ }
410
+ const posA = getStartPosition(anchorA);
411
+ const posB = getStartPosition(anchorB);
412
+ return posA - posB;
413
+ };
427
414
  }
428
415
  },
429
416
  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;
417
+ component: ({ data, role }) => {
432
418
  switch (role) {
433
419
  case "section":
434
420
  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
- });
421
+ const doc = getDoc(data.active) ?? getDoc(data.object);
422
+ const { id, object } = (0, import_chunk_UJMOZCIA.isEditorModel)(data.object) ? {
423
+ id: data.object.id,
424
+ object: data.object
425
+ } : doc ? {
426
+ id: (0, import_echo.fullyQualifiedId)(doc),
427
+ object: doc
428
+ } : {};
429
+ if (!id || !object) {
430
+ return null;
459
431
  }
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;
477
- }
478
- break;
432
+ return /* @__PURE__ */ import_react2.default.createElement(MarkdownContainer, {
433
+ id,
434
+ object,
435
+ role,
436
+ coordinate: data.coordinate,
437
+ settings: settings.values,
438
+ extensionProviders: state.values.extensionProviders,
439
+ viewMode: getViewMode(id),
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,