@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
@@ -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';
@@ -100,6 +100,7 @@ export declare const directivesSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
100
100
  markdown: RealmNode<string>;
101
101
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
102
102
  contentEditableClassName: RealmNode<string>;
103
+ placeholder: RealmNode<ReactNode>;
103
104
  autoFocus: RealmNode<boolean>;
104
105
  composerChildren: RealmNode<ComponentType<{}>[]>;
105
106
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -149,6 +150,7 @@ export declare const directivesSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
149
150
  markdown: RealmNode<string>;
150
151
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
151
152
  contentEditableClassName: RealmNode<string>;
153
+ placeholder: RealmNode<ReactNode>;
152
154
  autoFocus: RealmNode<boolean>;
153
155
  composerChildren: RealmNode<ComponentType<{}>[]>;
154
156
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -216,6 +218,7 @@ directivesPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
216
218
  markdown: RealmNode<string>;
217
219
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
218
220
  contentEditableClassName: RealmNode<string>;
221
+ placeholder: RealmNode<ReactNode>;
219
222
  autoFocus: RealmNode<boolean>;
220
223
  composerChildren: RealmNode<ComponentType<{}>[]>;
221
224
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -265,6 +268,7 @@ directivesPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
265
268
  markdown: RealmNode<string>;
266
269
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
267
270
  contentEditableClassName: RealmNode<string>;
271
+ placeholder: RealmNode<ReactNode>;
268
272
  autoFocus: RealmNode<boolean>;
269
273
  composerChildren: RealmNode<ComponentType<{}>[]>;
