@mdxeditor/editor 0.12.0 → 0.13.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.
Files changed (39) hide show
  1. package/dist/MDXEditor.d.ts +4 -0
  2. package/dist/MDXEditor.js +11 -10
  3. package/dist/plugins/codeblock/index.d.ts +13 -3
  4. package/dist/plugins/codemirror/index.d.ts +17 -3
  5. package/dist/plugins/core/NestedLexicalEditor.d.ts +1 -1
  6. package/dist/plugins/core/NestedLexicalEditor.js +4 -4
  7. package/dist/plugins/core/SharedHistoryPlugin.js +1 -1
  8. package/dist/plugins/core/index.d.ts +12 -3
  9. package/dist/plugins/core/index.js +4 -1
  10. package/dist/plugins/diff-source/index.d.ts +13 -3
  11. package/dist/plugins/directives/index.d.ts +13 -3
  12. package/dist/plugins/frontmatter/index.d.ts +13 -3
  13. package/dist/plugins/headings/index.d.ts +3 -1
  14. package/dist/plugins/image/ImageEditor.js +2 -2
  15. package/dist/plugins/image/index.d.ts +13 -3
  16. package/dist/plugins/jsx/index.d.ts +12 -2
  17. package/dist/plugins/link/AutoLinkPlugin.d.ts +9 -0
  18. package/dist/plugins/link/AutoLinkPlugin.js +18 -0
  19. package/dist/plugins/link/index.d.ts +21 -4
  20. package/dist/plugins/link/index.js +16 -5
  21. package/dist/plugins/link-dialog/index.d.ts +11 -3
  22. package/dist/plugins/link-dialog/index.js +1 -0
  23. package/dist/plugins/lists/index.d.ts +13 -3
  24. package/dist/plugins/lists/index.js +2 -2
  25. package/dist/plugins/markdown-shortcut/index.d.ts +1 -0
  26. package/dist/plugins/markdown-shortcut/index.js +1 -1
  27. package/dist/plugins/quote/index.d.ts +10 -3
  28. package/dist/plugins/sandpack/index.d.ts +16 -2
  29. package/dist/plugins/table/TableEditor.js +5 -5
  30. package/dist/plugins/table/index.d.ts +13 -3
  31. package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.d.ts +1 -1
  32. package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.js +1 -1
  33. package/dist/plugins/thematic-break/MdastThematicBreakVisitor.js +1 -1
  34. package/dist/plugins/thematic-break/index.d.ts +13 -3
  35. package/dist/plugins/thematic-break/index.js +2 -2
  36. package/dist/plugins/toolbar/index.d.ts +10 -2
  37. package/dist/style.css +184 -165
  38. package/dist/styles/ui.module.css.js +90 -84
  39. package/package.json +1 -1
@@ -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
- "autoFocus"
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
  ]
@@ -1,4 +1,4 @@
1
- import type { RefObject, ComponentType, ReactNode } from 'react';
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, ComponentType, ReactNode } from 'react';
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";
@@ -1,4 +1,4 @@
1
- import { HistoryPlugin } from "@lexical/react/LexicalHistoryPlugin";
1
+ import { HistoryPlugin } from "@lexical/react/LexicalHistoryPlugin.js";
2
2
  import React__default from "react";
3
3
  import { corePluginHooks } from "./index.js";
4
4
  const SharedHistoryPlugin = () => {
@@ -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, ComponentType, ReactNode } from 'react';
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<{}>>;