@dxos/plugin-markdown 0.6.14-main.f49f251 → 0.6.14-staging.77003c1

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 (64) hide show
  1. package/dist/lib/browser/{MarkdownContainer-HRGXWEA4.mjs → MarkdownContainer-J5BZUIVL.mjs} +31 -24
  2. package/dist/lib/browser/MarkdownContainer-J5BZUIVL.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-DRJ3FPYF.mjs → chunk-4X6YX3KU.mjs} +3 -3
  4. package/dist/lib/browser/chunk-4X6YX3KU.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-VGIHBUXB.mjs → chunk-PV4AWYWK.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-US5O2P3R.mjs → chunk-VZAGHNHU.mjs} +2 -2
  7. package/dist/lib/browser/index.mjs +13 -14
  8. package/dist/lib/browser/index.mjs.map +3 -3
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/meta.mjs +1 -1
  11. package/dist/lib/browser/types/index.mjs +2 -2
  12. package/dist/lib/node/{MarkdownContainer-QZ4YLO7M.cjs → MarkdownContainer-UYBYWCRU.cjs} +38 -31
  13. package/dist/lib/node/MarkdownContainer-UYBYWCRU.cjs.map +7 -0
  14. package/dist/lib/node/{chunk-6HPTH2F5.cjs → chunk-2A5P424C.cjs} +7 -7
  15. package/dist/lib/node/{chunk-UJMOZCIA.cjs → chunk-BHPFK7YI.cjs} +6 -6
  16. package/dist/lib/node/{chunk-P7YU53RP.cjs → chunk-PHHIPRJC.cjs} +6 -6
  17. package/dist/lib/node/chunk-PHHIPRJC.cjs.map +7 -0
  18. package/dist/lib/node/index.cjs +57 -58
  19. package/dist/lib/node/index.cjs.map +3 -3
  20. package/dist/lib/node/meta.cjs +3 -3
  21. package/dist/lib/node/meta.cjs.map +1 -1
  22. package/dist/lib/node/meta.json +1 -1
  23. package/dist/lib/node/types/index.cjs +6 -6
  24. package/dist/lib/node/types/index.cjs.map +1 -1
  25. package/dist/lib/node-esm/{MarkdownContainer-FSWQL76V.mjs → MarkdownContainer-P3EAZ3OR.mjs} +31 -24
  26. package/dist/lib/node-esm/MarkdownContainer-P3EAZ3OR.mjs.map +7 -0
  27. package/dist/lib/node-esm/{chunk-NEVN5WR6.mjs → chunk-BABK7FMW.mjs} +3 -3
  28. package/dist/lib/node-esm/chunk-BABK7FMW.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-HPOTHJC4.mjs → chunk-EREAR7QS.mjs} +2 -2
  30. package/dist/lib/node-esm/{chunk-MIDCCMIX.mjs → chunk-OEMU3XY7.mjs} +2 -2
  31. package/dist/lib/node-esm/index.mjs +13 -14
  32. package/dist/lib/node-esm/index.mjs.map +3 -3
  33. package/dist/lib/node-esm/meta.json +1 -1
  34. package/dist/lib/node-esm/meta.mjs +1 -1
  35. package/dist/lib/node-esm/types/index.mjs +2 -2
  36. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  37. package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
  38. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  39. package/dist/types/src/components/MarkdownEditor.d.ts +1 -2
  40. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  41. package/dist/types/src/components/index.d.ts +1 -1
  42. package/dist/types/src/components/index.d.ts.map +1 -1
  43. package/dist/types/src/extensions.d.ts +1 -1
  44. package/dist/types/src/extensions.d.ts.map +1 -1
  45. package/dist/types/src/meta.d.ts +1 -1
  46. package/package.json +29 -29
  47. package/src/MarkdownPlugin.tsx +1 -4
  48. package/src/components/MarkdownContainer.tsx +28 -22
  49. package/src/components/MarkdownEditor.tsx +1 -2
  50. package/src/components/MarkdownSettings.tsx +15 -15
  51. package/src/extensions.tsx +24 -12
  52. package/src/meta.ts +2 -2
  53. package/dist/lib/browser/MarkdownContainer-HRGXWEA4.mjs.map +0 -7
  54. package/dist/lib/browser/chunk-DRJ3FPYF.mjs.map +0 -7
  55. package/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs.map +0 -7
  56. package/dist/lib/node/chunk-P7YU53RP.cjs.map +0 -7
  57. package/dist/lib/node-esm/MarkdownContainer-FSWQL76V.mjs.map +0 -7
  58. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs.map +0 -7
  59. /package/dist/lib/browser/{chunk-VGIHBUXB.mjs.map → chunk-PV4AWYWK.mjs.map} +0 -0
  60. /package/dist/lib/browser/{chunk-US5O2P3R.mjs.map → chunk-VZAGHNHU.mjs.map} +0 -0
  61. /package/dist/lib/node/{chunk-6HPTH2F5.cjs.map → chunk-2A5P424C.cjs.map} +0 -0
  62. /package/dist/lib/node/{chunk-UJMOZCIA.cjs.map → chunk-BHPFK7YI.cjs.map} +0 -0
  63. /package/dist/lib/node-esm/{chunk-HPOTHJC4.mjs.map → chunk-EREAR7QS.mjs.map} +0 -0
  64. /package/dist/lib/node-esm/{chunk-MIDCCMIX.mjs.map → chunk-OEMU3XY7.mjs.map} +0 -0
