@mdxeditor/editor 0.0.0-development → 0.0.4-development

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 (103) hide show
  1. package/dist/MDXEditor.d.ts +11 -0
  2. package/dist/MDXEditor.js +3 -1
  3. package/dist/exportMarkdownFromLexical.d.ts +6 -1
  4. package/dist/exportMarkdownFromLexical.js +43 -6
  5. package/dist/gurx/realmFactory.d.ts +1 -1
  6. package/dist/icons/add_column.svg.js +1 -1
  7. package/dist/icons/add_photo.svg.js +1 -1
  8. package/dist/icons/add_row.svg.js +1 -1
  9. package/dist/icons/admonition.svg.js +1 -1
  10. package/dist/icons/arrow_drop_down.svg.js +1 -1
  11. package/dist/icons/check.svg.js +1 -1
  12. package/dist/icons/close.svg.js +1 -1
  13. package/dist/icons/code.svg.js +1 -1
  14. package/dist/icons/content_copy.svg.js +1 -1
  15. package/dist/icons/delete_big.svg.js +1 -1
  16. package/dist/icons/delete_small.svg.js +1 -1
  17. package/dist/icons/difference.svg.js +1 -1
  18. package/dist/icons/edit.svg.js +1 -1
  19. package/dist/icons/format_align_center.svg.js +1 -1
  20. package/dist/icons/format_align_left.svg.js +1 -1
  21. package/dist/icons/format_align_right.svg.js +1 -1
  22. package/dist/icons/format_bold.svg.js +1 -1
  23. package/dist/icons/format_italic.svg.js +1 -1
  24. package/dist/icons/format_list_bulleted.svg.js +1 -3
  25. package/dist/icons/format_list_checked.svg.js +1 -1
  26. package/dist/icons/format_list_numbered.svg.js +1 -1
  27. package/dist/icons/format_underlined.svg.js +1 -1
  28. package/dist/icons/frame_source.svg.js +5 -0
  29. package/dist/icons/frontmatter.svg.js +1 -1
  30. package/dist/icons/horizontal_rule.svg.js +1 -1
  31. package/dist/icons/insert_col_left.svg.js +1 -1
  32. package/dist/icons/insert_col_right.svg.js +1 -1
  33. package/dist/icons/insert_row_above.svg.js +1 -1
  34. package/dist/icons/insert_row_below.svg.js +1 -1
  35. package/dist/icons/link.svg.js +1 -1
  36. package/dist/icons/link_off.svg.js +1 -1
  37. package/dist/icons/markdown.svg.js +1 -1
  38. package/dist/icons/more_horiz.svg.js +1 -1
  39. package/dist/icons/more_vert.svg.js +1 -1
  40. package/dist/icons/open_in_new.svg.js +1 -1
  41. package/dist/icons/redo.svg.js +1 -1
  42. package/dist/icons/rich_text.svg.js +1 -1
  43. package/dist/icons/sandpack.svg.js +1 -1
  44. package/dist/icons/settings.svg.js +1 -3
  45. package/dist/icons/table.svg.js +1 -1
  46. package/dist/icons/undo.svg.js +1 -1
  47. package/dist/importMarkdownToLexical.d.ts +10 -0
  48. package/dist/importMarkdownToLexical.js +31 -7
  49. package/dist/index.d.ts +8 -0
  50. package/dist/index.js +41 -3
  51. package/dist/plugins/codeblock/index.d.ts +92 -2
  52. package/dist/plugins/codemirror/index.d.ts +128 -2
  53. package/dist/plugins/core/GenericHTMLNode.d.ts +38 -0
  54. package/dist/plugins/core/GenericHTMLNode.js +117 -0
  55. package/dist/plugins/core/Icon.d.ts +1 -1
  56. package/dist/plugins/core/Icon.js +2 -4
  57. package/dist/plugins/core/LexicalGenericHTMLNodeVisitor.d.ts +4 -0
  58. package/dist/plugins/core/LexicalGenericHTMLNodeVisitor.js +15 -0
  59. package/dist/plugins/core/LexicalTextVisitor.js +18 -1
  60. package/dist/plugins/core/MdastHTMLNode.d.ts +13 -0
  61. package/dist/plugins/core/MdastHTMLNode.js +122 -0
  62. package/dist/plugins/core/MdastHTMLVisitor.d.ts +3 -0
  63. package/dist/plugins/core/MdastHTMLVisitor.js +12 -0
  64. package/dist/plugins/core/NestedLexicalEditor.js +14 -9
  65. package/dist/plugins/core/index.d.ts +80 -3
  66. package/dist/plugins/core/index.js +90 -20
  67. package/dist/plugins/diff-source/DiffSourceWrapper.js +4 -1
  68. package/dist/plugins/diff-source/SourceEditor.js +7 -1
  69. package/dist/plugins/diff-source/index.d.ts +94 -4
  70. package/dist/plugins/diff-source/index.js +3 -4
  71. package/dist/plugins/directives/index.d.ts +92 -2
  72. package/dist/plugins/frontmatter/index.d.ts +92 -2
  73. package/dist/plugins/headings/index.d.ts +92 -2
  74. package/dist/plugins/image/index.d.ts +92 -2
  75. package/dist/plugins/jsx/LexicalJsxVisitor.js +12 -0
  76. package/dist/plugins/jsx/index.d.ts +114 -23
  77. package/dist/plugins/jsx/index.js +4 -0
  78. package/dist/plugins/link/index.d.ts +9 -0
  79. package/dist/plugins/link-dialog/index.d.ts +79 -5
  80. package/dist/plugins/link-dialog/index.js +2 -8
  81. package/dist/plugins/lists/index.d.ts +92 -2
  82. package/dist/plugins/lists/index.js +3 -0
  83. package/dist/plugins/markdown-shortcut/index.d.ts +9 -0
  84. package/dist/plugins/quote/index.d.ts +65 -2
  85. package/dist/plugins/sandpack/index.d.ts +128 -2
  86. package/dist/plugins/table/index.d.ts +92 -2
  87. package/dist/plugins/thematic-break/index.d.ts +92 -2
  88. package/dist/plugins/toolbar/components/ChangeAdmonitionType.js +1 -1
  89. package/dist/plugins/toolbar/components/InsertCodeBlock.js +1 -1
  90. package/dist/plugins/toolbar/index.d.ts +74 -2
  91. package/dist/style.css +210 -195
  92. package/dist/styles/ui.module.css.js +105 -102
  93. package/dist/utils/fp.js +31 -1
  94. package/dist/utils/lexicalHelpers.js +20 -2
  95. package/dist/utils/makeHslTransparent.d.ts +1 -0
  96. package/dist/utils/makeHslTransparent.js +6 -0
  97. package/dist/utils/mergeStyleAttributes.d.ts +1 -0
  98. package/dist/utils/mergeStyleAttributes.js +22 -0
  99. package/dist/utils/whitespaceConversion.d.ts +2 -0
  100. package/dist/utils/whitespaceConversion.js +9 -0
  101. package/package.json +17 -11
  102. package/dist/icons/check_small.svg.js +0 -5
  103. package/dist/icons/code_block.svg.js +0 -5
