@dxos/plugin-markdown 0.7.2-staging.6d26b2a → 0.7.3-main.2dd075e

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 (51) hide show
  1. package/dist/lib/browser/{MarkdownContainer-BXEW4NEC.mjs → MarkdownContainer-MSET7H43.mjs} +25 -12
  2. package/dist/lib/browser/MarkdownContainer-MSET7H43.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-VZAGHNHU.mjs → chunk-CMSUKMPM.mjs} +1 -1
  4. package/dist/lib/browser/chunk-CMSUKMPM.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-PV4AWYWK.mjs → chunk-TZN5FGB2.mjs} +2 -2
  6. package/dist/lib/browser/index.mjs +13 -28
  7. package/dist/lib/browser/index.mjs.map +3 -3
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/types/index.mjs +1 -1
  10. package/dist/lib/node/{MarkdownContainer-VJJQVYFM.cjs → MarkdownContainer-3QWCQA4E.cjs} +28 -15
  11. package/dist/lib/node/MarkdownContainer-3QWCQA4E.cjs.map +7 -0
  12. package/dist/lib/node/{chunk-2A5P424C.cjs → chunk-KEPAM4JP.cjs} +7 -7
  13. package/dist/lib/node/{chunk-BHPFK7YI.cjs → chunk-YGMWZIIJ.cjs} +4 -4
  14. package/dist/lib/node/chunk-YGMWZIIJ.cjs.map +7 -0
  15. package/dist/lib/node/index.cjs +38 -53
  16. package/dist/lib/node/index.cjs.map +3 -3
  17. package/dist/lib/node/meta.json +1 -1
  18. package/dist/lib/node/types/index.cjs +5 -5
  19. package/dist/lib/node/types/index.cjs.map +1 -1
  20. package/dist/lib/node-esm/{MarkdownContainer-R4GNGXJZ.mjs → MarkdownContainer-OYGEL5KP.mjs} +25 -12
  21. package/dist/lib/node-esm/MarkdownContainer-OYGEL5KP.mjs.map +7 -0
  22. package/dist/lib/node-esm/{chunk-OEMU3XY7.mjs → chunk-ERJ52KN2.mjs} +1 -1
  23. package/dist/lib/node-esm/chunk-ERJ52KN2.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-EREAR7QS.mjs → chunk-NUMUUCYF.mjs} +2 -2
  25. package/dist/lib/node-esm/index.mjs +13 -28
  26. package/dist/lib/node-esm/index.mjs.map +3 -3
  27. package/dist/lib/node-esm/meta.json +1 -1
  28. package/dist/lib/node-esm/types/index.mjs +1 -1
  29. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  30. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  31. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  32. package/dist/types/src/translations.d.ts +47 -0
  33. package/dist/types/src/translations.d.ts.map +1 -1
  34. package/dist/types/src/types/types.d.ts +2 -3
  35. package/dist/types/src/types/types.d.ts.map +1 -1
  36. package/package.json +29 -28
  37. package/src/MarkdownPlugin.tsx +7 -19
  38. package/src/components/MarkdownEditor.tsx +11 -5
  39. package/src/components/Toolbar.stories.tsx +1 -1
  40. package/src/hooks/useSelectCurrentThread.tsx +2 -0
  41. package/src/translations.ts +4 -0
  42. package/src/types/types.ts +1 -3
  43. package/dist/lib/browser/MarkdownContainer-BXEW4NEC.mjs.map +0 -7
  44. package/dist/lib/browser/chunk-VZAGHNHU.mjs.map +0 -7
  45. package/dist/lib/node/MarkdownContainer-VJJQVYFM.cjs.map +0 -7
  46. package/dist/lib/node/chunk-BHPFK7YI.cjs.map +0 -7
  47. package/dist/lib/node-esm/MarkdownContainer-R4GNGXJZ.mjs.map +0 -7
  48. package/dist/lib/node-esm/chunk-OEMU3XY7.mjs.map +0 -7
  49. /package/dist/lib/browser/{chunk-PV4AWYWK.mjs.map → chunk-TZN5FGB2.mjs.map} +0 -0
  50. /package/dist/lib/node/{chunk-2A5P424C.cjs.map → chunk-KEPAM4JP.cjs.map} +0 -0
  51. /package/dist/lib/node-esm/{chunk-EREAR7QS.mjs.map → chunk-NUMUUCYF.mjs.map} +0 -0
