@dxos/plugin-markdown 0.7.4-staging.f7e8224 → 0.7.5-main.499c70c

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 (65) hide show
  1. package/dist/lib/browser/{MarkdownContainer-6OPC5MKP.mjs → MarkdownContainer-XY6NEUOA.mjs} +86 -86
  2. package/dist/lib/browser/MarkdownContainer-XY6NEUOA.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-CMSUKMPM.mjs → chunk-6FIHBJRV.mjs} +27 -7
  4. package/dist/lib/browser/chunk-6FIHBJRV.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-TZN5FGB2.mjs → chunk-R4MG2DP2.mjs} +6 -6
  6. package/dist/lib/browser/chunk-R4MG2DP2.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +88 -174
  8. package/dist/lib/browser/index.mjs.map +3 -3
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/types/index.mjs +1 -1
  11. package/dist/lib/node/{MarkdownContainer-6OKJOHTZ.cjs → MarkdownContainer-EX6YDF6J.cjs} +78 -78
  12. package/dist/lib/node/MarkdownContainer-EX6YDF6J.cjs.map +7 -0
  13. package/dist/lib/node/{chunk-YGMWZIIJ.cjs → chunk-CQMXZ54Z.cjs} +28 -8
  14. package/dist/lib/node/chunk-CQMXZ54Z.cjs.map +7 -0
  15. package/dist/lib/node/{chunk-KEPAM4JP.cjs → chunk-SXQAPZZU.cjs} +9 -9
  16. package/dist/lib/node/chunk-SXQAPZZU.cjs.map +7 -0
  17. package/dist/lib/node/index.cjs +123 -209
  18. package/dist/lib/node/index.cjs.map +3 -3
  19. package/dist/lib/node/meta.json +1 -1
  20. package/dist/lib/node/types/index.cjs +5 -5
  21. package/dist/lib/node/types/index.cjs.map +1 -1
  22. package/dist/lib/node-esm/{MarkdownContainer-GBNSGROQ.mjs → MarkdownContainer-E7W623A7.mjs} +86 -86
  23. package/dist/lib/node-esm/MarkdownContainer-E7W623A7.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-NUMUUCYF.mjs → chunk-Y76MM22C.mjs} +6 -6
  25. package/dist/lib/node-esm/chunk-Y76MM22C.mjs.map +7 -0
  26. package/dist/lib/node-esm/{chunk-ERJ52KN2.mjs → chunk-ZVFBKBSA.mjs} +27 -7
  27. package/dist/lib/node-esm/chunk-ZVFBKBSA.mjs.map +7 -0
  28. package/dist/lib/node-esm/index.mjs +88 -174
  29. package/dist/lib/node-esm/index.mjs.map +3 -3
  30. package/dist/lib/node-esm/meta.json +1 -1
  31. package/dist/lib/node-esm/types/index.mjs +1 -1
  32. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  33. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  34. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  35. package/dist/types/src/extensions.d.ts +2 -2
  36. package/dist/types/src/extensions.d.ts.map +1 -1
  37. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  38. package/dist/types/src/types/index.d.ts +1 -1
  39. package/dist/types/src/types/index.d.ts.map +1 -1
  40. package/dist/types/src/types/schema.d.ts +82 -0
  41. package/dist/types/src/types/schema.d.ts.map +1 -0
  42. package/dist/types/src/types/types.d.ts +31 -12
  43. package/dist/types/src/types/types.d.ts.map +1 -1
  44. package/dist/types/tsconfig.tsbuildinfo +1 -0
  45. package/package.json +30 -29
  46. package/src/MarkdownPlugin.tsx +84 -149
  47. package/src/components/MarkdownContainer.tsx +8 -3
  48. package/src/components/MarkdownEditor.tsx +5 -13
  49. package/src/extensions.tsx +9 -10
  50. package/src/hooks/useSelectCurrentThread.tsx +17 -14
  51. package/src/types/index.ts +1 -1
  52. package/src/types/{document.ts → schema.ts} +4 -3
  53. package/src/types/types.ts +21 -15
  54. package/src/util.tsx +3 -3
  55. package/dist/lib/browser/MarkdownContainer-6OPC5MKP.mjs.map +0 -7
  56. package/dist/lib/browser/chunk-CMSUKMPM.mjs.map +0 -7
  57. package/dist/lib/browser/chunk-TZN5FGB2.mjs.map +0 -7
  58. package/dist/lib/node/MarkdownContainer-6OKJOHTZ.cjs.map +0 -7
  59. package/dist/lib/node/chunk-KEPAM4JP.cjs.map +0 -7
  60. package/dist/lib/node/chunk-YGMWZIIJ.cjs.map +0 -7
  61. package/dist/lib/node-esm/MarkdownContainer-GBNSGROQ.mjs.map +0 -7
  62. package/dist/lib/node-esm/chunk-ERJ52KN2.mjs.map +0 -7
  63. package/dist/lib/node-esm/chunk-NUMUUCYF.mjs.map +0 -7
  64. package/dist/types/src/types/document.d.ts +0 -106
  65. package/dist/types/src/types/document.d.ts.map +0 -1
