@prosekit/extensions 0.0.0-next-20240724155246 → 0.0.0-next-20240724172520

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.
@@ -1,6 +1,7 @@
1
- import { AddMarkOptions } from '@prosekit/core';
2
- import { Attrs } from 'prosemirror-model';
3
- import { Attrs as Attrs_2 } from '@prosekit/pm/model';
1
+ import { Attrs } from '@prosekit/pm/model';
2
+ import { Attrs as Attrs_2 } from 'prosemirror-model';
3
+ import { BaseCommandsExtension } from '@prosekit/core';
4
+ import { BaseKeymapExtension } from '@prosekit/core';
4
5
  import { BundledLanguage } from 'shiki';
5
6
  import { BundledLanguageInfo } from 'shiki';
6
7
  import { bundledLanguagesInfo } from 'shiki';
@@ -10,6 +11,7 @@ import { bundledThemesInfo } from 'shiki';
10
11
  import { Command } from '@prosekit/pm/state';
11
12
  import { DedentListOptions } from 'prosemirror-flat-list';
12
13
  import { config as default_alias_1 } from '@prosekit/dev/config-vitest';
14
+ import { DocExtension } from '@prosekit/core';
13
15
  import { EditorState } from '@prosekit/pm/state';
14
16
  import { Extension } from '@prosekit/core';
15
17
  import { ExtensionTyping } from '@prosekit/core';
@@ -18,11 +20,11 @@ import { ExtractNodeActions } from '@prosekit/core';
18
20
  import { GapCursor } from 'prosemirror-gapcursor';
19
21
  import { getSingletonHighlighter } from 'shiki/bundle/full';
20
22
  import type { Highlighter } from 'shiki';
23
+ import { HistoryExtension } from '@prosekit/core';
21
24
  import { IndentListOptions } from 'prosemirror-flat-list';
22
25
  import { InputRule } from '@prosekit/pm/inputrules';
23
- import { InsertNodeOptions } from '@prosekit/core';
24
26
  import type { IsEqual } from 'type-fest';
25
- import { ListAttributes } from 'prosemirror-flat-list';
27
+ import type { ListAttributes } from 'prosemirror-flat-list';
26
28
  import { ListDOMSerializer } from 'prosemirror-flat-list';
27
29
  import { MarkType } from '@prosekit/pm/model';
28
30
  import { Node as Node_2 } from 'prosemirror-model';
@@ -33,25 +35,20 @@ import { NodeType } from '@prosekit/pm/model';
33
35
  import { Options } from 'tsup';
34
36
  import { Parser } from 'prosemirror-highlight';
35
37
  import { Plugin as Plugin_2 } from '@prosekit/pm/state';
38
+ import { PluginExtension } from '@prosekit/core';
36
39
  import { PluginKey } from '@prosekit/pm/state';
37
40
  import { ProseMirrorNode } from '@prosekit/pm/model';
38
- import { RemoveMarkOptions } from '@prosekit/core';
39
- import { RemoveNodeOptions } from '@prosekit/core';
40
- import { SetBlockTypeOptions } from '@prosekit/core';
41
- import { SetNodeAttrsOptions } from '@prosekit/core';
42
41
  import { SimplifyDeeper } from '@prosekit/core';
43
42
  import type { SpecialLanguage } from 'shiki';
44
43
  import { StepJSON } from '@prosekit/core';
45
44
  import { TestEditor } from '@prosekit/core/test';
45
+ import { TextExtension } from '@prosekit/core';
46
46
  import { ToggleCollapsedOptions } from 'prosemirror-flat-list';
47
47
  import { ToMarkAction } from '@prosekit/core';
48
48
  import { Transaction } from '@prosekit/pm/state';
49
- import { UnionExtension } from '@prosekit/core';
50
- import { UnsetBlockTypeOptions } from '@prosekit/core';
51
- import { UnsetMarkOptions } from '@prosekit/core';
49
+ import { Union } from '@prosekit/core';
52
50
  import { UnwrapListOptions } from 'prosemirror-flat-list';
53
51
  import { WrapInListGetAttrs } from 'prosemirror-flat-list';
54
- import { WrapOptions } from '@prosekit/core';
55
52
 
56
53
  export declare function applyMarkRules(rules: MarkRuleOptions[], transactions: readonly Transaction[], oldState: EditorState, newState: EditorState): Transaction | null;
57
54
 
