@dxos/plugin-markdown 0.6.14-main.2b6a0f3 → 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 (40) hide show
  1. package/dist/lib/browser/{MarkdownContainer-6VGH47F5.mjs → MarkdownContainer-HRGXWEA4.mjs} +13 -17
  2. package/dist/lib/browser/MarkdownContainer-HRGXWEA4.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-45N5MEOV.mjs → chunk-VGIHBUXB.mjs} +4 -2
  4. package/dist/lib/browser/{chunk-45N5MEOV.mjs.map → chunk-VGIHBUXB.mjs.map} +2 -2
  5. package/dist/lib/browser/index.mjs +14 -15
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/node/{MarkdownContainer-OXS7TME6.cjs → MarkdownContainer-QZ4YLO7M.cjs} +47 -51
  9. package/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs.map +7 -0
  10. package/dist/lib/node/{chunk-W2YJVZ3N.cjs → chunk-6HPTH2F5.cjs} +7 -5
  11. package/dist/lib/node/{chunk-W2YJVZ3N.cjs.map → chunk-6HPTH2F5.cjs.map} +2 -2
  12. package/dist/lib/node/index.cjs +20 -21
  13. package/dist/lib/node/index.cjs.map +3 -3
  14. package/dist/lib/node/meta.json +1 -1
  15. package/dist/lib/node-esm/{MarkdownContainer-IYX45C2U.mjs → MarkdownContainer-FSWQL76V.mjs} +13 -17
  16. package/dist/lib/node-esm/MarkdownContainer-FSWQL76V.mjs.map +7 -0
  17. package/dist/lib/node-esm/{chunk-UCNOGIBC.mjs → chunk-HPOTHJC4.mjs} +4 -2
  18. package/dist/lib/node-esm/{chunk-UCNOGIBC.mjs.map → chunk-HPOTHJC4.mjs.map} +2 -2
  19. package/dist/lib/node-esm/index.mjs +14 -15
  20. package/dist/lib/node-esm/index.mjs.map +3 -3
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  23. package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
  24. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  25. package/dist/types/src/components/MarkdownEditor.d.ts +4 -3
  26. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  27. package/dist/types/src/extensions.d.ts +3 -2
  28. package/dist/types/src/extensions.d.ts.map +1 -1
  29. package/dist/types/src/util.d.ts.map +1 -1
  30. package/package.json +36 -45
  31. package/src/MarkdownPlugin.tsx +7 -15
  32. package/src/components/MarkdownContainer.tsx +3 -11
  33. package/src/components/MarkdownEditor.tsx +8 -3
  34. package/src/components/MarkdownSettings.tsx +15 -15
  35. package/src/extensions.tsx +10 -6
  36. package/src/translations.ts +1 -1
  37. package/src/util.tsx +5 -3
  38. package/dist/lib/browser/MarkdownContainer-6VGH47F5.mjs.map +0 -7
  39. package/dist/lib/node/MarkdownContainer-OXS7TME6.cjs.map +0 -7
  40. package/dist/lib/node-esm/MarkdownContainer-IYX45C2U.mjs.map +0 -7
@@ -33,15 +33,15 @@ __export(node_exports, {
33
33
  MarkdownPlugin: () => MarkdownPlugin,
34
34
  TextType: () => import_chunk_UJMOZCIA.TextType,
35
35
  default: () => src_default,
36
- getFallbackName: () => import_chunk_W2YJVZ3N.getFallbackName,
36
+ getFallbackName: () => import_chunk_6HPTH2F5.getFallbackName,
37
37
  isEditorModel: () => import_chunk_UJMOZCIA.isEditorModel,
38
- isMarkdownProperties: () => import_chunk_W2YJVZ3N.isMarkdownProperties,
39
- markdownExtensionPlugins: () => import_chunk_W2YJVZ3N.markdownExtensionPlugins,
40
- serializer: () => import_chunk_W2YJVZ3N.serializer,
41
- setFallbackName: () => import_chunk_W2YJVZ3N.setFallbackName
38
+ isMarkdownProperties: () => import_chunk_6HPTH2F5.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_6HPTH2F5.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_6HPTH2F5.serializer,
41
+ setFallbackName: () => import_chunk_6HPTH2F5.setFallbackName
42
42
  });
43
43
  module.exports = __toCommonJS(node_exports);
