@dxos/plugin-markdown 0.6.14-main.f49f251 → 0.6.14-staging.3e2eaca

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/lib/browser/{MarkdownContainer-HRGXWEA4.mjs → MarkdownContainer-UBYHA366.mjs} +44 -54
  2. package/dist/lib/browser/MarkdownContainer-UBYHA366.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-DRJ3FPYF.mjs → chunk-4X6YX3KU.mjs} +3 -3
  4. package/dist/lib/browser/chunk-4X6YX3KU.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-VGIHBUXB.mjs → chunk-PV4AWYWK.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-US5O2P3R.mjs → chunk-VZAGHNHU.mjs} +2 -2
  7. package/dist/lib/browser/index.mjs +13 -14
  8. package/dist/lib/browser/index.mjs.map +3 -3
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/meta.mjs +1 -1
  11. package/dist/lib/browser/types/index.mjs +2 -2
  12. package/dist/lib/node/{MarkdownContainer-QZ4YLO7M.cjs → MarkdownContainer-2S666KPG.cjs} +48 -58
  13. package/dist/lib/node/MarkdownContainer-2S666KPG.cjs.map +7 -0
  14. package/dist/lib/node/{chunk-6HPTH2F5.cjs → chunk-2A5P424C.cjs} +7 -7
  15. package/dist/lib/node/{chunk-UJMOZCIA.cjs → chunk-BHPFK7YI.cjs} +6 -6
  16. package/dist/lib/node/{chunk-P7YU53RP.cjs → chunk-PHHIPRJC.cjs} +6 -6
  17. package/dist/lib/node/chunk-PHHIPRJC.cjs.map +7 -0
  18. package/dist/lib/node/index.cjs +57 -58
  19. package/dist/lib/node/index.cjs.map +3 -3
  20. package/dist/lib/node/meta.cjs +3 -3
  21. package/dist/lib/node/meta.cjs.map +1 -1
  22. package/dist/lib/node/meta.json +1 -1
  23. package/dist/lib/node/types/index.cjs +6 -6
  24. package/dist/lib/node/types/index.cjs.map +1 -1
  25. package/dist/lib/node-esm/{MarkdownContainer-FSWQL76V.mjs → MarkdownContainer-IITZD46A.mjs} +44 -54
  26. package/dist/lib/node-esm/MarkdownContainer-IITZD46A.mjs.map +7 -0
  27. package/dist/lib/node-esm/{chunk-NEVN5WR6.mjs → chunk-BABK7FMW.mjs} +3 -3
  28. package/dist/lib/node-esm/chunk-BABK7FMW.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-HPOTHJC4.mjs → chunk-EREAR7QS.mjs} +2 -2
  30. package/dist/lib/node-esm/{chunk-MIDCCMIX.mjs → chunk-OEMU3XY7.mjs} +2 -2
  31. package/dist/lib/node-esm/index.mjs +13 -14
  32. package/dist/lib/node-esm/index.mjs.map +3 -3
  33. package/dist/lib/node-esm/meta.json +1 -1
  34. package/dist/lib/node-esm/meta.mjs +1 -1
  35. package/dist/lib/node-esm/types/index.mjs +2 -2
  36. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  37. package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
  38. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  39. package/dist/types/src/components/MarkdownEditor.d.ts +1 -2
  40. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  41. package/dist/types/src/components/index.d.ts +1 -1
  42. package/dist/types/src/components/index.d.ts.map +1 -1
  43. package/dist/types/src/extensions.d.ts +1 -1
  44. package/dist/types/src/extensions.d.ts.map +1 -1
  45. package/dist/types/src/meta.d.ts +1 -1
  46. package/package.json +28 -29
  47. package/src/MarkdownPlugin.tsx +1 -4
  48. package/src/components/MarkdownContainer.tsx +29 -24
  49. package/src/components/MarkdownEditor.tsx +19 -41
  50. package/src/components/MarkdownSettings.tsx +15 -15
  51. package/src/extensions.tsx +25 -13
  52. package/src/meta.ts +2 -2
  53. package/dist/lib/browser/MarkdownContainer-HRGXWEA4.mjs.map +0 -7
  54. package/dist/lib/browser/chunk-DRJ3FPYF.mjs.map +0 -7
  55. package/dist/lib/node/MarkdownContainer-QZ4YLO7M.cjs.map +0 -7
  56. package/dist/lib/node/chunk-P7YU53RP.cjs.map +0 -7
  57. package/dist/lib/node-esm/MarkdownContainer-FSWQL76V.mjs.map +0 -7
  58. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs.map +0 -7
  59. /package/dist/lib/browser/{chunk-VGIHBUXB.mjs.map → chunk-PV4AWYWK.mjs.map} +0 -0
  60. /package/dist/lib/browser/{chunk-US5O2P3R.mjs.map → chunk-VZAGHNHU.mjs.map} +0 -0
  61. /package/dist/lib/node/{chunk-6HPTH2F5.cjs.map → chunk-2A5P424C.cjs.map} +0 -0
  62. /package/dist/lib/node/{chunk-UJMOZCIA.cjs.map → chunk-BHPFK7YI.cjs.map} +0 -0
  63. /package/dist/lib/node-esm/{chunk-HPOTHJC4.mjs.map → chunk-EREAR7QS.mjs.map} +0 -0
  64. /package/dist/lib/node-esm/{chunk-MIDCCMIX.mjs.map → chunk-OEMU3XY7.mjs.map} +0 -0
