UNPKG

@mdxeditor/editor

Version:

React component for rich text markdown editing

31 lines (30 loc) 1.55 kB
import React__default from "react"; import { MdastLinkVisitor } from "./MdastLinkVisitor.js"; import { LexicalLinkVisitor } from "./LexicalLinkVisitor.js"; import { LinkNode, AutoLinkNode } from "@lexical/link"; import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin"; import { LexicalAutoLinkPlugin } from "./AutoLinkPlugin.js"; import { Cell } from "@mdxeditor/gurx"; import { realmPlugin } from "../../RealmWithPlugins.js"; import { addComposerChild$, addNestedEditorChild$, addExportVisitor$, addLexicalNode$, addImportVisitor$, addActivePlugin$ } from "../core/index.js"; const disableAutoLink$ = Cell(false); const linkPlugin = realmPlugin({ init(realm, params) { const disableAutoLink = Boolean(params == null ? void 0 : params.disableAutoLink); const linkPluginProps = (params == null ? void 0 : params.validateUrl) ? { validateUrl: params.validateUrl } : {}; const EditorChild = () => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(LinkPlugin, { ...linkPluginProps }), disableAutoLink ? null : /* @__PURE__ */ React__default.createElement(LexicalAutoLinkPlugin, null)); realm.pubIn({ [addActivePlugin$]: "link", [addImportVisitor$]: MdastLinkVisitor, [addLexicalNode$]: [LinkNode, AutoLinkNode], [addExportVisitor$]: LexicalLinkVisitor, [disableAutoLink$]: disableAutoLink, [addNestedEditorChild$]: EditorChild, [addComposerChild$]: EditorChild }); } }); export { disableAutoLink$, linkPlugin };