@@ -44,6 +44,7 @@ export declare const headingsSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
44
44
  initialMarkdown: RealmNode<string>;
45
45
  setMarkdown: RealmNode<string>;
46
46
  markdown: RealmNode<string>;
47
+ markdownSignal: RealmNode<string>;
47
48
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
48
49
  contentEditableClassName: RealmNode<string>;
49
50
  placeholder: RealmNode<ReactNode>;
@@ -73,6 +74,14 @@ export declare const headingsSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
73
74
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
74
75
  onBlur: RealmNode<FocusEvent>;
75
76
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
77
+ markdownProcessingError: RealmNode<{
78
+ error: string;
79
+ source: string;
80
+ } | null>;
81
+ markdownErrorSignal: RealmNode<{
82
+ error: string;
83
+ source: string;
84
+ }>;
76
85
  }>], (r: Realm, [{ createRootEditorSubscription, convertSelectionToNode }]: [{
77
86
  activeEditor: RealmNode<LexicalEditor | null>;
78
87
  inFocus: RealmNode<boolean>;
@@ -100,6 +109,7 @@ export declare const headingsSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
100
109
  initialMarkdown: RealmNode<string>;
101
110
  setMarkdown: RealmNode<string>;
102
111
  markdown: RealmNode<string>;
112
+ markdownSignal: RealmNode<string>;
103
113
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
104
114
  contentEditableClassName: RealmNode<string>;
105
115
  placeholder: RealmNode<ReactNode>;
@@ -129,6 +139,14 @@ export declare const headingsSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
129
139
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
130
140
  onBlur: RealmNode<FocusEvent>;
131
141
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
142
+ markdownProcessingError: RealmNode<{
143
+ error: string;
144
+ source: string;
145
+ } | null>;
146
+ markdownErrorSignal: RealmNode<{
147
+ error: string;
148
+ source: string;
149
+ }>;
132
150
  }]) => {
133
151
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
134
152
  }>;