@@ -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 { parseIntentPlugin, resolvePlugin, NavigationAction, type PluginDefinition } from '@dxos/app-framework';\nimport { create } from '@dxos/live-object';\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 createObject: MarkdownAction.CREATE,\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],\n system: [TextType],\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\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 { data: doc };\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 { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormInput } from '@dxos/react-ui-form';\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';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [DocumentType.typename]: {\n 'typename label': 'Document',\n },\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", "DocumentType", "typename", "getDoc", "object", "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", "createObject", "MarkdownAction", "CREATE", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "loadObjectReferences", "content", "threads", "serializer", "translations", "editorTranslations", "echo", "schema", "system", "TextType", "graph", "builder", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "space", "spaces", "get", "find", "db", "getObjectById", "data", "action", "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", "SET_VIEW_MODE", "includes"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React from 'react';\n\nimport {\n parseIntentPlugin,\n resolvePlugin,\n type PluginDefinition,\n createSurface,\n createResolver,\n createIntent,\n chain,\n} from '@dxos/app-framework';\nimport type { BaseObject } from '@dxos/echo-schema';\nimport { create, makeRef, RefArray } from '@dxos/live-object';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { createDocAccessor, fullyQualifiedId, getRangeFromCursor, isSpace } from '@dxos/react-client/echo';\nimport {\n type EditorInputMode,\n type EditorViewMode,\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\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 createObject: (props: { name?: string }) => createIntent(MarkdownAction.Create, props),\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: async (doc: DocumentType) =>\n await RefArray.loadAll<BaseObject>([doc.content, ...doc.threads]),\n serializer,\n },\n },\n },\n translations: [...translations, ...editorTranslations],\n echo: {\n schema: [DocumentType],\n system: [TextType],\n },\n graph: {\n serializer: (plugins) => {\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatchPromise;\n if (!dispatch) {\n return [];\n }\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 doc.content.load();\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]?.target;\n if (!space || !target) {\n return;\n }\n\n const result = await dispatch(\n pipe(\n createIntent(MarkdownAction.Create, { name: data.name, content: data.data }),\n chain(SpaceAction.AddObject, { target }),\n ),\n );\n\n return result.data?.object;\n },\n },\n ];\n },\n },\n thread: {\n predicate: (obj) => obj instanceof DocumentType,\n createSort: (doc: DocumentType) => {\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['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 definitions: () => [\n createSurface({\n id: `${MARKDOWN_PLUGIN}/document`,\n role: ['article', 'section'],\n filter: (data): data is { subject: DocumentType } => data.subject instanceof DocumentType,\n component: ({ data, role }) => (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings.values}\n extensionProviders={state.values.extensionProviders}\n viewMode={getViewMode(fullyQualifiedId(data.subject))}\n editorStateStore={editorStateStore}\n onViewModeChange={setViewMode}\n />\n ),\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings.values}\n extensionProviders={state.values.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorStateStore}\n onViewModeChange={setViewMode}\n />\n ),\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/settings`,\n role: 'settings',\n filter: (data): data is any => data.subject === MARKDOWN_PLUGIN,\n component: () => <MarkdownSettings settings={settings.values} />,\n }),\n ],\n },\n intent: {\n resolvers: () => [\n createResolver(MarkdownAction.Create, ({ name, content }) => {\n const doc = create(DocumentType, {\n name,\n content: makeRef(create(TextType, { content: content ?? '' })),\n threads: [],\n });\n\n return { data: { object: doc } };\n }),\n createResolver(MarkdownAction.SetViewMode, ({ id, viewMode }) => {\n state.values.viewMode[id] = viewMode;\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 { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormInput } from '@dxos/react-ui-form';\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';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [DocumentType.typename]: {\n 'typename label': 'Document',\n },\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", "DocumentType", "typename", "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", "createObject", "props", "createIntent", "MarkdownAction", "Create", "object", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "threads", "serializer", "translations", "editorTranslations", "echo", "schema", "system", "TextType", "graph", "dispatch", "resolvePlugin", "parseIntentPlugin", "intent", "dispatchPromise", "inputType", "outputType", "serialize", "node", "data", "load", "deserialize", "ancestors", "space", "find", "isSpace", "findLast", "ancestor", "CollectionType", "properties", "result", "pipe", "chain", "SpaceAction", "AddObject", "thread", "predicate", "obj", "createSort", "accessor", "createDocAccessor", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB", "surface", "definitions", "createSurface", "role", "filter", "subject", "component", "fullyQualifiedId", "onViewModeChange", "isEditorModel", "resolvers", "createResolver", "create", "makeRef", "SetViewMode"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytes":1471,"imports":[],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytes":12696,"imports":[{"path":"react","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-form","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":6662,"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":23740,"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":4337,"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":24298,"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":10663,"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":5184,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytes":42692,"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/live-object","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":28934},"packages/plugins/plugin-markdown/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-KEPAM4JP.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-YGMWZIIJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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/live-object","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-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-6OKJOHTZ.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":11102},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytesInOutput":3494},"packages/plugins/plugin-markdown/src/translations.ts":{"bytesInOutput":1530},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":17268},"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-PHHIPRJC.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-YGMWZIIJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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-6OKJOHTZ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33204},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-6OKJOHTZ.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-KEPAM4JP.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-YGMWZIIJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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":2139},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":5500},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytesInOutput":1411},"packages/plugins/plugin-markdown/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytesInOutput":5605}},"bytes":15390},"packages/plugins/plugin-markdown/dist/lib/node/chunk-KEPAM4JP.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3586},"packages/plugins/plugin-markdown/dist/lib/node/chunk-KEPAM4JP.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-YGMWZIIJ.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-YGMWZIIJ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4513},"packages/plugins/plugin-markdown/dist/lib/node/chunk-YGMWZIIJ.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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-PHHIPRJC.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":703},"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.cjs":{"imports":[],"exports":["MARKDOWN_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytesInOutput":293}},"bytes":432}}}
1
+ {"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytes":1471,"imports":[],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytes":12696,"imports":[{"path":"react","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-form","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":7005,"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/invariant","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":23609,"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/schema.ts":{"bytes":3556,"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":5949,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytes":589,"imports":[{"path":"packages/plugins/plugin-markdown/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-markdown/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/util.tsx":{"bytes":6662,"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":24397,"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":11129,"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":5184,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytes":33620,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/local-storage","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":25296},"packages/plugins/plugin-markdown/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-SXQAPZZU.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-CQMXZ54Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/local-storage","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-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-EX6YDF6J.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":8325},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytesInOutput":3494},"packages/plugins/plugin-markdown/src/translations.ts":{"bytesInOutput":1530},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":14491},"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-PHHIPRJC.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-CQMXZ54Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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-EX6YDF6J.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33807},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-EX6YDF6J.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-SXQAPZZU.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-CQMXZ54Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.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/invariant","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":2272},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":5458},"packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx":{"bytesInOutput":1656},"packages/plugins/plugin-markdown/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytesInOutput":5647}},"bytes":15768},"packages/plugins/plugin-markdown/dist/lib/node/chunk-SXQAPZZU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3669},"packages/plugins/plugin-markdown/dist/lib/node/chunk-SXQAPZZU.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-CQMXZ54Z.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":1339}},"bytes":1616},"packages/plugins/plugin-markdown/dist/lib/node/chunk-CQMXZ54Z.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5335},"packages/plugins/plugin-markdown/dist/lib/node/chunk-CQMXZ54Z.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.cjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true}],"exports":["DocumentType","MarkdownAction","TextType","isEditorModel"],"inputs":{"packages/plugins/plugin-markdown/src/types/schema.ts":{"bytesInOutput":661},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytesInOutput":756}},"bytes":1707},"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":703},"packages/plugins/plugin-markdown/dist/lib/node/chunk-PHHIPRJC.cjs":{"imports":[],"exports":["MARKDOWN_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-markdown/src/meta.ts":{"bytesInOutput":293}},"bytes":432}}}
@@ -18,13 +18,13 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- DocumentType: () => import_chunk_YGMWZIIJ.DocumentType,
22
- MarkdownAction: () => import_chunk_YGMWZIIJ.MarkdownAction,
23
- TextType: () => import_chunk_YGMWZIIJ.TextType,
24
- isEditorModel: () => import_chunk_YGMWZIIJ.isEditorModel
21
+ DocumentType: () => import_chunk_CQMXZ54Z.DocumentType,
22
+ MarkdownAction: () => import_chunk_CQMXZ54Z.MarkdownAction,
23
+ TextType: () => import_chunk_CQMXZ54Z.TextType,
24
+ isEditorModel: () => import_chunk_CQMXZ54Z.isEditorModel
25
25
  });
26
26
  module.exports = __toCommonJS(types_exports);
27
- var import_chunk_YGMWZIIJ = require("../chunk-YGMWZIIJ.cjs");
27
+ var import_chunk_CQMXZ54Z = require("../chunk-CQMXZ54Z.cjs");
28
28
  var import_chunk_PHHIPRJC = require("../chunk-PHHIPRJC.cjs");
29
29
  // Annotate the CommonJS export names for ESM import in node:
30
30
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n DocumentType,\n MarkdownAction,\n TextType,\n isEditorModel\n} from \"../chunk-YGMWZIIJ.cjs\";\nimport \"../chunk-PHHIPRJC.cjs\";\nexport {\n DocumentType,\n MarkdownAction,\n TextType,\n isEditorModel\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n DocumentType,\n MarkdownAction,\n TextType,\n isEditorModel\n} from \"../chunk-CQMXZ54Z.cjs\";\nimport \"../chunk-PHHIPRJC.cjs\";\nexport {\n DocumentType,\n MarkdownAction,\n TextType,\n isEditorModel\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAKO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -2,23 +2,23 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getFallbackName,
4
4
  setFallbackName
5
- } from "./chunk-NUMUUCYF.mjs";
5
+ } from "./chunk-Y76MM22C.mjs";
6
6
  import {
7
7
  DocumentType
8
- } from "./chunk-ERJ52KN2.mjs";
8
+ } from "./chunk-ZVFBKBSA.mjs";
9
9
  import {
10
10
  MARKDOWN_PLUGIN
11
11
  } from "./chunk-BABK7FMW.mjs";
12
12
 
13
13
  // packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx
14
- import React3, { useEffect as useEffect2, useMemo as useMemo3 } from "react";
14
+ import React3, { useEffect as useEffect2, useMemo as useMemo4 } 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
17
 
18
18
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
19
19
  import { openSearchPanel } from "@codemirror/search";
20
- import React, { useMemo, useEffect, useCallback as useCallback2 } from "react";
21
- import { LayoutAction as LayoutAction2, NavigationAction, useIntentDispatcher } from "@dxos/app-framework";
20
+ import React, { useMemo as useMemo2, useEffect, useCallback } from "react";
21
+ import { createIntent, LayoutAction as LayoutAction2, NavigationAction, useIntentDispatcher } from "@dxos/app-framework";
22
22
  import { useThemeContext, useTranslation } from "@dxos/react-ui";
23
23
  import { useAttention } from "@dxos/react-ui-attention";
24
24
  import { Toolbar, createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, editorContent, editorGutter, processAction, useActionHandler, useCommentState, useCommentClickListener, useFormattingState, useTextEditor } from "@dxos/react-ui-editor";
@@ -28,47 +28,54 @@ import { isNotFalsy, nonNullable } from "@dxos/util";
28
28
 
29
29
  // packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx
30
30
  import { EditorView } from "@codemirror/view";
31
- import { useCallback } from "react";
32
- import { LayoutAction, useIntentResolver } from "@dxos/app-framework";
31
+ import { useMemo } from "react";
32
+ import { createResolver, LayoutAction, useIntentResolver } from "@dxos/app-framework";
33
+ import { invariant } from "@dxos/invariant";
33
34
  import { Cursor, setSelection } from "@dxos/react-ui-editor";
35
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx";
34
36
  var useSelectCurrentThread = (editorView, documentId) => {
35
- const handleScrollIntoView = useCallback(({ action, data }) => {
36
- if (action === LayoutAction.SCROLL_INTO_VIEW) {
37
- if (editorView && data?.id === documentId && data?.cursor) {
38
- const range = Cursor.getRangeFromCursor(editorView.state, data.cursor);
39
- if (range) {
40
- const selection = editorView.state.selection.main.from !== range.from ? {
41
- anchor: range.from
42
- } : void 0;
43
- const effects = [
44
- // NOTE: This does not use the DOM scrollIntoView function.
45
- EditorView.scrollIntoView(range.from, {
46
- y: "start",
47
- yMargin: 96
48
- })
49
- ];
50
- if (selection) {
51
- effects.push(setSelection.of({
52
- current: documentId
53
- }));
54
- }
55
- editorView.dispatch({
56
- effects,
57
- selection: selection ? {
58
- anchor: range.from
59
- } : void 0
60
- });
61
- return {
62
- data: true
63
- };
64
- }
37
+ const scrollIntoViewResolver = useMemo(() => createResolver(LayoutAction.ScrollIntoView, ({ cursor }) => {
38
+ invariant(editorView, "Editor view is not defined.", {
39
+ F: __dxlog_file,
40
+ L: 23,
41
+ S: void 0,
42
+ A: [
43
+ "editorView",
44
+ "'Editor view is not defined.'"
45
+ ]
46
+ });
47
+ const range = Cursor.getRangeFromCursor(editorView.state, cursor);
48
+ if (range) {
49
+ const selection = editorView.state.selection.main.from !== range.from ? {
50
+ anchor: range.from
51
+ } : void 0;
52
+ const effects = [
53
+ // NOTE: This does not use the DOM scrollIntoView function.
54
+ EditorView.scrollIntoView(range.from, {
55
+ y: "start",
56
+ yMargin: 96
57
+ })
58
+ ];
59
+ if (selection) {
60
+ effects.push(setSelection.of({
61
+ current: documentId
62
+ }));
65
63
  }
64
+ editorView.dispatch({
65
+ effects,
66
+ selection: selection ? {
67
+ anchor: range.from
68
+ } : void 0
69
+ });
66
70
  }
67
- }, [
71
+ }, {
72
+ disposition: "hoist",
73
+ filter: (data) => !!editorView && data.id === documentId && !!data.cursor
74
+ }), [
68
75
  documentId,
69
76
  editorView
70
77
  ]);
71
- useIntentResolver(MARKDOWN_PLUGIN, handleScrollIntoView);
78
+ useIntentResolver(MARKDOWN_PLUGIN, scrollIntoViewResolver);
72
79
  };
73
80
 
74
81
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
@@ -76,34 +83,26 @@ var DEFAULT_VIEW_MODE = "preview";
76
83
  var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, viewMode, editorStateStore, onFileUpload, onViewModeChange }) => {
77
84
  const { t } = useTranslation(MARKDOWN_PLUGIN);
78
85
  const { themeMode } = useThemeContext();
79
- const dispatch = useIntentDispatcher();
86
+ const { dispatchPromise: dispatch } = useIntentDispatcher();
80
87
  const [formattingState, formattingObserver] = useFormattingState();
81
88
  const { hasAttention } = useAttention(id);
82
- const { scrollTo, selection } = useMemo(() => editorStateStore?.getState(id) ?? {}, [
89
+ const { scrollTo, selection } = useMemo2(() => editorStateStore?.getState(id) ?? {}, [
83
90
  id
84
91
  ]);
85
- const providerExtensions = useMemo(() => extensionProviders?.flatMap((provider) => provider({})).filter(nonNullable), [
92
+ const providerExtensions = useMemo2(() => extensionProviders?.flatMap((provider) => provider({})).filter(nonNullable), [
86
93
  extensionProviders
87
94
  ]);
88
95
  const [commentsState, commentObserver] = useCommentState();
89
- const onCommentClick = useCallback2(() => {
90
- void dispatch([
91
- {
92
- action: NavigationAction.OPEN,
93
- data: {
94
- activeParts: {
95
- complementary: "comments"
96
- }
97
- }
98
- },
99
- {
100
- action: LayoutAction2.SET_LAYOUT,
101
- data: {
102
- element: "complementary",
103
- state: true
104
- }
96
+ const onCommentClick = useCallback(async () => {
97
+ await dispatch(createIntent(NavigationAction.Open, {
98
+ activeParts: {
99
+ complementary: "comments"
105
100
  }
106
- ]);
101
+ }));
102
+ await dispatch(createIntent(LayoutAction2.SetLayout, {
103
+ element: "complementary",
104
+ state: true
105
+ }));
107
106
  }, [
108
107
  dispatch
109
108
  ]);
@@ -222,22 +221,22 @@ var useTest = (view) => {
222
221
  };
223
222
 
224
223
  // packages/plugins/plugin-markdown/src/extensions.tsx
225
- import React2, { useMemo as useMemo2 } from "react";
224
+ import React2, { useMemo as useMemo3 } from "react";
226
225
  import { createRoot } from "react-dom/client";
227
- import { NavigationAction as NavigationAction2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
228
- import { invariant } from "@dxos/invariant";
226
+ import { createIntent as createIntent2, NavigationAction as NavigationAction2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
227
+ import { invariant as invariant2 } from "@dxos/invariant";
229
228
  import { createDocAccessor, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
230
229
  import { useIdentity } from "@dxos/react-client/halo";
231
230
  import { Icon, ThemeProvider } from "@dxos/react-ui";
232
231
  import { InputModeExtensions, createDataExtensions, autocomplete, decorateMarkdown, folding, formattingKeymap, linkTooltip, listener, selectionState, typewriter } from "@dxos/react-ui-editor";
233
232
  import { defaultTx } from "@dxos/react-ui-theme";
234
233
  import { isNotFalsy as isNotFalsy2 } from "@dxos/util";
235
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
234
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
236
235
  var useExtensions = ({ document, settings, viewMode, editorStateStore, extensionProviders }) => {
237
- const dispatch = useIntentDispatcher2();
236
+ const { dispatchPromise: dispatch } = useIntentDispatcher2();
238
237
  const identity = useIdentity();
239
238
  const space = getSpace(document);
240
- const baseExtensions = useMemo2(() => createBaseExtensions({
239
+ const baseExtensions = useMemo3(() => createBaseExtensions({
241
240
  document,
242
241
  settings,
243
242
  viewMode,
@@ -253,7 +252,7 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
253
252
  settings.debug,
254
253
  settings.typewriter
255
254
  ]);
256
- const pluginExtensions = useMemo2(() => extensionProviders?.reduce((acc, provider) => {
255
+ const pluginExtensions = useMemo3(() => extensionProviders?.reduce((acc, provider) => {
257
256
  const extension = typeof provider === "function" ? provider({
258
257
  document
259
258
  }) : provider;
@@ -265,11 +264,11 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
265
264
  extensionProviders,
266
265
  document
267
266
  ]);
268
- return useMemo2(() => [
267
+ return useMemo3(() => [
269
268
  // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.
270
269
  document && createDataExtensions({
271
270
  id: document.id,
272
- text: document.content && createDocAccessor(document.content, [
271
+ text: document.content.target && createDocAccessor(document.content.target, [
273
272
  "content"
274
273
  ]),
275
274
  space,
@@ -285,7 +284,7 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
285
284
  baseExtensions,
286
285
  pluginExtensions,
287
286
  document,
288
- document?.content,
287
+ document?.content?.target,
289
288
  space,
290
289
  identity
291
290
  ]);
@@ -305,15 +304,12 @@ var createBaseExtensions = ({ document, dispatch, settings, query, viewMode }) =
305
304
  } : void 0,
306
305
  // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.
307
306
  renderLinkButton: dispatch && document ? onRenderLink((id) => {
308
- void dispatch({
309
- action: NavigationAction2.ADD_TO_ACTIVE,
310
- data: {
311
- id,
312
- part: "main",
313
- pivotId: fullyQualifiedId(document),
314
- scrollIntoView: true
315
- }
316
- });
307
+ void dispatch(createIntent2(NavigationAction2.AddToActive, {
308
+ id,
309
+ part: "main",
310
+ pivotId: fullyQualifiedId(document),
311
+ scrollIntoView: true
312
+ }));
317
313
  }) : void 0
318
314
  }),
319
315
  linkTooltip(renderLinkTooltip)
@@ -350,9 +346,9 @@ var onRenderLink = (onSelectObject) => (el, url) => {
350
346
  const options = isInternal ? {
351
347
  onClick: () => {
352
348
  const qualifiedId = url.split("/").at(-1);
353
- invariant(qualifiedId, "Invalid link format.", {
354
- F: __dxlog_file,
355
- L: 215,
349
+ invariant2(qualifiedId, "Invalid link format.", {
350
+ F: __dxlog_file2,
351
+ L: 214,
356
352
  S: void 0,
357
353
  A: [
358
354
  "qualifiedId",
@@ -434,15 +430,19 @@ var MarkdownContainer = ({ id, role, object, extensionProviders, settings, viewM
434
430
  var DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }) => {
435
431
  const space = getSpace2(doc);
436
432
  useEffect2(() => {
437
- if (!doc.fallbackName && doc.content?.content) {
438
- doc.fallbackName = getFallbackName(doc.content.content);
433
+ if (typeof doc.fallbackName === "string") {
434
+ return;
435
+ }
436
+ const fallbackName = doc.content?.target?.content ? getFallbackName(doc.content.target.content) : void 0;
437
+ if (fallbackName) {
438
+ doc.fallbackName = fallbackName;
439
439
  }
440
440
  }, [
441
441
  doc,
442
442
  doc.content
443
443
  ]);
444
444
  const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);
445
- const handleFileUpload = useMemo3(() => {
445
+ const handleFileUpload = useMemo4(() => {
446
446
  if (space === void 0 || fileManagerPlugin?.provides.file.upload === void 0) {
447
447
  return void 0;
448
448
  }
@@ -453,7 +453,7 @@ var DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }) => {
453
453
  ]);
454
454
  return /* @__PURE__ */ React3.createElement(MarkdownEditor, {
455
455
  id,
456
- initialValue: doc.content?.content,
456
+ initialValue: doc.content?.target?.content,
457
457
  viewMode,
458
458
  toolbar: settings.toolbar,
459
459
  inputMode: settings.editorInputMode,
@@ -466,4 +466,4 @@ export {
466
466
  DocumentEditor,
467
467
  MarkdownContainer_default as default
468
468
  };
469
- //# sourceMappingURL=MarkdownContainer-GBNSGROQ.mjs.map
469
+ //# sourceMappingURL=MarkdownContainer-E7W623A7.mjs.map