@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.
- package/dist/MDXEditor.d.ts +4 -0
- package/dist/MDXEditor.js +11 -10
- package/dist/plugins/codeblock/index.d.ts +13 -3
- package/dist/plugins/codemirror/index.d.ts +17 -3
- package/dist/plugins/core/NestedLexicalEditor.d.ts +1 -1
- package/dist/plugins/core/NestedLexicalEditor.js +4 -4
- package/dist/plugins/core/SharedHistoryPlugin.js +1 -1
- package/dist/plugins/core/index.d.ts +12 -3
- package/dist/plugins/core/index.js +4 -1
- package/dist/plugins/diff-source/index.d.ts +13 -3
- package/dist/plugins/directives/index.d.ts +13 -3
- package/dist/plugins/frontmatter/index.d.ts +13 -3
- package/dist/plugins/headings/index.d.ts +3 -1
- package/dist/plugins/image/ImageEditor.js +2 -2
- package/dist/plugins/image/index.d.ts +13 -3
- package/dist/plugins/jsx/index.d.ts +12 -2
- package/dist/plugins/link/AutoLinkPlugin.d.ts +9 -0
- package/dist/plugins/link/AutoLinkPlugin.js +18 -0
- package/dist/plugins/link/index.d.ts +21 -4
- package/dist/plugins/link/index.js +16 -5
- package/dist/plugins/link-dialog/index.d.ts +11 -3
- package/dist/plugins/link-dialog/index.js +1 -0
- package/dist/plugins/lists/index.d.ts +13 -3
- package/dist/plugins/lists/index.js +2 -2
- package/dist/plugins/markdown-shortcut/index.d.ts +1 -0
- package/dist/plugins/markdown-shortcut/index.js +1 -1
- package/dist/plugins/quote/index.d.ts +10 -3
- package/dist/plugins/sandpack/index.d.ts +16 -2
- package/dist/plugins/table/TableEditor.js +5 -5
- package/dist/plugins/table/index.d.ts +13 -3
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.d.ts +1 -1
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.js +1 -1
- package/dist/plugins/thematic-break/MdastThematicBreakVisitor.js +1 -1
- package/dist/plugins/thematic-break/index.d.ts +13 -3
- package/dist/plugins/thematic-break/index.js +2 -2
- package/dist/plugins/toolbar/index.d.ts +10 -2
- package/dist/style.css +184 -165
- package/dist/styles/ui.module.css.js +90 -84
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RefObject,
|
|
1
|
+
import type { RefObject, ReactNode, ComponentType } from 'react';
|
|
2
2
|
import type { Options } from 'mdast-util-to-markdown';
|
|
3
3
|
import type { Config } from 'mdast-util-from-markdown/lib';
|
|
4
4
|
import type { Extension } from 'micromark-util-types';
|
|
@@ -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,
|
|
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,
|
|
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,
|
|
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
|
-
}>], (
|
|
67
|
-
|
|
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 {
|
|
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:
|
|
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 {
|