@mdxeditor/editor 0.12.0 → 0.14.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.d.ts +4 -0
- package/dist/MDXEditor.js +11 -10
- package/dist/gurx/react.d.ts +4 -1
- package/dist/gurx/react.js +2 -1
- package/dist/plugins/codeblock/index.d.ts +13 -3
- package/dist/plugins/codemirror/index.d.ts +17 -3
- package/dist/plugins/core/NestedLexicalEditor.d.ts +1 -1
- package/dist/plugins/core/NestedLexicalEditor.js +4 -4
- package/dist/plugins/core/SharedHistoryPlugin.js +1 -1
- package/dist/plugins/core/index.d.ts +12 -3
- package/dist/plugins/core/index.js +4 -1
- package/dist/plugins/diff-source/index.d.ts +13 -3
- package/dist/plugins/directives/index.d.ts +13 -3
- package/dist/plugins/frontmatter/index.d.ts +13 -3
- package/dist/plugins/headings/index.d.ts +3 -1
- package/dist/plugins/image/ImageEditor.js +5 -3
- package/dist/plugins/image/index.d.ts +32 -12
- package/dist/plugins/image/index.js +23 -21
- package/dist/plugins/jsx/index.d.ts +12 -2
- package/dist/plugins/link/AutoLinkPlugin.d.ts +9 -0
- package/dist/plugins/link/AutoLinkPlugin.js +18 -0
- package/dist/plugins/link/index.d.ts +21 -4
- package/dist/plugins/link/index.js +16 -5
- package/dist/plugins/link-dialog/index.d.ts +11 -3
- package/dist/plugins/link-dialog/index.js +1 -0
- package/dist/plugins/lists/index.d.ts +13 -3
- package/dist/plugins/lists/index.js +2 -2
- package/dist/plugins/markdown-shortcut/index.d.ts +1 -0
- package/dist/plugins/markdown-shortcut/index.js +45 -21
- package/dist/plugins/quote/index.d.ts +10 -3
- package/dist/plugins/sandpack/index.d.ts +16 -2
- package/dist/plugins/table/TableEditor.js +5 -5
- package/dist/plugins/table/index.d.ts +13 -3
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.d.ts +1 -1
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.js +1 -1
- package/dist/plugins/thematic-break/MdastThematicBreakVisitor.js +1 -1
- package/dist/plugins/thematic-break/index.d.ts +13 -3
- package/dist/plugins/thematic-break/index.js +2 -2
- package/dist/plugins/toolbar/index.d.ts +10 -2
- package/dist/style.css +184 -165
- package/dist/styles/ui.module.css.js +90 -84
- package/package.json +1 -1
package/dist/MDXEditor.d.ts
CHANGED
|
@@ -38,6 +38,10 @@ export interface MDXEditorProps {
|
|
|
38
38
|
* pass if you would like to have the editor automatically focused when mounted.
|
|
39
39
|
*/
|
|
40
40
|
autoFocus?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The placeholder contents, displayed when the editor is empty.
|
|
43
|
+
*/
|
|
44
|
+
placeholder?: React.ReactNode;
|
|
41
45
|
}
|
|
42
46
|
/**
|
|
43
47
|
* The interface for the {@link MDXEditor} object reference.
|
package/dist/MDXEditor.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { corePlugin, corePluginHooks } from "./plugins/core/index.js";
|
|
3
3
|
import { lexicalTheme } from "./styles/lexicalTheme.js";
|
|
4
|
-
import { LexicalComposer } from "@lexical/react/LexicalComposer";
|
|
4
|
+
import { LexicalComposer } from "@lexical/react/LexicalComposer.js";
|
|
5
5
|
import styles from "./styles/ui.module.css.js";
|
|
6
|
-
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
|
|
7
|
-
import { ContentEditable } from "@lexical/react/LexicalContentEditable";
|
|
8
|
-
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary";
|
|
6
|
+
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin.js";
|
|
7
|
+
import { ContentEditable } from "@lexical/react/LexicalContentEditable.js";
|
|
8
|
+
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary.js";
|
|
9
9
|
import classNames from "classnames";
|
|
10
10
|
import { noop } from "./utils/fp.js";
|
|
11
11
|
import { RealmPluginInitializer } from "./gurx/react.js";
|
|
@@ -28,21 +28,21 @@ const LexicalProvider = ({ children }) => {
|
|
|
28
28
|
);
|
|
29
29
|
};
|
|
30
30
|
const RichTextEditor = () => {
|
|
31
|
-
const [contentEditableClassName, composerChildren, topAreaChildren, editorWrappers] = corePluginHooks.useEmitterValues(
|
|
31
|
+
const [contentEditableClassName, composerChildren, topAreaChildren, editorWrappers, placeholder] = corePluginHooks.useEmitterValues(
|
|
32
32
|
"contentEditableClassName",
|
|
33
33
|
"composerChildren",
|
|
34
34
|
"topAreaChildren",
|
|
35
35
|
"editorWrappers",
|
|
36
|
-
"
|
|
36
|
+
"placeholder"
|
|
37
37
|
);
|
|
38
|
-
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(
|
|
38
|
+
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(
|
|
39
39
|
RichTextPlugin,
|
|
40
40
|
{
|
|
41
41
|
contentEditable: /* @__PURE__ */ React__default.createElement(ContentEditable, { className: classNames(styles.contentEditable, contentEditableClassName) }),
|
|
42
|
-
placeholder: /* @__PURE__ */ React__default.createElement("div", null),
|
|
42
|
+
placeholder: /* @__PURE__ */ React__default.createElement("div", { className: classNames(styles.contentEditable, styles.placeholder) }, /* @__PURE__ */ React__default.createElement("p", null, placeholder)),
|
|
43
43
|
ErrorBoundary: LexicalErrorBoundary
|
|
44
44
|
}
|
|
45
|
-
)), composerChildren.map((Child, index) => /* @__PURE__ */ React__default.createElement(Child, { key: index })));
|
|
45
|
+
))), composerChildren.map((Child, index) => /* @__PURE__ */ React__default.createElement(Child, { key: index })));
|
|
46
46
|
};
|
|
47
47
|
const DEFAULT_MARKDOWN_OPTIONS = {
|
|
48
48
|
listItemIndent: "one"
|
|
@@ -93,7 +93,8 @@ const MDXEditor = React__default.forwardRef((props, ref) => {
|
|
|
93
93
|
initialMarkdown: props.markdown,
|
|
94
94
|
onChange: props.onChange ?? noop,
|
|
95
95
|
toMarkdownOptions: props.toMarkdownOptions ?? DEFAULT_MARKDOWN_OPTIONS,
|
|
96
|
-
autoFocus: props.autoFocus ?? false
|
|
96
|
+
autoFocus: props.autoFocus ?? false,
|
|
97
|
+
placeholder: props.placeholder ?? ""
|
|
97
98
|
}),
|
|
98
99
|
...props.plugins || []
|
|
99
100
|
]
|
package/dist/gurx/react.d.ts
CHANGED
|
@@ -113,8 +113,11 @@ export interface RealmPluginParams<Spec extends AnySystemSpec, Params extends ob
|
|
|
113
113
|
applyParamsToSystem?: (realm: TypedRealm<SystemAndDependencies<Spec>>, props: Params) => void;
|
|
114
114
|
/**
|
|
115
115
|
* Executed when the component mounts. Use this to register import/export visitors, add lexical nodes to the editor, etc.
|
|
116
|
+
* @param realm - the realm instance
|
|
117
|
+
* @param params - the parameters passed to the plugin in the component declaration
|
|
118
|
+
* @param pluginIds - the ids of all the plugins that are present in the component declaration
|
|
116
119
|
*/
|
|
117
|
-
init?: (realm: TypedRealm<SystemAndDependencies<Spec>>,
|
|
120
|
+
init?: (realm: TypedRealm<SystemAndDependencies<Spec>>, params: Params, pluginIds: string[]) => void;
|
|
118
121
|
}
|
|
119
122
|
/** @internal */
|
|
120
123
|
export interface PluginConstructor<Spec extends AnySystemSpec, Params extends object> {
|
package/dist/gurx/react.js
CHANGED
|
@@ -160,10 +160,11 @@ const RealmPluginInitializer = function({
|
|
|
160
160
|
}, []);
|
|
161
161
|
const realm = React__default.useMemo(() => {
|
|
162
162
|
const specs = validPlugins.map((plugin) => plugin.systemSpec);
|
|
163
|
+
const pluginIds = validPlugins.map((plugin) => plugin.id);
|
|
163
164
|
const realm2 = realmFactory(...specs);
|
|
164
165
|
validPlugins.forEach((plugin) => {
|
|
165
166
|
var _a, _b;
|
|
166
|
-
(_a = plugin.init) == null ? void 0 : _a.call(plugin, realm2, plugin.pluginParams);
|
|
167
|
+
(_a = plugin.init) == null ? void 0 : _a.call(plugin, realm2, plugin.pluginParams, pluginIds);
|
|
167
168
|
(_b = plugin.applyParamsToSystem) == null ? void 0 : _b.call(plugin, realm2, plugin.pluginParams);
|
|
168
169
|
});
|
|
169
170
|
return realm2;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RefObject,
|
|
1
|
+
import type { RefObject, ReactNode, ComponentType } from 'react';
|
|
2
2
|
import type { Options } from 'mdast-util-to-markdown';
|
|
3
3
|
import type { Config } from 'mdast-util-from-markdown/lib';
|
|
4
4
|
import type { Extension } from 'micromark-util-types';
|
|
@@ -94,6 +94,7 @@ export declare const codeBlockSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
94
94
|
markdown: RealmNode<string>;
|
|
95
95
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
96
96
|
contentEditableClassName: RealmNode<string>;
|
|
97
|
+
placeholder: RealmNode<ReactNode>;
|
|
97
98
|
autoFocus: RealmNode<boolean>;
|
|
98
99
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
99
100
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -143,6 +144,7 @@ export declare const codeBlockSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
143
144
|
markdown: RealmNode<string>;
|
|
144
145
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
145
146
|
contentEditableClassName: RealmNode<string>;
|
|
147
|
+
placeholder: RealmNode<ReactNode>;
|
|
146
148
|
autoFocus: RealmNode<boolean>;
|
|
147
149
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
148
150
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -215,6 +217,7 @@ codeBlockPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
215
217
|
markdown: RealmNode<string>;
|
|
216
218
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
217
219
|
contentEditableClassName: RealmNode<string>;
|
|
220
|
+
placeholder: RealmNode<ReactNode>;
|
|
218
221
|
autoFocus: RealmNode<boolean>;
|
|
219
222
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
220
223
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -264,6 +267,7 @@ codeBlockPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
264
267
|
markdown: RealmNode<string>;
|
|
265
268
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
266
269
|
contentEditableClassName: RealmNode<string>;
|
|
270
|
+
placeholder: RealmNode<ReactNode>;
|
|
267
271
|
autoFocus: RealmNode<boolean>;
|
|
268
272
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
269
273
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -328,6 +332,7 @@ codeBlockPluginHooks: {
|
|
|
328
332
|
markdown: RealmNode<string>;
|
|
329
333
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
330
334
|
contentEditableClassName: RealmNode<string>;
|
|
335
|
+
placeholder: RealmNode<ReactNode>;
|
|
331
336
|
autoFocus: RealmNode<boolean>;
|
|
332
337
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
333
338
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -349,7 +354,7 @@ codeBlockPluginHooks: {
|
|
|
349
354
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
350
355
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
351
356
|
}>;
|
|
352
|
-
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock">(key: K, callback: (value: ValueForKey<{
|
|
357
|
+
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock">(key: K, callback: (value: ValueForKey<{
|
|
353
358
|
codeBlockEditorDescriptors: RealmNode<CodeBlockEditorDescriptor[]>;
|
|
354
359
|
defaultCodeBlockLanguage: RealmNode<string>;
|
|
355
360
|
appendCodeBlockEditorDescriptor: RealmNode<CodeBlockEditorDescriptor>;
|
|
@@ -383,6 +388,7 @@ codeBlockPluginHooks: {
|
|
|
383
388
|
markdown: RealmNode<string>;
|
|
384
389
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
385
390
|
contentEditableClassName: RealmNode<string>;
|
|
391
|
+
placeholder: RealmNode<ReactNode>;
|
|
386
392
|
autoFocus: RealmNode<boolean>;
|
|
387
393
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
388
394
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -438,6 +444,7 @@ codeBlockPluginHooks: {
|
|
|
438
444
|
markdown: RealmNode<string>;
|
|
439
445
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
440
446
|
contentEditableClassName: RealmNode<string>;
|
|
447
|
+
placeholder: RealmNode<ReactNode>;
|
|
441
448
|
autoFocus: RealmNode<boolean>;
|
|
442
449
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
443
450
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -492,6 +499,7 @@ codeBlockPluginHooks: {
|
|
|
492
499
|
markdown: RealmNode<string>;
|
|
493
500
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
494
501
|
contentEditableClassName: RealmNode<string>;
|
|
502
|
+
placeholder: RealmNode<ReactNode>;
|
|
495
503
|
autoFocus: RealmNode<boolean>;
|
|
496
504
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
497
505
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -547,6 +555,7 @@ codeBlockPluginHooks: {
|
|
|
547
555
|
markdown: RealmNode<string>;
|
|
548
556
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
549
557
|
contentEditableClassName: RealmNode<string>;
|
|
558
|
+
placeholder: RealmNode<ReactNode>;
|
|
550
559
|
autoFocus: RealmNode<boolean>;
|
|
551
560
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
552
561
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -568,7 +577,7 @@ codeBlockPluginHooks: {
|
|
|
568
577
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
569
578
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
570
579
|
}>) => void;
|
|
571
|
-
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock">(key: K_2) => (value: ValueForKey<{
|
|
580
|
+
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock">(key: K_2) => (value: ValueForKey<{
|
|
572
581
|
codeBlockEditorDescriptors: RealmNode<CodeBlockEditorDescriptor[]>;
|
|
573
582
|
defaultCodeBlockLanguage: RealmNode<string>;
|
|
574
583
|
appendCodeBlockEditorDescriptor: RealmNode<CodeBlockEditorDescriptor>;
|
|
@@ -602,6 +611,7 @@ codeBlockPluginHooks: {
|
|
|
602
611
|
markdown: RealmNode<string>;
|
|
603
612
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
604
613
|
contentEditableClassName: RealmNode<string>;
|
|
614
|
+
placeholder: RealmNode<ReactNode>;
|
|
605
615
|
autoFocus: RealmNode<boolean>;
|
|
606
616
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
607
617
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CodeBlockEditorDescriptor, CreateCodeBlockNodeOptions } from '../codeblock';
|
|
2
|
-
import type { RefObject,
|
|
2
|
+
import type { RefObject, ReactNode, ComponentType } from 'react';
|
|
3
3
|
import type { Options } from 'mdast-util-to-markdown';
|
|
4
4
|
import type { Config } from 'mdast-util-from-markdown/lib';
|
|
5
5
|
import type { Extension } from 'micromark-util-types';
|
|
@@ -42,6 +42,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
42
42
|
markdown: RealmNode<string>;
|
|
43
43
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
44
44
|
contentEditableClassName: RealmNode<string>;
|
|
45
|
+
placeholder: RealmNode<ReactNode>;
|
|
45
46
|
autoFocus: RealmNode<boolean>;
|
|
46
47
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
47
48
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -91,6 +92,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
91
92
|
markdown: RealmNode<string>;
|
|
92
93
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
93
94
|
contentEditableClassName: RealmNode<string>;
|
|
95
|
+
placeholder: RealmNode<ReactNode>;
|
|
94
96
|
autoFocus: RealmNode<boolean>;
|
|
95
97
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
96
98
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -140,6 +142,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
140
142
|
markdown: RealmNode<string>;
|
|
141
143
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
142
144
|
contentEditableClassName: RealmNode<string>;
|
|
145
|
+
placeholder: RealmNode<ReactNode>;
|
|
143
146
|
autoFocus: RealmNode<boolean>;
|
|
144
147
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
145
148
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -194,6 +197,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
194
197
|
markdown: RealmNode<string>;
|
|
195
198
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
196
199
|
contentEditableClassName: RealmNode<string>;
|
|
200
|
+
placeholder: RealmNode<ReactNode>;
|
|
197
201
|
autoFocus: RealmNode<boolean>;
|
|
198
202
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
199
203
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -257,6 +261,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
257
261
|
markdown: RealmNode<string>;
|
|
258
262
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
259
263
|
contentEditableClassName: RealmNode<string>;
|
|
264
|
+
placeholder: RealmNode<ReactNode>;
|
|
260
265
|
autoFocus: RealmNode<boolean>;
|
|
261
266
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
262
267
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -306,6 +311,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
306
311
|
markdown: RealmNode<string>;
|
|
307
312
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
308
313
|
contentEditableClassName: RealmNode<string>;
|
|
314
|
+
placeholder: RealmNode<ReactNode>;
|
|
309
315
|
autoFocus: RealmNode<boolean>;
|
|
310
316
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
311
317
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -355,6 +361,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
355
361
|
markdown: RealmNode<string>;
|
|
356
362
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
357
363
|
contentEditableClassName: RealmNode<string>;
|
|
364
|
+
placeholder: RealmNode<ReactNode>;
|
|
358
365
|
autoFocus: RealmNode<boolean>;
|
|
359
366
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
360
367
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -409,6 +416,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
409
416
|
markdown: RealmNode<string>;
|
|
410
417
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
411
418
|
contentEditableClassName: RealmNode<string>;
|
|
419
|
+
placeholder: RealmNode<ReactNode>;
|
|
412
420
|
autoFocus: RealmNode<boolean>;
|
|
413
421
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
414
422
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -480,6 +488,7 @@ codeMirrorHooks: {
|
|
|
480
488
|
markdown: RealmNode<string>;
|
|
481
489
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
482
490
|
contentEditableClassName: RealmNode<string>;
|
|
491
|
+
placeholder: RealmNode<ReactNode>;
|
|
483
492
|
autoFocus: RealmNode<boolean>;
|
|
484
493
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
485
494
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -506,7 +515,7 @@ codeMirrorHooks: {
|
|
|
506
515
|
appendCodeBlockEditorDescriptor: RealmNode<CodeBlockEditorDescriptor>;
|
|
507
516
|
insertCodeBlock: RealmNode<Partial<CreateCodeBlockNodeOptions>>;
|
|
508
517
|
}>;
|
|
509
|
-
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock" | "codeBlockLanguages" | "insertCodeMirror">(key: K, callback: (value: ValueForKey<{
|
|
518
|
+
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock" | "codeBlockLanguages" | "insertCodeMirror">(key: K, callback: (value: ValueForKey<{
|
|
510
519
|
codeBlockLanguages: RealmNode<Record<string, string>>;
|
|
511
520
|
insertCodeMirror: RealmNode<{
|
|
512
521
|
language: string;
|
|
@@ -541,6 +550,7 @@ codeMirrorHooks: {
|
|
|
541
550
|
markdown: RealmNode<string>;
|
|
542
551
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
543
552
|
contentEditableClassName: RealmNode<string>;
|
|
553
|
+
placeholder: RealmNode<ReactNode>;
|
|
544
554
|
autoFocus: RealmNode<boolean>;
|
|
545
555
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
546
556
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -602,6 +612,7 @@ codeMirrorHooks: {
|
|
|
602
612
|
markdown: RealmNode<string>;
|
|
603
613
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
604
614
|
contentEditableClassName: RealmNode<string>;
|
|
615
|
+
placeholder: RealmNode<ReactNode>;
|
|
605
616
|
autoFocus: RealmNode<boolean>;
|
|
606
617
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
607
618
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -662,6 +673,7 @@ codeMirrorHooks: {
|
|
|
662
673
|
markdown: RealmNode<string>;
|
|
663
674
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
664
675
|
contentEditableClassName: RealmNode<string>;
|
|
676
|
+
placeholder: RealmNode<ReactNode>;
|
|
665
677
|
autoFocus: RealmNode<boolean>;
|
|
666
678
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
667
679
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -723,6 +735,7 @@ codeMirrorHooks: {
|
|
|
723
735
|
markdown: RealmNode<string>;
|
|
724
736
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
725
737
|
contentEditableClassName: RealmNode<string>;
|
|
738
|
+
placeholder: RealmNode<ReactNode>;
|
|
726
739
|
autoFocus: RealmNode<boolean>;
|
|
727
740
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
728
741
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -749,7 +762,7 @@ codeMirrorHooks: {
|
|
|
749
762
|
appendCodeBlockEditorDescriptor: RealmNode<CodeBlockEditorDescriptor>;
|
|
750
763
|
insertCodeBlock: RealmNode<Partial<CreateCodeBlockNodeOptions>>;
|
|
751
764
|
}>) => void;
|
|
752
|
-
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock" | "codeBlockLanguages" | "insertCodeMirror">(key: K_2) => (value: ValueForKey<{
|
|
765
|
+
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "codeBlockEditorDescriptors" | "defaultCodeBlockLanguage" | "appendCodeBlockEditorDescriptor" | "insertCodeBlock" | "codeBlockLanguages" | "insertCodeMirror">(key: K_2) => (value: ValueForKey<{
|
|
753
766
|
codeBlockLanguages: RealmNode<Record<string, string>>;
|
|
754
767
|
insertCodeMirror: RealmNode<{
|
|
755
768
|
language: string;
|
|
@@ -784,6 +797,7 @@ codeMirrorHooks: {
|
|
|
784
797
|
markdown: RealmNode<string>;
|
|
785
798
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
786
799
|
contentEditableClassName: RealmNode<string>;
|
|
800
|
+
placeholder: RealmNode<ReactNode>;
|
|
787
801
|
autoFocus: RealmNode<boolean>;
|
|
788
802
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
789
803
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -2,7 +2,7 @@ import { DecoratorNode, EditorConfig, LexicalEditor } from 'lexical';
|
|
|
2
2
|
import * as Mdast from 'mdast';
|
|
3
3
|
import type { Data, Node } from 'unist';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { ContentEditable } from '@lexical/react/LexicalContentEditable';
|
|
5
|
+
import { ContentEditable } from '@lexical/react/LexicalContentEditable.js';
|
|
6
6
|
import { VoidEmitter } from '../../utils/voidEmitter';
|
|
7
7
|
/**
|
|
8
8
|
* The value of the {@link NestedEditorsContext} React context.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { $addUpdateTag, $getNodeByKey, createEditor, $getRoot, BLUR_COMMAND, COMMAND_PRIORITY_EDITOR, SELECTION_CHANGE_COMMAND, COMMAND_PRIORITY_HIGH, KEY_BACKSPACE_COMMAND, COMMAND_PRIORITY_CRITICAL } from "lexical";
|
|
2
2
|
import React__default from "react";
|
|
3
3
|
import { corePluginHooks, NESTED_EDITOR_UPDATED_COMMAND } from "./index.js";
|
|
4
|
-
import { ContentEditable } from "@lexical/react/LexicalContentEditable";
|
|
5
|
-
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary";
|
|
6
|
-
import { LexicalNestedComposer } from "@lexical/react/LexicalNestedComposer";
|
|
7
|
-
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
|
|
4
|
+
import { ContentEditable } from "@lexical/react/LexicalContentEditable.js";
|
|
5
|
+
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary.js";
|
|
6
|
+
import { LexicalNestedComposer } from "@lexical/react/LexicalNestedComposer.js";
|
|
7
|
+
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin.js";
|
|
8
8
|
import { lexicalTheme } from "../../styles/lexicalTheme.js";
|
|
9
9
|
import { exportLexicalTreeToMdast } from "../../exportMarkdownFromLexical.js";
|
|
10
10
|
import { importMdastTreeToLexical } from "../../importMarkdownToLexical.js";
|
|
@@ -2,7 +2,7 @@ import type { Options } from 'mdast-util-to-markdown/lib/types';
|
|
|
2
2
|
import type { Config } from 'mdast-util-from-markdown/lib';
|
|
3
3
|
import type { Extension } from 'micromark-util-types';
|
|
4
4
|
import type { HistoryState } from '@lexical/history';
|
|
5
|
-
import { InitialEditorStateType } from '@lexical/react/LexicalComposer';
|
|
5
|
+
import { InitialEditorStateType } from '@lexical/react/LexicalComposer.js';
|
|
6
6
|
import { HeadingTagType } from '@lexical/rich-text';
|
|
7
7
|
import type { LexicalCommand, DecoratorNode, ElementNode, Klass, LexicalEditor, LexicalNode, RangeSelection, TextFormatType } from 'lexical';
|
|
8
8
|
import * as Mdast from 'mdast';
|
|
@@ -57,6 +57,7 @@ export declare const coreSystem: SystemSpec<[], (r: Realm) => {
|
|
|
57
57
|
markdown: RealmNode<string>;
|
|
58
58
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
59
59
|
contentEditableClassName: RealmNode<string>;
|
|
60
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
60
61
|
autoFocus: RealmNode<boolean>;
|
|
61
62
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
62
63
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -81,6 +82,7 @@ export declare const coreSystem: SystemSpec<[], (r: Realm) => {
|
|
|
81
82
|
interface CorePluginParams {
|
|
82
83
|
initialMarkdown: string;
|
|
83
84
|
contentEditableClassName: string;
|
|
85
|
+
placeholder?: React.ReactNode;
|
|
84
86
|
autoFocus: boolean;
|
|
85
87
|
onChange: (markdown: string) => void;
|
|
86
88
|
toMarkdownOptions: NonNullable<LexicalConvertOptions['toMarkdownOptions']>;
|
|
@@ -116,6 +118,7 @@ corePlugin: PluginConstructor<SystemSpec<[], (r: Realm) => {
|
|
|
116
118
|
markdown: RealmNode<string>;
|
|
117
119
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
118
120
|
contentEditableClassName: RealmNode<string>;
|
|
121
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
119
122
|
autoFocus: RealmNode<boolean>;
|
|
120
123
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
121
124
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -168,6 +171,7 @@ corePluginHooks: {
|
|
|
168
171
|
markdown: RealmNode<string>;
|
|
169
172
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
170
173
|
contentEditableClassName: RealmNode<string>;
|
|
174
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
171
175
|
autoFocus: RealmNode<boolean>;
|
|
172
176
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
173
177
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -189,7 +193,7 @@ corePluginHooks: {
|
|
|
189
193
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
190
194
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
191
195
|
}>;
|
|
192
|
-
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode">(key: K, callback: (value: ValueForKey<{
|
|
196
|
+
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode">(key: K, callback: (value: ValueForKey<{
|
|
193
197
|
activeEditor: RealmNode<LexicalEditor | null>;
|
|
194
198
|
inFocus: RealmNode<boolean>;
|
|
195
199
|
historyState: RealmNode<HistoryState>;
|
|
@@ -218,6 +222,7 @@ corePluginHooks: {
|
|
|
218
222
|
markdown: RealmNode<string>;
|
|
219
223
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
220
224
|
contentEditableClassName: RealmNode<string>;
|
|
225
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
221
226
|
autoFocus: RealmNode<boolean>;
|
|
222
227
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
223
228
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -268,6 +273,7 @@ corePluginHooks: {
|
|
|
268
273
|
markdown: RealmNode<string>;
|
|
269
274
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
270
275
|
contentEditableClassName: RealmNode<string>;
|
|
276
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
271
277
|
autoFocus: RealmNode<boolean>;
|
|
272
278
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
273
279
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -317,6 +323,7 @@ corePluginHooks: {
|
|
|
317
323
|
markdown: RealmNode<string>;
|
|
318
324
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
319
325
|
contentEditableClassName: RealmNode<string>;
|
|
326
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
320
327
|
autoFocus: RealmNode<boolean>;
|
|
321
328
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
322
329
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -367,6 +374,7 @@ corePluginHooks: {
|
|
|
367
374
|
markdown: RealmNode<string>;
|
|
368
375
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
369
376
|
contentEditableClassName: RealmNode<string>;
|
|
377
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
370
378
|
autoFocus: RealmNode<boolean>;
|
|
371
379
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
372
380
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -388,7 +396,7 @@ corePluginHooks: {
|
|
|
388
396
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
389
397
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
390
398
|
}>) => void;
|
|
391
|
-
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode">(key: K_2) => (value: ValueForKey<{
|
|
399
|
+
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode">(key: K_2) => (value: ValueForKey<{
|
|
392
400
|
activeEditor: RealmNode<LexicalEditor | null>;
|
|
393
401
|
inFocus: RealmNode<boolean>;
|
|
394
402
|
historyState: RealmNode<HistoryState>;
|
|
@@ -417,6 +425,7 @@ corePluginHooks: {
|
|
|
417
425
|
markdown: RealmNode<string>;
|
|
418
426
|
editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
|
|
419
427
|
contentEditableClassName: RealmNode<string>;
|
|
428
|
+
placeholder: RealmNode<React.ReactNode>;
|
|
420
429
|
autoFocus: RealmNode<boolean>;
|
|
421
430
|
composerChildren: RealmNode<React.ComponentType<{}>[]>;
|
|
422
431
|
addComposerChild: RealmNode<React.ComponentType<{}>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createEmptyHistoryState } from "@lexical/react/LexicalHistoryPlugin";
|
|
1
|
+
import { createEmptyHistoryState } from "@lexical/react/LexicalHistoryPlugin.js";
|
|
2
2
|
import { $isHeadingNode } from "@lexical/rich-text";
|
|
3
3
|
import { $setBlocksType } from "@lexical/selection";
|
|
4
4
|
import { $findMatchingParent, $wrapNodeInElement, $insertNodeToNearestRoot } from "@lexical/utils";
|
|
@@ -40,6 +40,7 @@ const coreSystem = system((r) => {
|
|
|
40
40
|
const rootEditor = r.node(null);
|
|
41
41
|
const activeEditor = r.node(null, true);
|
|
42
42
|
const contentEditableClassName = r.node("");
|
|
43
|
+
const placeholder = r.node("");
|
|
43
44
|
const autoFocus = r.node(false);
|
|
44
45
|
const inFocus = r.node(false, true);
|
|
45
46
|
const currentFormat = r.node(0, true);
|
|
@@ -295,6 +296,7 @@ const coreSystem = system((r) => {
|
|
|
295
296
|
// DOM
|
|
296
297
|
editorRootElementRef,
|
|
297
298
|
contentEditableClassName,
|
|
299
|
+
placeholder,
|
|
298
300
|
autoFocus,
|
|
299
301
|
// child controls
|
|
300
302
|
composerChildren,
|
|
@@ -327,6 +329,7 @@ const [
|
|
|
327
329
|
realm.pubKey("contentEditableClassName", params.contentEditableClassName);
|
|
328
330
|
realm.pubKey("toMarkdownOptions", params.toMarkdownOptions);
|
|
329
331
|
realm.pubKey("autoFocus", params.autoFocus);
|
|
332
|
+
realm.pubKey("placeholder", params.placeholder);
|
|
330
333
|
realm.singletonSubKey("markdown", params.onChange);
|
|
331
334
|
},
|
|
332
335
|
init(realm, params) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RefObject,
|
|
1
|
+
import type { RefObject, ReactNode, ComponentType } from 'react';
|
|
2
2
|
import type { Options } from 'mdast-util-to-markdown';
|
|
3
3
|
import type { Config } from 'mdast-util-from-markdown/lib';
|
|
4
4
|
import type { Extension } from 'micromark-util-types';
|
|
@@ -43,6 +43,7 @@ export declare const diffSourceSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
43
43
|
markdown: RealmNode<string>;
|
|
44
44
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
45
45
|
contentEditableClassName: RealmNode<string>;
|
|
46
|
+
placeholder: RealmNode<ReactNode>;
|
|
46
47
|
autoFocus: RealmNode<boolean>;
|
|
47
48
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
48
49
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -92,6 +93,7 @@ export declare const diffSourceSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
|
|
|
92
93
|
markdown: RealmNode<string>;
|
|
93
94
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
94
95
|
contentEditableClassName: RealmNode<string>;
|
|
96
|
+
placeholder: RealmNode<ReactNode>;
|
|
95
97
|
autoFocus: RealmNode<boolean>;
|
|
96
98
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
97
99
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -148,6 +150,7 @@ diffSourcePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
148
150
|
markdown: RealmNode<string>;
|
|
149
151
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
150
152
|
contentEditableClassName: RealmNode<string>;
|
|
153
|
+
placeholder: RealmNode<ReactNode>;
|
|
151
154
|
autoFocus: RealmNode<boolean>;
|
|
152
155
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
153
156
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -197,6 +200,7 @@ diffSourcePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
|
|
|
197
200
|
markdown: RealmNode<string>;
|
|
198
201
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
199
202
|
contentEditableClassName: RealmNode<string>;
|
|
203
|
+
placeholder: RealmNode<ReactNode>;
|
|
200
204
|
autoFocus: RealmNode<boolean>;
|
|
201
205
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
202
206
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -260,6 +264,7 @@ diffSourcePluginHooks: {
|
|
|
260
264
|
markdown: RealmNode<string>;
|
|
261
265
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
262
266
|
contentEditableClassName: RealmNode<string>;
|
|
267
|
+
placeholder: RealmNode<ReactNode>;
|
|
263
268
|
autoFocus: RealmNode<boolean>;
|
|
264
269
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
265
270
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -281,7 +286,7 @@ diffSourcePluginHooks: {
|
|
|
281
286
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
282
287
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
283
288
|
}>;
|
|
284
|
-
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "viewMode" | "diffMarkdown" | "markdownSourceEditorValue">(key: K, callback: (value: ValueForKey<{
|
|
289
|
+
useEmitter: <K extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "viewMode" | "diffMarkdown" | "markdownSourceEditorValue">(key: K, callback: (value: ValueForKey<{
|
|
285
290
|
viewMode: RealmNode<ViewMode>;
|
|
286
291
|
diffMarkdown: RealmNode<string>;
|
|
287
292
|
markdownSourceEditorValue: RealmNode<string>;
|
|
@@ -314,6 +319,7 @@ diffSourcePluginHooks: {
|
|
|
314
319
|
markdown: RealmNode<string>;
|
|
315
320
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
316
321
|
contentEditableClassName: RealmNode<string>;
|
|
322
|
+
placeholder: RealmNode<ReactNode>;
|
|
317
323
|
autoFocus: RealmNode<boolean>;
|
|
318
324
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
319
325
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -368,6 +374,7 @@ diffSourcePluginHooks: {
|
|
|
368
374
|
markdown: RealmNode<string>;
|
|
369
375
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
370
376
|
contentEditableClassName: RealmNode<string>;
|
|
377
|
+
placeholder: RealmNode<ReactNode>;
|
|
371
378
|
autoFocus: RealmNode<boolean>;
|
|
372
379
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
373
380
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -421,6 +428,7 @@ diffSourcePluginHooks: {
|
|
|
421
428
|
markdown: RealmNode<string>;
|
|
422
429
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
423
430
|
contentEditableClassName: RealmNode<string>;
|
|
431
|
+
placeholder: RealmNode<ReactNode>;
|
|
424
432
|
autoFocus: RealmNode<boolean>;
|
|
425
433
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
426
434
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -475,6 +483,7 @@ diffSourcePluginHooks: {
|
|
|
475
483
|
markdown: RealmNode<string>;
|
|
476
484
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
477
485
|
contentEditableClassName: RealmNode<string>;
|
|
486
|
+
placeholder: RealmNode<ReactNode>;
|
|
478
487
|
autoFocus: RealmNode<boolean>;
|
|
479
488
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
480
489
|
addComposerChild: RealmNode<ComponentType<{}>>;
|
|
@@ -496,7 +505,7 @@ diffSourcePluginHooks: {
|
|
|
496
505
|
convertSelectionToNode: RealmNode<() => ElementNode>;
|
|
497
506
|
insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
|
|
498
507
|
}>) => void;
|
|
499
|
-
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "viewMode" | "diffMarkdown" | "markdownSourceEditorValue">(key: K_2) => (value: ValueForKey<{
|
|
508
|
+
usePublisher: <K_2 extends "jsxComponentDescriptors" | "jsxIsAvailable" | "toMarkdownOptions" | "toMarkdownExtensions" | "mdastExtensions" | "syntaxExtensions" | "markdown" | "activeEditor" | "inFocus" | "historyState" | "currentSelection" | "initialRootEditorState" | "rootEditor" | "createRootEditorSubscription" | "createActiveEditorSubscription" | "importVisitors" | "usedLexicalNodes" | "addImportVisitor" | "addLexicalNode" | "addSyntaxExtension" | "addMdastExtension" | "addToMarkdownExtension" | "addExportVisitor" | "exportVisitors" | "initialMarkdown" | "setMarkdown" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "viewMode" | "diffMarkdown" | "markdownSourceEditorValue">(key: K_2) => (value: ValueForKey<{
|
|
500
509
|
viewMode: RealmNode<ViewMode>;
|
|
501
510
|
diffMarkdown: RealmNode<string>;
|
|
502
511
|
markdownSourceEditorValue: RealmNode<string>;
|
|
@@ -529,6 +538,7 @@ diffSourcePluginHooks: {
|
|
|
529
538
|
markdown: RealmNode<string>;
|
|
530
539
|
editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
|
|
531
540
|
contentEditableClassName: RealmNode<string>;
|
|
541
|
+
placeholder: RealmNode<ReactNode>;
|
|
532
542
|
autoFocus: RealmNode<boolean>;
|
|
533
543
|
composerChildren: RealmNode<ComponentType<{}>[]>;
|
|
534
544
|
addComposerChild: RealmNode<ComponentType<{}>>;
|