@@ -172,6 +190,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
172
190
  initialMarkdown: RealmNode<string>;
173
191
  setMarkdown: RealmNode<string>;
174
192
  markdown: RealmNode<string>;
193
+ markdownSignal: RealmNode<string>;
175
194
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
176
195
  contentEditableClassName: RealmNode<string>;
177
196
  placeholder: RealmNode<ReactNode>;
@@ -201,6 +220,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
201
220
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
202
221
  onBlur: RealmNode<FocusEvent>;
203
222
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
223
+ markdownProcessingError: RealmNode<{
224
+ error: string;
225
+ source: string;
226
+ } | null>;
227
+ markdownErrorSignal: RealmNode<{
228
+ error: string;
229
+ source: string;
230
+ }>;
204
231
  }>], (r: Realm, [{ createRootEditorSubscription, convertSelectionToNode }]: [{
205
232
  activeEditor: RealmNode<LexicalEditor | null>;
206
233
  inFocus: RealmNode<boolean>;
@@ -228,6 +255,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
228
255
  initialMarkdown: RealmNode<string>;
229
256
  setMarkdown: RealmNode<string>;
230
257
  markdown: RealmNode<string>;
258
+ markdownSignal: RealmNode<string>;
231
259
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
232
260
  contentEditableClassName: RealmNode<string>;
233
261
  placeholder: RealmNode<ReactNode>;
@@ -257,6 +285,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
257
285
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
258
286
  onBlur: RealmNode<FocusEvent>;
259
287
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
288
+ markdownProcessingError: RealmNode<{
289
+ error: string;
290
+ source: string;
291
+ } | null>;
292
+ markdownErrorSignal: RealmNode<{
293
+ error: string;
294
+ source: string;
295
+ }>;
260
296
  }]) => {
261
297
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
262
298
  }>, HeadingsPluginParams>, headingsPluginHooks: {
@@ -289,6 +325,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
289
325
  initialMarkdown: RealmNode<string>;
290
326
  setMarkdown: RealmNode<string>;
291
327
  markdown: RealmNode<string>;
328
+ markdownSignal: RealmNode<string>;
292
329
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
293
330
  contentEditableClassName: RealmNode<string>;
294
331
  placeholder: RealmNode<ReactNode>;
@@ -318,8 +355,16 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
318
355
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
319
356
  onBlur: RealmNode<FocusEvent>;
320
357
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
358
+ markdownProcessingError: RealmNode<{
359
+ error: string;
360
+ source: string;
361
+ } | null>;
362
+ markdownErrorSignal: RealmNode<{
363
+ error: string;
364
+ source: string;
365
+ }>;
321
366
  }>;
322
- 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" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "allowedHeadingLevels">(key: K, callback: (value: ValueForKey<{
367
+ 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" | "markdownSignal" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "markdownProcessingError" | "markdownErrorSignal" | "allowedHeadingLevels">(key: K, callback: (value: ValueForKey<{
323
368
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
324
369
  } & {
325
370
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -348,6 +393,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
348
393
  initialMarkdown: RealmNode<string>;
349
394
  setMarkdown: RealmNode<string>;
350
395
  markdown: RealmNode<string>;
396
+ markdownSignal: RealmNode<string>;
351
397
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
352
398
  contentEditableClassName: RealmNode<string>;
353
399
  placeholder: RealmNode<ReactNode>;
@@ -377,6 +423,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
377
423
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
378
424
  onBlur: RealmNode<FocusEvent>;
379
425
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
426
+ markdownProcessingError: RealmNode<{
427
+ error: string;
428
+ source: string;
429
+ } | null>;
430
+ markdownErrorSignal: RealmNode<{
431
+ error: string;
432
+ source: string;
433
+ }>;
380
434
  }, K>) => void) => void;