@@ -79,6 +76,43 @@ declare class AutocompleteRule {
79
76
  export { AutocompleteRule }
80
77
  export { AutocompleteRule as AutocompleteRule_alias_1 }
81
78
 
79
+ /**
80
+ * @internal
81
+ */
82
+ export declare type BlockquoteExtension = Union<[BlockquoteSpecExtension]>;
83
+
84
+ /**
85
+ * @internal
86
+ */
87
+ export declare type BlockquoteSpecExtension = Extension<{
88
+ Nodes: {
89
+ blockquote: Attrs;
90
+ };
91
+ }>;
92
+
93
+ /**
94
+ * @internal
95
+ */
96
+ export declare type BoldCommandsExtension = Extension<{
97
+ Commands: {
98
+ toggleBold: [];
99
+ };
100
+ }>;
101
+
102
+ /**
103
+ * @internal
104
+ */
105
+ export declare type BoldExtension = Union<[BoldSpecExtension, BoldCommandsExtension]>;
106
+
107
+ /**
108
+ * @internal
109
+ */
110
+ export declare type BoldSpecExtension = Extension<{
111
+ Marks: {
112
+ bold: Attrs;
113
+ };
114
+ }>;
115
+
82
116
  export { BundledLanguage as ShikiBundledLanguage }
83
117
  export { BundledLanguage as ShikiBundledLanguage_alias_1 }
84
118
 
@@ -97,6 +131,9 @@ export { BundledThemeInfo as ShikiBundledThemeInfo_alias_1 }
97
131
  export { bundledThemesInfo as shikiBundledThemesInfo }
98
132
  export { bundledThemesInfo as shikiBundledThemesInfo_alias_1 }
99
133
 
134
+ /**
135
+ * @public
136
+ */
100
137
  export declare interface CellAttrs {
101
138
  colspan: number;
102
139
  rowspan: number;
@@ -139,6 +176,29 @@ export declare interface CodeBlockShikiOptions {
139
176
  langAlias?: Record<string, BundledLanguage>;
140
177
  }
141
178
 
179
+ /**
180
+ * @internal
181
+ */
182
+ export declare type CodeCommandsExtension = Extension<{
183
+ Commands: {
184
+ toggleCode: [];
185
+ };
186
+ }>;
187
+
188
+ /**
189
+ * @internal
190
+ */
191
+ export declare type CodeExtension = Union<[CodeSpecExtension, CodeCommandsExtension]>;
192
+
193
+ /**
194
+ * @internal
195
+ */
196
+ export declare type CodeSpecExtension = Extension<{
197
+ Marks: {
198
+ code: Attrs;
199
+ };
200
+ }>;
201
+
142
202
  /**
143
203
  * A JSON representation of a commit.
144
204
  */
@@ -206,13 +266,7 @@ export declare function defineAutocomplete(rule: AutocompleteRule): Extension;
206
266
  /**
207
267
  * @public
208
268
  */
209
- export declare function defineBlockquote(): UnionExtension<readonly [Extension< {
210
- Nodes: {
211
- blockquote: Attrs;
212
- };
213
- Marks: never;
214
- Commands: never;
215
- }>, Extension<ExtensionTyping<any, any, any>>]>;
269
+ export declare function defineBlockquote(): BlockquoteExtension;
216
270
 
217
271
  /**
218
272
  * Wraps the text block in a blockquote when `>` is typed at the start of a new
@@ -220,67 +274,41 @@ Commands: never;
220
274
  */
221
275
  export declare function defineBlockquoteInputRule(): Extension<ExtensionTyping<any, any, any>>;
222
276
 
223
- export declare function defineBlockquoteSpec(): Extension< {
224
- Nodes: {
225
- blockquote: Attrs;
226
- };
227
- Marks: never;
228
- Commands: never;
277
+ export declare function defineBlockquoteSpec(): Extension<{
278
+ Nodes: {
279
+ blockquote: Attrs;
280
+ };
229
281
  }>;
230
282
 
231
283
  /**
232
284
  * @public
233
285
  */
234
- export declare function defineBold(): UnionExtension<readonly [Extension< {
235
- Marks: {
236
- bold: Attrs;
237
- };
238
- Nodes: never;
239
- Commands: never;
240
- }>, Extension< {
241
- Commands: {
242
- toggleBold: [];
243
- };
244
- Nodes: never;
245
- Marks: never;
246
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
286
+ export declare function defineBold(): BoldExtension;
247
287
 
248
- export declare function defineBoldCommands(): Extension< {
249
- Commands: {
250
- toggleBold: [];
251
- };
252
- Nodes: never;
253
- Marks: never;
254
- }>;
288
+ /**
289
+ * @internal
290
+ */
291
+ export declare function defineBoldCommands(): BoldCommandsExtension;
255
292
 
293
+ /**
294
+ * @internal
295
+ */
256
296
  export declare function defineBoldInputRule(): Extension<ExtensionTyping<any, any, any>>;
257
297
 
298
+ /**
299
+ * @internal
300
+ */
258
301
  export declare function defineBoldKeymap(): Extension<ExtensionTyping<any, any, any>>;
259
302
 
260
- export declare function defineBoldSpec(): Extension< {
261
- Marks: {
262
- bold: Attrs;
263
- };
264
- Nodes: never;
265
- Commands: never;
266
- }>;
303
+ /**
304
+ * @internal
305
+ */
306
+ export declare function defineBoldSpec(): BoldSpecExtension;
267
307
 
268
308
  /**
269
309
  * @public
270
310
  */
271
- export declare function defineCode(): UnionExtension<readonly [Extension< {
272
- Marks: {
273
- code: Attrs;
274
- };
275
- Nodes: never;
276
- Commands: never;
277
- }>, Extension< {
278
- Commands: {
279
- toggleCode: [];
280
- };
281
- Nodes: never;
282
- Marks: never;
283
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
311
+ export declare function defineCode(): CodeExtension;
284
312
 
285
313
  /**
286
314
  * Adds `codeBlock` nodes to the editor. This includes the following extensions:
@@ -293,14 +321,12 @@ Marks: never;
293
321
  *
294
322
  * @public
295
323
  */
296
- declare function defineCodeBlock(): UnionExtension<readonly [Extension< {
324
+ declare function defineCodeBlock(): Union<readonly [Extension< {
297
325
  Nodes: {
298
326
  codeBlock: {
299
327
  language: string;
300
328
  };
301
329
  };
302
- Marks: never;
303
- Commands: never;
304
330
  }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension< {
305
331
  Commands: {
306
332
  setCodeBlock: [attrs?: CodeBlockAttrs | undefined];
@@ -308,8 +334,6 @@ insertCodeBlock: [attrs?: CodeBlockAttrs | undefined];
308
334
  toggleCodeBlock: [attrs?: CodeBlockAttrs | undefined];
309
335
  setCodeBlockAttrs: [attrs: CodeBlockAttrs];
310
336
  };
311
- Nodes: never;
312
- Marks: never;
313
337
  }>]>;
314
338
  export { defineCodeBlock }
315
339
  export { defineCodeBlock as defineCodeBlock_alias_1 }
@@ -326,8 +350,6 @@ insertCodeBlock: [attrs?: CodeBlockAttrs | undefined];
326
350
  toggleCodeBlock: [attrs?: CodeBlockAttrs | undefined];
327
351
  setCodeBlockAttrs: [attrs: CodeBlockAttrs];
328
352
  };
329
- Nodes: never;
330
- Marks: never;
331
353
  }>;
332
354
  export { defineCodeBlockCommands }
333
355
  export { defineCodeBlockCommands as defineCodeBlockCommands_alias_1 }
@@ -389,44 +411,39 @@ codeBlock: {
389
411
  language: string;
390
412
  };
391
413
  };
392
- Marks: never;
393
- Commands: never;
394
414
  }>;
395
415
  export { defineCodeBlockSpec }
396
416
  export { defineCodeBlockSpec as defineCodeBlockSpec_alias_1 }
397
417
 
398
- export declare function defineCodeCommands(): Extension< {
399
- Commands: {
400
- toggleCode: [];
401
- };
402
- Nodes: never;
403
- Marks: never;
404
- }>;
418
+ /**
419
+ * @internal
420
+ */
421
+ export declare function defineCodeCommands(): CodeCommandsExtension;
405
422
 
423
+ /**
424
+ * @internal
425
+ */
406
426
  export declare function defineCodeInputRule(): Extension<ExtensionTyping<any, any, any>>;
407
427
 
428
+ /**
429
+ * @internal
430
+ */
408
431
  export declare function defineCodeKeymap(): Extension<ExtensionTyping<any, any, any>>;
409
432
 
410
433
  /**
411
- * @public
434
+ * @internal
412
435
  */
413
- export declare function defineCodeSpec(): Extension< {
414
- Marks: {
415
- code: Attrs;
416
- };
417
- Nodes: never;
418
- Commands: never;
419
- }>;
436
+ export declare function defineCodeSpec(): CodeSpecExtension;
420
437
 
421
438
  /**
422
439
  * Define an extension that can record the changes in the editor.
423
440
  */
424
- export declare function defineCommitRecorder(commitRecorder: CommitRecorder): Extension<ExtensionTyping<any, any, any>>;
441
+ export declare function defineCommitRecorder(commitRecorder: CommitRecorder): PluginExtension;
425
442
 
426
443
  /**
427
444
  * Define an extension to display the changes from the given commit in the editor.
428
445
  */
429
- export declare function defineCommitViewer(commit: Commit): UnionExtension<readonly [Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
446
+ export declare function defineCommitViewer(commit: Commit): Union<readonly [Extension<ExtensionTyping<any, any, any>>, PluginExtension]>;
430
447
 
431
448
  /**
432
449
  * Show up a decoration at the drop position when something is dragged over the editor.
@@ -435,7 +452,7 @@ export declare function defineCommitViewer(commit: Commit): UnionExtension<reado
435
452
  *
436
453
  * @public
437
454
  */
438
- export declare function defineDropCursor(options?: DropCursorOptions): Extension<ExtensionTyping<any, any, any>>;
455
+ export declare function defineDropCursor(options?: DropCursorOptions): DropCursorExtension;
439
456
 
440
457
  /**
441
458
  * Defines an enter rule. An enter rule applies when the text directly in front of
@@ -460,101 +477,58 @@ export declare function defineEnterRule({ regex, handler, stop, }: EnterRuleOpti
460
477
  *
461
478
  * @public
462
479
  */
463
- export declare function defineGapCursor(): Extension<ExtensionTyping<any, any, any>>;
480
+ export declare function defineGapCursor(): PluginExtension;
464
481
 
465
482
  /**
466
483
  * @public
467
484
  */
468
- export declare function defineHeading(): UnionExtension<readonly [Extension< {
469
- Nodes: {
470
- heading: {
471
- level: number;
472
- };
473
- };
474
- Marks: never;
475
- Commands: never;
476
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension< {
477
- Commands: {
478
- setHeading: [attrs?: HeadingAttrs | undefined];
479
- insertHeading: [attrs?: HeadingAttrs | undefined];
480
- toggleHeading: [attrs?: HeadingAttrs | undefined];
481
- };
482
- Nodes: never;
483
- Marks: never;
484
- }>]>;
485
+ export declare function defineHeading(): HeadingExtension;
485
486
 
486
- declare function defineHeadingCommands(): Extension< {
487
- Commands: {
488
- setHeading: [attrs?: HeadingAttrs | undefined];
489
- insertHeading: [attrs?: HeadingAttrs | undefined];
490
- toggleHeading: [attrs?: HeadingAttrs | undefined];
491
- };
492
- Nodes: never;
493
- Marks: never;
494
- }>;
487
+ /**
488
+ * @internal
489
+ */
490
+ declare function defineHeadingCommands(): HeadingCommandsExtension;
495
491
  export { defineHeadingCommands }
496
492
  export { defineHeadingCommands as defineHeadingCommands_alias_1 }
497
493
 
498
494
  /**
499
495
  * Converts the text block to a heading when `#` is typed at the start of a new
500
496
  * line followed by a space.
497
+ *
498
+ * @internal
501
499
  */
502
500
  declare function defineHeadingInputRule(): Extension<ExtensionTyping<any, any, any>>;
503
501
  export { defineHeadingInputRule }
504
502
  export { defineHeadingInputRule as defineHeadingInputRule_alias_1 }
505
503
 
504
+ /**
505
+ * @internal
506
+ */
506
507
  declare function defineHeadingKeymap(): Extension<ExtensionTyping<any, any, any>>;
507
508
  export { defineHeadingKeymap }
508
509
  export { defineHeadingKeymap as defineHeadingKeymap_alias_1 }
509
510
 
510
- declare function defineHeadingSpec(): Extension< {
511
- Nodes: {
512
- heading: {
513
- level: number;
514
- };
515
- };
516
- Marks: never;
517
- Commands: never;
518
- }>;
511
+ /**
512
+ * @internal
513
+ */
514
+ declare function defineHeadingSpec(): HeadingSpecExtension;
519
515
  export { defineHeadingSpec }
520
516
  export { defineHeadingSpec as defineHeadingSpec_alias_1 }
521
517
 
522
518
  /**
523
519
  * @public
524
520
  */
525
- export declare function defineImage(): UnionExtension<readonly [Extension< {
526
- Nodes: {
527
- image: {
528
- src: null;
529
- };
530
- };
531
- Marks: never;
532
- Commands: never;
533
- }>, Extension< {
534
- Commands: {
535
- insertImage: [attrs?: ImageAttrs | undefined];
536
- };
537
- Nodes: never;
538
- Marks: never;
539
- }>]>;
521
+ export declare function defineImage(): ImageExtension;
540
522
 
541
- export declare function defineImageCommands(): Extension< {
542
- Commands: {
543
- insertImage: [attrs?: ImageAttrs | undefined];
544
- };
545
- Nodes: never;
546
- Marks: never;
547
- }>;
523
+ /**
524
+ * @internal
525
+ */
526
+ export declare function defineImageCommands(): ImageCommandsExtension;
548
527
 
549
- export declare function defineImageSpec(): Extension< {
550
- Nodes: {
551
- image: {
552
- src: null;
553
- };
554
- };
555
- Marks: never;
556
- Commands: never;
557
- }>;
528
+ /**
529
+ * @internal
530
+ */
531
+ export declare function defineImageSpec(): ImageSpecExtension;
558
532
 
559
533
  /**
560
534
  * Defines an input rule extension.
@@ -568,139 +542,72 @@ export declare function defineInputRule(rule: InputRule): Extension;
568
542
  /**
569
543
  * @public
570
544
  */
571
- export declare function defineItalic(): UnionExtension<readonly [Extension< {
572
- Marks: {
573
- italic: Attrs;
574
- };
575
- Nodes: never;
576
- Commands: never;
577
- }>, Extension< {
578
- Commands: {
579
- toggleItalic: [];
580
- };
581
- Nodes: never;
582
- Marks: never;
583
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
545
+ export declare function defineItalic(): ItalicExtension;
584
546
 
585
- export declare function defineItalicCommands(): Extension< {
586
- Commands: {
587
- toggleItalic: [];
588
- };
589
- Nodes: never;
590
- Marks: never;
591
- }>;
547
+ /**
548
+ * @internal
549
+ */
550
+ export declare function defineItalicCommands(): ItalicCommandsExtension;
592
551
 
552
+ /**
553
+ * @internal
554
+ */
593
555
  export declare function defineItalicInputRule(): Extension<ExtensionTyping<any, any, any>>;
594
556
 
557
+ /**
558
+ * @internal
559
+ */
595
560
  export declare function defineItalicKeymap(): Extension<ExtensionTyping<any, any, any>>;
596
561
 
597
- export declare function defineItalicSpec(): Extension< {
598
- Marks: {
599
- italic: Attrs;
600
- };
601
- Nodes: never;
602
- Commands: never;
603
- }>;
562
+ /**
563
+ * @internal
564
+ */
565
+ export declare function defineItalicSpec(): ItalicSpecExtension;
604
566
 
605
567
  /**
606
568
  * @public
607
569
  */
608
- export declare function defineLink(): UnionExtension<readonly [Extension< {
609
- Marks: {
610
- link: LinkAttrs;
611
- };
612
- Nodes: never;
613
- Commands: never;
614
- }>, Extension< {
615
- Commands: {
616
- addLink: [attrs: LinkAttrs];
617
- removeLink: [];
618
- toggleLink: [attrs: LinkAttrs];
619
- expandLink: [];
620
- };
621
- Nodes: never;
622
- Marks: never;
623
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
570
+ export declare function defineLink(): LinkExtension;
624
571
 
625
- export declare function defineLinkCommands(): Extension< {
626
- Commands: {
627
- addLink: [attrs: LinkAttrs];
628
- removeLink: [];
629
- toggleLink: [attrs: LinkAttrs];
630
- expandLink: [];
631
- };
632
- Nodes: never;
633
- Marks: never;
634
- }>;
572
+ export declare function defineLinkCommands(): LinkCommandsExtension;
635
573
 
636
574
  /**
637
575
  * Apply link marks after typing Enter.
576
+ *
577
+ * @internal
638
578
  */
639
579
  export declare function defineLinkEnterRule(): Extension<ExtensionTyping<any, any, any>>;
640
580
 
641
581
  /**
642
582
  * Apply link marks after pressing Space.
583
+ *
584
+ * @internal
643
585
  */
644
586
  export declare function defineLinkInputRule(): Extension<ExtensionTyping<any, any, any>>;
645
587
 
646
588
  /**
647
589
  * Apply and remove link marks to the text during typing.
590
+ *
591
+ * @internal
648
592
  */
649
593
  export declare function defineLinkMarkRule(): Extension<ExtensionTyping<any, any, any>>;
650
594
 
651
- export declare function defineLinkSpec(): Extension< {
652
- Marks: {
653
- link: LinkAttrs;
654
- };
655
- Nodes: never;
656
- Commands: never;
657
- }>;
595
+ /**
596
+ * @internal
597
+ */
598
+ export declare function defineLinkSpec(): LinkSpecExtension;
658
599
 
659
600
  /**
660
601
  * @public
661
602
  */
662
- export declare function defineList(): UnionExtension<readonly [Extension< {
663
- Nodes: {
664
- list: ListAttrs;
665
- };
666
- Marks: never;
667
- Commands: never;
668
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension< {
669
- Commands: {
670
- dedentList: [options?: DedentListOptions | undefined];
671
- indentList: [options?: IndentListOptions | undefined];
672
- moveList: [direction: "up" | "down"];
673
- splitList: [];
674
- toggleCollapsed: [(ToggleCollapsedOptions | undefined)?];
675
- toggleList: [attrs: ListAttributes];
676
- unwrapList: [options?: UnwrapListOptions | undefined];
677
- wrapInList: [getAttrs: WrapInListGetAttrs<ListAttributes>];
678
- insertList: [attrs?: ListAttributes | undefined];
679
- };
680
- Nodes: never;
681
- Marks: never;
682
- }>]>;
603
+ export declare function defineList(): ListExtension;
683
604
 
684
605
  /**
685
606
  * Defines list commands.
686
607
  *
687
608
  * @internal
688
609
  */
689
- declare function defineListCommands(): Extension< {
690
- Commands: {
691
- dedentList: [options?: DedentListOptions | undefined];
692
- indentList: [options?: IndentListOptions | undefined];
693
- moveList: [direction: "up" | "down"];
694
- splitList: [];
695
- toggleCollapsed: [(ToggleCollapsedOptions | undefined)?];
696
- toggleList: [attrs: ListAttributes];
697
- unwrapList: [options?: UnwrapListOptions | undefined];
698
- wrapInList: [getAttrs: WrapInListGetAttrs<ListAttributes>];
699
- insertList: [attrs?: ListAttributes | undefined];
700
- };
701
- Nodes: never;
702
- Marks: never;
703
- }>;
610
+ declare function defineListCommands(): ListCommandsExtension;
704
611
  export { defineListCommands }
705
612
  export { defineListCommands as defineListCommands_alias_1 }
706
613
 
@@ -723,20 +630,14 @@ export { defineListKeymap as defineListKeymap_alias_1 }
723
630
  /**
724
631
  * @internal
725
632
  */
726
- declare function defineListPlugins(): Extension<ExtensionTyping<any, any, any>>;
633
+ declare function defineListPlugins(): PluginExtension;
727
634
  export { defineListPlugins }
728
635
  export { defineListPlugins as defineListPlugins_alias_1 }
729
636
 
730
637
  /**
731
638
  * @internal
732
639
  */
733
- declare function defineListSpec(): Extension< {
734
- Nodes: {
735
- list: ListAttrs;
736
- };
737
- Marks: never;
738
- Commands: never;
739
- }>;
640
+ declare function defineListSpec(): ListSpecExtension;
740
641
  export { defineListSpec }
741
642
  export { defineListSpec as defineListSpec_alias_1 }
742
643
 
@@ -759,26 +660,20 @@ export { defineMarkRule as defineMarkRule_alias_1 }
759
660
  /**
760
661
  * @public
761
662
  */
762
- export declare function defineMention(): UnionExtension<readonly [Extension< {
663
+ export declare function defineMention(): Union<readonly [Extension< {
763
664
  Nodes: {
764
665
  mention: MentionAttrs;
765
666
  };
766
- Marks: never;
767
- Commands: never;
768
667
  }>, Extension< {
769
668
  Commands: {
770
669
  insertMention: [attrs: MentionAttrs];
771
670
  };
772
- Nodes: never;
773
- Marks: never;
774
671
  }>]>;
775
672
 
776
673
  export declare function defineMentionCommands(): Extension< {
777
674
  Commands: {
778
675
  insertMention: [attrs: MentionAttrs];
779
676
  };
780
- Nodes: never;
781
- Marks: never;
782
677
  }>;
783
678
 
784
679
  /**
@@ -788,8 +683,6 @@ export declare function defineMentionSpec(): Extension< {
788
683
  Nodes: {
789
684
  mention: MentionAttrs;
790
685
  };
791
- Marks: never;
792
- Commands: never;
793
686
  }>;
794
687
 
795
688
  /**
@@ -798,18 +691,18 @@ Commands: never;
798
691
  *
799
692
  * @public
800
693
  */
801
- export declare function defineModClickPrevention(): Extension;
694
+ export declare function defineModClickPrevention(): ModClickPreventionExtension;
802
695
 
803
696
  /**
804
697
  * Add a placeholder text to the editor when the current block or document is
805
698
  * empty.
806
699
  */
807
- export declare function definePlaceholder(options: PlaceholderOptions): Extension<ExtensionTyping<any, any, any>>;
700
+ export declare function definePlaceholder(options: PlaceholderOptions): PluginExtension;
808
701
 
809
702
  /**
810
703
  * Make the editor read-only.
811
704
  */
812
- export declare function defineReadonly(): Extension<ExtensionTyping<any, any, any>>;
705
+ export declare function defineReadonly(): PluginExtension;
813
706
 
814
707
  /**
815
708
  * Defines commands for search and replace.
@@ -827,8 +720,6 @@ replaceNextNoWrap: [];
827
720
  replaceCurrent: [];
828
721
  replaceAll: [];
829
722
  };
830
- Nodes: never;
831
- Marks: never;
832
723
  }>;
833
724
 
834
725
  /**
@@ -836,98 +727,46 @@ Marks: never;
836
727
  *
837
728
  * @public
838
729
  */
839
- export declare function defineSearchQuery(options: SearchQueryOptions): Extension<ExtensionTyping<any, any, any>>;
730
+ export declare function defineSearchQuery(options: SearchQueryOptions): PluginExtension;
840
731
 
841
732
  /**
842
733
  * @public
843
734
  */
844
- export declare function defineStrike(): UnionExtension<readonly [Extension< {
845
- Marks: {
846
- strike: Attrs;
847
- };
848
- Nodes: never;
849
- Commands: never;
850
- }>, Extension< {
851
- Commands: {
852
- toggleStrike: [];
853
- };
854
- Nodes: never;
855
- Marks: never;
856
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>;
735
+ export declare function defineStrike(): StrikeExtension;
857
736
 
858
- export declare function defineStrikeCommands(): Extension< {
859
- Commands: {
860
- toggleStrike: [];
861
- };
862
- Nodes: never;
863
- Marks: never;
864
- }>;
737
+ /**
738
+ * @internal
739
+ */
740
+ export declare function defineStrikeCommands(): StrikeCommandsExtension;
865
741
 
742
+ /**
743
+ * @internal
744
+ */
866
745
  export declare function defineStrikeInputRule(): Extension<ExtensionTyping<any, any, any>>;
867
746
 
747
+ /**
748
+ * @internal
749
+ */
868
750
  export declare function defineStrikeKeymap(): Extension<ExtensionTyping<any, any, any>>;
869
751
 
870
- export declare function defineStrikeSpec(): Extension< {
871
- Marks: {
872
- strike: Attrs;
873
- };
874
- Nodes: never;
875
- Commands: never;
752
+ /**
753
+ * @internal
754
+ */
755
+ export declare function defineStrikeSpec(): Extension<{
756
+ Marks: {
757
+ strike: Attrs;
758
+ };
876
759
  }>;
877
760
 
878
761
  /**
879
762
  * @public
880
763
  */
881
- export declare function defineTable(): UnionExtension<readonly [Extension< {
882
- Nodes: {
883
- table: Attrs;
884
- };
885
- Marks: never;
886
- Commands: never;
887
- }>, Extension< {
888
- Nodes: {
889
- tableRow: Attrs;
890
- };
891
- Marks: never;
892
- Commands: never;
893
- }>, Extension< {
894
- Nodes: {
895
- tableCell: {
896
- [x: string]: any;
897
- };
898
- };
899
- Marks: never;
900
- Commands: never;
901
- }>, Extension< {
902
- Nodes: {
903
- tableHeaderCell: {
904
- [x: string]: any;
905
- };
906
- };
907
- Marks: never;
908
- Commands: never;
909
- }>, Extension<ExtensionTyping<any, any, any>>, Extension< {
910
- Commands: {
911
- insertTable: [{
912
- row: number;
913
- col: number;
914
- header: boolean;
915
- }];
916
- exitTable: [];
917
- };
918
- Nodes: never;
919
- Marks: never;
920
- }>]>;
764
+ export declare function defineTable(): TableExtension;
921
765
 
922
- declare function defineTableCellSpec(): Extension< {
923
- Nodes: {
924
- tableCell: {
925
- [x: string]: any;
926
- };
927
- };
928
- Marks: never;
929
- Commands: never;
930
- }>;
766
+ /**
767
+ * @internal
768
+ */
769
+ declare function defineTableCellSpec(): TableCellSpecExtension;
931
770
  export { defineTableCellSpec }
932
771
  export { defineTableCellSpec as defineTableCellSpec_alias_1 }
933
772
 
@@ -936,279 +775,43 @@ export { defineTableCellSpec as defineTableCellSpec_alias_1 }
936
775
  *
937
776
  * @public
938
777
  */
939
- declare function defineTableCommands(): Extension< {
940
- Commands: {
941
- insertTable: [{
942
- row: number;
943
- col: number;
944
- header: boolean;
945
- }];
946
- exitTable: [];
947
- };
948
- Nodes: never;
949
- Marks: never;
950
- }>;
778
+ declare function defineTableCommands(): TableCommandsExtension;
951
779
  export { defineTableCommands }
952
780
  export { defineTableCommands as defineTableCommands_alias_1 }
953
781
 
954
- declare function defineTableHeaderCellSpec(): Extension< {
955
- Nodes: {
956
- tableHeaderCell: {
957
- [x: string]: any;
958
- };
959
- };
960
- Marks: never;
961
- Commands: never;
962
- }>;
782
+ declare function defineTableHeaderCellSpec(): TableHeaderCellSpecExtension;
963
783
  export { defineTableHeaderCellSpec }
964
784
  export { defineTableHeaderCellSpec as defineTableHeaderCellSpec_alias_1 }
965
785
 
966
786
  /**
967
787
  * @public
968
788
  */
969
- declare function defineTablePlugins(): Extension<ExtensionTyping<any, any, any>>;
789
+ declare function defineTablePlugins(): PluginExtension;
970
790
  export { defineTablePlugins }
971
791
  export { defineTablePlugins as defineTablePlugins_alias_1 }
972
792
 
973
- declare function defineTableRowSpec(): Extension< {
974
- Nodes: {
975
- tableRow: Attrs_2;
976
- };
977
- Marks: never;
978
- Commands: never;
979
- }>;
793
+ /**
794
+ * @internal
795
+ */
796
+ declare function defineTableRowSpec(): TableRowSpecExtension;
980
797
  export { defineTableRowSpec }
981
798
  export { defineTableRowSpec as defineTableRowSpec_alias_1 }
982
799
 
983
- declare function defineTableSpec(): Extension< {
984
- Nodes: {
985
- table: Attrs_2;
986
- };
987
- Marks: never;
988
- Commands: never;
989
- }>;
800
+ /**
801
+ * @internal
802
+ */
803
+ declare function defineTableSpec(): TableSpecExtension;
990
804
  export { defineTableSpec }
991
805
  export { defineTableSpec as defineTableSpec_alias_1 }
992
806
 
993
807
  /**
994
808
  * @internal
995
809
  */
996
- export declare function defineTestExtension(): UnionExtension<readonly [Extension<{
810
+ export declare function defineTestExtension(): Union<readonly [DocExtension, TextExtension, HeadingExtension, HistoryExtension, ListExtension, BlockquoteExtension, BaseKeymapExtension, BaseCommandsExtension, ItalicExtension, BoldExtension, UnderlineExtension, StrikeExtension, CodeExtension, LinkExtension, ImageExtension, Extension<{
997
811
  Nodes: {
998
- doc: Attrs;
812
+ paragraph: Attrs_2;
999
813
  };
1000
- Marks: never;
1001
- Commands: never;
1002
- }>, Extension<{
1003
- Nodes: {
1004
- text: Attrs;
1005
- };
1006
- Marks: never;
1007
- Commands: never;
1008
- }>, UnionExtension<readonly [Extension<{
1009
- Nodes: {
1010
- heading: {
1011
- level: number;
1012
- };
1013
- };
1014
- Marks: never;
1015
- Commands: never;
1016
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1017
- Commands: {
1018
- setHeading: [attrs?: HeadingAttrs | undefined];
1019
- insertHeading: [attrs?: HeadingAttrs | undefined];
1020
- toggleHeading: [attrs?: HeadingAttrs | undefined];
1021
- };
1022
- Nodes: never;
1023
- Marks: never;
1024
- }>]>, UnionExtension<readonly [Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1025
- Commands: {
1026
- readonly undo: [];
1027
- readonly redo: [];
1028
- };
1029
- Nodes: never;
1030
- Marks: never;
1031
- }>]>, UnionExtension<readonly [Extension<{
1032
- Nodes: {
1033
- list: ListAttrs;
1034
- };
1035
- Marks: never;
1036
- Commands: never;
1037
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1038
- Commands: {
1039
- dedentList: [options?: DedentListOptions | undefined];
1040
- indentList: [options?: IndentListOptions | undefined];
1041
- moveList: [direction: "up" | "down"];
1042
- splitList: [];
1043
- toggleCollapsed: [(ToggleCollapsedOptions | undefined)?];
1044
- toggleList: [attrs: ListAttributes];
1045
- unwrapList: [options?: UnwrapListOptions | undefined];
1046
- wrapInList: [getAttrs: WrapInListGetAttrs<ListAttributes>];
1047
- insertList: [attrs?: ListAttributes | undefined];
1048
- };
1049
- Nodes: never;
1050
- Marks: never;
1051
- }>]>, UnionExtension<readonly [Extension<{
1052
- Nodes: {
1053
- blockquote: Attrs;
1054
- };
1055
- Marks: never;
1056
- Commands: never;
1057
- }>, Extension<ExtensionTyping<any, any, any>>]>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1058
- Commands: {
1059
- insertText: [{
1060
- text: string;
1061
- from?: number;
1062
- to?: number;
1063
- }];
1064
- insertNode: [options: InsertNodeOptions];
1065
- removeNode: [options: RemoveNodeOptions];
1066
- wrap: [WrapOptions];
1067
- setBlockType: [options: SetBlockTypeOptions];
1068
- setNodeAttrs: [options: SetNodeAttrsOptions];
1069
- selectAll: [];
1070
- addMark: [options: AddMarkOptions];
1071
- removeMark: [options: RemoveMarkOptions];
1072
- unsetBlockType: [options?: UnsetBlockTypeOptions | undefined];
1073
- unsetMark: [options?: UnsetMarkOptions | undefined];
1074
- };
1075
- Nodes: never;
1076
- Marks: never;
1077
- }>, UnionExtension<readonly [Extension<{
1078
- Marks: {
1079
- italic: Attrs;
1080
- };
1081
- Nodes: never;
1082
- Commands: never;
1083
- }>, Extension<{
1084
- Commands: {
1085
- toggleItalic: [];
1086
- };
1087
- Nodes: never;
1088
- Marks: never;
1089
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1090
- Marks: {
1091
- bold: Attrs;
1092
- };
1093
- Nodes: never;
1094
- Commands: never;
1095
- }>, Extension<{
1096
- Commands: {
1097
- toggleBold: [];
1098
- };
1099
- Nodes: never;
1100
- Marks: never;
1101
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1102
- Marks: {
1103
- underline: Attrs;
1104
- };
1105
- Nodes: never;
1106
- Commands: never;
1107
- }>, Extension<{
1108
- Commands: {
1109
- toggleUnderline: [];
1110
- };
1111
- Nodes: never;
1112
- Marks: never;
1113
- }>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1114
- Marks: {
1115
- strike: Attrs;
1116
- };
1117
- Nodes: never;
1118
- Commands: never;
1119
- }>, Extension<{
1120
- Commands: {
1121
- toggleStrike: [];
1122
- };
1123
- Nodes: never;
1124
- Marks: never;
1125
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1126
- Marks: {
1127
- code: Attrs;
1128
- };
1129
- Nodes: never;
1130
- Commands: never;
1131
- }>, Extension<{
1132
- Commands: {
1133
- toggleCode: [];
1134
- };
1135
- Nodes: never;
1136
- Marks: never;
1137
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1138
- Marks: {
1139
- link: LinkAttrs;
1140
- };
1141
- Nodes: never;
1142
- Commands: never;
1143
- }>, Extension<{
1144
- Commands: {
1145
- addLink: [attrs: LinkAttrs];
1146
- removeLink: [];
1147
- toggleLink: [attrs: LinkAttrs];
1148
- expandLink: [];
1149
- };
1150
- Nodes: never;
1151
- Marks: never;
1152
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1153
- Nodes: {
1154
- image: {
1155
- src: null;
1156
- };
1157
- };
1158
- Marks: never;
1159
- Commands: never;
1160
- }>, Extension<{
1161
- Commands: {
1162
- insertImage: [attrs?: ImageAttrs | undefined];
1163
- };
1164
- Nodes: never;
1165
- Marks: never;
1166
- }>]>, Extension<{
1167
- Nodes: {
1168
- paragraph: Attrs;
1169
- };
1170
- Marks: never;
1171
- Commands: never;
1172
- }>, UnionExtension<readonly [Extension<{
1173
- Nodes: {
1174
- table: Attrs;
1175
- };
1176
- Marks: never;
1177
- Commands: never;
1178
- }>, Extension<{
1179
- Nodes: {
1180
- tableRow: Attrs;
1181
- };
1182
- Marks: never;
1183
- Commands: never;
1184
- }>, Extension<{
1185
- Nodes: {
1186
- tableCell: {
1187
- [x: string]: any;
1188
- };
1189
- };
1190
- Marks: never;
1191
- Commands: never;
1192
- }>, Extension<{
1193
- Nodes: {
1194
- tableHeaderCell: {
1195
- [x: string]: any;
1196
- };
1197
- };
1198
- Marks: never;
1199
- Commands: never;
1200
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1201
- Commands: {
1202
- insertTable: [{
1203
- row: number;
1204
- col: number;
1205
- header: boolean;
1206
- }];
1207
- exitTable: [];
1208
- };
1209
- Nodes: never;
1210
- Marks: never;
1211
- }>]>]>;
814
+ }>, TableExtension]>;
1212
815
 
1213
816
  /**
1214
817
  * Adds a `textAlign` attribute to the specified nodes. This will be rendered as
@@ -1222,7 +825,6 @@ export declare function defineTextAlign<NodeName extends string = string>(option
1222
825
  textAlign: string | null;
1223
826
  };
1224
827
  };
1225
- Marks: never;
1226
828
  Commands: TextAlignCommandTyping;
1227
829
  }>;
1228
830
 
@@ -1230,8 +832,6 @@ export declare function defineTextAlign<NodeName extends string = string>(option
1230
832
  * @internal
1231
833
  */
1232
834
  export declare function defineTextAlignCommands(types: string[]): Extension<{
1233
- Nodes: never;
1234
- Marks: never;
1235
835
  Commands: TextAlignCommandTyping;
1236
836
  }>;
1237
837
 
@@ -1271,43 +871,28 @@ export declare function defineTextBlockInputRule({ regex, type, attrs, }: {
1271
871
  /**
1272
872
  * Attributes to set on the node.
1273
873
  */
1274
- attrs?: Attrs_2 | null | ((match: RegExpMatchArray) => Attrs_2 | null);
874
+ attrs?: Attrs | null | ((match: RegExpMatchArray) => Attrs | null);
1275
875
  }): Extension;
1276
876
 
1277
877
  /**
1278
878
  * @public
1279
879
  */
1280
- export declare function defineUnderline(): UnionExtension<readonly [Extension< {
1281
- Marks: {
1282
- underline: Attrs;
1283
- };
1284
- Nodes: never;
1285
- Commands: never;
1286
- }>, Extension< {
1287
- Commands: {
1288
- toggleUnderline: [];
1289
- };
1290
- Nodes: never;
1291
- Marks: never;
1292
- }>, Extension<ExtensionTyping<any, any, any>>]>;
880
+ export declare function defineUnderline(): UnderlineExtension;
1293
881
 
1294
- export declare function defineUnderlineCommands(): Extension< {
1295
- Commands: {
1296
- toggleUnderline: [];
1297
- };
1298
- Nodes: never;
1299
- Marks: never;
1300
- }>;
882
+ /**
883
+ * @internal
884
+ */
885
+ export declare function defineUnderlineCommands(): UnderlineCommandsExtension;
1301
886
 
887
+ /**
888
+ * @internal
889
+ */
1302
890
  export declare function defineUnderlineKeymap(): Extension<ExtensionTyping<any, any, any>>;
1303
891
 
1304
- export declare function defineUnderlineSpec(): Extension< {
1305
- Marks: {
1306
- underline: Attrs;
1307
- };
1308
- Nodes: never;
1309
- Commands: never;
1310
- }>;
892
+ /**
893
+ * @internal
894
+ */
895
+ export declare function defineUnderlineSpec(): UnderlineSpecExtension;
1311
896
 
1312
897
  /**
1313
898
  * Shows a virtual selection when the editor is not focused. When the editor is
@@ -1319,7 +904,7 @@ Commands: never;
1319
904
  *
1320
905
  * @public
1321
906
  */
1322
- export declare function defineVirtualSelection(): Extension;
907
+ export declare function defineVirtualSelection(): VirtualSelectionExtension;
1323
908
 
1324
909
  /**
1325
910
  * Defines an input rule for automatically wrapping a textblock when a given
@@ -1343,7 +928,7 @@ export declare function defineWrappingInputRule({ regex, type, attrs, join, }: {
1343
928
  /**
1344
929
  * Attributes to set on the node.
1345
930
  */
1346
- attrs?: Attrs_2 | null | ((match: RegExpMatchArray) => Attrs_2 | null);
931
+ attrs?: Attrs | null | ((match: RegExpMatchArray) => Attrs | null);
1347
932
  /**
1348
933
  * By default, if there's a node with the same type above the newly wrapped
1349
934
  * node, the rule will try to
@@ -1355,6 +940,11 @@ export declare function defineWrappingInputRule({ regex, type, attrs, join, }: {
1355
940
  join?: (match: RegExpMatchArray, node: ProseMirrorNode) => boolean;
1356
941
  }): Extension;
1357
942
 
943
+ /**
944
+ * @internal
945
+ */
946
+ export declare type DropCursorExtension = PluginExtension;
947
+
1358
948
  export declare interface DropCursorOptions {
1359
949
  /**
1360
950
  * The color of the cursor. Use `false` to apply no color and rely only on class.
@@ -1442,6 +1032,38 @@ declare interface HeadingAttrs {
1442
1032
  export { HeadingAttrs }
1443
1033
  export { HeadingAttrs as HeadingAttrs_alias_1 }
1444
1034
 
1035
+ /**
1036
+ * @internal
1037
+ */
1038
+ declare type HeadingCommandsExtension = Extension<{
1039
+ Commands: {
1040
+ setHeading: [attrs?: HeadingAttrs | undefined];
1041
+ insertHeading: [attrs?: HeadingAttrs | undefined];
1042
+ toggleHeading: [attrs?: HeadingAttrs | undefined];
1043
+ };
1044
+ }>;
1045
+ export { HeadingCommandsExtension }
1046
+ export { HeadingCommandsExtension as HeadingCommandsExtension_alias_1 }
1047
+
1048
+ /**
1049
+ * @internal
1050
+ */
1051
+ export declare type HeadingExtension = Union<[
1052
+ HeadingSpecExtension,
1053
+ HeadingCommandsExtension
1054
+ ]>;
1055
+
1056
+ /**
1057
+ * @internal
1058
+ */
1059
+ declare type HeadingSpecExtension = Extension<{
1060
+ Nodes: {
1061
+ heading: HeadingAttrs;
1062
+ };
1063
+ }>;
1064
+ export { HeadingSpecExtension }
1065
+ export { HeadingSpecExtension as HeadingSpecExtension_alias_1 }
1066
+
1445
1067
  export declare type HighlighterOptions = {
1446
1068
  themes: BundledTheme[];
1447
1069
  langs: (BundledLanguage | SpecialLanguage)[];
@@ -1465,10 +1087,36 @@ declare type HighlightParser = Parser;
1465
1087
  export { HighlightParser }
1466
1088
  export { HighlightParser as HighlightParser_alias_1 }
1467
1089
 
1090
+ /**
1091
+ * @public
1092
+ */
1468
1093
  export declare interface ImageAttrs {
1469
1094
  src?: string | null;
1470
1095
  }
1471
1096
 
1097
+ /**
1098
+ * @internal
1099
+ */
1100
+ export declare type ImageCommandsExtension = Extension<{
1101
+ Commands: {
1102
+ insertImage: [attrs?: ImageAttrs];
1103
+ };
1104
+ }>;
1105
+
1106
+ /**
1107
+ * @internal
1108
+ */
1109
+ export declare type ImageExtension = Union<[ImageSpecExtension, ImageCommandsExtension]>;
1110
+
1111
+ /**
1112
+ * @internal
1113
+ */
1114
+ export declare type ImageSpecExtension = Extension<{
1115
+ Nodes: {
1116
+ image: ImageAttrs;
1117
+ };
1118
+ }>;
1119
+
1472
1120
  export { IndentListOptions }
1473
1121
 
1474
1122
  /**
@@ -1477,11 +1125,42 @@ export { IndentListOptions }
1477
1125
  *
1478
1126
  * @public
1479
1127
  */
1480
- export declare function insertTable({ row, col, header, }: {
1128
+ export declare function insertTable({ row, col, header }: InsertTableOptions): Command;
1129
+
1130
+ /**
1131
+ * @public
1132
+ */
1133
+ export declare interface InsertTableOptions {
1481
1134
  row: number;
1482
1135
  col: number;
1483
1136
  header: boolean;
1484
- }): Command;
1137
+ }
1138
+
1139
+ /**
1140
+ * @internal
1141
+ */
1142
+ export declare type ItalicCommandsExtension = Extension<{
1143
+ Commands: {
1144
+ toggleItalic: [];
1145
+ };
1146
+ }>;
1147
+
1148
+ /**
1149
+ * @internal
1150
+ */
1151
+ export declare type ItalicExtension = Union<[
1152
+ ItalicSpecExtension,
1153
+ ItalicCommandsExtension
1154
+ ]>;
1155
+
1156
+ /**
1157
+ * @internal
1158
+ */
1159
+ export declare type ItalicSpecExtension = Extension<{
1160
+ Marks: {
1161
+ italic: Attrs;
1162
+ };
1163
+ }>;
1485
1164
 
1486
1165
  export declare const LINK_ENTER_RE: RegExp;
1487
1166
 
@@ -1496,6 +1175,32 @@ export declare interface LinkAttrs {
1496
1175
  href: string;
1497
1176
  }
1498
1177
 
1178
+ /**
1179
+ * @internal
1180
+ */
1181
+ export declare type LinkCommandsExtension = Extension<{
1182
+ Commands: {
1183
+ addLink: [LinkAttrs];
1184
+ removeLink: [];
1185
+ toggleLink: [LinkAttrs];
1186
+ expandLink: [];
1187
+ };
1188
+ }>;
1189
+
1190
+ /**
1191
+ * @internal
1192
+ */
1193
+ export declare type LinkExtension = Union<[LinkSpecExtension, LinkCommandsExtension]>;
1194
+
1195
+ /**
1196
+ * @internal
1197
+ */
1198
+ export declare type LinkSpecExtension = Extension<{
1199
+ Marks: {
1200
+ link: LinkAttrs;
1201
+ };
1202
+ }>;
1203
+
1499
1204
  /**
1500
1205
  * The attributes of a list node.
1501
1206
  *
@@ -1522,8 +1227,43 @@ declare interface ListAttrs {
1522
1227
  export { ListAttrs }
1523
1228
  export { ListAttrs as ListAttrs_alias_1 }
1524
1229
 
1230
+ /**
1231
+ * @internal
1232
+ */
1233
+ declare type ListCommandsExtension = Extension<{
1234
+ Commands: {
1235
+ dedentList: [options?: DedentListOptions];
1236
+ indentList: [options?: IndentListOptions];
1237
+ moveList: [direction: 'up' | 'down'];
1238
+ splitList: [];
1239
+ toggleCollapsed: [options?: ToggleCollapsedOptions];
1240
+ unwrapList: [options?: UnwrapListOptions];
1241
+ toggleList: [attrs?: ListAttributes];
1242
+ wrapInList: [attrs?: ListAttributes];
1243
+ insertList: [attrs?: ListAttributes];
1244
+ };
1245
+ }>;
1246
+ export { ListCommandsExtension }
1247
+ export { ListCommandsExtension as ListCommandsExtension_alias_1 }
1248
+
1525
1249
  export { ListDOMSerializer }
1526
1250
 
1251
+ /**
1252
+ * @internal
1253
+ */
1254
+ export declare type ListExtension = Union<[ListSpecExtension, ListCommandsExtension]>;
1255
+
1256
+ /**
1257
+ * @internal
1258
+ */
1259
+ declare type ListSpecExtension = Extension<{
1260
+ Nodes: {
1261
+ list: ListAttrs;
1262
+ };
1263
+ }>;
1264
+ export { ListSpecExtension }
1265
+ export { ListSpecExtension as ListSpecExtension_alias_1 }
1266
+
1527
1267
  /**
1528
1268
  * Options for {@link defineMarkInputRule}.
1529
1269
  *
@@ -1543,7 +1283,7 @@ export declare interface MarkInputRuleOptions {
1543
1283
  /**
1544
1284
  * Attributes to set on the mark.
1545
1285
  */
1546
- attrs?: Attrs_2 | null | ((match: RegExpMatchArray) => Attrs_2 | null);
1286
+ attrs?: Attrs | null | ((match: RegExpMatchArray) => Attrs | null);
1547
1287
  }
1548
1288
 
1549
1289
  /**
@@ -1567,7 +1307,7 @@ declare interface MarkRuleOptions {
1567
1307
  *
1568
1308
  * @default null
1569
1309
  */
1570
- attrs?: Attrs_2 | null | ((match: RegExpMatchArray) => Attrs_2 | null);
1310
+ attrs?: Attrs | null | ((match: RegExpMatchArray) => Attrs | null);
1571
1311
  }
1572
1312
  export { MarkRuleOptions }
1573
1313
  export { MarkRuleOptions as MarkRuleOptions_alias_1 }
@@ -1589,6 +1329,11 @@ export declare interface MentionAttrs {
1589
1329
  kind: string;
1590
1330
  }
1591
1331
 
1332
+ /**
1333
+ * @internal
1334
+ */
1335
+ export declare type ModClickPreventionExtension = PluginExtension;
1336
+
1592
1337
  export declare interface PlaceholderOptions {
1593
1338
  /**
1594
1339
  * The placeholder text to use.
@@ -1687,239 +1432,28 @@ export declare function setTrMeta(tr: Transaction, meta: PredictionPluginState):
1687
1432
  * @internal
1688
1433
  */
1689
1434
  export declare function setupTest(): {
1690
- editor: TestEditor<UnionExtension<readonly [Extension<{
1691
- Nodes: {
1692
- doc: Attrs;
1693
- };
1694
- Marks: never;
1695
- Commands: never;
1696
- }>, Extension<{
1697
- Nodes: {
1698
- text: Attrs;
1699
- };
1700
- Marks: never;
1701
- Commands: never;
1702
- }>, UnionExtension<readonly [Extension<{
1435
+ editor: TestEditor<Union<readonly [DocExtension, TextExtension, HeadingExtension, HistoryExtension, ListExtension, BlockquoteExtension, BaseKeymapExtension, BaseCommandsExtension, ItalicExtension, BoldExtension, UnderlineExtension, StrikeExtension, CodeExtension, LinkExtension, ImageExtension, Extension<{
1703
1436
  Nodes: {
1704
- heading: {
1705
- level: number;
1706
- };
1707
- };
1708
- Marks: never;
1709
- Commands: never;
1710
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1711
- Commands: {
1712
- setHeading: [attrs?: HeadingAttrs | undefined];
1713
- insertHeading: [attrs?: HeadingAttrs | undefined];
1714
- toggleHeading: [attrs?: HeadingAttrs | undefined];
1715
- };
1716
- Nodes: never;
1717
- Marks: never;
1718
- }>]>, UnionExtension<readonly [Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1719
- Commands: {
1720
- readonly undo: [];
1721
- readonly redo: [];
1722
- };
1723
- Nodes: never;
1724
- Marks: never;
1725
- }>]>, UnionExtension<readonly [Extension<{
1726
- Nodes: {
1727
- list: ListAttrs;
1728
- };
1729
- Marks: never;
1730
- Commands: never;
1731
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1732
- Commands: {
1733
- dedentList: [options?: DedentListOptions | undefined];
1734
- indentList: [options?: IndentListOptions | undefined];
1735
- moveList: [direction: "up" | "down"];
1736
- splitList: [];
1737
- toggleCollapsed: [(ToggleCollapsedOptions | undefined)?];
1738
- toggleList: [attrs: ListAttributes];
1739
- unwrapList: [options?: UnwrapListOptions | undefined];
1740
- wrapInList: [getAttrs: WrapInListGetAttrs<ListAttributes>];
1741
- insertList: [attrs?: ListAttributes | undefined];
1742
- };
1743
- Nodes: never;
1744
- Marks: never;
1745
- }>]>, UnionExtension<readonly [Extension<{
1746
- Nodes: {
1747
- blockquote: Attrs;
1748
- };
1749
- Marks: never;
1750
- Commands: never;
1751
- }>, Extension<ExtensionTyping<any, any, any>>]>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1752
- Commands: {
1753
- insertText: [{
1754
- text: string;
1755
- from?: number;
1756
- to?: number;
1757
- }];
1758
- insertNode: [options: InsertNodeOptions];
1759
- removeNode: [options: RemoveNodeOptions];
1760
- wrap: [WrapOptions];
1761
- setBlockType: [options: SetBlockTypeOptions];
1762
- setNodeAttrs: [options: SetNodeAttrsOptions];
1763
- selectAll: [];
1764
- addMark: [options: AddMarkOptions];
1765
- removeMark: [options: RemoveMarkOptions];
1766
- unsetBlockType: [options?: UnsetBlockTypeOptions | undefined];
1767
- unsetMark: [options?: UnsetMarkOptions | undefined];
1768
- };
1769
- Nodes: never;
1770
- Marks: never;
1771
- }>, UnionExtension<readonly [Extension<{
1772
- Marks: {
1773
- italic: Attrs;
1774
- };
1775
- Nodes: never;
1776
- Commands: never;
1777
- }>, Extension<{
1778
- Commands: {
1779
- toggleItalic: [];
1780
- };
1781
- Nodes: never;
1782
- Marks: never;
1783
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1784
- Marks: {
1785
- bold: Attrs;
1786
- };
1787
- Nodes: never;
1788
- Commands: never;
1789
- }>, Extension<{
1790
- Commands: {
1791
- toggleBold: [];
1792
- };
1793
- Nodes: never;
1794
- Marks: never;
1795
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1796
- Marks: {
1797
- underline: Attrs;
1798
- };
1799
- Nodes: never;
1800
- Commands: never;
1801
- }>, Extension<{
1802
- Commands: {
1803
- toggleUnderline: [];
1804
- };
1805
- Nodes: never;
1806
- Marks: never;
1807
- }>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1808
- Marks: {
1809
- strike: Attrs;
1810
- };
1811
- Nodes: never;
1812
- Commands: never;
1813
- }>, Extension<{
1814
- Commands: {
1815
- toggleStrike: [];
1816
- };
1817
- Nodes: never;
1818
- Marks: never;
1819
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1820
- Marks: {
1821
- code: Attrs;
1822
- };
1823
- Nodes: never;
1824
- Commands: never;
1825
- }>, Extension<{
1826
- Commands: {
1827
- toggleCode: [];
1828
- };
1829
- Nodes: never;
1830
- Marks: never;
1831
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1832
- Marks: {
1833
- link: LinkAttrs;
1834
- };
1835
- Nodes: never;
1836
- Commands: never;
1837
- }>, Extension<{
1838
- Commands: {
1839
- addLink: [attrs: LinkAttrs];
1840
- removeLink: [];
1841
- toggleLink: [attrs: LinkAttrs];
1842
- expandLink: [];
1843
- };
1844
- Nodes: never;
1845
- Marks: never;
1846
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<ExtensionTyping<any, any, any>>]>, UnionExtension<readonly [Extension<{
1847
- Nodes: {
1848
- image: {
1849
- src: null;
1850
- };
1851
- };
1852
- Marks: never;
1853
- Commands: never;
1854
- }>, Extension<{
1855
- Commands: {
1856
- insertImage: [attrs?: ImageAttrs | undefined];
1857
- };
1858
- Nodes: never;
1859
- Marks: never;
1860
- }>]>, Extension<{
1861
- Nodes: {
1862
- paragraph: Attrs;
1863
- };
1864
- Marks: never;
1865
- Commands: never;
1866
- }>, UnionExtension<readonly [Extension<{
1867
- Nodes: {
1868
- table: Attrs;
1869
- };
1870
- Marks: never;
1871
- Commands: never;
1872
- }>, Extension<{
1873
- Nodes: {
1874
- tableRow: Attrs;
1875
- };
1876
- Marks: never;
1877
- Commands: never;
1878
- }>, Extension<{
1879
- Nodes: {
1880
- tableCell: {
1881
- [x: string]: any;
1882
- };
1437
+ paragraph: Attrs_2;
1883
1438
  };
1884
- Marks: never;
1885
- Commands: never;
1886
- }>, Extension<{
1887
- Nodes: {
1888
- tableHeaderCell: {
1889
- [x: string]: any;
1890
- };
1891
- };
1892
- Marks: never;
1893
- Commands: never;
1894
- }>, Extension<ExtensionTyping<any, any, any>>, Extension<{
1895
- Commands: {
1896
- insertTable: [{
1897
- row: number;
1898
- col: number;
1899
- header: boolean;
1900
- }];
1901
- exitTable: [];
1902
- };
1903
- Nodes: never;
1904
- Marks: never;
1905
- }>]>]>>;
1439
+ }>, TableExtension]>>;
1906
1440
  m: ToMarkAction<SimplifyDeeper< {
1907
- underline: {
1441
+ bold: {
1908
1442
  readonly [x: string]: any;
1909
1443
  };
1910
- strike: {
1444
+ code: {
1911
1445
  readonly [x: string]: any;
1912
1446
  };
1913
- link: {
1914
- href: string;
1915
- };
1916
1447
  italic: {
1917
1448
  readonly [x: string]: any;
1918
1449
  };
1919
- code: {
1450
+ link: {
1451
+ href: string;
1452
+ };
1453
+ strike: {
1920
1454
  readonly [x: string]: any;
1921
1455
  };
1922
- bold: {
1456
+ underline: {
1923
1457
  readonly [x: string]: any;
1924
1458
  };
1925
1459
  }>>;
@@ -1939,41 +1473,45 @@ export declare function setupTest(): {
1939
1473
  unchecked: (...children: NodeChild[]) => Node_2;
1940
1474
  collapsed: (...children: NodeChild[]) => Node_2;
1941
1475
  expanded: (...children: NodeChild[]) => Node_2;
1942
- paragraph: NodeAction< {
1476
+ doc: NodeAction< {
1943
1477
  readonly [x: string]: any;
1944
1478
  }>;
1945
- tableHeaderCell: NodeAction< {
1946
- [x: string]: any;
1947
- }>;
1948
- tableCell: NodeAction< {
1949
- [x: string]: any;
1479
+ paragraph: NodeAction< {
1480
+ readonly [x: string]: any;
1950
1481
  }>;
1951
- tableRow: NodeAction< {
1482
+ text: NodeAction< {
1952
1483
  readonly [x: string]: any;
1953
1484
  }>;
1954
- table: NodeAction< {
1485
+ blockquote: NodeAction< {
1955
1486
  readonly [x: string]: any;
1956
1487
  }>;
1488
+ heading: NodeAction< {
1489
+ level: number;
1490
+ }>;
1491
+ image: NodeAction< {
1492
+ src?: string | null;
1493
+ }>;
1957
1494
  list: NodeAction< {
1958
1495
  kind?: "bullet" | "ordered" | "task" | "toggle";
1959
1496
  order?: number | null;
1960
1497
  checked?: boolean;
1961
1498
  collapsed?: boolean;
1962
1499
  }>;
1963
- image: NodeAction< {
1964
- src: null;
1965
- }>;
1966
- heading: NodeAction< {
1967
- level: number;
1968
- }>;
1969
- blockquote: NodeAction< {
1500
+ table: NodeAction< {
1970
1501
  readonly [x: string]: any;
1971
1502
  }>;
1972
- text: NodeAction< {
1503
+ tableRow: NodeAction< {
1973
1504
  readonly [x: string]: any;
1974
1505
  }>;
1975
- doc: NodeAction< {
1976
- readonly [x: string]: any;
1506
+ tableCell: NodeAction< {
1507
+ colspan: number;
1508
+ rowspan: number;
1509
+ colwidth: number[] | null;
1510
+ }>;
1511
+ tableHeaderCell: NodeAction< {
1512
+ colspan: number;
1513
+ rowspan: number;
1514
+ colwidth: number[] | null;
1977
1515
  }>;
1978
1516
  };
1979
1517
  };
@@ -1987,6 +1525,99 @@ export declare function setupTestFromExtension<E extends Extension>(extension: E
1987
1525
  m: ExtractMarkActions<E>;
1988
1526
  };
1989
1527
 
1528
+ /**
1529
+ * @internal
1530
+ */
1531
+ export declare type StrikeCommandsExtension = Extension<{
1532
+ Commands: {
1533
+ toggleStrike: [];
1534
+ };
1535
+ }>;
1536
+
1537
+ /**
1538
+ * @internal
1539
+ */
1540
+ export declare type StrikeExtension = Union<[
1541
+ StrikeSpecExtension,
1542
+ StrikeCommandsExtension
1543
+ ]>;
1544
+
1545
+ /**
1546
+ * @internal
1547
+ */
1548
+ export declare type StrikeSpecExtension = Extension<{
1549
+ Marks: {
1550
+ strike: Attrs;
1551
+ };
1552
+ }>;
1553
+
1554
+ /**
1555
+ * @internal
1556
+ */
1557
+ declare type TableCellSpecExtension = Extension<{
1558
+ Nodes: {
1559
+ tableCell: CellAttrs;
1560
+ };
1561
+ }>;
1562
+ export { TableCellSpecExtension }
1563
+ export { TableCellSpecExtension as TableCellSpecExtension_alias_1 }
1564
+
1565
+ /**
1566
+ * @internal
1567
+ */
1568
+ declare type TableCommandsExtension = Extension<{
1569
+ Commands: {
1570
+ insertTable: [InsertTableOptions];
1571
+ exitTable: [];
1572
+ };
1573
+ }>;
1574
+ export { TableCommandsExtension }
1575
+ export { TableCommandsExtension as TableCommandsExtension_alias_1 }
1576
+
1577
+ /**
1578
+ * @internal
1579
+ */
1580
+ export declare type TableExtension = Union<[
1581
+ TableSpecExtension,
1582
+ TableRowSpecExtension,
1583
+ TableCellSpecExtension,
1584
+ TableHeaderCellSpecExtension,
1585
+ TableCommandsExtension
1586
+ ]>;
1587
+
1588
+ /**
1589
+ * @internal
1590
+ */
1591
+ declare type TableHeaderCellSpecExtension = Extension<{
1592
+ Nodes: {
1593
+ tableHeaderCell: CellAttrs;
1594
+ };
1595
+ }>;
1596
+ export { TableHeaderCellSpecExtension }
1597
+ export { TableHeaderCellSpecExtension as TableHeaderCellSpecExtension_alias_1 }
1598
+
1599
+ /**
1600
+ * @internal
1601
+ */
1602
+ declare type TableRowSpecExtension = Extension<{
1603
+ Nodes: {
1604
+ tableRow: Attrs;
1605
+ };
1606
+ }>;
1607
+ export { TableRowSpecExtension }
1608
+ export { TableRowSpecExtension as TableRowSpecExtension_alias_1 }
1609
+
1610
+ /**
1611
+ * @internal
1612
+ */
1613
+ declare type TableSpecExtension = Extension<{
1614
+ Nodes: {
1615
+ table: Attrs;
1616
+ };
1617
+ }>;
1618
+ export { TableSpecExtension }
1619
+ export { TableSpecExtension as TableSpecExtension_alias_1 }
1620
+
1990
1621
  /**
1991
1622
  * @internal
1992
1623
  */
@@ -2029,7 +1660,7 @@ export declare type TextBlockEnterRuleOptions = {
2029
1660
  * Attributes to set on the node. If a function is provided, it will be called
2030
1661
  * with the matched result from the regular expression.
2031
1662
  */
2032
- attrs?: Attrs_2 | null | ((match: RegExpMatchArray) => Attrs_2 | null);
1663
+ attrs?: Attrs | null | ((match: RegExpMatchArray) => Attrs | null);
2033
1664
  /**
2034
1665
  * Whether to stop further handlers from being called if this rule is triggered.
2035
1666
  *
@@ -2040,8 +1671,39 @@ export declare type TextBlockEnterRuleOptions = {
2040
1671
 
2041
1672
  export { ToggleCollapsedOptions }
2042
1673
 
1674
+ /**
1675
+ * @internal
1676
+ */
1677
+ export declare type UnderlineCommandsExtension = Extension<{
1678
+ Commands: {
1679
+ toggleUnderline: [];
1680
+ };
1681
+ }>;
1682
+
1683
+ /**
1684
+ * @internal
1685
+ */
1686
+ export declare type UnderlineExtension = Union<[
1687
+ UnderlineSpecExtension,
1688
+ UnderlineCommandsExtension
1689
+ ]>;
1690
+
1691
+ /**
1692
+ * @internal
1693
+ */
1694
+ export declare type UnderlineSpecExtension = Extension<{
1695
+ Marks: {
1696
+ underline: Attrs;
1697
+ };
1698
+ }>;
1699
+
2043
1700
  export { UnwrapListOptions }
2044
1701
 
1702
+ /**
1703
+ * @internal
1704
+ */
1705
+ export declare type VirtualSelectionExtension = PluginExtension;
1706
+
2045
1707
  export { WrapInListGetAttrs }
2046
1708
 
2047
1709
  export { }