270
274
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -323,6 +327,7 @@ directivesPluginHooks: {
323
327
  markdown: RealmNode<string>;
324
328
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
325
329
  contentEditableClassName: RealmNode<string>;
330
+ placeholder: RealmNode<ReactNode>;
326
331
  autoFocus: RealmNode<boolean>;
327
332
  composerChildren: RealmNode<ComponentType<{}>[]>;
328
333
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -344,7 +349,7 @@ directivesPluginHooks: {
344
349
  convertSelectionToNode: RealmNode<() => ElementNode>;
345
350
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
346
351
  }>;
347
- 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" | "directiveDescriptors" | "insertDirective">(key: K, callback: (value: ValueForKey<{
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" | "placeholder" | "autoFocus" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "directiveDescriptors" | "insertDirective">(key: K, callback: (value: ValueForKey<{
348
353
  directiveDescriptors: RealmNode<DirectiveDescriptor<any>[]>;
349
354
  insertDirective: RealmNode<InsertDirectivePayload>;
350
355
  } & {
@@ -376,6 +381,7 @@ directivesPluginHooks: {
376
381
  markdown: RealmNode<string>;
377
382
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
378
383
  contentEditableClassName: RealmNode<string>;
384
+ placeholder: RealmNode<ReactNode>;
379
385
  autoFocus: RealmNode<boolean>;
380
386
  composerChildren: RealmNode<ComponentType<{}>[]>;
381
387
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -429,6 +435,7 @@ directivesPluginHooks: {
429
435
  markdown: RealmNode<string>;
430
436
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
431
437
  contentEditableClassName: RealmNode<string>;
438
+ placeholder: RealmNode<ReactNode>;
432
439
  autoFocus: RealmNode<boolean>;
433
440
  composerChildren: RealmNode<ComponentType<{}>[]>;
434
441
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -481,6 +488,7 @@ directivesPluginHooks: {
481
488
  markdown: RealmNode<string>;
482
489
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
483
490
  contentEditableClassName: RealmNode<string>;
491
+ placeholder: RealmNode<ReactNode>;
484
492
  autoFocus: RealmNode<boolean>;
485
493
  composerChildren: RealmNode<ComponentType<{}>[]>;
486
494
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -534,6 +542,7 @@ directivesPluginHooks: {
534
542
  markdown: RealmNode<string>;
535
543
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
536
544
  contentEditableClassName: RealmNode<string>;
545
+ placeholder: RealmNode<ReactNode>;
537
546
  autoFocus: RealmNode<boolean>;
538
547
  composerChildren: RealmNode<ComponentType<{}>[]>;
539
548
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -555,7 +564,7 @@ directivesPluginHooks: {
555
564
  convertSelectionToNode: RealmNode<() => ElementNode>;
556
565
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
557
566
  }>) => void;
558
- 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" | "directiveDescriptors" | "insertDirective">(key: K_2) => (value: ValueForKey<{
567
+ 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" | "directiveDescriptors" | "insertDirective">(key: K_2) => (value: ValueForKey<{
559
568
  directiveDescriptors: RealmNode<DirectiveDescriptor<any>[]>;
560
569
  insertDirective: RealmNode<InsertDirectivePayload>;
561
570
  } & {
@@ -587,6 +596,7 @@ directivesPluginHooks: {
587
596
  markdown: RealmNode<string>;
588
597
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
589
598
  contentEditableClassName: RealmNode<string>;
599
+ placeholder: RealmNode<ReactNode>;
590
600
  autoFocus: RealmNode<boolean>;
591
601
  composerChildren: RealmNode<ComponentType<{}>[]>;
592
602
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -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';
@@ -41,6 +41,7 @@ export declare const frontmatterSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
41
41
  markdown: RealmNode<string>;
42
42
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
43
43
  contentEditableClassName: RealmNode<string>;
44
+ placeholder: RealmNode<ReactNode>;
44
45
  autoFocus: RealmNode<boolean>;
45
46
  composerChildren: RealmNode<ComponentType<{}>[]>;
46
47
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -90,6 +91,7 @@ export declare const frontmatterSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
90
91
  markdown: RealmNode<string>;
91
92
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
92
93
  contentEditableClassName: RealmNode<string>;
94
+ placeholder: RealmNode<ReactNode>;
93
95
  autoFocus: RealmNode<boolean>;
94
96
  composerChildren: RealmNode<ComponentType<{}>[]>;
95
97
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -144,6 +146,7 @@ frontmatterPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
144
146
  markdown: RealmNode<string>;
145
147
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
146
148
  contentEditableClassName: RealmNode<string>;
149
+ placeholder: RealmNode<ReactNode>;
147
150
  autoFocus: RealmNode<boolean>;
148
151
  composerChildren: RealmNode<ComponentType<{}>[]>;
149
152
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -193,6 +196,7 @@ frontmatterPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
193
196
  markdown: RealmNode<string>;
194
197
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
195
198
  contentEditableClassName: RealmNode<string>;
199
+ placeholder: RealmNode<ReactNode>;
196
200
  autoFocus: RealmNode<boolean>;
197
201
  composerChildren: RealmNode<ComponentType<{}>[]>;
198
202
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -249,6 +253,7 @@ frontmatterPluginHooks: {
249
253
  markdown: RealmNode<string>;
250
254
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
251
255
  contentEditableClassName: RealmNode<string>;
256
+ placeholder: RealmNode<ReactNode>;
252
257
  autoFocus: RealmNode<boolean>;
253
258
  composerChildren: RealmNode<ComponentType<{}>[]>;
254
259
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -270,7 +275,7 @@ frontmatterPluginHooks: {
270
275
  convertSelectionToNode: RealmNode<() => ElementNode>;
271
276
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
272
277
  }>;
273
- 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" | "insertFrontmatter">(key: K, callback: (value: ValueForKey<{
278
+ 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" | "insertFrontmatter">(key: K, callback: (value: ValueForKey<{
274
279
  insertFrontmatter: RealmNode<true>;
275
280
  } & {
276
281
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -301,6 +306,7 @@ frontmatterPluginHooks: {
301
306
  markdown: RealmNode<string>;
302
307
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
303
308
  contentEditableClassName: RealmNode<string>;
309
+ placeholder: RealmNode<ReactNode>;
304
310
  autoFocus: RealmNode<boolean>;
305
311
  composerChildren: RealmNode<ComponentType<{}>[]>;
306
312
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -353,6 +359,7 @@ frontmatterPluginHooks: {
353
359
  markdown: RealmNode<string>;
354
360
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
355
361
  contentEditableClassName: RealmNode<string>;
362
+ placeholder: RealmNode<ReactNode>;
356
363
  autoFocus: RealmNode<boolean>;
357
364
  composerChildren: RealmNode<ComponentType<{}>[]>;
358
365
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -404,6 +411,7 @@ frontmatterPluginHooks: {
404
411
  markdown: RealmNode<string>;
405
412
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
406
413
  contentEditableClassName: RealmNode<string>;
414
+ placeholder: RealmNode<ReactNode>;
407
415
  autoFocus: RealmNode<boolean>;
408
416
  composerChildren: RealmNode<ComponentType<{}>[]>;
409
417
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -456,6 +464,7 @@ frontmatterPluginHooks: {
456
464
  markdown: RealmNode<string>;
457
465
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
458
466
  contentEditableClassName: RealmNode<string>;
467
+ placeholder: RealmNode<ReactNode>;
459
468
  autoFocus: RealmNode<boolean>;
460
469
  composerChildren: RealmNode<ComponentType<{}>[]>;
461
470
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -477,7 +486,7 @@ frontmatterPluginHooks: {
477
486
  convertSelectionToNode: RealmNode<() => ElementNode>;
478
487
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
479
488
  }>) => void;
480
- 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" | "insertFrontmatter">(key: K_2) => (value: ValueForKey<{
489
+ 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" | "insertFrontmatter">(key: K_2) => (value: ValueForKey<{
481
490
  insertFrontmatter: RealmNode<true>;
482
491
  } & {
483
492
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -508,6 +517,7 @@ frontmatterPluginHooks: {
508
517
  markdown: RealmNode<string>;
509
518
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
510
519
  contentEditableClassName: RealmNode<string>;
520
+ placeholder: RealmNode<ReactNode>;
511
521
  autoFocus: RealmNode<boolean>;
512
522
  composerChildren: RealmNode<ComponentType<{}>[]>;
513
523
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -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 headingsSystem: 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<{}>>;
@@ -96,6 +97,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
96
97
  markdown: RealmNode<string>;
97
98
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
98
99
  contentEditableClassName: RealmNode<string>;
100
+ placeholder: RealmNode<ReactNode>;
99
101
  autoFocus: RealmNode<boolean>;
100
102
  composerChildren: RealmNode<ComponentType<{}>[]>;
101
103
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -1,6 +1,6 @@
1
1
  import React__default from "react";
2
- import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
3
- import { useLexicalNodeSelection } from "@lexical/react/useLexicalNodeSelection";
2
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext.js";
3
+ import { useLexicalNodeSelection } from "@lexical/react/useLexicalNodeSelection.js";
4
4
  import { mergeRegister } from "@lexical/utils";
5
5
  import { $isNodeSelection, $getSelection, $getNodeByKey, $setSelection, SELECTION_CHANGE_COMMAND, COMMAND_PRIORITY_LOW, CLICK_COMMAND, DRAGSTART_COMMAND, KEY_DELETE_COMMAND, KEY_BACKSPACE_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND } from "lexical";
6
6
  import styles from "../../styles/ui.module.css.js";
@@ -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 imageSystem: 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 imageSystem: 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<{}>>;
@@ -152,6 +154,7 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
152
154
  markdown: RealmNode<string>;
153
155
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
154
156
  contentEditableClassName: RealmNode<string>;
157
+ placeholder: RealmNode<ReactNode>;
155
158
  autoFocus: RealmNode<boolean>;
156
159
  composerChildren: RealmNode<ComponentType<{}>[]>;
157
160
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -201,6 +204,7 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
201
204
  markdown: RealmNode<string>;
202
205
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
203
206
  contentEditableClassName: RealmNode<string>;
207
+ placeholder: RealmNode<ReactNode>;
204
208
  autoFocus: RealmNode<boolean>;
205
209
  composerChildren: RealmNode<ComponentType<{}>[]>;
206
210
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -261,6 +265,7 @@ imagePluginHooks: {
261
265
  markdown: RealmNode<string>;
262
266
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
263
267
  contentEditableClassName: RealmNode<string>;
268
+ placeholder: RealmNode<ReactNode>;
264
269
  autoFocus: RealmNode<boolean>;
265
270
  composerChildren: RealmNode<ComponentType<{}>[]>;
266
271
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -282,7 +287,7 @@ imagePluginHooks: {
282
287
  convertSelectionToNode: RealmNode<() => ElementNode>;
283
288
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
284
289
  }>;
285
- 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" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "insertImage">(key: K, callback: (value: ValueForKey<{
290
+ 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" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "insertImage">(key: K, callback: (value: ValueForKey<{
286
291
  imageUploadHandler: RealmNode<(image: File) => Promise<string>>;
287
292
  imageAutocompleteSuggestions: RealmNode<string[]>;
288
293
  insertImage: RealmNode<string>;
@@ -315,6 +320,7 @@ imagePluginHooks: {
315
320
  markdown: RealmNode<string>;
316
321
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
317
322
  contentEditableClassName: RealmNode<string>;
323
+ placeholder: RealmNode<ReactNode>;
318
324
  autoFocus: RealmNode<boolean>;
319
325
  composerChildren: RealmNode<ComponentType<{}>[]>;
320
326
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -369,6 +375,7 @@ imagePluginHooks: {
369
375
  markdown: RealmNode<string>;
370
376
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
371
377
  contentEditableClassName: RealmNode<string>;
378
+ placeholder: RealmNode<ReactNode>;
372
379
  autoFocus: RealmNode<boolean>;
373
380
  composerChildren: RealmNode<ComponentType<{}>[]>;
374
381
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -422,6 +429,7 @@ imagePluginHooks: {
422
429
  markdown: RealmNode<string>;
423
430
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
424
431
  contentEditableClassName: RealmNode<string>;
432
+ placeholder: RealmNode<ReactNode>;
425
433
  autoFocus: RealmNode<boolean>;
426
434
  composerChildren: RealmNode<ComponentType<{}>[]>;
427
435
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -476,6 +484,7 @@ imagePluginHooks: {
476
484
  markdown: RealmNode<string>;
477
485
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
478
486
  contentEditableClassName: RealmNode<string>;
487
+ placeholder: RealmNode<ReactNode>;
479
488
  autoFocus: RealmNode<boolean>;
480
489
  composerChildren: RealmNode<ComponentType<{}>[]>;
481
490
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -497,7 +506,7 @@ imagePluginHooks: {
497
506
  convertSelectionToNode: RealmNode<() => ElementNode>;
498
507
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
499
508
  }>) => void;
500
- 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" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "insertImage">(key: K_2) => (value: ValueForKey<{
509
+ 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" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "insertImage">(key: K_2) => (value: ValueForKey<{
501
510
  imageUploadHandler: RealmNode<(image: File) => Promise<string>>;
502
511
  imageAutocompleteSuggestions: RealmNode<string[]>;
503
512
  insertImage: RealmNode<string>;
@@ -530,6 +539,7 @@ imagePluginHooks: {
530
539
  markdown: RealmNode<string>;
531
540
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
532
541
  contentEditableClassName: RealmNode<string>;
542
+ placeholder: RealmNode<ReactNode>;
533
543
  autoFocus: RealmNode<boolean>;
534
544
  composerChildren: RealmNode<ComponentType<{}>[]>;
535
545
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -107,6 +107,7 @@ export declare const jsxSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
107
107
  markdown: RealmNode<string>;
108
108
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
109
109
  contentEditableClassName: RealmNode<string>;
110
+ placeholder: RealmNode<React.ReactNode>;
110
111
  autoFocus: RealmNode<boolean>;
111
112
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
112
113
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -156,6 +157,7 @@ export declare const jsxSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
156
157
  markdown: RealmNode<string>;
157
158
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
158
159
  contentEditableClassName: RealmNode<string>;
160
+ placeholder: RealmNode<React.ReactNode>;
159
161
  autoFocus: RealmNode<boolean>;
160
162
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
161
163
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -219,6 +221,7 @@ jsxPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
219
221
  markdown: RealmNode<string>;
220
222
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
221
223
  contentEditableClassName: RealmNode<string>;
224
+ placeholder: RealmNode<React.ReactNode>;
222
225
  autoFocus: RealmNode<boolean>;
223
226
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
224
227
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -268,6 +271,7 @@ jsxPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
268
271
  markdown: RealmNode<string>;
269
272
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
270
273
  contentEditableClassName: RealmNode<string>;
274
+ placeholder: RealmNode<React.ReactNode>;
271
275
  autoFocus: RealmNode<boolean>;
272
276
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
273
277
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -324,6 +328,7 @@ jsxPluginHooks: {
324
328
  markdown: RealmNode<string>;
325
329
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
326
330
  contentEditableClassName: RealmNode<string>;
331
+ placeholder: RealmNode<React.ReactNode>;
327
332
  autoFocus: RealmNode<boolean>;
328
333
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
329
334
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -345,7 +350,7 @@ jsxPluginHooks: {
345
350
  convertSelectionToNode: RealmNode<() => ElementNode>;
346
351
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
347
352
  }>;
348
- 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" | "insertJsx">(key: K, callback: (value: ValueForKey<{
353
+ 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" | "insertJsx">(key: K, callback: (value: ValueForKey<{
349
354
  insertJsx: RealmNode<InsertJsxPayload>;
350
355
  } & {
351
356
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -376,6 +381,7 @@ jsxPluginHooks: {
376
381
  markdown: RealmNode<string>;
377
382
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
378
383
  contentEditableClassName: RealmNode<string>;
384
+ placeholder: RealmNode<React.ReactNode>;
379
385
  autoFocus: RealmNode<boolean>;
380
386
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
381
387
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -428,6 +434,7 @@ jsxPluginHooks: {
428
434
  markdown: RealmNode<string>;
429
435
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
430
436
  contentEditableClassName: RealmNode<string>;
437
+ placeholder: RealmNode<React.ReactNode>;
431
438
  autoFocus: RealmNode<boolean>;
432
439
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
433
440
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -479,6 +486,7 @@ jsxPluginHooks: {
479
486
  markdown: RealmNode<string>;
480
487
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
481
488
  contentEditableClassName: RealmNode<string>;
489
+ placeholder: RealmNode<React.ReactNode>;
482
490
  autoFocus: RealmNode<boolean>;
483
491
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
484
492
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -531,6 +539,7 @@ jsxPluginHooks: {
531
539
  markdown: RealmNode<string>;
532
540
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
533
541
  contentEditableClassName: RealmNode<string>;
542
+ placeholder: RealmNode<React.ReactNode>;
534
543
  autoFocus: RealmNode<boolean>;
535
544
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
536
545
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -552,7 +561,7 @@ jsxPluginHooks: {
552
561
  convertSelectionToNode: RealmNode<() => ElementNode>;
553
562
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
554
563
  }>) => void;
555
- 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" | "insertJsx">(key: K_2) => (value: ValueForKey<{
564
+ 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" | "insertJsx">(key: K_2) => (value: ValueForKey<{
556
565
  insertJsx: RealmNode<InsertJsxPayload>;
557
566
  } & {
558
567
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -583,6 +592,7 @@ jsxPluginHooks: {
583
592
  markdown: RealmNode<string>;
584
593
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
585
594
  contentEditableClassName: RealmNode<string>;
595
+ placeholder: RealmNode<React.ReactNode>;
586
596
  autoFocus: RealmNode<boolean>;
587
597
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
588
598
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { FC } from 'react';
9
+ export declare const LexicalAutoLinkPlugin: FC;
@@ -0,0 +1,18 @@
1
+ import { createLinkMatcherWithRegExp, AutoLinkPlugin } from "@lexical/react/LexicalAutoLinkPlugin.js";
2
+ import React__default from "react";
3
+ const URL_REGEX = /((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;
4
+ const EMAIL_REGEX = /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
5
+ const MATCHERS = [
6
+ createLinkMatcherWithRegExp(URL_REGEX, (text) => {
7
+ return text.startsWith("http") ? text : `https://${text}`;
8
+ }),
9
+ createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {
10
+ return `mailto:${text}`;
11
+ })
12
+ ];
13
+ const LexicalAutoLinkPlugin = () => {
14
+ return /* @__PURE__ */ React__default.createElement(AutoLinkPlugin, { matchers: MATCHERS });
15
+ };
16
+ export {
17
+ LexicalAutoLinkPlugin
18
+ };
@@ -10,7 +10,22 @@ import type { HistoryState } from '@lexical/history';
10
10
  import type { LexicalEditor, RangeSelection, Klass, LexicalNode, TextFormatType, ElementNode, DecoratorNode } from 'lexical';
11
11
  import type { PluginConstructor, SystemSpec, Realm, RealmNode } from '../../gurx';
12
12
  import React from 'react';
13
- import { LinkPlugin as LexicalLinkPlugin } from '@lexical/react/LexicalLinkPlugin';
13
+ import { LinkPlugin as LexicalLinkPlugin } from '@lexical/react/LexicalLinkPlugin.js';
14
+ /**
15
+ * The parameters used to configure the link plugin
16
+ */
17
+ interface LinkPluginParams {
18
+ /**
19
+ * An optional function to validate the URL of a link.
20
+ * By default, no validation is performed.
21
+ */
22
+ validateUrl?: React.ComponentProps<typeof LexicalLinkPlugin>['validateUrl'];
23
+ /**
24
+ * Whether to disable the auto-linking of URLs and email addresses.
25
+ * @default false
26
+ */
27
+ disableAutoLink?: boolean;
28
+ }
14
29
  /**
15
30
  * @internal
16
31
  */
@@ -43,6 +58,7 @@ export declare const linkPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r
43
58
  markdown: RealmNode<string>;
44
59
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
45
60
  contentEditableClassName: RealmNode<string>;
61
+ placeholder: RealmNode<React.ReactNode>;
46
62
  autoFocus: RealmNode<boolean>;
47
63
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
48
64
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -63,6 +79,7 @@ export declare const linkPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r
63
79
  applyBlockType: RealmNode<BlockType>;
64
80
  convertSelectionToNode: RealmNode<() => ElementNode>;
65
81
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
66
- }>], (_: Realm) => {}>, {
67
- validateUrl: React.ComponentProps<typeof LexicalLinkPlugin>['validateUrl'];
68
- }>;
82
+ }>], (r: Realm) => {
83
+ disableAutoLink: RealmNode<boolean>;
84
+ }>, LinkPluginParams>;
85
+ export {};
@@ -2,19 +2,30 @@ import React__default from "react";
2
2
  import { coreSystem } from "../core/index.js";
3
3
  import { MdastLinkVisitor } from "./MdastLinkVisitor.js";
4
4
  import { LexicalLinkVisitor } from "./LexicalLinkVisitor.js";
5
- import { LinkNode } from "@lexical/link";
6
- import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin";
7
- import { realmPlugin } from "../../gurx/react.js";
5
+ import { LinkNode, AutoLinkNode } from "@lexical/link";
6
+ import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin.js";
7
+ import { LexicalAutoLinkPlugin } from "./AutoLinkPlugin.js";
8
8
  import { system } from "../../gurx/realmFactory.js";
9
+ import { realmPlugin } from "../../gurx/react.js";
10
+ const linkSystem = system(
11
+ (r) => {
12
+ const disableAutoLink = r.node(false);
13
+ return { disableAutoLink };
14
+ },
15
+ [coreSystem]
16
+ );
9
17
  const [linkPlugin] = realmPlugin({
10
18
  id: "link",
11
- systemSpec: system((_) => ({}), [coreSystem]),
19
+ systemSpec: linkSystem,
12
20
  init: (realm, params) => {
21
+ const disableAutoLink = Boolean(params == null ? void 0 : params.disableAutoLink);
13
22
  realm.pubKey("addImportVisitor", MdastLinkVisitor);
14
23
  realm.pubKey("addLexicalNode", LinkNode);
24
+ realm.pubKey("addLexicalNode", AutoLinkNode);
15
25
  realm.pubKey("addExportVisitor", LexicalLinkVisitor);
26
+ realm.pubKey("disableAutoLink", disableAutoLink);
16
27
  const linkPluginProps = (params == null ? void 0 : params.validateUrl) ? { validateUrl: params.validateUrl } : {};
17
- realm.pubKey("addComposerChild", () => /* @__PURE__ */ React__default.createElement(LinkPlugin, { ...linkPluginProps }));
28
+ realm.pubKey("addComposerChild", () => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(LinkPlugin, { ...linkPluginProps }), disableAutoLink ? null : /* @__PURE__ */ React__default.createElement(LexicalAutoLinkPlugin, null)));
18
29
  }
19
30
  });
20
31
  export {