381
435
  useEmitterValues: <K_1 extends SystemKeys<{
382
436
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
@@ -407,6 +461,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
407
461
  initialMarkdown: RealmNode<string>;
408
462
  setMarkdown: RealmNode<string>;
409
463
  markdown: RealmNode<string>;
464
+ markdownSignal: RealmNode<string>;
410
465
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
411
466
  contentEditableClassName: RealmNode<string>;
412
467
  placeholder: RealmNode<ReactNode>;
@@ -436,6 +491,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
436
491
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
437
492
  onBlur: RealmNode<FocusEvent>;
438
493
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
494
+ markdownProcessingError: RealmNode<{
495
+ error: string;
496
+ source: string;
497
+ } | null>;
498
+ markdownErrorSignal: RealmNode<{
499
+ error: string;
500
+ source: string;
501
+ }>;
439
502
  }>>(...keys: K_1) => ValuesForKeys<{
440
503
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
441
504
  } & {
@@ -465,6 +528,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
465
528
  initialMarkdown: RealmNode<string>;
466
529
  setMarkdown: RealmNode<string>;
467
530
  markdown: RealmNode<string>;
531
+ markdownSignal: RealmNode<string>;
468
532
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
469
533
  contentEditableClassName: RealmNode<string>;
470
534
  placeholder: RealmNode<ReactNode>;
@@ -494,6 +558,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
494
558
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
495
559
  onBlur: RealmNode<FocusEvent>;
496
560
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
561
+ markdownProcessingError: RealmNode<{
562
+ error: string;
563
+ source: string;
564
+ } | null>;
565
+ markdownErrorSignal: RealmNode<{
566
+ error: string;
567
+ source: string;
568
+ }>;
497
569
  }, K_1>;
498
570
  usePubKeys: () => (values: SystemDict<{
499
571
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
@@ -524,6 +596,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
524
596
  initialMarkdown: RealmNode<string>;
525
597
  setMarkdown: RealmNode<string>;
526
598
  markdown: RealmNode<string>;
599
+ markdownSignal: RealmNode<string>;
527
600
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
528
601
  contentEditableClassName: RealmNode<string>;
529
602
  placeholder: RealmNode<ReactNode>;
@@ -553,8 +626,16 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
553
626
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
554
627
  onBlur: RealmNode<FocusEvent>;
555
628
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
629
+ markdownProcessingError: RealmNode<{
630
+ error: string;
631
+ source: string;
632
+ } | null>;
633
+ markdownErrorSignal: RealmNode<{
634
+ error: string;
635
+ source: string;
636
+ }>;
556
637
  }>) => void;
557
- 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" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "allowedHeadingLevels">(key: K_2) => (value: ValueForKey<{
638
+ 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" | "markdownSignal" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "markdownProcessingError" | "markdownErrorSignal" | "allowedHeadingLevels">(key: K_2) => (value: ValueForKey<{
558
639
  allowedHeadingLevels: RealmNode<readonly (1 | 2 | 4 | 3 | 5 | 6)[]>;
559
640
  } & {
560
641
  activeEditor: RealmNode<LexicalEditor | null>;
@@ -583,6 +664,7 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
583
664
  initialMarkdown: RealmNode<string>;
584
665
  setMarkdown: RealmNode<string>;
585
666
  markdown: RealmNode<string>;
667
+ markdownSignal: RealmNode<string>;
586
668
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
587
669
  contentEditableClassName: RealmNode<string>;
588
670
  placeholder: RealmNode<ReactNode>;
@@ -612,6 +694,14 @@ export declare const headingsPlugin: PluginConstructor<SystemSpec<[SystemSpec<[]
612
694
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
613
695
  onBlur: RealmNode<FocusEvent>;
614
696
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
697
+ markdownProcessingError: RealmNode<{
698
+ error: string;
699
+ source: string;
700
+ } | null>;
701
+ markdownErrorSignal: RealmNode<{
702
+ error: string;
703
+ source: string;
704
+ }>;
615
705
  }, K_2>) => void;
616
706
  };