@@ -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 NavigationAction,\n type PluginDefinition,\n} from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport {\n createDocAccessor,\n fullyQualifiedId,\n getRangeFromCursor,\n isSpace,\n loadObjectReferences,\n} from '@dxos/react-client/echo';\nimport {\n type EditorInputMode,\n type EditorViewMode,\n EditorViewModes,\n translations as editorTranslations,\n createEditorStateStore,\n} from '@dxos/react-ui-editor';\n\nimport { MarkdownContainer, MarkdownSettings } from './components';\nimport meta, { MARKDOWN_PLUGIN } from './meta';\nimport translations from './translations';\nimport { DocumentType, isEditorModel, TextType } from './types';\nimport {\n type MarkdownPluginProvides,\n type MarkdownSettingsProps,\n MarkdownAction,\n type MarkdownPluginState,\n} from './types';\nimport { markdownExtensionPlugins, serializer } from './util';\n\n// TODO(burdon): Normalize active/object.\nconst getDoc = (object: any) => (object instanceof DocumentType ? object : undefined);\n\nexport const MarkdownPlugin = (): PluginDefinition<MarkdownPluginProvides> => {\n const settings = new LocalStorageStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN, {\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n const editorStateStore = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n\n const getViewMode = (id: string) => (id && state.values.viewMode[id]) || settings.values.defaultViewMode;\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n return {\n meta,\n ready: async (plugins) => {\n settings\n .prop({ key: 'defaultViewMode', type: LocalStorageStore.enum<EditorViewMode>() })\n .prop({ key: 'editorInputMode', type: LocalStorageStore.enum<EditorInputMode>({ allowUndefined: true }) })\n .prop({ key: 'toolbar', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'experimental', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'debug', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'typewriter', type: LocalStorageStore.string({ allowUndefined: true }) })\n .prop({ key: 'numberedHeadings', type: LocalStorageStore.bool({ allowUndefined: true }) })\n .prop({ key: 'folding', type: LocalStorageStore.bool({ allowUndefined: true }) });\n\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n markdownExtensionPlugins(plugins).forEach((plugin) => {\n const { extensions } = plugin.provides.markdown;\n state.values.extensionProviders?.push(extensions);\n });\n },\n provides: {\n settings: settings.values,\n metadata: {\n records: {\n [DocumentType.typename]: {\n label: (object: any) => (object instanceof DocumentType ? object.name || object.fallbackName : undefined),\n placeholder: ['document title placeholder', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (doc: DocumentType) => loadObjectReferences(doc, (doc) => [doc.content, ...doc.threads]),\n serializer,\n },\n },\n },\n translations: [...translations, ...editorTranslations],\n echo: {\n schema: [DocumentType, TextType],\n },\n space: {\n onSpaceCreate: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n action: MarkdownAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: MarkdownAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${MARKDOWN_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: MARKDOWN_PLUGIN, action: MarkdownAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create document label', { ns: MARKDOWN_PLUGIN }],\n icon: 'ph--text-aa--regular',\n testId: 'markdownPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n serializer: (plugins) => {\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!dispatch) {\n return [];\n }\n return [\n {\n inputType: DocumentType.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await loadObjectReferences(doc, (doc) => doc.content);\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][MARKDOWN_PLUGIN]['document title placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename];\n if (!space || !target) {\n return;\n }\n\n const result = await dispatch([\n {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n data: { name: data.name, content: data.data },\n },\n {\n action: SpaceAction.ADD_OBJECT,\n data: { target },\n },\n ]);\n\n return result?.data.object;\n },\n },\n ];\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-doc',\n testId: 'markdownPlugin.createSection',\n type: ['plugin name', { ns: MARKDOWN_PLUGIN }],\n label: ['create stack section label', { ns: MARKDOWN_PLUGIN }],\n icon: (props: any) => <TextAa {...props} />,\n intent: {\n plugin: MARKDOWN_PLUGIN,\n action: MarkdownAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (obj) => obj instanceof DocumentType,\n createSort: (doc: DocumentType) => {\n const accessor = doc.content ? createDocAccessor(doc.content, ['content']) : undefined;\n if (!accessor) {\n return (_) => 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n return (anchorA: string | undefined, anchorB: string | undefined): number => {\n if (anchorA === undefined || anchorB === undefined) {\n return 0;\n }\n const posA = getStartPosition(anchorA);\n const posB = getStartPosition(anchorB);\n return posA - posB;\n };\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'section':\n case 'article': {\n const doc = getDoc(data.object);\n const { id, object } = isEditorModel(data.object)\n ? { id: data.object.id, object: data.object }\n : doc\n ? { id: fullyQualifiedId(doc), object: doc }\n : {};\n\n if (!id || !object) {\n return null;\n }\n\n return (\n <MarkdownContainer\n id={id}\n object={object}\n role={role}\n settings={settings.values}\n extensionProviders={state.values.extensionProviders}\n viewMode={getViewMode(id)}\n editorStateStore={editorStateStore}\n onViewModeChange={setViewMode}\n />\n );\n }\n\n case 'settings': {\n return data.plugin === meta.id ? <MarkdownSettings settings={settings.values} /> : null;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: ({ action, data }) => {\n switch (action) {\n case MarkdownAction.CREATE: {\n const doc = create(DocumentType, {\n name: data?.name,\n content: create(TextType, { content: data?.content ?? '' }),\n threads: [],\n });\n\n return {\n data: doc,\n intents: [[{ action: LayoutAction.SCROLL_INTO_VIEW, data: { id: fullyQualifiedId(doc) } }]],\n };\n }\n\n case MarkdownAction.SET_VIEW_MODE: {\n const { id, viewMode } = data ?? {};\n if (typeof id === 'string' && EditorViewModes.includes(viewMode)) {\n state.values.viewMode[id] = viewMode;\n return { data: true };\n }\n\n break;\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { 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';\n\nexport default [\n {\n 'en-US': {\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'create stack section label': 'Create document',\n 'document title placeholder': 'New document',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'create document label': 'Create document',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MarkdownPlugin } from './MarkdownPlugin';\n\nexport default MarkdownPlugin;\n\nexport * from './MarkdownPlugin';\nexport * from './types';\nexport * from './util';\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_react_ui_editor", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "React", "DeprecatedFormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "getDoc", "object", "DocumentType", "MarkdownPlugin", "LocalStorageStore", "editorStateStore", "createEditorStateStore", "state", "extensionProviders", "viewMode", "getViewMode", "id", "values", "setViewMode", "meta", "ready", "plugins", "prop", "type", "enum", "allowUndefined", "bool", "string", "json", "markdownExtensionPlugins", "forEach", "plugin", "extensions", "provides", "markdown", "push", "metadata", "records", "typename", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "loadObjectReferences", "content", "threads", "serializer", "translations", "editorTranslations", "echo", "schema", "TextType", "space", "onSpaceCreate", "action", "MarkdownAction", "CREATE", "graph", "builder", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "data", "NavigationAction", "OPEN", "properties", "testId", "inputType", "outputType", "serialize", "deserialize", "ancestors", "isSpace", "findLast", "ancestor", "CollectionType", "result", "stack", "creators", "props", "TextAa", "thread", "predicate", "obj", "createSort", "accessor", "createDocAccessor", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB", "surface", "component", "role", "isEditorModel", "fullyQualifiedId", "onViewModeChange", "resolver", "create", "intents", "LayoutAction", "SCROLL_INTO_VIEW", "SET_VIEW_MODE", "includes"]
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"]
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":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":22989,"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":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":10575,"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":44180,"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":29247},"packages/plugins/plugin-markdown/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-2A5P424C.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-BHPFK7YI.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/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-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-VJJQVYFM.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":11564},"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":1451},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":17651},"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-BHPFK7YI.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-VJJQVYFM.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":32764},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-VJJQVYFM.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-2A5P424C.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-BHPFK7YI.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":2123},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":5299},"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":5583}},"bytes":15096},"packages/plugins/plugin-markdown/dist/lib/node/chunk-2A5P424C.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3586},"packages/plugins/plugin-markdown/dist/lib/node/chunk-2A5P424C.cjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/node/chunk-BHPFK7YI.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-BHPFK7YI.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"packages/plugins/plugin-markdown/dist/lib/node/chunk-BHPFK7YI.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":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":10575,"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-3QWCQA4E.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-3QWCQA4E.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33169},"packages/plugins/plugin-markdown/dist/lib/node/MarkdownContainer-3QWCQA4E.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":2123},"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":15374},"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}}}
@@ -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_BHPFK7YI.DocumentType,
22
- MarkdownAction: () => import_chunk_BHPFK7YI.MarkdownAction,
23
- TextType: () => import_chunk_BHPFK7YI.TextType,
24
- isEditorModel: () => import_chunk_BHPFK7YI.isEditorModel
21
+ DocumentType: () => import_chunk_YGMWZIIJ.DocumentType,
22
+ MarkdownAction: () => import_chunk_YGMWZIIJ.MarkdownAction,
23
+ TextType: () => import_chunk_YGMWZIIJ.TextType,
24
+ isEditorModel: () => import_chunk_YGMWZIIJ.isEditorModel
25
25
  });