44
- var import_chunk_W2YJVZ3N = require("./chunk-W2YJVZ3N.cjs");
44
+ var import_chunk_6HPTH2F5 = require("./chunk-6HPTH2F5.cjs");
45
45
  var import_chunk_UJMOZCIA = require("./chunk-UJMOZCIA.cjs");
46
46
  var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
47
47
  var import_react = require("@phosphor-icons/react");
@@ -57,12 +57,12 @@ var import_echo = require("@dxos/react-client/echo");
57
57
  var import_react_ui_editor = require("@dxos/react-ui-editor");
58
58
  var import_react3 = require("react");
59
59
  var import_react4 = __toESM(require("react"));
60
- var import_plugin_settings = require("@dxos/plugin-settings");
61
60
  var import_react_ui = require("@dxos/react-ui");
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
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, {
65
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
77
+ })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
89
+ }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
94
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
99
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
104
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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_plugin_settings.SettingsValue, {
109
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
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,7 +119,7 @@ var MarkdownSettings = ({ settings }) => {
119
119
  onCheckedChange: (checked) => settings.debug = !!checked
120
120
  })));
121
121
  };
122
- var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-OXS7TME6.cjs"));
122
+ var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-QZ4YLO7M.cjs"));
123
123
  var translations_default = [
124
124
  {
125
125
  "en-US": {
@@ -132,7 +132,7 @@ var translations_default = [
132
132
  "empty choose markdown from space message": "None available; try creating a new one instead?",
133
133
  "chooser done label": "Add selected",
134
134
  "create document label": "Create document",
135
- "editor placeholder": "New document",
135
+ "editor placeholder": "",
136
136
  "editor input mode label": "Editor input mode",
137
137
  "select editor input mode placeholder": "Select editor input mode\u2026",
138
138
  "settings editor input mode default label": "Default",
@@ -159,6 +159,7 @@ var MarkdownPlugin = () => {
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`);
162
163
  const state = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
163
164
  extensionProviders: [],
164
165
  viewMode: {}
@@ -170,11 +171,9 @@ var MarkdownPlugin = () => {
170
171
  ready: async (plugins) => {
171
172
  settings.prop({
172
173
  key: "defaultViewMode",
173
- storageKey: "default-view-mode",
174
174
  type: import_local_storage.LocalStorageStore.enum()
175
175
  }).prop({
176
176
  key: "editorInputMode",
177
- storageKey: "editor-mode",
178
177
  type: import_local_storage.LocalStorageStore.enum({
179
178
  allowUndefined: true
180
179
  })
@@ -211,10 +210,9 @@ var MarkdownPlugin = () => {
211
210
  });
212
211
  state.prop({
213
212
  key: "viewMode",
214
- storageKey: "view-mode",
215
213
  type: import_local_storage.LocalStorageStore.json()
216
214
  });
217
- (0, import_chunk_W2YJVZ3N.markdownExtensionPlugins)(plugins).forEach((plugin) => {
215
+ (0, import_chunk_6HPTH2F5.markdownExtensionPlugins)(plugins).forEach((plugin) => {
218
216
  const { extensions } = plugin.provides.markdown;
219
217
  state.values.extensionProviders?.push(extensions);
220
218
  });
@@ -240,7 +238,7 @@ var MarkdownPlugin = () => {
240
238
  doc2.content,
241
239
  ...doc2.threads
242
240
  ]),
243
- serializer: import_chunk_W2YJVZ3N.serializer
241
+ serializer: import_chunk_6HPTH2F5.serializer
244
242
  }
245
243
  }
246
244
  },
@@ -438,6 +436,7 @@ var MarkdownPlugin = () => {
438
436
  settings: settings.values,
439
437
  extensionProviders: state.values.extensionProviders,
440
438
  viewMode: getViewMode(id),
439
+ editorStateStore,
441
440
  onViewModeChange: setViewMode
442
441
  });
443
442
  }
@@ -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} 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 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({\n key: 'defaultViewMode',\n storageKey: 'default-view-mode',\n type: LocalStorageStore.enum<EditorViewMode>(),\n })\n .prop({\n key: 'editorInputMode',\n storageKey: 'editor-mode',\n type: LocalStorageStore.enum<EditorInputMode>({ allowUndefined: true }),\n })\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({\n key: 'viewMode',\n storageKey: 'view-mode',\n type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>(),\n });\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 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 { SettingsValue } from '@dxos/plugin-settings';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\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 <SettingsValue 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 </SettingsValue>\n\n <SettingsValue 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 </SettingsValue>\n\n <SettingsValue label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </SettingsValue>\n\n <SettingsValue label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </SettingsValue>\n\n <SettingsValue label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </SettingsValue>\n\n <SettingsValue label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </SettingsValue>\n\n <SettingsValue\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 </SettingsValue>\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': 'New document',\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", "SettingsValue", "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", "state", "extensionProviders", "viewMode", "getViewMode", "id", "values", "setViewMode", "meta", "ready", "plugins", "prop", "storageKey", "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 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"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytes":1509,"imports":[],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytes":12506,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytes":6483,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/hooks/index.ts":{"bytes":544,"imports":[{"path":"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx","kind":"import-statement","original":"./useSelectCurrentThread"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytes":24547,"imports":[{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/document.ts":{"bytes":3473,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytes":4453,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytes":591,"imports":[{"path":"packages/plugins/plugin-markdown/src/types/document.ts","kind":"import-statement","original":"./document"},{"path":"packages/plugins/plugin-markdown/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/util.tsx":{"bytes":6297,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytes":23896,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx":{"bytes":11043,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","kind":"import-statement","original":"./MarkdownEditor"},{"path":"packages/plugins/plugin-markdown/src/extensions.tsx","kind":"import-statement","original":"../extensions"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytes":931,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx","kind":"import-statement","original":"./MarkdownSettings"},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx","kind":"dynamic-import","original":"./MarkdownContainer"}],"format":"esm"},"packages/plugins/plugin-markdown/src/translations.ts":{"bytes":4765,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytes":44616,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-markdown/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/index.ts":{"bytes":969,"imports":[{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-markdown/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29355},"packages/plugins/plugin-markdown/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-W2YJVZ3N.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-OXS7TME6.cjs","kind":"dynamic-import"}],"exports":["DocumentType","MarkdownAction","MarkdownPlugin","TextType","default","getFallbackName","isEditorModel","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"entryPoint":"packages/plugins/plugin-markdown/src/index.ts","inputs":{"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytesInOutput":11603},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytesInOutput":3448},"packages/plugins/plugin-markdown/src/translations.ts":{"bytesInOutput":1463},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":17656},"packages/plugins/plugin-markdown/dist/lib/node/meta.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/node/meta.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"}],"exports":["MARKDOWN_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-markdown/src/meta.ts","inputs":{},"bytes":165},"packages/plugins/plugin-markdown/dist/lib/node/types/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/node/types/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"}],"exports":["DocumentType","MarkdownAction","TextType","isEditorModel"],"entryPoint":"packages/plugins/plugin-markdown/src/types/index.ts","inputs":{},"bytes":244},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-OXS7TME6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33644},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-OXS7TME6.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-W2YJVZ3N.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["DocumentEditor","default"],"entryPoint":"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx","inputs":{"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx":{"bytesInOutput":2256},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":5744},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytesInOutput":1356},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytesInOutput":5517}},"bytes":15608},"packages/plugins/plugin-markdown/dist/lib/node/chunk-W2YJVZ3N.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3478},"packages/plugins/plugin-markdown/dist/lib/node/chunk-W2YJVZ3N.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["getFallbackName","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"inputs":{"packages/plugins/plugin-markdown/src/util.tsx":{"bytesInOutput":1238}},"bytes":1515},"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["DocumentType","MarkdownAction","TextType","isEditorModel"],"inputs":{"packages/plugins/plugin-markdown/src/types/document.ts":{"bytesInOutput":661},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytesInOutput":340}},"bytes":1293},"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":719},"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs":{"imports":[],"exports":["MARKDOWN_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytesInOutput":307}},"bytes":446}}}
1
+ {"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytes":1509,"imports":[],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytes":12392,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytes":6483,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/hooks/index.ts":{"bytes":544,"imports":[{"path":"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx","kind":"import-statement","original":"./useSelectCurrentThread"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytes":25191,"imports":[{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/document.ts":{"bytes":3473,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytes":4453,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytes":591,"imports":[{"path":"packages/plugins/plugin-markdown/src/types/document.ts","kind":"import-statement","original":"./document"},{"path":"packages/plugins/plugin-markdown/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/util.tsx":{"bytes":6544,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytes":23800,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx":{"bytes":10102,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","kind":"import-statement","original":"./MarkdownEditor"},{"path":"packages/plugins/plugin-markdown/src/extensions.tsx","kind":"import-statement","original":"../extensions"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytes":931,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx","kind":"import-statement","original":"./MarkdownSettings"},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx","kind":"dynamic-import","original":"./MarkdownContainer"}],"format":"esm"},"packages/plugins/plugin-markdown/src/translations.ts":{"bytes":4737,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytes":44721,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-markdown/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/index.ts":{"bytes":969,"imports":[{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-markdown/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29321},"packages/plugins/plugin-markdown/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-6HPTH2F5.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs","kind":"dynamic-import"}],"exports":["DocumentType","MarkdownAction","MarkdownPlugin","TextType","default","getFallbackName","isEditorModel","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"entryPoint":"packages/plugins/plugin-markdown/src/index.ts","inputs":{"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytesInOutput":11632},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytesInOutput":3414},"packages/plugins/plugin-markdown/src/translations.ts":{"bytesInOutput":1451},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":17639},"packages/plugins/plugin-markdown/dist/lib/node/meta.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/node/meta.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"}],"exports":["MARKDOWN_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-markdown/src/meta.ts","inputs":{},"bytes":165},"packages/plugins/plugin-markdown/dist/lib/node/types/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/node/types/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"}],"exports":["DocumentType","MarkdownAction","TextType","isEditorModel"],"entryPoint":"packages/plugins/plugin-markdown/src/types/index.ts","inputs":{},"bytes":244},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33439},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-6HPTH2F5.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["DocumentEditor","default"],"entryPoint":"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx","inputs":{"packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx":{"bytesInOutput":2038},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":5842},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytesInOutput":1356},"packages/plugins/plugin-markdown/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytesInOutput":5469}},"bytes":15440},"packages/plugins/plugin-markdown/dist/lib/node/chunk-6HPTH2F5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3586},"packages/plugins/plugin-markdown/dist/lib/node/chunk-6HPTH2F5.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["getFallbackName","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"inputs":{"packages/plugins/plugin-markdown/src/util.tsx":{"bytesInOutput":1313}},"bytes":1590},"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"packages/plugins/plugin-markdown/dist/lib/node/chunk-UJMOZCIA.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["DocumentType","MarkdownAction","TextType","isEditorModel"],"inputs":{"packages/plugins/plugin-markdown/src/types/document.ts":{"bytesInOutput":661},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytesInOutput":340}},"bytes":1293},"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":719},"packages/plugins/plugin-markdown/dist/lib/node/chunk-P7YU53RP.cjs":{"imports":[],"exports":["MARKDOWN_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytesInOutput":307}},"bytes":446}}}
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getFallbackName,
4
4
  setFallbackName
5
- } from "./chunk-UCNOGIBC.mjs";
5
+ } from "./chunk-HPOTHJC4.mjs";
6
6
  import {
7
7
  DocumentType
8
8
  } from "./chunk-MIDCCMIX.mjs";
@@ -14,7 +14,6 @@ import {
14
14
  import React3, { useEffect as useEffect2, useMemo as useMemo3 } from "react";
15
15
  import { useResolvePlugin, parseFileManagerPlugin } from "@dxos/app-framework";
16
16
  import { fullyQualifiedId as fullyQualifiedId2, getSpace as getSpace2 } from "@dxos/react-client/echo";
17
- import { localStorageStateStoreAdapter as localStorageStateStoreAdapter2 } from "@dxos/react-ui-editor";
18
17
 
19
18
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
20
19
  import { openSearchPanel } from "@codemirror/search";
@@ -71,13 +70,16 @@ var useSelectCurrentThread = (editorView, documentId) => {
71
70
 
72
71
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
73
72
  var DEFAULT_VIEW_MODE = "preview";
74
- var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, scrollTo, selection, toolbar, viewMode, onFileUpload, onViewModeChange }) => {
73
+ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, viewMode, editorStateStore, onFileUpload, onViewModeChange }) => {
75
74
  const { t } = useTranslation(MARKDOWN_PLUGIN);
76
75
  const { themeMode } = useThemeContext();
77
76
  const dispatch = useIntentDispatcher();
78
77
  const [formattingState, formattingObserver] = useFormattingState();
79
78
  const attendableAttributes = useAttendableAttributes(id);
80
79
  const { hasAttention } = useAttention(id);
80
+ const { scrollTo, selection } = useMemo(() => editorStateStore?.getState(id) ?? {}, [
81
+ id
82
+ ]);
81
83
  const providerExtensions = useMemo(() => extensionProviders?.flatMap((provider) => provider({})).filter(nonNullable), [
82
84
  extensionProviders
83
85
  ]);
@@ -230,12 +232,11 @@ import { invariant } from "@dxos/invariant";
230
232
  import { createDocAccessor, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
231
233
  import { useIdentity } from "@dxos/react-client/halo";
232
234
  import { Icon, ThemeProvider } from "@dxos/react-ui";
233
- import { createDataExtensions, listener, localStorageStateStoreAdapter, state } from "@dxos/react-ui-editor";
234
- import { InputModeExtensions, autocomplete, decorateMarkdown, folding, formattingKeymap, linkTooltip, typewriter } from "@dxos/react-ui-editor";
235
+ import { InputModeExtensions, createDataExtensions, autocomplete, decorateMarkdown, folding, formattingKeymap, linkTooltip, listener, selectionState, typewriter } from "@dxos/react-ui-editor";
235
236
  import { defaultTx } from "@dxos/react-ui-theme";
236
237
  import { isNotFalsy as isNotFalsy2 } from "@dxos/util";
237
238
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
238
- var useExtensions = ({ extensionProviders, document, settings, viewMode }) => {
239
+ var useExtensions = ({ document, settings, viewMode, editorStateStore, extensionProviders }) => {
239
240
  const dispatch = useIntentDispatcher2();
240
241
  const identity = useIdentity();
241
242
  const space = getSpace(document);
@@ -273,7 +274,7 @@ var useExtensions = ({ extensionProviders, document, settings, viewMode }) => {
273
274
  space,
274
275
  identity
275
276
  }),
276
- state(localStorageStateStoreAdapter),
277
+ selectionState(editorStateStore),
277
278
  listener({
278
279
  onChange: (text) => setFallbackName(document, text)
279
280
  }),
@@ -350,7 +351,7 @@ var onRenderLink = (onSelectObject) => (el, url) => {
350
351
  const qualifiedId = url.split("/").at(-1);
351
352
  invariant(qualifiedId, "Invalid link format.", {
352
353
  F: __dxlog_file,
353
- L: 199,
354
+ L: 203,
354
355
  S: void 0,
355
356
  A: [
356
357
  "qualifiedId",
@@ -416,7 +417,7 @@ var MarkdownContainer = ({ id, role, object, settings, ...props }) => {
416
417
  });
417
418
  }
418
419
  };
419
- var DocumentEditor = ({ id, document: doc, extensionProviders, settings, viewMode, ...props }) => {
420
+ var DocumentEditor = ({ id, document: doc, extensionProviders, settings, viewMode, editorStateStore, ...props }) => {
420
421
  const space = getSpace2(doc);
421
422
  const initialValue = useMemo3(() => doc.content?.content, [
422
423
  doc.content
@@ -425,7 +426,8 @@ var DocumentEditor = ({ id, document: doc, extensionProviders, settings, viewMod
425
426
  extensionProviders,
426
427
  document: doc,
427
428
  settings,
428
- viewMode
429
+ viewMode,
430
+ editorStateStore
429
431
  });
430
432
  useEffect2(() => {
431
433
  if (!doc.fallbackName && doc.content?.content) {
@@ -435,10 +437,6 @@ var DocumentEditor = ({ id, document: doc, extensionProviders, settings, viewMod
435
437
  doc,
436
438
  doc.content
437
439
  ]);
438
- const { scrollTo, selection } = useMemo3(() => localStorageStateStoreAdapter2.getState(id) ?? {}, [
439
- id,
440
- doc
441
- ]);
442
440
  const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);
443
441
  const handleFileUpload = useMemo3(() => {
444
442
  if (space === void 0 || fileManagerPlugin?.provides.file.upload === void 0) {
@@ -453,8 +451,6 @@ var DocumentEditor = ({ id, document: doc, extensionProviders, settings, viewMod
453
451
  id,
454
452
  initialValue,
455
453
  extensions,
456
- scrollTo,
457
- selection,
458
454
  toolbar: settings.toolbar,
459
455
  inputMode: settings.editorInputMode,
460
456
  viewMode,
@@ -467,4 +463,4 @@ export {
467
463
  DocumentEditor,
468
464
  MarkdownContainer_default as default
469
465
  };
470
- //# sourceMappingURL=MarkdownContainer-IYX45C2U.mjs.map
466
+ //# sourceMappingURL=MarkdownContainer-FSWQL76V.mjs.map