617
707
  export {};
@@ -61,6 +61,7 @@ export declare const imageSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
61
61
  initialMarkdown: RealmNode<string>;
62
62
  setMarkdown: RealmNode<string>;
63
63
  markdown: RealmNode<string>;
64
+ markdownSignal: RealmNode<string>;
64
65
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
65
66
  contentEditableClassName: RealmNode<string>;
66
67
  placeholder: RealmNode<ReactNode>;
@@ -90,6 +91,14 @@ export declare const imageSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
90
91
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
91
92
  onBlur: RealmNode<FocusEvent>;
92
93
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
94
+ markdownProcessingError: RealmNode<{
95
+ error: string;
96
+ source: string;
97
+ } | null>;
98
+ markdownErrorSignal: RealmNode<{
99
+ error: string;
100
+ source: string;
101
+ }>;
93
102
  }>], (r: Realm, [{ rootEditor }]: [{
94
103
  activeEditor: RealmNode<LexicalEditor | null>;
95
104
  inFocus: RealmNode<boolean>;
@@ -117,6 +126,7 @@ export declare const imageSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
117
126
  initialMarkdown: RealmNode<string>;
118
127
  setMarkdown: RealmNode<string>;
119
128
  markdown: RealmNode<string>;
129
+ markdownSignal: RealmNode<string>;
120
130
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
121
131
  contentEditableClassName: RealmNode<string>;
122
132
  placeholder: RealmNode<ReactNode>;
@@ -146,6 +156,14 @@ export declare const imageSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
146
156
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
147
157
  onBlur: RealmNode<FocusEvent>;
148
158
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
159
+ markdownProcessingError: RealmNode<{
160
+ error: string;
161
+ source: string;
162
+ } | null>;
163
+ markdownErrorSignal: RealmNode<{
164
+ error: string;
165
+ source: string;
166
+ }>;
149
167
  }]) => {
150
168
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
151
169
  saveImage: RealmNode<InsertImageFormValues>;
@@ -193,6 +211,7 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
193
211
  initialMarkdown: RealmNode<string>;
194
212
  setMarkdown: RealmNode<string>;
195
213
  markdown: RealmNode<string>;
214
+ markdownSignal: RealmNode<string>;
196
215
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
197
216
  contentEditableClassName: RealmNode<string>;
198
217
  placeholder: RealmNode<ReactNode>;
@@ -222,6 +241,14 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
222
241
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
223
242
  onBlur: RealmNode<FocusEvent>;
224
243
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
244
+ markdownProcessingError: RealmNode<{
245
+ error: string;
246
+ source: string;
247
+ } | null>;
248
+ markdownErrorSignal: RealmNode<{
249
+ error: string;
250
+ source: string;
251
+ }>;
225
252
  }>], (r: Realm, [{ rootEditor }]: [{
226
253
  activeEditor: RealmNode<LexicalEditor | null>;
227
254
  inFocus: RealmNode<boolean>;
@@ -249,6 +276,7 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
249
276
  initialMarkdown: RealmNode<string>;
250
277
  setMarkdown: RealmNode<string>;
251
278
  markdown: RealmNode<string>;
279
+ markdownSignal: RealmNode<string>;
252
280
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
253
281
  contentEditableClassName: RealmNode<string>;
254
282
  placeholder: RealmNode<ReactNode>;
@@ -278,6 +306,14 @@ imagePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
278
306
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
279
307
  onBlur: RealmNode<FocusEvent>;
280
308
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
309
+ markdownProcessingError: RealmNode<{
310
+ error: string;
311
+ source: string;
312
+ } | null>;
313
+ markdownErrorSignal: RealmNode<{
314
+ error: string;
315
+ source: string;
316
+ }>;
281
317
  }]) => {
282
318
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
283
319
  saveImage: RealmNode<InsertImageFormValues>;
@@ -330,6 +366,7 @@ imagePluginHooks: {
330
366
  initialMarkdown: RealmNode<string>;
331
367
  setMarkdown: RealmNode<string>;
332
368
  markdown: RealmNode<string>;
369
+ markdownSignal: RealmNode<string>;
333
370
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
334
371
  contentEditableClassName: RealmNode<string>;
335
372
  placeholder: RealmNode<ReactNode>;
@@ -359,8 +396,16 @@ imagePluginHooks: {
359
396
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
360
397
  onBlur: RealmNode<FocusEvent>;
361
398
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
399
+ markdownProcessingError: RealmNode<{
400
+ error: string;
401
+ source: string;
402
+ } | null>;
403
+ markdownErrorSignal: RealmNode<{
404
+ error: string;
405
+ source: string;
406
+ }>;
362
407
  }>;
363
- 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" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "imageDialogState" | "saveImage" | "openNewImageDialog" | "openEditImageDialog" | "closeImageDialog" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "disableImageResize" | "insertImage" | "imagePreviewHandler">(key: K, callback: (value: ValueForKey<{
408
+ 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" | "markdownSignal" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "markdownProcessingError" | "markdownErrorSignal" | "imageDialogState" | "saveImage" | "openNewImageDialog" | "openEditImageDialog" | "closeImageDialog" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "disableImageResize" | "insertImage" | "imagePreviewHandler">(key: K, callback: (value: ValueForKey<{
364
409
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
365
410
  saveImage: RealmNode<InsertImageFormValues>;
366
411
  openNewImageDialog: RealmNode<true>;
@@ -398,6 +443,7 @@ imagePluginHooks: {
398
443
  initialMarkdown: RealmNode<string>;
399
444
  setMarkdown: RealmNode<string>;
400
445
  markdown: RealmNode<string>;
446
+ markdownSignal: RealmNode<string>;
401
447
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
402
448
  contentEditableClassName: RealmNode<string>;
403
449
  placeholder: RealmNode<ReactNode>;
@@ -427,6 +473,14 @@ imagePluginHooks: {
427
473
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
428
474
  onBlur: RealmNode<FocusEvent>;
429
475
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
476
+ markdownProcessingError: RealmNode<{
477
+ error: string;
478
+ source: string;
479
+ } | null>;
480
+ markdownErrorSignal: RealmNode<{
481
+ error: string;
482
+ source: string;
483
+ }>;
430
484
  }, K>) => void) => void;
431
485
  useEmitterValues: <K_1 extends SystemKeys<{
432
486
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
@@ -466,6 +520,7 @@ imagePluginHooks: {
466
520
  initialMarkdown: RealmNode<string>;
467
521
  setMarkdown: RealmNode<string>;
468
522
  markdown: RealmNode<string>;
523
+ markdownSignal: RealmNode<string>;
469
524
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
470
525
  contentEditableClassName: RealmNode<string>;
471
526
  placeholder: RealmNode<ReactNode>;
@@ -495,6 +550,14 @@ imagePluginHooks: {
495
550
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
496
551
  onBlur: RealmNode<FocusEvent>;
497
552
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
553
+ markdownProcessingError: RealmNode<{
554
+ error: string;
555
+ source: string;
556
+ } | null>;
557
+ markdownErrorSignal: RealmNode<{
558
+ error: string;
559
+ source: string;
560
+ }>;
498
561
  }>>(...keys: K_1) => ValuesForKeys<{
499
562
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
500
563
  saveImage: RealmNode<InsertImageFormValues>;
@@ -533,6 +596,7 @@ imagePluginHooks: {
533
596
  initialMarkdown: RealmNode<string>;
534
597
  setMarkdown: RealmNode<string>;
535
598
  markdown: RealmNode<string>;
599
+ markdownSignal: RealmNode<string>;
536
600
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
537
601
  contentEditableClassName: RealmNode<string>;
538
602
  placeholder: RealmNode<ReactNode>;
@@ -562,6 +626,14 @@ imagePluginHooks: {
562
626
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
563
627
  onBlur: RealmNode<FocusEvent>;
564
628
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
629
+ markdownProcessingError: RealmNode<{
630
+ error: string;
631
+ source: string;
632
+ } | null>;
633
+ markdownErrorSignal: RealmNode<{
634
+ error: string;
635
+ source: string;
636
+ }>;
565
637
  }, K_1>;
566
638
  usePubKeys: () => (values: SystemDict<{
567
639
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
@@ -601,6 +673,7 @@ imagePluginHooks: {
601
673
  initialMarkdown: RealmNode<string>;
602
674
  setMarkdown: RealmNode<string>;
603
675
  markdown: RealmNode<string>;
676
+ markdownSignal: RealmNode<string>;
604
677
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
605
678
  contentEditableClassName: RealmNode<string>;
606
679
  placeholder: RealmNode<ReactNode>;
@@ -630,8 +703,16 @@ imagePluginHooks: {
630
703
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
631
704
  onBlur: RealmNode<FocusEvent>;
632
705
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
706
+ markdownProcessingError: RealmNode<{
707
+ error: string;
708
+ source: string;
709
+ } | null>;
710
+ markdownErrorSignal: RealmNode<{
711
+ error: string;
712
+ source: string;
713
+ }>;
633
714
  }>) => void;
634
- 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" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "imageDialogState" | "saveImage" | "openNewImageDialog" | "openEditImageDialog" | "closeImageDialog" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "disableImageResize" | "insertImage" | "imagePreviewHandler">(key: K_2) => (value: ValueForKey<{
715
+ 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" | "markdownSignal" | "editorRootElementRef" | "contentEditableClassName" | "placeholder" | "autoFocus" | "readOnly" | "composerChildren" | "addComposerChild" | "topAreaChildren" | "addTopAreaChild" | "nestedEditorChildren" | "addNestedEditorChild" | "editorWrappers" | "addEditorWrapper" | "currentFormat" | "editorInFocus" | "applyFormat" | "currentBlockType" | "applyBlockType" | "convertSelectionToNode" | "insertDecoratorNode" | "onBlur" | "iconComponentFor" | "markdownProcessingError" | "markdownErrorSignal" | "imageDialogState" | "saveImage" | "openNewImageDialog" | "openEditImageDialog" | "closeImageDialog" | "imageUploadHandler" | "imageAutocompleteSuggestions" | "disableImageResize" | "insertImage" | "imagePreviewHandler">(key: K_2) => (value: ValueForKey<{
635
716
  imageDialogState: RealmNode<InactiveImageDialogState | NewImageDialogState | EditingImageDialogState>;
636
717
  saveImage: RealmNode<InsertImageFormValues>;
637
718
  openNewImageDialog: RealmNode<true>;
@@ -669,6 +750,7 @@ imagePluginHooks: {
669
750
  initialMarkdown: RealmNode<string>;
670
751
  setMarkdown: RealmNode<string>;
671
752
  markdown: RealmNode<string>;
753
+ markdownSignal: RealmNode<string>;
672
754
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
673
755
  contentEditableClassName: RealmNode<string>;
674
756
  placeholder: RealmNode<ReactNode>;
@@ -698,6 +780,14 @@ imagePluginHooks: {
698
780
  insertDecoratorNode: RealmNode<() => DecoratorNode<unknown>>;
699
781
  onBlur: RealmNode<FocusEvent>;
700
782
  iconComponentFor: RealmNode<(name: IconKey) => ReactNode>;
783
+ markdownProcessingError: RealmNode<{
784
+ error: string;
785
+ source: string;
786
+ } | null>;
787
+ markdownErrorSignal: RealmNode<{
788
+ error: string;
789
+ source: string;
790
+ }>;
701
791
  }, K_2>) => void;
702
792
  };
703
793
  /** @internal */
@@ -1,9 +1,21 @@
1
1
  import { $isLexicalJsxNode } from "./LexicalJsxNode.js";
2
+ import { isMdastJsxNode } from "./index.js";
2
3
  const LexicalJsxVisitor = {
3
4
  testLexicalNode: $isLexicalJsxNode,
4
5
  visitLexicalNode({ actions, mdastParent, lexicalNode }) {
6
+ function traverseNestedJsxNodes(node) {
7
+ if ("children" in node && node.children instanceof Array) {
8
+ node.children.forEach((child) => {
9
+ if (isMdastJsxNode(child)) {
10
+ actions.registerReferredComponent(child.name);
11
+ }
12
+ traverseNestedJsxNodes(child);
13
+ });
14
+ }
15
+ }
5
16
  const mdastNode = lexicalNode.getMdastNode();
6
17
  actions.registerReferredComponent(mdastNode.name);
18
+ traverseNestedJsxNodes(mdastNode);
7
19
  actions.appendToParent(mdastParent, mdastNode);
8
20
  }
9
21
  };