26
26
  module.exports = __toCommonJS(types_exports);
27
- var import_chunk_BHPFK7YI = require("../chunk-BHPFK7YI.cjs");
27
+ var import_chunk_YGMWZIIJ = require("../chunk-YGMWZIIJ.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-BHPFK7YI.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-YGMWZIIJ.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,10 +2,10 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getFallbackName,
4
4
  setFallbackName
5
- } from "./chunk-EREAR7QS.mjs";
5
+ } from "./chunk-NUMUUCYF.mjs";
6
6
  import {
7
7
  DocumentType
8
- } from "./chunk-OEMU3XY7.mjs";
8
+ } from "./chunk-ERJ52KN2.mjs";
9
9
  import {
10
10
  MARKDOWN_PLUGIN
11
11
  } from "./chunk-BABK7FMW.mjs";
@@ -18,7 +18,7 @@ import { fullyQualifiedId as fullyQualifiedId2, getSpace as getSpace2 } from "@d
18
18
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
19
19
  import { openSearchPanel } from "@codemirror/search";
20
20
  import React, { useMemo, useEffect, useCallback as useCallback2 } from "react";
21
- import { LayoutAction as LayoutAction2, useIntentDispatcher } from "@dxos/app-framework";
21
+ import { 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";
@@ -58,6 +58,9 @@ var useSelectCurrentThread = (editorView, documentId) => {
58
58
  anchor: range.from
59
59
  } : void 0
60
60
  });
61
+ return {
62
+ data: true
63
+ };
61
64
  }
62
65
  }
63
66
  }
@@ -84,13 +87,23 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
84
87
  ]);
85
88
  const [commentsState, commentObserver] = useCommentState();
86
89
  const onCommentClick = useCallback2(() => {
87
- void dispatch({
88
- action: LayoutAction2.SET_LAYOUT,
89
- data: {
90
- element: "complementary",
91
- state: true
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
+ }
92
105
  }
93
- });
106
+ ]);
94
107
  }, [
95
108
  dispatch
96
109
  ]);
