@mdxeditor/editor 1.14.3 → 2.0.0
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.
- package/dist/MDXEditor.js +19 -25
- package/dist/RealmWithPlugins.js +36 -0
- package/dist/directive-editors/GenericDirectiveEditor.js +7 -4
- package/dist/index.d.ts +2590 -62
- package/dist/index.js +138 -66
- package/dist/jsx-editors/GenericJsxEditor.js +12 -9
- package/dist/plugins/codeblock/CodeBlockNode.js +5 -5
- package/dist/plugins/codeblock/index.js +37 -63
- package/dist/plugins/codemirror/CodeMirrorEditor.js +3 -2
- package/dist/plugins/codemirror/index.js +28 -45
- package/dist/plugins/core/GenericHTMLNode.js +9 -1
- package/dist/plugins/core/MdastHTMLNode.js +0 -1
- package/dist/plugins/core/NestedLexicalEditor.js +11 -10
- package/dist/plugins/core/PropertyPopover.js +3 -2
- package/dist/plugins/core/SharedHistoryPlugin.js +3 -3
- package/dist/plugins/core/index.js +426 -385
- package/dist/plugins/core/ui/DownshiftAutoComplete.js +3 -2
- package/dist/plugins/core/ui/PopoverUtils.js +3 -2
- package/dist/plugins/diff-source/DiffSourceWrapper.js +3 -4
- package/dist/plugins/diff-source/DiffViewer.js +7 -7
- package/dist/plugins/diff-source/SourceEditor.js +6 -6
- package/dist/plugins/diff-source/index.js +17 -52
- package/dist/plugins/directives/DirectiveNode.js +28 -5
- package/dist/plugins/directives/index.js +36 -43
- package/dist/plugins/frontmatter/FrontmatterEditor.js +20 -16
- package/dist/plugins/frontmatter/index.js +51 -62
- package/dist/plugins/headings/index.js +43 -49
- package/dist/plugins/image/ImageDialog.js +11 -7
- package/dist/plugins/image/ImageEditor.js +10 -7
- package/dist/plugins/image/ImageNode.js +27 -5
- package/dist/plugins/image/index.js +65 -72
- package/dist/plugins/jsx/LexicalJsxNode.js +3 -2
- package/dist/plugins/jsx/index.js +48 -60
- package/dist/plugins/link/index.js +15 -20
- package/dist/plugins/link-dialog/LinkDialog.js +17 -16
- package/dist/plugins/link-dialog/index.js +194 -216
- package/dist/plugins/lists/index.js +50 -65
- package/dist/plugins/markdown-shortcut/index.js +12 -15
- package/dist/plugins/quote/index.js +11 -19
- package/dist/plugins/sandpack/SandpackEditor.js +3 -2
- package/dist/plugins/sandpack/index.js +34 -50
- package/dist/plugins/sandpack/useCodeMirrorRef.js +7 -6
- package/dist/plugins/table/TableEditor.js +12 -13
- package/dist/plugins/table/TableNode.js +28 -0
- package/dist/plugins/table/index.js +32 -39
- package/dist/plugins/thematic-break/index.js +19 -32
- package/dist/plugins/toolbar/components/BlockTypeSelect.js +9 -8
- package/dist/plugins/toolbar/components/BoldItalicUnderlineToggles.js +4 -4
- package/dist/plugins/toolbar/components/ChangeAdmonitionType.js +3 -2
- package/dist/plugins/toolbar/components/ChangeCodeMirrorLanguage.js +5 -5
- package/dist/plugins/toolbar/components/CodeToggle.js +4 -3
- package/dist/plugins/toolbar/components/CreateLink.js +6 -4
- package/dist/plugins/toolbar/components/DiffSourceToggleWrapper.js +5 -5
- package/dist/plugins/toolbar/components/InsertAdmonition.js +5 -3
- package/dist/plugins/toolbar/components/InsertCodeBlock.js +5 -3
- package/dist/plugins/toolbar/components/InsertFrontmatter.js +6 -5
- package/dist/plugins/toolbar/components/InsertImage.js +6 -5
- package/dist/plugins/toolbar/components/InsertSandpack.js +5 -4
- package/dist/plugins/toolbar/components/InsertTable.js +5 -3
- package/dist/plugins/toolbar/components/InsertThematicBreak.js +6 -4
- package/dist/plugins/toolbar/components/ListsToggle.js +5 -4
- package/dist/plugins/toolbar/components/ShowSandpackInfo.js +9 -4
- package/dist/plugins/toolbar/components/UndoRedo.js +3 -3
- package/dist/plugins/toolbar/index.js +15 -31
- package/dist/plugins/toolbar/primitives/DialogButton.js +23 -24
- package/dist/plugins/toolbar/primitives/TooltipWrap.js +3 -2
- package/dist/plugins/toolbar/primitives/select.js +5 -4
- package/dist/plugins/toolbar/primitives/toolbar.js +10 -4
- package/dist/style.css +935 -571
- package/dist/styles/globals.css.js +1 -4
- package/dist/styles/lexical-theme.module.css.js +25 -19
- package/dist/styles/ui.module.css.js +103 -103
- package/package.json +64 -317
- package/dist/FormatConstants.d.ts +0 -9
- package/dist/MDXEditor.d.ts +0 -103
- package/dist/directive-editors/AdmonitionDirectiveDescriptor.d.ts +0 -17
- package/dist/directive-editors/GenericDirectiveEditor.d.ts +0 -8
- package/dist/exportMarkdownFromLexical.d.ts +0 -138
- package/dist/gurx/index.d.ts +0 -3
- package/dist/gurx/react.d.ts +0 -152
- package/dist/gurx/react.js +0 -206
- package/dist/gurx/realm.d.ts +0 -148
- package/dist/gurx/realm.js +0 -489
- package/dist/gurx/realmFactory.d.ts +0 -79
- package/dist/gurx/realmFactory.js +0 -32
- package/dist/importMarkdownToLexical.d.ts +0 -101
- package/dist/jsx-editors/GenericJsxEditor.d.ts +0 -8
- package/dist/plugins/codeblock/CodeBlockNode.d.ts +0 -100
- package/dist/plugins/codeblock/CodeBlockVisitor.d.ts +0 -4
- package/dist/plugins/codeblock/MdastCodeVisitor.d.ts +0 -3
- package/dist/plugins/codeblock/index.d.ts +0 -787
- package/dist/plugins/codemirror/CodeMirrorEditor.d.ts +0 -3
- package/dist/plugins/codemirror/index.d.ts +0 -1038
- package/dist/plugins/core/GenericHTMLNode.d.ts +0 -38
- package/dist/plugins/core/Icon.d.ts +0 -6
- package/dist/plugins/core/LexicalGenericHTMLNodeVisitor.d.ts +0 -4
- package/dist/plugins/core/LexicalLinebreakVisitor.d.ts +0 -4
- package/dist/plugins/core/LexicalParagraphVisitor.d.ts +0 -4
- package/dist/plugins/core/LexicalRootVisitor.d.ts +0 -4
- package/dist/plugins/core/LexicalTextVisitor.d.ts +0 -5
- package/dist/plugins/core/MdastBreakVisitor.d.ts +0 -3
- package/dist/plugins/core/MdastFormattingVisitor.d.ts +0 -4
- package/dist/plugins/core/MdastHTMLNode.d.ts +0 -13
- package/dist/plugins/core/MdastHTMLVisitor.d.ts +0 -3
- package/dist/plugins/core/MdastInlineCodeVisitor.d.ts +0 -3
- package/dist/plugins/core/MdastParagraphVisitor.d.ts +0 -3
- package/dist/plugins/core/MdastRootVisitor.d.ts +0 -3
- package/dist/plugins/core/MdastTextVisitor.d.ts +0 -3
- package/dist/plugins/core/NestedLexicalEditor.d.ts +0 -92
- package/dist/plugins/core/PropertyPopover.d.ts +0 -23
- package/dist/plugins/core/SharedHistoryPlugin.d.ts +0 -2
- package/dist/plugins/core/index.d.ts +0 -583
- package/dist/plugins/core/ui/DownshiftAutoComplete.d.ts +0 -15
- package/dist/plugins/core/ui/PopoverUtils.d.ts +0 -4
- package/dist/plugins/diff-source/DiffSourceWrapper.d.ts +0 -4
- package/dist/plugins/diff-source/DiffViewer.d.ts +0 -2
- package/dist/plugins/diff-source/SourceEditor.d.ts +0 -4
- package/dist/plugins/diff-source/index.d.ts +0 -725
- package/dist/plugins/directives/DirectiveNode.d.ts +0 -51
- package/dist/plugins/directives/DirectiveVisitor.d.ts +0 -4
- package/dist/plugins/directives/MdastDirectiveVisitor.d.ts +0 -3
- package/dist/plugins/directives/index.d.ts +0 -773
- package/dist/plugins/frontmatter/FrontmatterEditor.d.ts +0 -6
- package/dist/plugins/frontmatter/FrontmatterNode.d.ts +0 -35
- package/dist/plugins/frontmatter/LexicalFrontmatterVisitor.d.ts +0 -4
- package/dist/plugins/frontmatter/MdastFrontmatterVisitor.d.ts +0 -3
- package/dist/plugins/frontmatter/index.d.ts +0 -717
- package/dist/plugins/headings/LexicalHeadingVisitor.d.ts +0 -4
- package/dist/plugins/headings/MdastHeadingVisitor.d.ts +0 -3
- package/dist/plugins/headings/index.d.ts +0 -707
- package/dist/plugins/image/ImageDialog.d.ts +0 -2
- package/dist/plugins/image/ImageEditor.d.ts +0 -10
- package/dist/plugins/image/ImageNode.d.ts +0 -65
- package/dist/plugins/image/ImageResizer.d.ts +0 -18
- package/dist/plugins/image/LexicalImageVisitor.d.ts +0 -4
- package/dist/plugins/image/MdastImageVisitor.d.ts +0 -6
- package/dist/plugins/image/index.d.ts +0 -804
- package/dist/plugins/jsx/LexicalJsxNode.d.ts +0 -54
- package/dist/plugins/jsx/LexicalJsxVisitor.d.ts +0 -4
- package/dist/plugins/jsx/MdastMdxJsEsmVisitor.d.ts +0 -3
- package/dist/plugins/jsx/MdastMdxJsxElementVisitor.d.ts +0 -3
- package/dist/plugins/jsx/index.d.ts +0 -779
- package/dist/plugins/link/AutoLinkPlugin.d.ts +0 -9
- package/dist/plugins/link/LexicalLinkVisitor.d.ts +0 -4
- package/dist/plugins/link/MdastLinkVisitor.d.ts +0 -3
- package/dist/plugins/link/index.d.ts +0 -101
- package/dist/plugins/link-dialog/LinkDialog.d.ts +0 -16
- package/dist/plugins/link-dialog/index.d.ts +0 -670
- package/dist/plugins/lists/LexicalListItemVisitor.d.ts +0 -4
- package/dist/plugins/lists/LexicalListVisitor.d.ts +0 -4
- package/dist/plugins/lists/MdastListItemVisitor.d.ts +0 -3
- package/dist/plugins/lists/MdastListVisitor.d.ts +0 -3
- package/dist/plugins/lists/index.d.ts +0 -703
- package/dist/plugins/markdown-shortcut/index.d.ts +0 -80
- package/dist/plugins/quote/LexicalQuoteVisitor.d.ts +0 -4
- package/dist/plugins/quote/MdastBlockQuoteVisitor.d.ts +0 -3
- package/dist/plugins/quote/index.d.ts +0 -480
- package/dist/plugins/sandpack/SandpackEditor.d.ts +0 -7
- package/dist/plugins/sandpack/index.d.ts +0 -1077
- package/dist/plugins/sandpack/useCodeMirrorRef.d.ts +0 -4
- package/dist/plugins/table/LexicalTableVisitor.d.ts +0 -4
- package/dist/plugins/table/MdastTableVisitor.d.ts +0 -3
- package/dist/plugins/table/TableEditor.d.ts +0 -21
- package/dist/plugins/table/TableNode.d.ts +0 -52
- package/dist/plugins/table/index.d.ts +0 -704
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.d.ts +0 -4
- package/dist/plugins/thematic-break/MdastThematicBreakVisitor.d.ts +0 -3
- package/dist/plugins/thematic-break/index.d.ts +0 -693
- package/dist/plugins/toolbar/components/BlockTypeSelect.d.ts +0 -6
- package/dist/plugins/toolbar/components/BoldItalicUnderlineToggles.d.ts +0 -5
- package/dist/plugins/toolbar/components/ChangeAdmonitionType.d.ts +0 -6
- package/dist/plugins/toolbar/components/ChangeCodeMirrorLanguage.d.ts +0 -7
- package/dist/plugins/toolbar/components/CodeToggle.d.ts +0 -6
- package/dist/plugins/toolbar/components/CreateLink.d.ts +0 -6
- package/dist/plugins/toolbar/components/DiffSourceToggleWrapper.d.ts +0 -18
- package/dist/plugins/toolbar/components/InsertAdmonition.d.ts +0 -6
- package/dist/plugins/toolbar/components/InsertCodeBlock.d.ts +0 -7
- package/dist/plugins/toolbar/components/InsertFrontmatter.d.ts +0 -6
- package/dist/plugins/toolbar/components/InsertImage.d.ts +0 -6
- package/dist/plugins/toolbar/components/InsertSandpack.d.ts +0 -6
- package/dist/plugins/toolbar/components/InsertTable.d.ts +0 -6
- package/dist/plugins/toolbar/components/InsertThematicBreak.d.ts +0 -6
- package/dist/plugins/toolbar/components/KitchenSinkToolbar.d.ts +0 -7
- package/dist/plugins/toolbar/components/ListsToggle.d.ts +0 -7
- package/dist/plugins/toolbar/components/ShowSandpackInfo.d.ts +0 -7
- package/dist/plugins/toolbar/components/UndoRedo.d.ts +0 -5
- package/dist/plugins/toolbar/index.d.ts +0 -564
- package/dist/plugins/toolbar/primitives/DialogButton.d.ts +0 -40
- package/dist/plugins/toolbar/primitives/TooltipWrap.d.ts +0 -8
- package/dist/plugins/toolbar/primitives/select.d.ts +0 -50
- package/dist/plugins/toolbar/primitives/toolbar.d.ts +0 -163
- package/dist/styles/lexicalTheme.d.ts +0 -2
- package/dist/utils/detectMac.d.ts +0 -3
- package/dist/utils/fp.d.ts +0 -47
- package/dist/utils/isPartOftheEditorUI.d.ts +0 -1
- package/dist/utils/lexicalHelpers.d.ts +0 -11
- package/dist/utils/makeHslTransparent.d.ts +0 -1
- package/dist/utils/mergeStyleAttributes.d.ts +0 -1
- package/dist/utils/uuid4.d.ts +0 -1
- package/dist/utils/voidEmitter.d.ts +0 -14
- package/dist/utils/whitespaceConversion.d.ts +0 -2
- package/dist/utils/whitespaceConversion.js +0 -9
package/dist/MDXEditor.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
|
-
import { corePlugin,
|
|
2
|
+
import { corePlugin, initialRootEditorState$, usedLexicalNodes$, readOnly$, contentEditableClassName$, composerChildren$, topAreaChildren$, editorWrappers$, placeholder$, editorRootElementRef$, viewMode$, markdownSourceEditorValue$, markdown$, setMarkdown$, rootEditor$ } from "./plugins/core/index.js";
|
|
3
|
+
import { RealmWithPlugins } from "./RealmWithPlugins.js";
|
|
4
|
+
import { useCellValues, usePublisher, useRealm } from "@mdxeditor/gurx";
|
|
3
5
|
import { lexicalTheme } from "./styles/lexicalTheme.js";
|
|
4
6
|
import { LexicalComposer } from "@lexical/react/LexicalComposer.js";
|
|
5
7
|
import styles from "./styles/ui.module.css.js";
|
|
@@ -8,13 +10,8 @@ import { ContentEditable } from "@lexical/react/LexicalContentEditable.js";
|
|
|
8
10
|
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary.js";
|
|
9
11
|
import classNames from "classnames";
|
|
10
12
|
import { noop } from "./utils/fp.js";
|
|
11
|
-
import { RealmPluginInitializer, useHasPlugin } from "./gurx/react.js";
|
|
12
13
|
const LexicalProvider = ({ children }) => {
|
|
13
|
-
const [initialRootEditorState, nodes, readOnly] =
|
|
14
|
-
"initialRootEditorState",
|
|
15
|
-
"usedLexicalNodes",
|
|
16
|
-
"readOnly"
|
|
17
|
-
);
|
|
14
|
+
const [initialRootEditorState, nodes, readOnly] = useCellValues(initialRootEditorState$, usedLexicalNodes$, readOnly$);
|
|
18
15
|
return /* @__PURE__ */ React__default.createElement(
|
|
19
16
|
LexicalComposer,
|
|
20
17
|
{
|
|
@@ -33,12 +30,12 @@ const LexicalProvider = ({ children }) => {
|
|
|
33
30
|
);
|
|
34
31
|
};
|
|
35
32
|
const RichTextEditor = () => {
|
|
36
|
-
const [contentEditableClassName, composerChildren, topAreaChildren, editorWrappers, placeholder] =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
const [contentEditableClassName, composerChildren, topAreaChildren, editorWrappers, placeholder] = useCellValues(
|
|
34
|
+
contentEditableClassName$,
|
|
35
|
+
composerChildren$,
|
|
36
|
+
topAreaChildren$,
|
|
37
|
+
editorWrappers$,
|
|
38
|
+
placeholder$
|
|
42
39
|
);
|
|
43
40
|
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, topAreaChildren.map((Child, index) => /* @__PURE__ */ React__default.createElement(Child, { key: index })), /* @__PURE__ */ React__default.createElement(RenderRecurisveWrappers, { wrappers: editorWrappers }, /* @__PURE__ */ React__default.createElement("div", { className: classNames(styles.rootContentEditableWrapper) }, /* @__PURE__ */ React__default.createElement(
|
|
44
41
|
RichTextPlugin,
|
|
@@ -71,7 +68,7 @@ const RenderRecurisveWrappers = ({
|
|
|
71
68
|
};
|
|
72
69
|
const EditorRootElement = ({ children, className }) => {
|
|
73
70
|
const editorRootElementRef = React__default.useRef(null);
|
|
74
|
-
const setEditorRootElementRef =
|
|
71
|
+
const setEditorRootElementRef = usePublisher(editorRootElementRef$);
|
|
75
72
|
React__default.useEffect(() => {
|
|
76
73
|
const popupContainer = document.createElement("div");
|
|
77
74
|
popupContainer.classList.add(styles.editorRoot);
|
|
@@ -91,36 +88,33 @@ const EditorRootElement = ({ children, className }) => {
|
|
|
91
88
|
return /* @__PURE__ */ React__default.createElement("div", { className: classNames(styles.editorRoot, styles.editorWrapper, className, "mdxeditor") }, children);
|
|
92
89
|
};
|
|
93
90
|
const Methods = ({ mdxRef }) => {
|
|
94
|
-
const realm =
|
|
95
|
-
const hasDiffSourcePlugin = useHasPlugin("diff-source");
|
|
91
|
+
const realm = useRealm();
|
|
96
92
|
React__default.useImperativeHandle(
|
|
97
93
|
mdxRef,
|
|
98
94
|
() => {
|
|
99
95
|
return {
|
|
100
96
|
getMarkdown: () => {
|
|
101
|
-
if (
|
|
102
|
-
|
|
103
|
-
return realm.getKeyValue("markdownSourceEditorValue");
|
|
104
|
-
}
|
|
97
|
+
if (realm.getValue(viewMode$) === "source") {
|
|
98
|
+
return realm.getValue(markdownSourceEditorValue$);
|
|
105
99
|
}
|
|
106
|
-
return realm.
|
|
100
|
+
return realm.getValue(markdown$);
|
|
107
101
|
},
|
|
108
102
|
setMarkdown: (markdown) => {
|
|
109
|
-
realm.
|
|
103
|
+
realm.pub(setMarkdown$, markdown);
|
|
110
104
|
},
|
|
111
105
|
focus: (callbackFn, opts) => {
|
|
112
106
|
var _a;
|
|
113
|
-
(_a = realm.
|
|
107
|
+
(_a = realm.getValue(rootEditor$)) == null ? void 0 : _a.focus(callbackFn, opts);
|
|
114
108
|
}
|
|
115
109
|
};
|
|
116
110
|
},
|
|
117
|
-
[realm
|
|
111
|
+
[realm]
|
|
118
112
|
);
|
|
119
113
|
return null;
|
|
120
114
|
};
|
|
121
115
|
const MDXEditor = React__default.forwardRef((props, ref) => {
|
|
122
116
|
return /* @__PURE__ */ React__default.createElement(
|
|
123
|
-
|
|
117
|
+
RealmWithPlugins,
|
|
124
118
|
{
|
|
125
119
|
plugins: [
|
|
126
120
|
corePlugin({
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React__default from "react";
|
|
2
|
+
import { Realm, RealmContext } from "@mdxeditor/gurx";
|
|
3
|
+
import { tap } from "./utils/fp.js";
|
|
4
|
+
function realmPlugin(plugin) {
|
|
5
|
+
return function(params) {
|
|
6
|
+
return {
|
|
7
|
+
init: (realm) => {
|
|
8
|
+
var _a;
|
|
9
|
+
return (_a = plugin.init) == null ? void 0 : _a.call(plugin, realm, params);
|
|
10
|
+
},
|
|
11
|
+
update: (realm) => {
|
|
12
|
+
var _a;
|
|
13
|
+
return (_a = plugin.update) == null ? void 0 : _a.call(plugin, realm, params);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function RealmWithPlugins({ children, plugins }) {
|
|
19
|
+
var _a;
|
|
20
|
+
const theRealm = React__default.useMemo(() => {
|
|
21
|
+
return tap(new Realm(), (r) => {
|
|
22
|
+
var _a2;
|
|
23
|
+
for (const plugin of plugins) {
|
|
24
|
+
(_a2 = plugin.init) == null ? void 0 : _a2.call(plugin, r);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}, []);
|
|
28
|
+
for (const plugin of plugins) {
|
|
29
|
+
(_a = plugin.update) == null ? void 0 : _a.call(plugin, theRealm);
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ React__default.createElement(RealmContext.Provider, { value: theRealm }, children);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
RealmWithPlugins,
|
|
35
|
+
realmPlugin
|
|
36
|
+
};
|
|
@@ -5,10 +5,13 @@ import styles from "../styles/ui.module.css.js";
|
|
|
5
5
|
const GenericDirectiveEditor = ({ mdastNode, descriptor }) => {
|
|
6
6
|
const updateMdastNode = useMdastNodeUpdater();
|
|
7
7
|
const properties = React__default.useMemo(() => {
|
|
8
|
-
return descriptor.attributes.reduce(
|
|
9
|
-
acc
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
return descriptor.attributes.reduce(
|
|
9
|
+
(acc, attributeName) => {
|
|
10
|
+
acc[attributeName] = (mdastNode.attributes || {})[attributeName] || "";
|
|
11
|
+
return acc;
|
|
12
|
+
},
|
|
13
|
+
{}
|
|
14
|
+
);
|
|
12
15
|
}, [mdastNode, descriptor]);
|
|
13
16
|
const onChange = React__default.useCallback(
|
|
14
17
|
(values) => {
|