@@ -28,22 +28,22 @@ 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_UJMOZCIA.DocumentType,
32
- MarkdownAction: () => import_chunk_UJMOZCIA.MarkdownAction,
31
+ DocumentType: () => import_chunk_BHPFK7YI.DocumentType,
32
+ MarkdownAction: () => import_chunk_BHPFK7YI.MarkdownAction,
33
33
  MarkdownPlugin: () => MarkdownPlugin,
34
- TextType: () => import_chunk_UJMOZCIA.TextType,
34
+ TextType: () => import_chunk_BHPFK7YI.TextType,
35
35
  default: () => src_default,
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
36
+ getFallbackName: () => import_chunk_2A5P424C.getFallbackName,
37
+ isEditorModel: () => import_chunk_BHPFK7YI.isEditorModel,
38
+ isMarkdownProperties: () => import_chunk_2A5P424C.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_2A5P424C.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_2A5P424C.serializer,
41
+ setFallbackName: () => import_chunk_2A5P424C.setFallbackName
42
42
  });
43
43
  module.exports = __toCommonJS(node_exports);
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");
44
+ var import_chunk_2A5P424C = require("./chunk-2A5P424C.cjs");
45
+ var import_chunk_BHPFK7YI = require("./chunk-BHPFK7YI.cjs");
46
+ var import_chunk_PHHIPRJC = require("./chunk-PHHIPRJC.cjs");
47
47
  var import_react = require("@phosphor-icons/react");
48
48
  var import_react2 = __toESM(require("react"));
49
49
  var import_app_framework = require("@dxos/app-framework");
@@ -61,8 +61,8 @@ var import_react_ui = require("@dxos/react-ui");
61
61
  var import_react_ui_data = require("@dxos/react-ui-data");
62
62
  var import_react_ui_editor2 = require("@dxos/react-ui-editor");
63
63
  var MarkdownSettings = ({ settings }) => {
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, {
64
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN);
65
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
66
66
  label: t("default view mode label")
67
67
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
68
68
  value: settings.defaultViewMode,
@@ -74,7 +74,7 @@ var MarkdownSettings = ({ settings }) => {
74
74
  value: mode
75
75
  }, t(`${mode} mode label`, {
76
76
  ns: "react-ui-editor"
77
- })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
77
+ })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
78
78
  label: t("editor input mode label")
79
79
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
80
80
  value: settings.editorInputMode ?? "default",
@@ -86,27 +86,27 @@ var MarkdownSettings = ({ settings }) => {
86
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, {
87
87
  key: mode,
88
88
  value: mode
89
- }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
89
+ }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
90
90
  label: t("settings toolbar label")
91
91
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
92
92
  checked: settings.toolbar,
93
93
  onCheckedChange: (checked) => settings.toolbar = !!checked
94
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
94
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
95
95
  label: t("settings numbered headings label")
96
96
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
97
97
  checked: settings.numberedHeadings,
98
98
  onCheckedChange: (checked) => settings.numberedHeadings = !!checked
99
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
99
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
100
100
  label: t("settings folding label")
101
101
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
102
102
  checked: settings.folding,
103
103
  onCheckedChange: (checked) => settings.folding = !!checked
104
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
104
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
105
105
  label: t("settings experimental label")
106
106
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
107
107
  checked: settings.experimental,
108
108
  onCheckedChange: (checked) => settings.experimental = !!checked
109
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
109
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
110
110
  label: t("settings debug label"),