@@ -211,7 +224,7 @@ var useTest = (view) => {
211
224
  // packages/plugins/plugin-markdown/src/extensions.tsx
212
225
  import React2, { useMemo as useMemo2 } from "react";
213
226
  import { createRoot } from "react-dom/client";
214
- import { NavigationAction, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
227
+ import { NavigationAction as NavigationAction2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
215
228
  import { invariant } from "@dxos/invariant";
216
229
  import { createDocAccessor, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
217
230
  import { useIdentity } from "@dxos/react-client/halo";
@@ -293,7 +306,7 @@ var createBaseExtensions = ({ document, dispatch, settings, query, viewMode }) =
293
306
  // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.
294
307
  renderLinkButton: dispatch && document ? onRenderLink((id) => {
295
308
  void dispatch({
296
- action: NavigationAction.ADD_TO_ACTIVE,
309
+ action: NavigationAction2.ADD_TO_ACTIVE,
297
310
  data: {
298
311
  id,
299
312
  part: "main",
@@ -452,4 +465,4 @@ export {
452
465
  DocumentEditor,
453
466
  MarkdownContainer_default as default
454
467
  };
455
- //# sourceMappingURL=MarkdownContainer-R4GNGXJZ.mjs.map
468
+ //# sourceMappingURL=MarkdownContainer-OYGEL5KP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/MarkdownContainer.tsx", "../../../src/components/MarkdownEditor.tsx", "../../../src/hooks/useSelectCurrentThread.tsx", "../../../src/extensions.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useMemo } from 'react';\n\nimport { useResolvePlugin, parseFileManagerPlugin } from '@dxos/app-framework';\nimport { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\n\nimport { MarkdownEditor, type MarkdownEditorProps } from './MarkdownEditor';\nimport { useExtensions } from '../extensions';\nimport { DocumentType, type MarkdownSettingsProps } from '../types';\nimport { getFallbackName } from '../util';\n\nexport type MarkdownContainerProps = Pick<\n MarkdownEditorProps,\n 'role' | 'extensionProviders' | 'viewMode' | 'editorStateStore' | 'onViewModeChange'\n> & {\n id: string;\n object: DocumentType | any;\n settings: MarkdownSettingsProps;\n};\n\n// TODO(burdon): Move toolbar here.\n// TODO(burdon): Factor out difference for ECHO and non-ECHO objects; i.e., single component.\nconst MarkdownContainer = ({\n id,\n role,\n object,\n extensionProviders,\n settings,\n viewMode,\n editorStateStore,\n onViewModeChange,\n}: MarkdownContainerProps) => {\n const scrollPastEnd = role === 'article';\n const doc = object instanceof DocumentType ? object : undefined;\n const extensions = useExtensions({ extensionProviders, document: doc, settings, viewMode, editorStateStore });\n\n if (doc) {\n return (\n <DocumentEditor\n id={fullyQualifiedId(object)}\n role={role}\n document={doc}\n extensions={extensions}\n settings={settings}\n scrollPastEnd={scrollPastEnd}\n onViewModeChange={onViewModeChange}\n />\n );\n } else {\n return (\n <MarkdownEditor\n id={id}\n role={role}\n initialValue={object.text}\n extensions={extensions}\n viewMode={viewMode}\n toolbar={settings.toolbar}\n inputMode={settings.editorInputMode}\n scrollPastEnd={scrollPastEnd}\n onViewModeChange={onViewModeChange}\n />\n );\n }\n};\n\ntype DocumentEditorProps = Omit<MarkdownContainerProps, 'object' | 'extensionProviders' | 'editorStateStore'> &\n Pick<MarkdownEditorProps, 'id' | 'scrollPastEnd' | 'extensions'> & {\n document: DocumentType;\n };\n\nexport const DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }: DocumentEditorProps) => {\n const space = getSpace(doc);\n\n // Migrate gradually to `fallbackName`.\n useEffect(() => {\n if (!doc.fallbackName && doc.content?.content) {\n doc.fallbackName = getFallbackName(doc.content.content);\n }\n }, [doc, doc.content]);\n\n // File dragging.\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n const handleFileUpload = useMemo(() => {\n if (space === undefined || fileManagerPlugin?.provides.file.upload === undefined) {\n return undefined;\n }\n\n // TODO(burdon): Re-order props: space, file.\n return async (file: File) => fileManagerPlugin?.provides?.file?.upload?.(file, space);\n }, [space, fileManagerPlugin]);\n\n return (\n <MarkdownEditor\n id={id}\n initialValue={doc.content?.content}\n viewMode={viewMode}\n toolbar={settings.toolbar}\n inputMode={settings.editorInputMode}\n onFileUpload={handleFileUpload}\n {...props}\n />\n );\n};\n\nexport default MarkdownContainer;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { openSearchPanel } from '@codemirror/search';\nimport { type EditorView } from '@codemirror/view';\nimport React, { useMemo, useEffect, useCallback } from 'react';\n\nimport { type FileInfo, LayoutAction, NavigationAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport {\n type Action,\n type DNDOptions,\n type EditorViewMode,\n type EditorInputMode,\n type EditorSelectionState,\n type EditorStateStore,\n Toolbar,\n type UseTextEditorProps,\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n dropFile,\n editorContent,\n editorGutter,\n processAction,\n useActionHandler,\n useCommentState,\n useCommentClickListener,\n useFormattingState,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx, textBlockWidth } from '@dxos/react-ui-theme';\nimport { isNotFalsy, nonNullable } from '@dxos/util';\n\nimport { useSelectCurrentThread } from '../hooks';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownPluginState } from '../types';\n\nconst DEFAULT_VIEW_MODE: EditorViewMode = 'preview';\n\nexport type MarkdownEditorProps = {\n id: string;\n role?: string;\n inputMode?: EditorInputMode;\n scrollPastEnd?: boolean;\n toolbar?: boolean;\n viewMode?: EditorViewMode;\n editorStateStore?: EditorStateStore;\n onViewModeChange?: (id: string, mode: EditorViewMode) => void;\n onFileUpload?: (file: File) => Promise<FileInfo | undefined>;\n} & Pick<UseTextEditorProps, 'initialValue' | 'extensions'> &\n Partial<Pick<MarkdownPluginState, 'extensionProviders'>>;\n\n/**\n * Base markdown editor component.\n *\n * This component provides all the features of the markdown editor that do no depend on ECHO.\n * This allows it to be used as a common editor for markdown content on arbitrary backends (e.g. files).\n */\nexport const MarkdownEditor = ({\n id,\n role = 'article',\n initialValue,\n extensions,\n extensionProviders,\n scrollPastEnd,\n toolbar,\n viewMode,\n editorStateStore,\n onFileUpload,\n onViewModeChange,\n}: MarkdownEditorProps) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n const { themeMode } = useThemeContext();\n const dispatch = useIntentDispatcher();\n const [formattingState, formattingObserver] = useFormattingState();\n const { hasAttention } = useAttention(id);\n\n // Restore last selection and scroll point.\n const { scrollTo, selection } = useMemo<EditorSelectionState>(() => editorStateStore?.getState(id) ?? {}, [id]);\n\n // Extensions from other plugins.\n // TODO(burdon): Reconcile with DocumentEditor.useExtensions.\n const providerExtensions = useMemo(\n () => extensionProviders?.flatMap((provider) => provider({})).filter(nonNullable),\n [extensionProviders],\n );\n\n // TODO(Zan): Move these into thread plugin as well?\n const [commentsState, commentObserver] = useCommentState();\n const onCommentClick = useCallback(() => {\n void dispatch([\n {\n action: NavigationAction.OPEN,\n data: { activeParts: { complementary: 'comments' } },\n },\n {\n action: LayoutAction.SET_LAYOUT,\n data: { element: 'complementary', state: true },\n },\n ]);\n }, [dispatch]);\n const commentClickObserver = useCommentClickListener(onCommentClick);\n\n // Drag files.\n const handleDrop: DNDOptions['onDrop'] = async (view, { files }) => {\n const file = files[0];\n const info = file && onFileUpload ? await onFileUpload(file) : undefined;\n if (info) {\n processAction(view, { type: 'image', data: info.url });\n }\n };\n\n const {\n parentRef,\n view: editorView,\n focusAttributes,\n } = useTextEditor(\n () => ({\n initialValue,\n extensions: [\n formattingObserver,\n commentObserver,\n commentClickObserver,\n createBasicExtensions({\n readonly: viewMode === 'readonly',\n placeholder: t('editor placeholder'),\n scrollPastEnd: role === 'section' ? false : scrollPastEnd,\n }),\n createMarkdownExtensions({ themeMode }),\n createThemeExtensions({\n themeMode,\n syntaxHighlighting: true,\n slots: { content: { className: editorContent } },\n }),\n editorGutter,\n role !== 'section' && onFileUpload && dropFile({ onDrop: handleDrop }),\n providerExtensions,\n extensions,\n ].filter(isNotFalsy),\n ...(role !== 'section' && {\n id,\n scrollTo,\n selection,\n // TODO(wittjosiah): Autofocus based on layout is racy.\n // autoFocus: layoutPlugin?.provides.layout ? layoutPlugin?.provides.layout.scrollIntoView === id : true,\n moveToEndOfLine: true,\n }),\n }),\n [id, formattingObserver, viewMode, themeMode, extensions, providerExtensions],\n );\n\n useTest(editorView);\n useSelectCurrentThread(editorView, id);\n\n // Toolbar handler.\n const handleToolbarAction = useActionHandler(editorView);\n const handleAction = (action: Action) => {\n switch (action.type) {\n case 'search': {\n if (editorView) {\n openSearchPanel(editorView);\n }\n return;\n }\n case 'view-mode': {\n onViewModeChange?.(id, action.data);\n return;\n }\n }\n\n handleToolbarAction?.(action);\n };\n\n return (\n <StackItem.Content toolbar={toolbar}>\n {toolbar && (\n <div\n role='none'\n className={mx(\n 'attention-surface is-full border-be !border-separator',\n role === 'section' && 'sticky block-start-0 z-[1] -mbe-px min-is-0',\n )}\n >\n <Toolbar.Root\n classNames={[textBlockWidth, !hasAttention && 'opacity-20']}\n state={formattingState && { ...formattingState, ...commentsState }}\n onAction={handleAction}\n >\n <Toolbar.Markdown />\n {onFileUpload && <Toolbar.Custom onUpload={onFileUpload} />}\n <Toolbar.Separator />\n <Toolbar.View mode={viewMode ?? DEFAULT_VIEW_MODE} />\n <Toolbar.Actions />\n </Toolbar.Root>\n </div>\n )}\n <div\n role='none'\n ref={parentRef}\n data-testid='composer.markdownRoot'\n data-toolbar={toolbar ? 'enabled' : 'disabled'}\n className={mx(\n 'ch-focus-ring-inset data-[toolbar=disabled]:pbs-2 attention-surface',\n role === 'article' ? 'min-bs-0' : '[&_.cm-scroller]:overflow-hidden [&_.cm-scroller]:min-bs-24',\n )}\n {...focusAttributes}\n />\n </StackItem.Content>\n );\n};\n\n// Expose editor view for playwright tests.\n// TODO(wittjosiah): Find a better way to expose this or find a way to limit it to test runs.\nconst useTest = (view?: EditorView) => {\n useEffect(() => {\n const composer = (window as any).composer;\n if (composer) {\n composer.editorView = view;\n }\n }, [view]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\nimport { useCallback } from 'react';\n\nimport { LayoutAction, useIntentResolver } from '@dxos/app-framework';\nimport { Cursor, setSelection } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\n\n/**\n * Handle scrolling and selection of the current thread in a markdown editor.\n */\nexport const useSelectCurrentThread = (editorView: EditorView | undefined, documentId: string) => {\n const handleScrollIntoView = useCallback(\n ({ action, data }: { action: string; data?: any }) => {\n if (action === LayoutAction.SCROLL_INTO_VIEW) {\n if (editorView && data?.id === documentId && data?.cursor) {\n // TODO(burdon): We need typed intents.\n const range = Cursor.getRangeFromCursor(editorView.state, data.cursor);\n if (range) {\n const selection = editorView.state.selection.main.from !== range.from ? { anchor: range.from } : undefined;\n const effects = [\n // NOTE: This does not use the DOM scrollIntoView function.\n EditorView.scrollIntoView(range.from, { y: 'start', yMargin: 96 }),\n ];\n if (selection) {\n // Update the editor selection to get bi-directional highlighting.\n effects.push(setSelection.of({ current: documentId }));\n }\n\n editorView.dispatch({\n effects,\n selection: selection ? { anchor: range.from } : undefined,\n });\n\n return { data: true };\n }\n }\n }\n },\n [documentId, editorView],\n );\n\n useIntentResolver(MARKDOWN_PLUGIN, handleScrollIntoView);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type AnchorHTMLAttributes, type ReactNode, useMemo } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { type IntentDispatcher, NavigationAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { createDocAccessor, fullyQualifiedId, getSpace, type Query } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Icon, ThemeProvider } from '@dxos/react-ui';\nimport {\n type AutocompleteResult,\n type EditorStateStore,\n type EditorViewMode,\n type Extension,\n InputModeExtensions,\n createDataExtensions,\n autocomplete,\n decorateMarkdown,\n folding,\n formattingKeymap,\n linkTooltip,\n listener,\n selectionState,\n typewriter,\n} from '@dxos/react-ui-editor';\nimport { defaultTx } from '@dxos/react-ui-theme';\nimport { isNotFalsy } from '@dxos/util';\n\nimport { type DocumentType, type MarkdownPluginState, type MarkdownSettingsProps } from './types';\nimport { setFallbackName } from './util';\n\ntype ExtensionsOptions = {\n document?: DocumentType;\n dispatch?: IntentDispatcher;\n query?: Query<DocumentType>;\n settings: MarkdownSettingsProps;\n viewMode?: EditorViewMode;\n editorStateStore?: EditorStateStore;\n};\n\n// TODO(burdon): Merge with createBaseExtensions below.\nexport const useExtensions = ({\n document,\n settings,\n viewMode,\n editorStateStore,\n extensionProviders,\n}: ExtensionsOptions & Pick<MarkdownPluginState, 'extensionProviders'>): Extension[] => {\n const dispatch = useIntentDispatcher();\n const identity = useIdentity();\n const space = getSpace(document);\n\n // TODO(wittjosiah): Autocomplete is not working and this query is causing performance issues.\n // TODO(burdon): Unsubscribe.\n // const query = space?.db.query(Filter.schema(DocumentType));\n // query?.subscribe();\n const baseExtensions = useMemo(\n () =>\n createBaseExtensions({\n document,\n settings,\n viewMode,\n dispatch,\n // query,\n }),\n [\n document,\n viewMode,\n dispatch,\n settings,\n settings.editorInputMode,\n settings.folding,\n settings.numberedHeadings,\n settings.debug,\n settings.typewriter,\n ],\n );\n\n //\n // External extensions from other plugins.\n //\n const pluginExtensions = useMemo<Extension[] | undefined>(\n () =>\n extensionProviders?.reduce((acc: Extension[], provider) => {\n const extension = typeof provider === 'function' ? provider({ document }) : provider;\n if (extension) {\n acc.push(extension);\n }\n\n return acc;\n }, []),\n [extensionProviders, document],\n );\n\n //\n // Basic plugins.\n //\n return useMemo<Extension[]>(\n () =>\n [\n // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.\n document &&\n createDataExtensions({\n id: document.id,\n text: document.content && createDocAccessor(document.content, ['content']),\n space,\n identity,\n }),\n selectionState(editorStateStore),\n document &&\n listener({\n onChange: (text) => setFallbackName(document, text),\n }),\n baseExtensions,\n pluginExtensions,\n ].filter(isNotFalsy),\n [baseExtensions, pluginExtensions, document, document?.content, space, identity],\n );\n};\n\n/**\n * Create extension instances for editor.\n */\nconst createBaseExtensions = ({ document, dispatch, settings, query, viewMode }: ExtensionsOptions): Extension[] => {\n const extensions: Extension[] = [\n settings.editorInputMode && InputModeExtensions[settings.editorInputMode],\n settings.folding && folding(),\n ].filter(isNotFalsy);\n\n //\n // Markdown\n //\n if (viewMode !== 'source') {\n extensions.push(\n ...[\n formattingKeymap(),\n decorateMarkdown({\n selectionChangeDelay: 100,\n numberedHeadings: settings.numberedHeadings ? { from: 2 } : undefined,\n // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.\n renderLinkButton:\n dispatch && document\n ? onRenderLink((id: string) => {\n void dispatch({\n action: NavigationAction.ADD_TO_ACTIVE,\n data: {\n id,\n part: 'main',\n pivotId: fullyQualifiedId(document),\n scrollIntoView: true,\n },\n });\n })\n : undefined,\n }),\n linkTooltip(renderLinkTooltip),\n ],\n );\n }\n\n //\n // Autocomplete object links.\n //\n if (query) {\n extensions.push(\n autocomplete({\n onSearch: (text: string) => {\n // TODO(burdon): Specify filter (e.g., stack).\n return query.objects\n .map<AutocompleteResult | undefined>((object) =>\n object.name?.length && object.id !== document?.id\n ? {\n label: object.name,\n // TODO(burdon): Factor out URL builder.\n apply: `[${object.name}](/${fullyQualifiedId(object)})`,\n }\n : undefined,\n )\n .filter(isNotFalsy);\n },\n }),\n );\n }\n\n if (settings.debug) {\n const items = settings.typewriter?.split(/[,\\n]/) ?? '';\n if (items) {\n extensions.push(typewriter({ items }));\n }\n }\n\n return extensions;\n};\n\n// TODO(burdon): Factor out styles.\nconst style = {\n hover: 'rounded-sm text-primary-500 hover:text-primary-600 dark:text-primary-500 hover:dark:text-primary-400',\n icon: 'inline-block leading-none mis-1 cursor-pointer',\n};\n\nconst onRenderLink = (onSelectObject: (id: string) => void) => (el: Element, url: string) => {\n // TODO(burdon): Formalize/document internal link format.\n const isInternal =\n url.startsWith('/') ||\n // TODO(wittjosiah): This should probably be parsed out on paste?\n url.startsWith(window.location.origin);\n\n const options: AnchorHTMLAttributes<any> = isInternal\n ? {\n onClick: () => {\n const qualifiedId = url.split('/').at(-1);\n invariant(qualifiedId, 'Invalid link format.');\n onSelectObject(qualifiedId);\n },\n }\n : {\n href: url,\n rel: 'noreferrer',\n target: '_blank',\n };\n\n renderRoot(\n el,\n <a {...options} className={style.hover}>\n <Icon\n icon={isInternal ? 'ph--arrow-square-down--bold' : 'ph--arrow-square-out--bold'}\n size={4}\n classNames={style.icon}\n />\n </a>,\n );\n};\n\nconst renderLinkTooltip = (el: Element, url: string) => {\n const web = new URL(url);\n renderRoot(\n el,\n <a href={url} rel='noreferrer' target='_blank' className={style.hover}>\n {web.origin}\n <Icon icon='ph--arrow-square-out--bold' size={4} classNames={style.icon} />\n </a>,\n );\n};\n\n// TODO(burdon): Remove react rendering; use DOM directly.\nexport const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {\n createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);\n return root;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useEffect", "useMemo", "useResolvePlugin", "parseFileManagerPlugin", "fullyQualifiedId", "getSpace", "openSearchPanel", "React", "useMemo", "useEffect", "useCallback", "LayoutAction", "NavigationAction", "useIntentDispatcher", "useThemeContext", "useTranslation", "useAttention", "Toolbar", "createBasicExtensions", "createMarkdownExtensions", "createThemeExtensions", "dropFile", "editorContent", "editorGutter", "processAction", "useActionHandler", "useCommentState", "useCommentClickListener", "useFormattingState", "useTextEditor", "StackItem", "mx", "textBlockWidth", "isNotFalsy", "nonNullable", "EditorView", "useCallback", "LayoutAction", "useIntentResolver", "Cursor", "setSelection", "useSelectCurrentThread", "editorView", "documentId", "handleScrollIntoView", "useCallback", "action", "data", "LayoutAction", "SCROLL_INTO_VIEW", "id", "cursor", "range", "Cursor", "getRangeFromCursor", "state", "selection", "main", "from", "anchor", "undefined", "effects", "EditorView", "scrollIntoView", "y", "yMargin", "push", "setSelection", "of", "current", "dispatch", "useIntentResolver", "MARKDOWN_PLUGIN", "DEFAULT_VIEW_MODE", "MarkdownEditor", "id", "role", "initialValue", "extensions", "extensionProviders", "scrollPastEnd", "toolbar", "viewMode", "editorStateStore", "onFileUpload", "onViewModeChange", "t", "useTranslation", "MARKDOWN_PLUGIN", "themeMode", "useThemeContext", "dispatch", "useIntentDispatcher", "formattingState", "formattingObserver", "useFormattingState", "hasAttention", "useAttention", "scrollTo", "selection", "useMemo", "getState", "providerExtensions", "flatMap", "provider", "filter", "nonNullable", "commentsState", "commentObserver", "useCommentState", "onCommentClick", "useCallback", "action", "NavigationAction", "OPEN", "data", "activeParts", "complementary", "LayoutAction", "SET_LAYOUT", "element", "state", "commentClickObserver", "useCommentClickListener", "handleDrop", "view", "files", "file", "info", "undefined", "processAction", "type", "url", "parentRef", "editorView", "focusAttributes", "useTextEditor", "createBasicExtensions", "readonly", "placeholder", "createMarkdownExtensions", "createThemeExtensions", "syntaxHighlighting", "slots", "content", "className", "editorContent", "editorGutter", "dropFile", "onDrop", "isNotFalsy", "moveToEndOfLine", "useTest", "useSelectCurrentThread", "handleToolbarAction", "useActionHandler", "handleAction", "openSearchPanel", "StackItem", "Content", "div", "mx", "Toolbar", "Root", "classNames", "textBlockWidth", "onAction", "Markdown", "Custom", "onUpload", "Separator", "View", "mode", "Actions", "ref", "data-testid", "data-toolbar", "useEffect", "composer", "window", "React", "useMemo", "createRoot", "NavigationAction", "useIntentDispatcher", "invariant", "createDocAccessor", "fullyQualifiedId", "getSpace", "useIdentity", "Icon", "ThemeProvider", "InputModeExtensions", "createDataExtensions", "autocomplete", "decorateMarkdown", "folding", "formattingKeymap", "linkTooltip", "listener", "selectionState", "typewriter", "defaultTx", "isNotFalsy", "useExtensions", "document", "settings", "viewMode", "editorStateStore", "extensionProviders", "dispatch", "useIntentDispatcher", "identity", "useIdentity", "space", "getSpace", "baseExtensions", "useMemo", "createBaseExtensions", "editorInputMode", "folding", "numberedHeadings", "debug", "typewriter", "pluginExtensions", "reduce", "acc", "provider", "extension", "push", "createDataExtensions", "id", "text", "content", "createDocAccessor", "selectionState", "listener", "onChange", "setFallbackName", "filter", "isNotFalsy", "query", "extensions", "InputModeExtensions", "formattingKeymap", "decorateMarkdown", "selectionChangeDelay", "from", "undefined", "renderLinkButton", "onRenderLink", "action", "NavigationAction", "ADD_TO_ACTIVE", "data", "part", "pivotId", "fullyQualifiedId", "scrollIntoView", "linkTooltip", "renderLinkTooltip", "autocomplete", "onSearch", "objects", "map", "object", "name", "length", "label", "apply", "items", "split", "style", "hover", "icon", "onSelectObject", "el", "url", "isInternal", "startsWith", "window", "location", "origin", "options", "onClick", "qualifiedId", "at", "invariant", "href", "rel", "target", "renderRoot", "React", "a", "className", "Icon", "size", "classNames", "web", "URL", "root", "node", "createRoot", "render", "ThemeProvider", "tx", "defaultTx", "MarkdownContainer", "id", "role", "object", "extensionProviders", "settings", "viewMode", "editorStateStore", "onViewModeChange", "scrollPastEnd", "doc", "DocumentType", "undefined", "extensions", "useExtensions", "document", "React", "DocumentEditor", "fullyQualifiedId", "MarkdownEditor", "initialValue", "text", "toolbar", "inputMode", "editorInputMode", "props", "space", "getSpace", "useEffect", "fallbackName", "content", "getFallbackName", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "handleFileUpload", "useMemo", "provides", "file", "upload", "onFileUpload"]
7
+ }
@@ -39,4 +39,4 @@ export {
39
39
  isEditorModel,
40
40
  MarkdownAction
41
41
  };
42
- //# sourceMappingURL=chunk-OEMU3XY7.mjs.map
42
+ //# sourceMappingURL=chunk-ERJ52KN2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/document.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { ThreadType } from '@dxos/plugin-space/types';\n\nexport class TextType extends TypedObject({ typename: 'dxos.org/type/Text', version: '0.1.0' })({\n content: S.String,\n}) {}\n\nexport class DocumentType extends TypedObject({ typename: 'dxos.org/type/Document', version: '0.1.0' })({\n name: S.optional(S.String),\n fallbackName: S.optional(S.String),\n content: ref(TextType),\n threads: S.mutable(S.Array(ref(ThreadType))),\n}) {}\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n GraphSerializerProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SettingsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { type SchemaProvides } from '@dxos/plugin-space';\nimport { type Extension, type EditorInputMode, type EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { type DocumentType } from './document';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport enum MarkdownAction {\n CREATE = `${MARKDOWN_ACTION}/create`,\n SET_VIEW_MODE = `${MARKDOWN_ACTION}/set-view-mode`,\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownExtensionProvides = {\n // TODO(burdon): Rename.\n markdown: {\n extensions: MarkdownExtensionProvider;\n };\n};\n\n// TODO(wittjosiah): Factor out to graph plugin?\ntype StackProvides = {\n stack: {\n creators?: Record<string, any>[];\n };\n};\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport type MarkdownSettingsProps = {\n defaultViewMode: EditorViewMode;\n editorInputMode?: EditorInputMode;\n experimental?: boolean;\n debug?: boolean;\n toolbar?: boolean;\n typewriter?: string;\n // TODO(burdon): Per document settings.\n numberedHeadings?: boolean;\n folding?: boolean;\n};\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location when we implement comments in sheets.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type MarkdownPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n GraphSerializerProvides &\n MetadataRecordsProvides &\n SettingsProvides<MarkdownSettingsProps> &\n TranslationsProvides &\n SchemaProvides &\n StackProvides &\n ThreadProvides<DocumentType>;\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,KAAKC,GAAGC,mBAAmB;AACpC,SAASC,kBAAkB;AAEpB,IAAMC,WAAN,cAAuBC,YAAY;EAAEC,UAAU;EAAsBC,SAAS;AAAQ,CAAA,EAAG;EAC9FC,SAASC,EAAEC;AACb,CAAA,EAAA;AAAI;AAEG,IAAMC,eAAN,cAA2BN,YAAY;EAAEC,UAAU;EAA0BC,SAAS;AAAQ,CAAA,EAAG;EACtGK,MAAMH,EAAEI,SAASJ,EAAEC,MAAM;EACzBI,cAAcL,EAAEI,SAASJ,EAAEC,MAAM;EACjCF,SAASO,IAAIX,QAAAA;EACbY,SAASP,EAAEQ,QAAQR,EAAES,MAAMH,IAAII,UAAAA,CAAAA,CAAAA;AACjC,CAAA,EAAA;AAAI;AAMG,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;ACTvB,IAAMC,kBAAkB,GAAGC,eAAAA;;UAEfC,iBAAAA;8CACD,GAAGF,eAAAA,SAAwB,IAAA;qDACpB,GAAGA,eAAAA,gBAA+B,IAAA;GAFxCE,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["ref", "S", "TypedObject", "ThreadType", "TextType", "TypedObject", "typename", "version", "content", "S", "String", "DocumentType", "name", "optional", "fallbackName", "ref", "threads", "mutable", "Array", "ThreadType", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction"]
7
+ }
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  DocumentType,
4
4
  TextType
5
- } from "./chunk-OEMU3XY7.mjs";
5
+ } from "./chunk-ERJ52KN2.mjs";
6
6
 
7
7
  // packages/plugins/plugin-markdown/src/util.tsx
8
8
  import { debounce } from "@dxos/async";
@@ -50,4 +50,4 @@ export {
50
50
  setFallbackName,
51
51
  serializer
52
52
  };
53
- //# sourceMappingURL=chunk-EREAR7QS.mjs.map
53
+ //# sourceMappingURL=chunk-NUMUUCYF.mjs.map