@mdxeditor/editor
Version:
React component for rich text markdown editing
31 lines (30 loc) • 1.55 kB
JavaScript
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({
[]: "link",
[]: MdastLinkVisitor,
[]: [LinkNode, AutoLinkNode],
[]: LexicalLinkVisitor,
[]: disableAutoLink,
[]: EditorChild,
[]: EditorChild
});
}
});
export {
disableAutoLink$,
linkPlugin
};