111
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, {
112
112
  rows: 5,
@@ -119,11 +119,11 @@ var MarkdownSettings = ({ settings }) => {
119
119
  onCheckedChange: (checked) => settings.debug = !!checked
120
120
  })));
121
121
  };
122
- var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-QZ4YLO7M.cjs"));
122
+ var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-UYBYWCRU.cjs"));
123
123
  var translations_default = [
124
124
  {
125
125
  "en-US": {
126
- [import_chunk_P7YU53RP.MARKDOWN_PLUGIN]: {
126
+ [import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]: {
127
127
  "plugin name": "Editor",
128
128
  "create stack section label": "Create document",
129
129
  "document title placeholder": "New document",
@@ -150,24 +150,24 @@ var translations_default = [
150
150
  }
151
151
  }
152
152
  ];
153
- var getDoc = (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object : void 0;
153
+ var getDoc = (object) => object instanceof import_chunk_BHPFK7YI.DocumentType ? object : void 0;
154
154
  var MarkdownPlugin = () => {
155
- const settings = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
155
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN, {
156
156
  defaultViewMode: "preview",
157
157
  toolbar: true,
158
158
  numberedHeadings: true,
159
159
  folding: true,
160
160
  experimental: false
161
161
  });
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, {
162
+ const editorStateStore = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/editor`);
163
+ const state = new import_local_storage.LocalStorageStore(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN, {
164
164
  extensionProviders: [],
165
165
  viewMode: {}
166
166
  });
167
167
  const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
168
168
  const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
169
169
  return {
170
- meta: import_chunk_P7YU53RP.meta_default,
170
+ meta: import_chunk_PHHIPRJC.meta_default,
171
171
  ready: async (plugins) => {
172
172
  settings.prop({
173
173
  key: "defaultViewMode",
@@ -212,7 +212,7 @@ var MarkdownPlugin = () => {
212
212
  key: "viewMode",
213
213
  type: import_local_storage.LocalStorageStore.json()
214
214
  });
215
- (0, import_chunk_6HPTH2F5.markdownExtensionPlugins)(plugins).forEach((plugin) => {
215
+ (0, import_chunk_2A5P424C.markdownExtensionPlugins)(plugins).forEach((plugin) => {
216
216
  const { extensions } = plugin.provides.markdown;
217
217
  state.values.extensionProviders?.push(extensions);
218
218
  });
@@ -221,12 +221,12 @@ var MarkdownPlugin = () => {
221
221
  settings: settings.values,
222
222
  metadata: {
223
223
  records: {
224
- [import_chunk_UJMOZCIA.DocumentType.typename]: {
225
- label: (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object.name || object.fallbackName : void 0,
224
+ [import_chunk_BHPFK7YI.DocumentType.typename]: {
225
+ label: (object) => object instanceof import_chunk_BHPFK7YI.DocumentType ? object.name || object.fallbackName : void 0,
226
226
  placeholder: [
227
227
  "document title placeholder",
228
228
  {
229
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
229
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
230
230
  }
231
231
  ],
232
232
  icon: "ph--text-aa--regular",
@@ -238,7 +238,7 @@ var MarkdownPlugin = () => {
238
238
  doc2.content,
239
239
  ...doc2.threads
240
240
  ]),
241
- serializer: import_chunk_6HPTH2F5.serializer
241
+ serializer: import_chunk_2A5P424C.serializer
242
242
  }
243
243
  }
244
244
  },
@@ -248,8 +248,8 @@ var MarkdownPlugin = () => {
248
248
  ],
249
249
  echo: {
250
250
  schema: [
251
- import_chunk_UJMOZCIA.DocumentType,
252
- import_chunk_UJMOZCIA.TextType
251
+ import_chunk_BHPFK7YI.DocumentType,
252
+ import_chunk_BHPFK7YI.TextType
253
253
  ]
254
254
  },
255
255
  space: {
@@ -257,10 +257,10 @@ var MarkdownPlugin = () => {
257
257
  label: [
258
258
  "create document label",
259
259
  {
260
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
260
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
261
261
  }
262
262
  ],
263
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
263
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
264
264
  }
265
265
  },
266
266
  graph: {
@@ -271,7 +271,7 @@ var MarkdownPlugin = () => {
271
271
  return [];
272
272
  }
273
273
  return (0, import_plugin_graph.createExtension)({
274
- id: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
274
+ id: import_chunk_BHPFK7YI.MarkdownAction.CREATE,
275
275
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
276
276
  actions: ({ node }) => {
277
277
  const id = node.id.split("/").at(-1);
@@ -284,12 +284,12 @@ var MarkdownPlugin = () => {
284
284
  }
285
285
  return [
286
286
  {
287
- id: `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/create/${node.id}`,
287
+ id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/create/${node.id}`,
288
288
  data: async () => {
289
289
  await dispatch([
290
290
  {
291
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
292
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
291
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
292
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
293
293
  },
294
294
  {
295
295
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -306,7 +306,7 @@ var MarkdownPlugin = () => {
306
306
  label: [
307
307
  "create document label",
308
308
  {
309
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
309
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
310
310
  }
311
311
  ],
312
312
  icon: "ph--text-aa--regular",
@@ -324,14 +324,14 @@ var MarkdownPlugin = () => {
324
324
  }
325
325
  return [
326
326
  {
327
- inputType: import_chunk_UJMOZCIA.DocumentType.typename,
327
+ inputType: import_chunk_BHPFK7YI.DocumentType.typename,
328
328
  outputType: "text/markdown",
329
329
  // Reconcile with metadata serializers.
330
330
  serialize: async (node) => {
331
331
  const doc = node.data;
332
332
  const content = await (0, import_echo.loadObjectReferences)(doc, (doc2) => doc2.content);
333
333
  return {
334
- name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_P7YU53RP.MARKDOWN_PLUGIN]["document title placeholder"],
334
+ name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]["document title placeholder"],
335
335
  data: content.content,
336
336
  type: "text/markdown"
337
337
  };
@@ -344,8 +344,8 @@ var MarkdownPlugin = () => {
344
344
  }
345
345
  const result = await dispatch([
346
346
  {
347
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
348
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
347
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
348
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE,
349
349
  data: {
350
350
  name: data.name,
351
351
  content: data.data
@@ -372,25 +372,25 @@ var MarkdownPlugin = () => {
372
372
  type: [
373
373
  "plugin name",
374
374
  {
375
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
375
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
376
376
  }
377
377
  ],
378
378
  label: [
379
379
  "create stack section label",
380
380
  {
381
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
381
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
382
382
  }
383
383
  ],
384
384
  icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
385
385
  intent: {
386
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
387
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
386
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
387
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
388
388
  }
389
389
  }
390
390
  ]
391
391
  },
392
392
  thread: {
393
- predicate: (obj) => obj instanceof import_chunk_UJMOZCIA.DocumentType,
393
+ predicate: (obj) => obj instanceof import_chunk_BHPFK7YI.DocumentType,
394
394
  createSort: (doc) => {
395
395
  const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
396
396
  "content"
@@ -417,8 +417,8 @@ var MarkdownPlugin = () => {
417
417
  switch (role) {
418
418
  case "section":
419
419
  case "article": {
420
- const doc = getDoc(data.active) ?? getDoc(data.object);
421
- const { id, object } = (0, import_chunk_UJMOZCIA.isEditorModel)(data.object) ? {
420
+ const doc = getDoc(data.object);
421
+ const { id, object } = (0, import_chunk_BHPFK7YI.isEditorModel)(data.object) ? {
422
422
  id: data.object.id,
423
423
  object: data.object
424
424
  } : doc ? {
@@ -432,7 +432,6 @@ var MarkdownPlugin = () => {
432
432
  id,
433
433
  object,
434
434
  role,
435
- coordinate: data.coordinate,
436
435
  settings: settings.values,
437
436
  extensionProviders: state.values.extensionProviders,
438
437
  viewMode: getViewMode(id),
@@ -441,7 +440,7 @@ var MarkdownPlugin = () => {
441
440
  });
442
441
  }
443
442
  case "settings": {
444
- return data.plugin === import_chunk_P7YU53RP.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
443
+ return data.plugin === import_chunk_PHHIPRJC.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
445
444
  settings: settings.values
446
445
  }) : null;
447
446
  }
@@ -452,10 +451,10 @@ var MarkdownPlugin = () => {
452
451
  intent: {
453
452
  resolver: ({ action, data }) => {
454
453
  switch (action) {
455
- case import_chunk_UJMOZCIA.MarkdownAction.CREATE: {
456
- const doc = (0, import_echo_schema.create)(import_chunk_UJMOZCIA.DocumentType, {
454
+ case import_chunk_BHPFK7YI.MarkdownAction.CREATE: {
455
+ const doc = (0, import_echo_schema.create)(import_chunk_BHPFK7YI.DocumentType, {
457
456
  name: data?.name,
458
- content: (0, import_echo_schema.create)(import_chunk_UJMOZCIA.TextType, {
457
+ content: (0, import_echo_schema.create)(import_chunk_BHPFK7YI.TextType, {
459
458
  content: data?.content ?? ""
460
459
  }),
461
460
  threads: []
@@ -474,7 +473,7 @@ var MarkdownPlugin = () => {
474
473
  ]
475
474
  };
476
475
  }
477
- case import_chunk_UJMOZCIA.MarkdownAction.SET_VIEW_MODE: {
476
+ case import_chunk_BHPFK7YI.MarkdownAction.SET_VIEW_MODE: {
478
477
  const { id, viewMode } = data ?? {};
479
478
  if (typeof id === "string" && import_react_ui_editor.EditorViewModes.includes(viewMode)) {
480
479
  state.values.viewMode[id] = viewMode;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/MarkdownPlugin.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { TextAa } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport {\n parseIntentPlugin,\n resolvePlugin,\n LayoutAction,\n type LayoutCoordinate,\n NavigationAction,\n type PluginDefinition,\n} from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport {\n createDocAccessor,\n fullyQualifiedId,\n getRangeFromCursor,\n isSpace,\n loadObjectReferences,\n} from '@dxos/react-client/echo';\nimport {\n type EditorInputMode,\n type EditorViewMode,\n EditorViewModes,\n translations as editorTranslations,\n createEditorStateStore,\n} from '@dxos/react-ui-editor';\n\nimport { MarkdownContainer, MarkdownSettings } from './components';\nimport meta, { MARKDOWN_PLUGIN } from './meta';\nimport translations from './translations';\nimport { DocumentType, isEditorModel, TextType } from './types';\nimport {\n type MarkdownPluginProvides,\n type MarkdownSettingsProps,\n MarkdownAction,\n type MarkdownPluginState,\n} from './types';\nimport { markdownExtensionPlugins, serializer } from './util';\n\n// TODO(burdon): Normalize active/object.\nconst getDoc = (object: any) => (object instanceof DocumentType ? object : undefined);\n\nexport const MarkdownPlugin = (): PluginDefinition<MarkdownPluginProvides> => {\n const settings = new LocalStorageStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN, {\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n const editorStateStore = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n\n const getViewMode = (id: string) => (id && state.values.viewMode[id]) || settings.values.defaultViewMode;\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n return {\n meta,\n ready: async (plugins) => {\n settings\n .prop({ key: 'defaultViewMode', type: LocalStorageStore.enum<EditorViewMode>() })\n .prop({ key: 'editorInputMode', type: LocalStorageStore.enum<EditorInputMode>({ allowUndefined: true }) })\n .prop({ key: 'toolbar', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'experimental', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'debug', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'typewriter', type: LocalStorageStore.string({ allowUndefined: true }) })\n .prop({ key: 'numberedHeadings', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'folding', type: LocalStorageStore.bool({ allowUndefined: true }) });\n\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n markdownExtensionPlugins(plugins).forEach((plugin) => {\n const { extensions } = plugin.provides.markdown;\n state.values.extensionProviders?.push(extensions);\n });\n },\n provides: {\n settings: settings.values,\n metadata: {\n records: {\n [DocumentType.typename]: {\n label: (object: any) => (object instanceof DocumentType ? object.name || object.fallbackName : undefined),\n placeholder: ['document title placeholder', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (doc: DocumentType) => loadObjectReferences(doc, (doc) => [doc.content, ...doc.threads]),\n serializer,\n },\n },\n },\n translations: [...translations, ...editorTranslations],\n echo: {\n schema: [DocumentType, TextType],\n },\n space: {\n onSpaceCreate: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n action: MarkdownAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: MarkdownAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${MARKDOWN_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: MARKDOWN_PLUGIN, action: MarkdownAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n testId: 'markdownPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n serializer: (plugins) => {\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!dispatch) {\n return [];\n }\n return [\n {\n inputType: DocumentType.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await loadObjectReferences(doc, (doc) => doc.content);\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][MARKDOWN_PLUGIN]['document title placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename];\n if (!space || !target) {\n return;\n }\n\n const result = await dispatch([\n {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n data: { name: data.name, content: data.data },\n },\n {\n action: SpaceAction.ADD_OBJECT,\n data: { target },\n },\n ]);\n\n return result?.data.object;\n },\n },\n ];\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-doc',\n testId: 'markdownPlugin.createSection',\n type: ['plugin name', { ns: MARKDOWN_PLUGIN }],\n label: ['create stack section label', { ns: MARKDOWN_PLUGIN }],\n icon: (props: any) => <TextAa {...props} />,\n intent: {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (obj) => obj instanceof DocumentType,\n createSort: (doc: DocumentType) => {\n const accessor = doc.content ? createDocAccessor(doc.content, ['content']) : undefined;\n if (!accessor) {\n return (_) => 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n return (anchorA: string | undefined, anchorB: string | undefined): number => {\n if (anchorA === undefined || anchorB === undefined) {\n return 0;\n }\n const posA = getStartPosition(anchorA);\n const posB = getStartPosition(anchorB);\n return posA - posB;\n };\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'section':\n case 'article': {\n // TODO(burdon): Normalize types (from FilesPlugin).\n const doc = getDoc(data.active) ?? getDoc(data.object);\n const { id, object } = isEditorModel(data.object)\n ? { id: data.object.id, object: data.object }\n : doc\n ? { id: fullyQualifiedId(doc), object: doc }\n : {};\n\n if (!id || !object) {\n return null;\n }\n\n return (\n <MarkdownContainer\n id={id}\n object={object}\n role={role}\n coordinate={data.coordinate as LayoutCoordinate}\n settings={settings.values}\n extensionProviders={state.values.extensionProviders}\n viewMode={getViewMode(id)}\n editorStateStore={editorStateStore}\n onViewModeChange={setViewMode}\n />\n );\n }\n\n case 'settings': {\n return data.plugin === meta.id ? <MarkdownSettings settings={settings.values} /> : null;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: ({ action, data }) => {\n switch (action) {\n case MarkdownAction.CREATE: {\n const doc = create(DocumentType, {\n name: data?.name,\n content: create(TextType, { content: data?.content ?? '' }),\n threads: [],\n });\n\n return {\n data: doc,\n intents: [[{ action: LayoutAction.SCROLL_INTO_VIEW, data: { id: fullyQualifiedId(doc) } }]],\n };\n }\n\n case MarkdownAction.SET_VIEW_MODE: {\n const { id, viewMode } = data ?? {};\n if (typeof id === 'string' && EditorViewModes.includes(viewMode)) {\n state.values.viewMode[id] = viewMode;\n return { data: true };\n }\n\n break;\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { FormInput } from '@dxos/react-ui-data';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownSettingsProps } from '../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: MarkdownSettingsProps }) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <>\n <FormInput label={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </FormInput>\n\n <FormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </FormInput>\n\n <FormInput label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </FormInput>\n\n <FormInput label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </FormInput>\n\n <FormInput label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </FormInput>\n\n <FormInput label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </FormInput>\n\n <FormInput\n label={t('settings debug label')}\n secondary={\n settings.debug ? (\n <Input.Root>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </Input.Root>\n ) : undefined\n }\n >\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </FormInput>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'create stack section label': 'Create document',\n 'document title placeholder': 'New document',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'create document label': 'Create document',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MarkdownPlugin } from './MarkdownPlugin';\n\nexport default MarkdownPlugin;\n\nexport * from './MarkdownPlugin';\nexport * from './types';\nexport * from './util';\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_react_ui_editor", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "React", "FormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "getDoc", "object", "DocumentType", "MarkdownPlugin", "LocalStorageStore", "editorStateStore", "createEditorStateStore", "state", "extensionProviders", "viewMode", "getViewMode", "id", "values", "setViewMode", "meta", "ready", "plugins", "prop", "type", "enum", "allowUndefined", "bool", "string", "json", "markdownExtensionPlugins", "forEach", "plugin", "extensions", "provides", "markdown", "push", "metadata", "records", "typename", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "loadObjectReferences", "content", "threads", "serializer", "translations", "editorTranslations", "echo", "schema", "TextType", "space", "onSpaceCreate", "action", "MarkdownAction", "CREATE", "graph", "builder", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "data", "NavigationAction", "OPEN", "properties", "testId", "inputType", "outputType", "serialize", "deserialize", "ancestors", "isSpace", "findLast", "ancestor", "CollectionType", "result", "stack", "creators", "props", "TextAa", "thread", "predicate", "obj", "createSort", "accessor", "createDocAccessor", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB", "surface", "component", "role", "active", "isEditorModel", "fullyQualifiedId", "coordinate", "onViewModeChange", "resolver", "create", "intents", "LayoutAction", "SCROLL_INTO_VIEW", "SET_VIEW_MODE", "includes"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { TextAa } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport {\n parseIntentPlugin,\n resolvePlugin,\n LayoutAction,\n NavigationAction,\n type PluginDefinition,\n} from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport {\n createDocAccessor,\n fullyQualifiedId,\n getRangeFromCursor,\n isSpace,\n loadObjectReferences,\n} from '@dxos/react-client/echo';\nimport {\n type EditorInputMode,\n type EditorViewMode,\n EditorViewModes,\n translations as editorTranslations,\n createEditorStateStore,\n} from '@dxos/react-ui-editor';\n\nimport { MarkdownContainer, MarkdownSettings } from './components';\nimport meta, { MARKDOWN_PLUGIN } from './meta';\nimport translations from './translations';\nimport { DocumentType, isEditorModel, TextType } from './types';\nimport {\n type MarkdownPluginProvides,\n type MarkdownSettingsProps,\n MarkdownAction,\n type MarkdownPluginState,\n} from './types';\nimport { markdownExtensionPlugins, serializer } from './util';\n\n// TODO(burdon): Normalize active/object.\nconst getDoc = (object: any) => (object instanceof DocumentType ? object : undefined);\n\nexport const MarkdownPlugin = (): PluginDefinition<MarkdownPluginProvides> => {\n const settings = new LocalStorageStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN, {\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n const editorStateStore = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n\n const getViewMode = (id: string) => (id && state.values.viewMode[id]) || settings.values.defaultViewMode;\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n return {\n meta,\n ready: async (plugins) => {\n settings\n .prop({ key: 'defaultViewMode', type: LocalStorageStore.enum<EditorViewMode>() })\n .prop({ key: 'editorInputMode', type: LocalStorageStore.enum<EditorInputMode>({ allowUndefined: true }) })\n .prop({ key: 'toolbar', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'experimental', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'debug', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'typewriter', type: LocalStorageStore.string({ allowUndefined: true }) })\n .prop({ key: 'numberedHeadings', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'folding', type: LocalStorageStore.bool({ allowUndefined: true }) });\n\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n markdownExtensionPlugins(plugins).forEach((plugin) => {\n const { extensions } = plugin.provides.markdown;\n state.values.extensionProviders?.push(extensions);\n });\n },\n provides: {\n settings: settings.values,\n metadata: {\n records: {\n [DocumentType.typename]: {\n label: (object: any) => (object instanceof DocumentType ? object.name || object.fallbackName : undefined),\n placeholder: ['document title placeholder', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (doc: DocumentType) => loadObjectReferences(doc, (doc) => [doc.content, ...doc.threads]),\n serializer,\n },\n },\n },\n translations: [...translations, ...editorTranslations],\n echo: {\n schema: [DocumentType, TextType],\n },\n space: {\n onSpaceCreate: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n action: MarkdownAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: MarkdownAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${MARKDOWN_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: MARKDOWN_PLUGIN, action: MarkdownAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n testId: 'markdownPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n serializer: (plugins) => {\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!dispatch) {\n return [];\n }\n return [\n {\n inputType: DocumentType.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await loadObjectReferences(doc, (doc) => doc.content);\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][MARKDOWN_PLUGIN]['document title placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename];\n if (!space || !target) {\n return;\n }\n\n const result = await dispatch([\n {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n data: { name: data.name, content: data.data },\n },\n {\n action: SpaceAction.ADD_OBJECT,\n data: { target },\n },\n ]);\n\n return result?.data.object;\n },\n },\n ];\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-doc',\n testId: 'markdownPlugin.createSection',\n type: ['plugin name', { ns: MARKDOWN_PLUGIN }],\n label: ['create stack section label', { ns: MARKDOWN_PLUGIN }],\n icon: (props: any) => <TextAa {...props} />,\n intent: {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (obj) => obj instanceof DocumentType,\n createSort: (doc: DocumentType) => {\n const accessor = doc.content ? createDocAccessor(doc.content, ['content']) : undefined;\n if (!accessor) {\n return (_) => 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n return (anchorA: string | undefined, anchorB: string | undefined): number => {\n if (anchorA === undefined || anchorB === undefined) {\n return 0;\n }\n const posA = getStartPosition(anchorA);\n const posB = getStartPosition(anchorB);\n return posA - posB;\n };\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'section':\n case 'article': {\n const doc = getDoc(data.object);\n const { id, object } = isEditorModel(data.object)\n ? { id: data.object.id, object: data.object }\n : doc\n ? { id: fullyQualifiedId(doc), object: doc }\n : {};\n\n if (!id || !object) {\n return null;\n }\n\n return (\n <MarkdownContainer\n id={id}\n object={object}\n role={role}\n settings={settings.values}\n extensionProviders={state.values.extensionProviders}\n viewMode={getViewMode(id)}\n editorStateStore={editorStateStore}\n onViewModeChange={setViewMode}\n />\n );\n }\n\n case 'settings': {\n return data.plugin === meta.id ? <MarkdownSettings settings={settings.values} /> : null;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: ({ action, data }) => {\n switch (action) {\n case MarkdownAction.CREATE: {\n const doc = create(DocumentType, {\n name: data?.name,\n content: create(TextType, { content: data?.content ?? '' }),\n threads: [],\n });\n\n return {\n data: doc,\n intents: [[{ action: LayoutAction.SCROLL_INTO_VIEW, data: { id: fullyQualifiedId(doc) } }]],\n };\n }\n\n case MarkdownAction.SET_VIEW_MODE: {\n const { id, viewMode } = data ?? {};\n if (typeof id === 'string' && EditorViewModes.includes(viewMode)) {\n state.values.viewMode[id] = viewMode;\n return { data: true };\n }\n\n break;\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-data';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownSettingsProps } from '../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: MarkdownSettingsProps }) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <>\n <DeprecatedFormInput label={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput\n label={t('settings debug label')}\n secondary={\n settings.debug ? (\n <Input.Root>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </Input.Root>\n ) : undefined\n }\n >\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'create stack section label': 'Create document',\n 'document title placeholder': 'New document',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'create document label': 'Create document',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MarkdownPlugin } from './MarkdownPlugin';\n\nexport default MarkdownPlugin;\n\nexport * from './MarkdownPlugin';\nexport * from './types';\nexport * from './util';\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_ui_editor", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "React", "DeprecatedFormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "getDoc", "object", "DocumentType", "MarkdownPlugin", "LocalStorageStore", "editorStateStore", "createEditorStateStore", "state", "extensionProviders", "viewMode", "getViewMode", "id", "values", "setViewMode", "meta", "ready", "plugins", "prop", "type", "enum", "allowUndefined", "bool", "string", "json", "markdownExtensionPlugins", "forEach", "plugin", "extensions", "provides", "markdown", "push", "metadata", "records", "typename", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "loadObjectReferences", "content", "threads", "serializer", "translations", "editorTranslations", "echo", "schema", "TextType", "space", "onSpaceCreate", "action", "MarkdownAction", "CREATE", "graph", "builder", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "data", "NavigationAction", "OPEN", "properties", "testId", "inputType", "outputType", "serialize", "deserialize", "ancestors", "isSpace", "findLast", "ancestor", "CollectionType", "result", "stack", "creators", "props", "TextAa", "thread", "predicate", "obj", "createSort", "accessor", "createDocAccessor", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB", "surface", "component", "role", "isEditorModel", "fullyQualifiedId", "onViewModeChange", "resolver", "create", "intents", "LayoutAction", "SCROLL_INTO_VIEW", "SET_VIEW_MODE", "includes"]
7
7
  }
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var meta_exports = {};
20
20
  __export(meta_exports, {
21
- MARKDOWN_PLUGIN: () => import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
22
- default: () => import_chunk_P7YU53RP.meta_default
21
+ MARKDOWN_PLUGIN: () => import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
22
+ default: () => import_chunk_PHHIPRJC.meta_default
23
23
  });
24
24
  module.exports = __toCommonJS(meta_exports);
25
- var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
25
+ var import_chunk_PHHIPRJC = require("./chunk-PHHIPRJC.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
28
28
  MARKDOWN_PLUGIN
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["meta.cjs"],
4
- "sourcesContent": ["import {\n MARKDOWN_PLUGIN,\n meta_default\n} from \"./chunk-P7YU53RP.cjs\";\nexport {\n MARKDOWN_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
4
+ "sourcesContent": ["import {\n MARKDOWN_PLUGIN,\n meta_default\n} from \"./chunk-PHHIPRJC.cjs\";\nexport {\n MARKDOWN_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
6
  "names": []
7
7
  }