@@ -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, 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 action: LayoutAction.SET_LAYOUT,\n data: { element: 'complementary', state: true },\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} contentSize={role === 'article' ? 'cover' : 'intrinsic'}>\n {toolbar && (\n <div\n role='none'\n className={mx(\n 'attention-surface is-full',\n role === 'section' && 'sticky block-start-0 z-[1] border-be !border-separator -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 }\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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAA0C;AAE1C,2BAAyD;AACzD,kBAA2C;ACH3C,oBAAgC;AAEhC,IAAAA,gBAAuD;AAEvD,IAAAC,wBAAiE;AACjE,sBAAgD;AAChD,gCAA6B;AAC7B,6BAqBO;AACP,4BAA0B;AAC1B,4BAAmC;AACnC,kBAAwC;AC/BxC,kBAA2B;AAC3B,IAAAD,gBAA4B;AAE5B,IAAAC,wBAAgD;AAChD,IAAAC,0BAAqC;ACJrC,IAAAF,gBAA0E;AAC1E,oBAA2B;AAE3B,IAAAC,wBAA6E;AAC7E,uBAA0B;AAC1B,IAAAE,eAA0E;AAC1E,kBAA4B;AAC5B,IAAAC,mBAAoC;AACpC,IAAAF,0BAeO;AACP,IAAAG,yBAA0B;AAC1B,IAAAC,eAA2B;ADdpB,IAAMC,yBAAyB,CAACC,YAAoCC,eAAAA;AACzE,QAAMC,2BAAuBC,2BAC3B,CAAC,EAAEC,QAAQC,KAAI,MAAkC;AAC/C,QAAID,WAAWE,mCAAaC,kBAAkB;AAC5C,UAAIP,cAAcK,MAAMG,OAAOP,cAAcI,MAAMI,QAAQ;AAEzD,cAAMC,QAAQC,+BAAOC,mBAAmBZ,WAAWa,OAAOR,KAAKI,MAAM;AACrE,YAAIC,OAAO;AACT,gBAAMI,YAAYd,WAAWa,MAAMC,UAAUC,KAAKC,SAASN,MAAMM,OAAO;YAAEC,QAAQP,MAAMM;UAAK,IAAIE;AACjG,gBAAMC,UAAU;;YAEdC,uBAAWC,eAAeX,MAAMM,MAAM;cAAEM,GAAG;cAASC,SAAS;YAAG,CAAA;;AAElE,cAAIT,WAAW;AAEbK,oBAAQK,KAAKC,qCAAaC,GAAG;cAAEC,SAAS1B;YAAW,CAAA,CAAA;UACrD;AAEAD,qBAAW4B,SAAS;YAClBT;YACAL,WAAWA,YAAY;cAAEG,QAAQP,MAAMM;YAAK,IAAIE;UAClD,CAAA;QACF;MACF;IACF;EACF,GACA;IAACjB;IAAYD;GAAW;AAG1B6B,+CAAkBC,uCAAiB5B,oBAAAA;AACrC;ADJA,IAAM6B,oBAAoC;AAqBnC,IAAMC,iBAAiB,CAAC,EAC7BxB,IACAyB,OAAO,WACPC,cACAC,YACAC,oBACAC,eACAC,SACAC,UACAC,kBACAC,cACAC,iBAAgB,MACI;AACpB,QAAM,EAAEC,EAAC,QAAKC,gCAAed,qCAAAA;AAC7B,QAAM,EAAEe,UAAS,QAAKC,iCAAAA;AACtB,QAAMlB,eAAWmB,2CAAAA;AACjB,QAAM,CAACC,iBAAiBC,kBAAAA,QAAsBC,2CAAAA;AAC9C,QAAM,EAAEC,aAAY,QAAKC,wCAAa5C,EAAAA;AAGtC,QAAM,EAAE6C,UAAUvC,UAAS,QAAKwC,uBAA8B,MAAMd,kBAAkBe,SAAS/C,EAAAA,KAAO,CAAC,GAAG;IAACA;GAAG;AAI9G,QAAMgD,yBAAqBF,uBACzB,MAAMlB,oBAAoBqB,QAAQ,CAACC,aAAaA,SAAS,CAAC,CAAA,CAAA,EAAIC,OAAOC,uBAAAA,GACrE;IAACxB;GAAmB;AAItB,QAAM,CAACyB,eAAeC,eAAAA,QAAmBC,wCAAAA;AACzC,QAAMC,qBAAiB7D,cAAAA,aAAY,MAAA;AACjC,SAAKyB,SAAS;MACZxB,QAAQE,sBAAAA,aAAa2D;MACrB5D,MAAM;QAAE6D,SAAS;QAAiBrD,OAAO;MAAK;IAChD,CAAA;EACF,GAAG;IAACe;GAAS;AACb,QAAMuC,2BAAuBC,gDAAwBJ,cAAAA;AAGrD,QAAMK,aAAmC,OAAOC,MAAM,EAAEC,MAAK,MAAE;AAC7D,UAAMC,OAAOD,MAAM,CAAA;AACnB,UAAME,OAAOD,QAAQ/B,eAAe,MAAMA,aAAa+B,IAAAA,IAAQtD;AAC/D,QAAIuD,MAAM;AACRC,gDAAcJ,MAAM;QAAEK,MAAM;QAAStE,MAAMoE,KAAKG;MAAI,CAAA;IACtD;EACF;AAEA,QAAM,EACJC,WACAP,MAAMtE,YACN8E,gBAAe,QACbC,sCACF,OAAO;IACL7C;IACAC,YAAY;MACVc;MACAa;MACAK;UACAa,8CAAsB;QACpBC,UAAU1C,aAAa;QACvB2C,aAAavC,EAAE,oBAAA;QACfN,eAAeJ,SAAS,YAAY,QAAQI;MAC9C,CAAA;UACA8C,iDAAyB;QAAEtC;MAAU,CAAA;UACrCuC,8CAAsB;QACpBvC;QACAwC,oBAAoB;QACpBC,OAAO;UAAEC,SAAS;YAAEC,WAAWC;UAAc;QAAE;MACjD,CAAA;MACAC;MACAzD,SAAS,aAAaQ,oBAAgBkD,iCAAS;QAAEC,QAAQvB;MAAW,CAAA;MACpEb;MACArB;MACAwB,OAAOkC,sBAAAA;IACT,GAAI5D,SAAS,aAAa;MACxBzB;MACA6C;MACAvC;;;MAGAgF,iBAAiB;IACnB;EACF,IACA;IAACtF;IAAIyC;IAAoBV;IAAUM;IAAWV;IAAYqB;GAAmB;AAG/EuC,UAAQ/F,UAAAA;AACRD,yBAAuBC,YAAYQ,EAAAA;AAGnC,QAAMwF,0BAAsBC,yCAAiBjG,UAAAA;AAC7C,QAAMkG,eAAe,CAAC9F,WAAAA;AACpB,YAAQA,OAAOuE,MAAI;MACjB,KAAK,UAAU;AACb,YAAI3E,YAAY;AACdmG,6CAAgBnG,UAAAA;QAClB;AACA;MACF;MACA,KAAK,aAAa;AAChB0C,2BAAmBlC,IAAIJ,OAAOC,IAAI;AAClC;MACF;IACF;AAEA2F,0BAAsB5F,MAAAA;EACxB;AAEA,SACE,8BAAAgG,QAAA,cAACC,gCAAUC,SAAO;IAAChE;IAAkBiE,aAAatE,SAAS,YAAY,UAAU;KAC9EK,WACC,8BAAA8D,QAAA,cAACI,OAAAA;IACCvE,MAAK;IACLuD,eAAWiB,0BACT,6BACAxE,SAAS,aAAa,yEAAA;KAGxB,8BAAAmE,QAAA,cAACM,+BAAQC,MAAI;IACXC,YAAY;MAACC;MAAgB,CAAC1D,gBAAgB;;IAC9CtC,OAAOmC,mBAAmB;MAAE,GAAGA;MAAiB,GAAGa;IAAc;IACjEiD,UAAUZ;KAEV,8BAAAE,QAAA,cAACM,+BAAQK,UAAQ,IAAA,GAChBtE,gBAAgB,8BAAA2D,QAAA,cAACM,+BAAQM,QAAM;IAACC,UAAUxE;MAC3C,8BAAA2D,QAAA,cAACM,+BAAQQ,WAAS,IAAA,GAClB,8BAAAd,QAAA,cAACM,+BAAQS,MAAI;IAACC,MAAM7E,YAAYR;MAChC,8BAAAqE,QAAA,cAACM,+BAAQW,SAAO,IAAA,CAAA,CAAA,GAItB,8BAAAjB,QAAA,cAACI,OAAAA;IACCvE,MAAK;IACLqF,KAAKzC;IACL0C,eAAY;IACZC,gBAAclF,UAAU,YAAY;IACpCkD,eAAWiB,0BACT,uEACAxE,SAAS,YAAY,aAAa,6DAAA;IAEnC,GAAG6C;;AAIZ;AAIA,IAAMiB,UAAU,CAACzB,SAAAA;AACfmD,+BAAU,MAAA;AACR,UAAMC,WAAYC,OAAeD;AACjC,QAAIA,UAAU;AACZA,eAAS1H,aAAasE;IACxB;EACF,GAAG;IAACA;GAAK;AACX;;AE9KO,IAAMsD,gBAAgB,CAAC,EAC5BC,UACAC,UACAvF,UACAC,kBACAJ,mBAAkB,MACkD;AACpE,QAAMR,eAAWmB,sBAAAA,qBAAAA;AACjB,QAAMgF,eAAWC,yBAAAA;AACjB,QAAMC,YAAQC,uBAASL,QAAAA;AAMvB,QAAMM,qBAAiB7E,cAAAA,SACrB,MACE8E,qBAAqB;IACnBP;IACAC;IACAvF;IACAX;EAEF,CAAA,GACF;IACEiG;IACAtF;IACAX;IACAkG;IACAA,SAASO;IACTP,SAASQ;IACTR,SAASS;IACTT,SAASU;IACTV,SAASW;GACV;AAMH,QAAMC,uBAAmBpF,cAAAA,SACvB,MACElB,oBAAoBuG,OAAO,CAACC,KAAkBlF,aAAAA;AAC5C,UAAMmF,YAAY,OAAOnF,aAAa,aAAaA,SAAS;MAAEmE;IAAS,CAAA,IAAKnE;AAC5E,QAAImF,WAAW;AACbD,UAAIpH,KAAKqH,SAAAA;IACX;AAEA,WAAOD;EACT,GAAG,CAAA,CAAE,GACP;IAACxG;IAAoByF;GAAS;AAMhC,aAAOvE,cAAAA,SACL,MACE;;IAEEuE,gBACEiB,8CAAqB;MACnBtI,IAAIqH,SAASrH;MACbuI,MAAMlB,SAAStC,eAAWyD,gCAAkBnB,SAAStC,SAAS;QAAC;OAAU;MACzE0C;MACAF;IACF,CAAA;QACFkB,wCAAezG,gBAAAA;IACfqF,gBACEqB,kCAAS;MACPC,UAAU,CAACJ,aAASK,uCAAgBvB,UAAUkB,IAAAA;IAChD,CAAA;IACFZ;IACAO;IACA/E,OAAOkC,aAAAA,UAAAA,GACX;IAACsC;IAAgBO;IAAkBb;IAAUA,UAAUtC;IAAS0C;IAAOF;GAAS;AAEpF;AAKA,IAAMK,uBAAuB,CAAC,EAAEP,UAAUjG,UAAUkG,UAAUuB,OAAO9G,SAAQ,MAAqB;AAChG,QAAMJ,aAA0B;IAC9B2F,SAASO,mBAAmBiB,4CAAoBxB,SAASO,eAAe;IACxEP,SAASQ,eAAWA,iCAAAA;IACpB3E,OAAOkC,aAAAA,UAAAA;AAKT,MAAItD,aAAa,UAAU;AACzBJ,eAAWX,KAAI,GACV;UACD+H,0CAAAA;UACAC,0CAAiB;QACfC,sBAAsB;QACtBlB,kBAAkBT,SAASS,mBAAmB;UAAEvH,MAAM;QAAE,IAAIE;;QAE5DwI,kBACE9H,YAAYiG,WACR8B,aAAa,CAACnJ,OAAAA;AACZ,eAAKoB,SAAS;YACZxB,QAAQwJ,uCAAiBC;YACzBxJ,MAAM;cACJG;cACAsJ,MAAM;cACNC,aAASC,+BAAiBnC,QAAAA;cAC1BxG,gBAAgB;YAClB;UACF,CAAA;QACF,CAAA,IACAH;MACR,CAAA;UACA+I,qCAAYC,iBAAAA;KACb;EAEL;AAKA,MAAIb,OAAO;AACTlH,eAAWX,SACT2I,sCAAa;MACXC,UAAU,CAACrB,SAAAA;AAET,eAAOM,MAAMgB,QACVC,IAAoC,CAACC,WACpCA,OAAOC,MAAMC,UAAUF,OAAO/J,OAAOqH,UAAUrH,KAC3C;UACEkK,OAAOH,OAAOC;;UAEdG,OAAO,IAAIJ,OAAOC,IAAI,UAAMR,+BAAiBO,MAAAA,CAAAA;QAC/C,IACArJ,MAAAA,EAELyC,OAAOkC,aAAAA,UAAAA;MACZ;IACF,CAAA,CAAA;EAEJ;AAEA,MAAIiC,SAASU,OAAO;AAClB,UAAMoC,QAAQ9C,SAASW,YAAYoC,MAAM,OAAA,KAAY;AACrD,QAAID,OAAO;AACTzI,iBAAWX,SAAKiH,oCAAW;QAAEmC;MAAM,CAAA,CAAA;IACrC;EACF;AAEA,SAAOzI;AACT;AAGA,IAAM2I,QAAQ;EACZC,OAAO;EACPC,MAAM;AACR;AAEA,IAAMrB,eAAe,CAACsB,mBAAyC,CAACC,IAAatG,QAAAA;AAE3E,QAAMuG,aACJvG,IAAIwG,WAAW,GAAA;EAEfxG,IAAIwG,WAAWzD,OAAO0D,SAASC,MAAM;AAEvC,QAAMC,UAAqCJ,aACvC;IACEK,SAAS,MAAA;AACP,YAAMC,cAAc7G,IAAIiG,MAAM,GAAA,EAAKa,GAAG,EAAC;AACvCC,sCAAUF,aAAa,wBAAA;;;;;;;;;AACvBR,qBAAeQ,WAAAA;IACjB;EACF,IACA;IACEG,MAAMhH;IACNiH,KAAK;IACLC,QAAQ;EACV;AAEJC,aACEb,IACA9E,8BAAAA,QAAA,cAAC4F,KAAAA;IAAG,GAAGT;IAAS/F,WAAWsF,MAAMC;KAC/B3E,8BAAAA,QAAA,cAAC6F,uBAAAA;IACCjB,MAAMG,aAAa,gCAAgC;IACnDe,MAAM;IACNtF,YAAYkE,MAAME;;AAI1B;AAEA,IAAMd,oBAAoB,CAACgB,IAAatG,QAAAA;AACtC,QAAMuH,MAAM,IAAIC,IAAIxH,GAAAA;AACpBmH,aACEb,IACA9E,8BAAAA,QAAA,cAAC4F,KAAAA;IAAEJ,MAAMhH;IAAKiH,KAAI;IAAaC,QAAO;IAAStG,WAAWsF,MAAMC;KAC7DoB,IAAIb,QACLlF,8BAAAA,QAAA,cAAC6F,uBAAAA;IAAKjB,MAAK;IAA6BkB,MAAM;IAAGtF,YAAYkE,MAAME;;AAGzE;AAGO,IAAMe,aAAa,CAAoBM,MAASC,SAAAA;AACrDC,gCAAWF,IAAAA,EAAMG,OAAOpG,8BAAAA,QAAA,cAACqG,gCAAAA;IAAcC,IAAIC;KAAYL,IAAAA,CAAAA;AACvD,SAAOD;AACT;AHlOA,IAAMO,oBAAoB,CAAC,EACzBpM,IACAyB,MACAsI,QACAnI,oBACA0F,UACAvF,UACAC,kBACAE,iBAAgB,MACO;AACvB,QAAML,gBAAgBJ,SAAS;AAC/B,QAAM4K,MAAMtC,kBAAkBuC,qCAAevC,SAASrJ;AACtD,QAAMiB,aAAayF,cAAc;IAAExF;IAAoByF,UAAUgF;IAAK/E;IAAUvF;IAAUC;EAAiB,CAAA;AAE3G,MAAIqK,KAAK;AACP,WACEzG,6BAAAA,QAAA,cAAC2G,gBAAAA;MACCvM,QAAIwJ,YAAAA,kBAAiBO,MAAAA;MACrBtI;MACA4F,UAAUgF;MACV1K;MACA2F;MACAzF;MACAK;;EAGN,OAAO;AACL,WACE0D,6BAAAA,QAAA,cAACpE,gBAAAA;MACCxB;MACAyB;MACAC,cAAcqI,OAAOxB;MACrB5G;MACAI;MACAD,SAASwF,SAASxF;MAClB0K,WAAWlF,SAASO;MACpBhG;MACAK;;EAGN;AACF;AAOO,IAAMqK,iBAAiB,CAAC,EAAEvM,IAAIqH,UAAUgF,KAAK/E,UAAUvF,UAAU,GAAG0K,MAAAA,MAA4B;AACrG,QAAMhF,YAAQC,YAAAA,UAAS2E,GAAAA;AAGvBpF,mBAAAA,WAAU,MAAA;AACR,QAAI,CAACoF,IAAIK,gBAAgBL,IAAItH,SAASA,SAAS;AAC7CsH,UAAIK,mBAAeC,uCAAgBN,IAAItH,QAAQA,OAAO;IACxD;EACF,GAAG;IAACsH;IAAKA,IAAItH;GAAQ;AAGrB,QAAM6H,wBAAoBC,uCAAiBC,2CAAAA;AAC3C,QAAMC,uBAAmBjK,aAAAA,SAAQ,MAAA;AAC/B,QAAI2E,UAAU/G,UAAakM,mBAAmBI,SAAShJ,KAAKiJ,WAAWvM,QAAW;AAChF,aAAOA;IACT;AAGA,WAAO,OAAOsD,SAAe4I,mBAAmBI,UAAUhJ,MAAMiJ,SAASjJ,MAAMyD,KAAAA;EACjF,GAAG;IAACA;IAAOmF;GAAkB;AAE7B,SACEhH,6BAAAA,QAAA,cAACpE,gBAAAA;IACCxB;IACA0B,cAAc2K,IAAItH,SAASA;IAC3BhD;IACAD,SAASwF,SAASxF;IAClB0K,WAAWlF,SAASO;IACpB5F,cAAc8K;IACb,GAAGN;;AAGV;AAEA,IAAA,4BAAeL;",
6
+ "names": ["import_react", "import_app_framework", "import_react_ui_editor", "import_echo", "import_react_ui", "import_react_ui_theme", "import_util", "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", "role", "initialValue", "extensions", "extensionProviders", "scrollPastEnd", "toolbar", "viewMode", "editorStateStore", "onFileUpload", "onViewModeChange", "t", "useTranslation", "themeMode", "useThemeContext", "useIntentDispatcher", "formattingState", "formattingObserver", "useFormattingState", "hasAttention", "useAttention", "scrollTo", "useMemo", "getState", "providerExtensions", "flatMap", "provider", "filter", "nonNullable", "commentsState", "commentObserver", "useCommentState", "onCommentClick", "SET_LAYOUT", "element", "commentClickObserver", "useCommentClickListener", "handleDrop", "view", "files", "file", "info", "processAction", "type", "url", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "readonly", "placeholder", "createMarkdownExtensions", "createThemeExtensions", "syntaxHighlighting", "slots", "content", "className", "editorContent", "editorGutter", "dropFile", "onDrop", "isNotFalsy", "moveToEndOfLine", "useTest", "handleToolbarAction", "useActionHandler", "handleAction", "openSearchPanel", "React", "StackItem", "Content", "contentSize", "div", "mx", "Toolbar", "Root", "classNames", "textBlockWidth", "onAction", "Markdown", "Custom", "onUpload", "Separator", "View", "mode", "Actions", "ref", "data-testid", "data-toolbar", "useEffect", "composer", "window", "useExtensions", "document", "settings", "identity", "useIdentity", "space", "getSpace", "baseExtensions", "createBaseExtensions", "editorInputMode", "folding", "numberedHeadings", "debug", "typewriter", "pluginExtensions", "reduce", "acc", "extension", "createDataExtensions", "text", "createDocAccessor", "selectionState", "listener", "onChange", "setFallbackName", "query", "InputModeExtensions", "formattingKeymap", "decorateMarkdown", "selectionChangeDelay", "renderLinkButton", "onRenderLink", "NavigationAction", "ADD_TO_ACTIVE", "part", "pivotId", "fullyQualifiedId", "linkTooltip", "renderLinkTooltip", "autocomplete", "onSearch", "objects", "map", "object", "name", "length", "label", "apply", "items", "split", "style", "hover", "icon", "onSelectObject", "el", "isInternal", "startsWith", "location", "origin", "options", "onClick", "qualifiedId", "at", "invariant", "href", "rel", "target", "renderRoot", "a", "Icon", "size", "web", "URL", "root", "node", "createRoot", "render", "ThemeProvider", "tx", "defaultTx", "MarkdownContainer", "doc", "DocumentType", "DocumentEditor", "inputMode", "props", "fallbackName", "getFallbackName", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "handleFileUpload", "provides", "upload"]
7
+ }
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_6HPTH2F5_exports = {};
20
- __export(chunk_6HPTH2F5_exports, {
19
+ var chunk_2A5P424C_exports = {};
20
+ __export(chunk_2A5P424C_exports, {
21
21
  getFallbackName: () => getFallbackName,
22
22
  isMarkdownProperties: () => isMarkdownProperties,
23
23
  markdownExtensionPlugins: () => markdownExtensionPlugins,
24
24
  serializer: () => serializer,
25
25
  setFallbackName: () => setFallbackName
26
26
  });
27
- module.exports = __toCommonJS(chunk_6HPTH2F5_exports);
28
- var import_chunk_UJMOZCIA = require("./chunk-UJMOZCIA.cjs");
27
+ module.exports = __toCommonJS(chunk_2A5P424C_exports);
28
+ var import_chunk_BHPFK7YI = require("./chunk-BHPFK7YI.cjs");
29
29
  var import_async = require("@dxos/async");
30
30
  var import_echo = require("@dxos/react-client/echo");
31
31
  var isMarkdownProperties = (data) => (0, import_echo.isEchoObject)(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
@@ -53,10 +53,10 @@ var serializer = {
53
53
  },
54
54
  deserialize: async ({ content: serialized }) => {
55
55
  const { name, fallbackName, content } = JSON.parse(serialized);
56
- return (0, import_echo.createObject)((0, import_echo.create)(import_chunk_UJMOZCIA.DocumentType, {
56
+ return (0, import_echo.createObject)((0, import_echo.create)(import_chunk_BHPFK7YI.DocumentType, {
57
57
  name,
58
58
  fallbackName,
59
- content: (0, import_echo.create)(import_chunk_UJMOZCIA.TextType, {
59
+ content: (0, import_echo.create)(import_chunk_BHPFK7YI.TextType, {
60
60
  content
61
61
  }),
62
62
  threads: []
@@ -71,4 +71,4 @@ var serializer = {
71
71
  serializer,
72
72
  setFallbackName
73
73
  });
74
- //# sourceMappingURL=chunk-6HPTH2F5.cjs.map
74
+ //# sourceMappingURL=chunk-2A5P424C.cjs.map
@@ -16,15 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_UJMOZCIA_exports = {};
20
- __export(chunk_UJMOZCIA_exports, {
19
+ var chunk_BHPFK7YI_exports = {};
20
+ __export(chunk_BHPFK7YI_exports, {
21
21
  DocumentType: () => DocumentType,
22
22
  MarkdownAction: () => MarkdownAction,
23
23
  TextType: () => TextType,
24
24
  isEditorModel: () => isEditorModel
25
25
  });
26
- module.exports = __toCommonJS(chunk_UJMOZCIA_exports);
27
- var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
26
+ module.exports = __toCommonJS(chunk_BHPFK7YI_exports);
27
+ var import_chunk_PHHIPRJC = require("./chunk-PHHIPRJC.cjs");
28
28
  var import_echo_schema = require("@dxos/echo-schema");
29
29
  var import_types = require("@dxos/plugin-space/types");
30
30
  var TextType = class extends (0, import_echo_schema.TypedObject)({
@@ -45,7 +45,7 @@ var DocumentType = class extends (0, import_echo_schema.TypedObject)({
45
45
  }) {
46
46
  };
47
47
  var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
48
- var MARKDOWN_ACTION = `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/action`;
48
+ var MARKDOWN_ACTION = `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/action`;
49
49
  var MarkdownAction;
50
50
  (function(MarkdownAction2) {
51
51
  MarkdownAction2[MarkdownAction2["CREATE"] = `${MARKDOWN_ACTION}/create`] = "CREATE";
@@ -58,4 +58,4 @@ var MarkdownAction;
58
58
  TextType,
59
59
  isEditorModel
60
60
  });
61
- //# sourceMappingURL=chunk-UJMOZCIA.cjs.map
61
+ //# sourceMappingURL=chunk-BHPFK7YI.cjs.map
@@ -16,18 +16,18 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_P7YU53RP_exports = {};
20
- __export(chunk_P7YU53RP_exports, {
19
+ var chunk_PHHIPRJC_exports = {};
20
+ __export(chunk_PHHIPRJC_exports, {
21
21
  MARKDOWN_PLUGIN: () => MARKDOWN_PLUGIN,
22
22
  meta_default: () => meta_default
23
23
  });
24
- module.exports = __toCommonJS(chunk_P7YU53RP_exports);
24
+ module.exports = __toCommonJS(chunk_PHHIPRJC_exports);
25
25
  var MARKDOWN_PLUGIN = "dxos.org/plugin/markdown";
26
26
  var meta_default = {
27
27
  id: MARKDOWN_PLUGIN,
28
- name: "Markdown Editor",
28
+ name: "Markdown",
29
29
  description: "Text editor supporting extended Markdown.",
30
- homePage: "https://github.com/dxos/dxos/tree/main/packages/apps/plugins/plugin-markdown",
30
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
31
31
  icon: "ph--text-aa--regular"
32
32
  };
33
33
  // Annotate the CommonJS export names for ESM import in node:
@@ -35,4 +35,4 @@ var meta_default = {
35
35
  MARKDOWN_PLUGIN,
36
36
  meta_default
37
37
  });
38
- //# sourceMappingURL=chunk-P7YU53RP.cjs.map
38
+ //# sourceMappingURL=chunk-PHHIPRJC.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const MARKDOWN_PLUGIN = 'dxos.org/plugin/markdown';\n\nexport default {\n id: MARKDOWN_PLUGIN,\n name: 'Markdown',\n description: 'Text editor supporting extended Markdown.',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n icon: 'ph--text-aa--regular',\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,kBAAkB;AAE/B,IAAA,eAAe;EACbC,IAAID;EACJE,MAAM;EACNC,aAAa;EACbC,QAAQ;EACRC,MAAM;AACR;",
6
+ "names": ["MARKDOWN_PLUGIN", "id", "name", "description", "source", "icon"]
7
+ }
@@ -28,22 +28,22 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- DocumentType: () => import_chunk_UJMOZCIA.DocumentType,
32
- MarkdownAction: () => import_chunk_UJMOZCIA.MarkdownAction,
31
+ DocumentType: () => import_chunk_BHPFK7YI.DocumentType,
32
+ MarkdownAction: () => import_chunk_BHPFK7YI.MarkdownAction,
33
33
  MarkdownPlugin: () => MarkdownPlugin,
34
- TextType: () => import_chunk_UJMOZCIA.TextType,
34
+ TextType: () => import_chunk_BHPFK7YI.TextType,
35
35
  default: () => src_default,
36
- getFallbackName: () => import_chunk_6HPTH2F5.getFallbackName,
37
- isEditorModel: () => import_chunk_UJMOZCIA.isEditorModel,
38
- isMarkdownProperties: () => import_chunk_6HPTH2F5.isMarkdownProperties,
39
- markdownExtensionPlugins: () => import_chunk_6HPTH2F5.markdownExtensionPlugins,
40
- serializer: () => import_chunk_6HPTH2F5.serializer,
41
- setFallbackName: () => import_chunk_6HPTH2F5.setFallbackName
36
+ getFallbackName: () => import_chunk_2A5P424C.getFallbackName,
37
+ isEditorModel: () => import_chunk_BHPFK7YI.isEditorModel,
38
+ isMarkdownProperties: () => import_chunk_2A5P424C.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_2A5P424C.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_2A5P424C.serializer,
41
+ setFallbackName: () => import_chunk_2A5P424C.setFallbackName
42
42
  });
43
43
  module.exports = __toCommonJS(node_exports);
44
- var import_chunk_6HPTH2F5 = require("./chunk-6HPTH2F5.cjs");
45
- var import_chunk_UJMOZCIA = require("./chunk-UJMOZCIA.cjs");
46
- var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
44
+ var import_chunk_2A5P424C = require("./chunk-2A5P424C.cjs");
45
+ var import_chunk_BHPFK7YI = require("./chunk-BHPFK7YI.cjs");
46
+ var import_chunk_PHHIPRJC = require("./chunk-PHHIPRJC.cjs");
47
47
  var import_react = require("@phosphor-icons/react");
48
48
  var import_react2 = __toESM(require("react"));
49
49
  var import_app_framework = require("@dxos/app-framework");
@@ -61,8 +61,8 @@ var import_react_ui = require("@dxos/react-ui");
61
61
  var import_react_ui_data = require("@dxos/react-ui-data");
62
62
  var import_react_ui_editor2 = require("@dxos/react-ui-editor");
63
63
  var MarkdownSettings = ({ settings }) => {
64
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_P7YU53RP.MARKDOWN_PLUGIN);
65
- return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
64
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN);
65
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
66
66
  label: t("default view mode label")
67
67
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
68
68
  value: settings.defaultViewMode,
@@ -74,7 +74,7 @@ var MarkdownSettings = ({ settings }) => {
74
74
  value: mode
75
75
  }, t(`${mode} mode label`, {
76
76
  ns: "react-ui-editor"
77
- })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
77
+ })))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
78
78
  label: t("editor input mode label")
79
79
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
80
80
  value: settings.editorInputMode ?? "default",
@@ -86,27 +86,27 @@ var MarkdownSettings = ({ settings }) => {
86
86
  }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorInputModes.map((mode) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Option, {
87
87
  key: mode,
88
88
  value: mode
89
- }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
89
+ }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
90
90
  label: t("settings toolbar label")
91
91
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
92
92
  checked: settings.toolbar,
93
93
  onCheckedChange: (checked) => settings.toolbar = !!checked
94
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
94
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
95
95
  label: t("settings numbered headings label")
96
96
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
97
97
  checked: settings.numberedHeadings,
98
98
  onCheckedChange: (checked) => settings.numberedHeadings = !!checked
99
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
99
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
100
100
  label: t("settings folding label")
101
101
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
102
102
  checked: settings.folding,
103
103
  onCheckedChange: (checked) => settings.folding = !!checked
104
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
104
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
105
105
  label: t("settings experimental label")
106
106
  }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
107
107
  checked: settings.experimental,
108
108
  onCheckedChange: (checked) => settings.experimental = !!checked
109
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.FormInput, {
109
+ })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_data.DeprecatedFormInput, {
110
110
  label: t("settings debug label"),
111
111
  secondary: settings.debug ? /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.TextArea, {
112
112
  rows: 5,
@@ -119,11 +119,11 @@ var MarkdownSettings = ({ settings }) => {
119
119
  onCheckedChange: (checked) => settings.debug = !!checked
120
120
  })));
121
121
  };
122
- var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-QZ4YLO7M.cjs"));
122
+ var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-2S666KPG.cjs"));
123
123
  var translations_default = [
124
124
  {
125
125
  "en-US": {
126
- [import_chunk_P7YU53RP.MARKDOWN_PLUGIN]: {
126
+ [import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]: {
127
127
  "plugin name": "Editor",
128
128
  "create stack section label": "Create document",
129
129
  "document title placeholder": "New document",
@@ -150,24 +150,24 @@ var translations_default = [
150
150
  }
151
151
  }
152
152
  ];
153
- var getDoc = (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object : void 0;
153
+ var getDoc = (object) => object instanceof import_chunk_BHPFK7YI.DocumentType ? object : void 0;
154
154
  var MarkdownPlugin = () => {
155
- const settings = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
155
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN, {
156
156
  defaultViewMode: "preview",
157
157
  toolbar: true,
158
158
  numberedHeadings: true,
159
159
  folding: true,
160
160
  experimental: false
161
161
  });
162
- const editorStateStore = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/editor`);
163
- const state = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
162
+ const editorStateStore = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/editor`);
163
+ const state = new import_local_storage.LocalStorageStore(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN, {
164
164
  extensionProviders: [],
165
165
  viewMode: {}
166
166
  });
167
167
  const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
168
168
  const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
169
169
  return {
170
- meta: import_chunk_P7YU53RP.meta_default,
170
+ meta: import_chunk_PHHIPRJC.meta_default,
171
171
  ready: async (plugins) => {
172
172
  settings.prop({
173
173
  key: "defaultViewMode",
@@ -212,7 +212,7 @@ var MarkdownPlugin = () => {
212
212
  key: "viewMode",
213
213
  type: import_local_storage.LocalStorageStore.json()
214
214
  });
215
- (0, import_chunk_6HPTH2F5.markdownExtensionPlugins)(plugins).forEach((plugin) => {
215
+ (0, import_chunk_2A5P424C.markdownExtensionPlugins)(plugins).forEach((plugin) => {
216
216
  const { extensions } = plugin.provides.markdown;
217
217
  state.values.extensionProviders?.push(extensions);
218
218
  });
@@ -221,12 +221,12 @@ var MarkdownPlugin = () => {
221
221
  settings: settings.values,
222
222
  metadata: {
223
223
  records: {
224
- [import_chunk_UJMOZCIA.DocumentType.typename]: {
225
- label: (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object.name || object.fallbackName : void 0,
224
+ [import_chunk_BHPFK7YI.DocumentType.typename]: {
225
+ label: (object) => object instanceof import_chunk_BHPFK7YI.DocumentType ? object.name || object.fallbackName : void 0,
226
226
  placeholder: [
227
227
  "document title placeholder",
228
228
  {
229
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
229
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
230
230
  }
231
231
  ],
232
232
  icon: "ph--text-aa--regular",
@@ -238,7 +238,7 @@ var MarkdownPlugin = () => {
238
238
  doc2.content,
239
239
  ...doc2.threads
240
240
  ]),
241
- serializer: import_chunk_6HPTH2F5.serializer
241
+ serializer: import_chunk_2A5P424C.serializer
242
242
  }
243
243
  }
244
244
  },
@@ -248,8 +248,8 @@ var MarkdownPlugin = () => {
248
248
  ],
249
249
  echo: {
250
250
  schema: [
251
- import_chunk_UJMOZCIA.DocumentType,
252
- import_chunk_UJMOZCIA.TextType
251
+ import_chunk_BHPFK7YI.DocumentType,
252
+ import_chunk_BHPFK7YI.TextType
253
253
  ]
254
254
  },
255
255
  space: {
@@ -257,10 +257,10 @@ var MarkdownPlugin = () => {
257
257
  label: [
258
258
  "create document label",
259
259
  {
260
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
260
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
261
261
  }
262
262
  ],
263
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
263
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
264
264
  }
265
265
  },
266
266
  graph: {
@@ -271,7 +271,7 @@ var MarkdownPlugin = () => {
271
271
  return [];
272
272
  }
273
273
  return (0, import_plugin_graph.createExtension)({
274
- id: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
274
+ id: import_chunk_BHPFK7YI.MarkdownAction.CREATE,
275
275
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
276
276
  actions: ({ node }) => {
277
277
  const id = node.id.split("/").at(-1);
@@ -284,12 +284,12 @@ var MarkdownPlugin = () => {
284
284
  }
285
285
  return [
286
286
  {
287
- id: `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/create/${node.id}`,
287
+ id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/create/${node.id}`,
288
288
  data: async () => {
289
289
  await dispatch([
290
290
  {
291
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
292
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
291
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
292
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
293
293
  },
294
294
  {
295
295
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -306,7 +306,7 @@ var MarkdownPlugin = () => {
306
306
  label: [
307
307
  "create document label",
308
308
  {
309
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
309
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
310
310
  }
311
311
  ],
312
312
  icon: "ph--text-aa--regular",
@@ -324,14 +324,14 @@ var MarkdownPlugin = () => {
324
324
  }
325
325
  return [
326
326
  {
327
- inputType: import_chunk_UJMOZCIA.DocumentType.typename,
327
+ inputType: import_chunk_BHPFK7YI.DocumentType.typename,
328
328
  outputType: "text/markdown",
329
329
  // Reconcile with metadata serializers.
330
330
  serialize: async (node) => {
331
331
  const doc = node.data;
332
332
  const content = await (0, import_echo.loadObjectReferences)(doc, (doc2) => doc2.content);
333
333
  return {
334
- name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_P7YU53RP.MARKDOWN_PLUGIN]["document title placeholder"],
334
+ name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]["document title placeholder"],
335
335
  data: content.content,
336
336
  type: "text/markdown"
337
337
  };
@@ -344,8 +344,8 @@ var MarkdownPlugin = () => {
344
344
  }
345
345
  const result = await dispatch([
346
346
  {
347
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
348
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
347
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
348
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE,
349
349
  data: {
350
350
  name: data.name,
351
351
  content: data.data
@@ -372,25 +372,25 @@ var MarkdownPlugin = () => {
372
372
  type: [
373
373
  "plugin name",
374
374
  {
375
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
375
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
376
376
  }
377
377
  ],
378
378
  label: [
379
379
  "create stack section label",
380
380
  {
381
- ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
381
+ ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
382
382
  }
383
383
  ],
384
384
  icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
385
385
  intent: {
386
- plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
387
- action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
386
+ plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
387
+ action: import_chunk_BHPFK7YI.MarkdownAction.CREATE
388
388
  }
389
389
  }
390
390
  ]
391
391
  },
392
392
  thread: {
393
- predicate: (obj) => obj instanceof import_chunk_UJMOZCIA.DocumentType,
393
+ predicate: (obj) => obj instanceof import_chunk_BHPFK7YI.DocumentType,
394
394
  createSort: (doc) => {
395
395
  const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
396
396
  "content"
@@ -417,8 +417,8 @@ var MarkdownPlugin = () => {
417
417
  switch (role) {
418
418
  case "section":
419
419
  case "article": {
420
- const doc = getDoc(data.active) ?? getDoc(data.object);
421
- const { id, object } = (0, import_chunk_UJMOZCIA.isEditorModel)(data.object) ? {
420
+ const doc = getDoc(data.object);
421
+ const { id, object } = (0, import_chunk_BHPFK7YI.isEditorModel)(data.object) ? {
422
422
  id: data.object.id,
423
423
  object: data.object
424
424
  } : doc ? {
@@ -432,7 +432,6 @@ var MarkdownPlugin = () => {
432
432
  id,
433
433
  object,
434
434
  role,
435
- coordinate: data.coordinate,
436
435
  settings: settings.values,
437
436
  extensionProviders: state.values.extensionProviders,
438
437
  viewMode: getViewMode(id),
@@ -441,7 +440,7 @@ var MarkdownPlugin = () => {
441
440
  });
442
441
  }
443
442
  case "settings": {
444
- return data.plugin === import_chunk_P7YU53RP.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
443
+ return data.plugin === import_chunk_PHHIPRJC.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
445
444
  settings: settings.values
446
445
  }) : null;
447
446
  }
@@ -452,10 +451,10 @@ var MarkdownPlugin = () => {
452
451
  intent: {
453
452
  resolver: ({ action, data }) => {
454
453
  switch (action) {
455
- case import_chunk_UJMOZCIA.MarkdownAction.CREATE: {
456
- const doc = (0, import_echo_schema.create)(import_chunk_UJMOZCIA.DocumentType, {
454
+ case import_chunk_BHPFK7YI.MarkdownAction.CREATE: {
455
+ const doc = (0, import_echo_schema.create)(import_chunk_BHPFK7YI.DocumentType, {
457
456
  name: data?.name,
458
- content: (0, import_echo_schema.create)(import_chunk_UJMOZCIA.TextType, {
457
+ content: (0, import_echo_schema.create)(import_chunk_BHPFK7YI.TextType, {
459
458
  content: data?.content ?? ""
460
459
  }),
461
460
  threads: []
@@ -474,7 +473,7 @@ var MarkdownPlugin = () => {
474
473
  ]
475
474
  };
476
475
  }
477
- case import_chunk_UJMOZCIA.MarkdownAction.SET_VIEW_MODE: {
476
+ case import_chunk_BHPFK7YI.MarkdownAction.SET_VIEW_MODE: {
478
477
  const { id, viewMode } = data ?? {};
479
478
  if (typeof id === "string" && import_react_ui_editor.EditorViewModes.includes(viewMode)) {
480
479
  state.values.viewMode[id] = viewMode;