@prosekit/core 0.5.2 → 0.5.4
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/_tsup-dts-rollup.d.ts +82 -93
- package/dist/prosekit-core.d.ts +3 -3
- package/dist/prosekit-core.js +16 -92
- package/package.json +3 -2
@@ -2,7 +2,6 @@ import { AllSelection } from '@prosekit/pm/state';
|
|
2
2
|
import { Attrs } from '@prosekit/pm/model';
|
3
3
|
import { Attrs as Attrs_2 } from 'prosemirror-model';
|
4
4
|
import { Command } from '@prosekit/pm/state';
|
5
|
-
import type { ConditionalExcept } from 'type-fest';
|
6
5
|
import type { ContentMatch } from '@prosekit/pm/model';
|
7
6
|
import type { DirectEditorProps } from '@prosekit/pm/view';
|
8
7
|
import type { DOMEventMap } from '@prosekit/pm/view';
|
@@ -11,7 +10,6 @@ import { DOMSerializer } from '@prosekit/pm/model';
|
|
11
10
|
import { EditorState } from '@prosekit/pm/state';
|
12
11
|
import type { EditorStateConfig } from '@prosekit/pm/state';
|
13
12
|
import { EditorView } from '@prosekit/pm/view';
|
14
|
-
import type { EmptyObject } from 'type-fest';
|
15
13
|
import type { IsEqual } from 'type-fest';
|
16
14
|
import { Mark } from '@prosekit/pm/model';
|
17
15
|
import type { MarkSpec } from '@prosekit/pm/model';
|
@@ -183,15 +181,6 @@ export declare interface CommandApplier<Args extends any[] = any[]> {
|
|
183
181
|
canApply(...args: Args): boolean;
|
184
182
|
}
|
185
183
|
|
186
|
-
/**
|
187
|
-
* @internal
|
188
|
-
*/
|
189
|
-
declare interface CommandArgs {
|
190
|
-
[name: string]: any[];
|
191
|
-
}
|
192
|
-
export { CommandArgs }
|
193
|
-
export { CommandArgs as CommandArgs_alias_1 }
|
194
|
-
|
195
184
|
export declare type CommandCreator<Args extends any[] = any[]> = (...arg: Args) => Command;
|
196
185
|
|
197
186
|
export declare interface CommandCreators {
|
@@ -202,6 +191,15 @@ export declare const commandFacet: Facet<CommandCreators, RootPayload>;
|
|
202
191
|
|
203
192
|
export declare type CommandPayload = CommandCreators;
|
204
193
|
|
194
|
+
/**
|
195
|
+
* @internal
|
196
|
+
*/
|
197
|
+
declare interface CommandTyping {
|
198
|
+
[name: string]: any[];
|
199
|
+
}
|
200
|
+
export { CommandTyping }
|
201
|
+
export { CommandTyping as CommandTyping_alias_1 }
|
202
|
+
|
205
203
|
/**
|
206
204
|
* @public
|
207
205
|
*/
|
@@ -256,7 +254,7 @@ export { DefaultStateOptions as DefaultStateOptions_alias_1 }
|
|
256
254
|
* @public
|
257
255
|
*/
|
258
256
|
declare function defineBaseCommands(): Extension<{
|
259
|
-
|
257
|
+
Commands: {
|
260
258
|
insertText: [{
|
261
259
|
text: string;
|
262
260
|
from?: number | undefined;
|
@@ -302,6 +300,8 @@ declare function defineBaseCommands(): Extension<{
|
|
302
300
|
to?: number | undefined;
|
303
301
|
}];
|
304
302
|
};
|
303
|
+
Nodes: never;
|
304
|
+
Marks: never;
|
305
305
|
}>;
|
306
306
|
export { defineBaseCommands }
|
307
307
|
export { defineBaseCommands as defineBaseCommands_alias_1 }
|
@@ -318,7 +318,7 @@ declare function defineBaseKeymap(options?: {
|
|
318
318
|
* @default Priority.low
|
319
319
|
*/
|
320
320
|
priority?: Priority;
|
321
|
-
}): Extension<
|
321
|
+
}): Extension<any>;
|
322
322
|
export { defineBaseKeymap }
|
323
323
|
export { defineBaseKeymap as defineBaseKeymap_alias_1 }
|
324
324
|
|
@@ -327,7 +327,7 @@ export { defineBaseKeymap as defineBaseKeymap_alias_1 }
|
|
327
327
|
*
|
328
328
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleClick}
|
329
329
|
*/
|
330
|
-
declare function defineClickHandler(handler: ClickHandler): Extension<
|
330
|
+
declare function defineClickHandler(handler: ClickHandler): Extension<any>;
|
331
331
|
export { defineClickHandler }
|
332
332
|
export { defineClickHandler as defineClickHandler_alias_1 }
|
333
333
|
|
@@ -336,14 +336,16 @@ export { defineClickHandler as defineClickHandler_alias_1 }
|
|
336
336
|
*
|
337
337
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleClickOn}
|
338
338
|
*/
|
339
|
-
declare function defineClickOnHandler(handler: ClickOnHandler): Extension<
|
339
|
+
declare function defineClickOnHandler(handler: ClickOnHandler): Extension<any>;
|
340
340
|
export { defineClickOnHandler }
|
341
341
|
export { defineClickOnHandler as defineClickOnHandler_alias_1 }
|
342
342
|
|
343
343
|
declare function defineCommands<T extends Record<string, CommandCreator> = Record<string, CommandCreator>>(commands: T): Extension<{
|
344
|
-
|
344
|
+
Commands: {
|
345
345
|
[K in keyof T]: Parameters<T[K]>;
|
346
346
|
};
|
347
|
+
Nodes: never;
|
348
|
+
Marks: never;
|
347
349
|
}>;
|
348
350
|
export { defineCommands }
|
349
351
|
export { defineCommands as defineCommands_alias_1 }
|
@@ -356,7 +358,9 @@ export { defineDefaultState as defineDefaultState_alias_1 }
|
|
356
358
|
* @public
|
357
359
|
*/
|
358
360
|
declare function defineDoc(): Extension< {
|
359
|
-
|
361
|
+
Nodes: "doc";
|
362
|
+
Marks: never;
|
363
|
+
Commands: never;
|
360
364
|
}>;
|
361
365
|
export { defineDoc }
|
362
366
|
export { defineDoc as defineDoc_alias_1 }
|
@@ -366,7 +370,7 @@ export { defineDoc as defineDoc_alias_1 }
|
|
366
370
|
*
|
367
371
|
* @public
|
368
372
|
*/
|
369
|
-
declare function defineDocChangeHandler(handler: DocChangeHandler): Extension<
|
373
|
+
declare function defineDocChangeHandler(handler: DocChangeHandler): Extension<any>;
|
370
374
|
export { defineDocChangeHandler }
|
371
375
|
export { defineDocChangeHandler as defineDocChangeHandler_alias_1 }
|
372
376
|
|
@@ -375,7 +379,7 @@ export { defineDocChangeHandler as defineDocChangeHandler_alias_1 }
|
|
375
379
|
*
|
376
380
|
* @public
|
377
381
|
*/
|
378
|
-
declare function defineDOMEventHandler<Event extends keyof DOMEventMap = string>(event: Event, handler: DOMEventHandler<Event>): Extension<
|
382
|
+
declare function defineDOMEventHandler<Event extends keyof DOMEventMap = string>(event: Event, handler: DOMEventHandler<Event>): Extension<any>;
|
379
383
|
export { defineDOMEventHandler }
|
380
384
|
export { defineDOMEventHandler as defineDOMEventHandler_alias_1 }
|
381
385
|
|
@@ -384,7 +388,7 @@ export { defineDOMEventHandler as defineDOMEventHandler_alias_1 }
|
|
384
388
|
*
|
385
389
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDoubleClick}
|
386
390
|
*/
|
387
|
-
declare function defineDoubleClickHandler(handler: DoubleClickHandler): Extension<
|
391
|
+
declare function defineDoubleClickHandler(handler: DoubleClickHandler): Extension<any>;
|
388
392
|
export { defineDoubleClickHandler }
|
389
393
|
export { defineDoubleClickHandler as defineDoubleClickHandler_alias_1 }
|
390
394
|
|
@@ -393,7 +397,7 @@ export { defineDoubleClickHandler as defineDoubleClickHandler_alias_1 }
|
|
393
397
|
*
|
394
398
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDoubleClickOn}
|
395
399
|
*/
|
396
|
-
declare function defineDoubleClickOnHandler(handler: DoubleClickOnHandler): Extension<
|
400
|
+
declare function defineDoubleClickOnHandler(handler: DoubleClickOnHandler): Extension<any>;
|
397
401
|
export { defineDoubleClickOnHandler }
|
398
402
|
export { defineDoubleClickOnHandler as defineDoubleClickOnHandler_alias_1 }
|
399
403
|
|
@@ -402,7 +406,7 @@ export { defineDoubleClickOnHandler as defineDoubleClickOnHandler_alias_1 }
|
|
402
406
|
*
|
403
407
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDrop}
|
404
408
|
*/
|
405
|
-
declare function defineDropHandler(handler: DropHandler): Extension<
|
409
|
+
declare function defineDropHandler(handler: DropHandler): Extension<any>;
|
406
410
|
export { defineDropHandler }
|
407
411
|
export { defineDropHandler as defineDropHandler_alias_1 }
|
408
412
|
|
@@ -445,7 +449,7 @@ export { defineFacetPayload as defineFacetPayload_alias_1 }
|
|
445
449
|
*
|
446
450
|
* @public
|
447
451
|
*/
|
448
|
-
declare function defineFocusChangeHandler(handler: FocusChangeHandler): Extension<
|
452
|
+
declare function defineFocusChangeHandler(handler: FocusChangeHandler): Extension<any>;
|
449
453
|
export { defineFocusChangeHandler }
|
450
454
|
export { defineFocusChangeHandler as defineFocusChangeHandler_alias_1 }
|
451
455
|
|
@@ -453,9 +457,10 @@ export { defineFocusChangeHandler as defineFocusChangeHandler_alias_1 }
|
|
453
457
|
* Add undo/redo history to the editor.
|
454
458
|
*/
|
455
459
|
declare function defineHistory(): Extension< {
|
456
|
-
|
457
|
-
|
458
|
-
|
460
|
+
Nodes: any;
|
461
|
+
Marks: any;
|
462
|
+
Commands: {
|
463
|
+
[x: string]: any;
|
459
464
|
};
|
460
465
|
}>;
|
461
466
|
export { defineHistory }
|
@@ -466,7 +471,7 @@ export { defineHistory as defineHistory_alias_1 }
|
|
466
471
|
*
|
467
472
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyDown}
|
468
473
|
*/
|
469
|
-
declare function defineKeyDownHandler(handler: KeyDownHandler): Extension<
|
474
|
+
declare function defineKeyDownHandler(handler: KeyDownHandler): Extension<any>;
|
470
475
|
export { defineKeyDownHandler }
|
471
476
|
export { defineKeyDownHandler as defineKeyDownHandler_alias_1 }
|
472
477
|
|
@@ -482,7 +487,7 @@ export { defineKeymap as defineKeymap_alias_1 }
|
|
482
487
|
*
|
483
488
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyPress}
|
484
489
|
*/
|
485
|
-
declare function defineKeyPressHandler(handler: KeyPressHandler): Extension<
|
490
|
+
declare function defineKeyPressHandler(handler: KeyPressHandler): Extension<any>;
|
486
491
|
export { defineKeyPressHandler }
|
487
492
|
export { defineKeyPressHandler as defineKeyPressHandler_alias_1 }
|
488
493
|
|
@@ -497,7 +502,9 @@ export { defineMarkAttr as defineMarkAttr_alias_1 }
|
|
497
502
|
* @public
|
498
503
|
*/
|
499
504
|
declare function defineMarkSpec<Mark extends string>(options: MarkSpecOptions<Mark>): Extension<{
|
500
|
-
|
505
|
+
Marks: Mark;
|
506
|
+
Nodes: never;
|
507
|
+
Commands: never;
|
501
508
|
}>;
|
502
509
|
export { defineMarkSpec }
|
503
510
|
export { defineMarkSpec as defineMarkSpec_alias_1 }
|
@@ -507,7 +514,7 @@ export { defineMarkSpec as defineMarkSpec_alias_1 }
|
|
507
514
|
*
|
508
515
|
* @public
|
509
516
|
*/
|
510
|
-
declare function defineMountHandler(handler: MountHandler): Extension<
|
517
|
+
declare function defineMountHandler(handler: MountHandler): Extension<any>;
|
511
518
|
export { defineMountHandler }
|
512
519
|
export { defineMountHandler as defineMountHandler_alias_1 }
|
513
520
|
|
@@ -525,8 +532,10 @@ export { defineNodeAttr as defineNodeAttr_alias_1 }
|
|
525
532
|
*
|
526
533
|
* @public
|
527
534
|
*/
|
528
|
-
declare function defineNodeSpec<
|
529
|
-
|
535
|
+
declare function defineNodeSpec<Node extends string>(options: NodeSpecOptions<Node>): Extension<{
|
536
|
+
Nodes: Node;
|
537
|
+
Marks: never;
|
538
|
+
Commands: never;
|
530
539
|
}>;
|
531
540
|
export { defineNodeSpec }
|
532
541
|
export { defineNodeSpec as defineNodeSpec_alias_1 }
|
@@ -548,7 +557,9 @@ export { defineNodeViewFactory as defineNodeViewFactory_alias_1 }
|
|
548
557
|
* Defines a paragraph node spec as the highest priority, because it should be the default block node for most cases.
|
549
558
|
*/
|
550
559
|
declare function defineParagraph(): Extension< {
|
551
|
-
|
560
|
+
Nodes: "paragraph";
|
561
|
+
Marks: never;
|
562
|
+
Commands: never;
|
552
563
|
}>;
|
553
564
|
export { defineParagraph }
|
554
565
|
export { defineParagraph as defineParagraph_alias_1 }
|
@@ -559,7 +570,9 @@ export { defineParagraph as defineParagraph_alias_1 }
|
|
559
570
|
* Defines a paragraph node spec.
|
560
571
|
*/
|
561
572
|
export declare function defineParagraphSpec(): Extension< {
|
562
|
-
|
573
|
+
Nodes: "paragraph";
|
574
|
+
Marks: never;
|
575
|
+
Commands: never;
|
563
576
|
}>;
|
564
577
|
|
565
578
|
/**
|
@@ -567,7 +580,7 @@ NODES: "paragraph";
|
|
567
580
|
*
|
568
581
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handlePaste}
|
569
582
|
*/
|
570
|
-
declare function definePasteHandler(handler: PasteHandler): Extension<
|
583
|
+
declare function definePasteHandler(handler: PasteHandler): Extension<any>;
|
571
584
|
export { definePasteHandler }
|
572
585
|
export { definePasteHandler as definePasteHandler_alias_1 }
|
573
586
|
|
@@ -590,7 +603,7 @@ export { definePlugin as definePlugin_alias_1 }
|
|
590
603
|
*
|
591
604
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleScrollToSelection}
|
592
605
|
*/
|
593
|
-
declare function defineScrollToSelectionHandler(handler: ScrollToSelectionHandler): Extension<
|
606
|
+
declare function defineScrollToSelectionHandler(handler: ScrollToSelectionHandler): Extension<any>;
|
594
607
|
export { defineScrollToSelectionHandler }
|
595
608
|
export { defineScrollToSelectionHandler as defineScrollToSelectionHandler_alias_1 }
|
596
609
|
|
@@ -598,7 +611,9 @@ export { defineScrollToSelectionHandler as defineScrollToSelectionHandler_alias_
|
|
598
611
|
* @public
|
599
612
|
*/
|
600
613
|
declare function defineText(): Extension< {
|
601
|
-
|
614
|
+
Nodes: "text";
|
615
|
+
Marks: never;
|
616
|
+
Commands: never;
|
602
617
|
}>;
|
603
618
|
export { defineText }
|
604
619
|
export { defineText as defineText_alias_1 }
|
@@ -608,7 +623,7 @@ export { defineText as defineText_alias_1 }
|
|
608
623
|
*
|
609
624
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTextInput}
|
610
625
|
*/
|
611
|
-
declare function defineTextInputHandler(handler: TextInputHandler): Extension<
|
626
|
+
declare function defineTextInputHandler(handler: TextInputHandler): Extension<any>;
|
612
627
|
export { defineTextInputHandler }
|
613
628
|
export { defineTextInputHandler as defineTextInputHandler_alias_1 }
|
614
629
|
|
@@ -617,7 +632,7 @@ export { defineTextInputHandler as defineTextInputHandler_alias_1 }
|
|
617
632
|
*
|
618
633
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTripleClick}
|
619
634
|
*/
|
620
|
-
declare function defineTripleClickHandler(handler: TripleClickHandler): Extension<
|
635
|
+
declare function defineTripleClickHandler(handler: TripleClickHandler): Extension<any>;
|
621
636
|
export { defineTripleClickHandler }
|
622
637
|
export { defineTripleClickHandler as defineTripleClickHandler_alias_1 }
|
623
638
|
|
@@ -626,7 +641,7 @@ export { defineTripleClickHandler as defineTripleClickHandler_alias_1 }
|
|
626
641
|
*
|
627
642
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTripleClickOn}
|
628
643
|
*/
|
629
|
-
declare function defineTripleClickOnHandler(handler: TripleClickOnHandler): Extension<
|
644
|
+
declare function defineTripleClickOnHandler(handler: TripleClickOnHandler): Extension<any>;
|
630
645
|
export { defineTripleClickOnHandler }
|
631
646
|
export { defineTripleClickOnHandler as defineTripleClickOnHandler_alias_1 }
|
632
647
|
|
@@ -635,7 +650,7 @@ export { defineTripleClickOnHandler as defineTripleClickOnHandler_alias_1 }
|
|
635
650
|
*
|
636
651
|
* @public
|
637
652
|
*/
|
638
|
-
declare function defineUnmountHandler(handler: UnmountHandler): Extension<
|
653
|
+
declare function defineUnmountHandler(handler: UnmountHandler): Extension<any>;
|
639
654
|
export { defineUnmountHandler }
|
640
655
|
export { defineUnmountHandler as defineUnmountHandler_alias_1 }
|
641
656
|
|
@@ -644,7 +659,7 @@ export { defineUnmountHandler as defineUnmountHandler_alias_1 }
|
|
644
659
|
*
|
645
660
|
* @public
|
646
661
|
*/
|
647
|
-
declare function defineUpdateHandler(handler: UpdateHandler): Extension<
|
662
|
+
declare function defineUpdateHandler(handler: UpdateHandler): Extension<any>;
|
648
663
|
export { defineUpdateHandler }
|
649
664
|
export { defineUpdateHandler as defineUpdateHandler_alias_1 }
|
650
665
|
|
@@ -838,10 +853,6 @@ declare function elementFromNode(node: ProseMirrorNode, options?: DOMSerializerO
|
|
838
853
|
export { elementFromNode }
|
839
854
|
export { elementFromNode as elementFromNode_alias_1 }
|
840
855
|
|
841
|
-
declare type EmptyValue = undefined | null | EmptyObject;
|
842
|
-
|
843
|
-
export declare type ExceptEmptyValue<T> = ConditionalExcept<T, EmptyValue>;
|
844
|
-
|
845
856
|
/**
|
846
857
|
* Expands the selection to include the entire mark at the current position.
|
847
858
|
*
|
@@ -859,7 +870,7 @@ export { expandMark as expandMark_alias_1 }
|
|
859
870
|
/**
|
860
871
|
* @public
|
861
872
|
*/
|
862
|
-
declare interface Extension<T extends ExtensionTyping =
|
873
|
+
declare interface Extension<T extends ExtensionTyping<any, any, any> = any> {
|
863
874
|
extension: Extension | Extension[];
|
864
875
|
priority?: Priority;
|
865
876
|
_type?: T;
|
@@ -876,10 +887,10 @@ export { Extension as Extension_alias_1 }
|
|
876
887
|
/**
|
877
888
|
* @internal
|
878
889
|
*/
|
879
|
-
declare interface ExtensionTyping<
|
880
|
-
|
881
|
-
|
882
|
-
|
890
|
+
declare interface ExtensionTyping<N extends string | never = never, M extends string | never = never, C extends CommandTyping | never = never> {
|
891
|
+
Nodes: N;
|
892
|
+
Marks: M;
|
893
|
+
Commands: C;
|
883
894
|
}
|
884
895
|
export { ExtensionTyping }
|
885
896
|
export { ExtensionTyping as ExtensionTyping_alias_1 }
|
@@ -887,47 +898,36 @@ export { ExtensionTyping as ExtensionTyping_alias_1 }
|
|
887
898
|
/**
|
888
899
|
* @public
|
889
900
|
*/
|
890
|
-
declare type ExtractCommandAppliers<E extends Extension> = ToCommandApplier<
|
901
|
+
declare type ExtractCommandAppliers<E extends Extension> = ToCommandApplier<ExtractCommands<E>>;
|
891
902
|
export { ExtractCommandAppliers }
|
892
903
|
export { ExtractCommandAppliers as ExtractCommandAppliers_alias_1 }
|
893
904
|
|
894
|
-
/**
|
895
|
-
* @internal
|
896
|
-
*/
|
897
|
-
export declare type ExtractCommandArgs<E extends Extension> = ExtractCommandArgsFromTyping<ExtractTyping<E>>;
|
898
|
-
|
899
|
-
export declare type ExtractCommandArgsFromTyping<T extends ExtensionTyping> = ExtractKey<T, 'COMMAND_ARGS'>;
|
900
|
-
|
901
905
|
/**
|
902
906
|
* @public
|
903
907
|
*/
|
904
|
-
declare type ExtractCommandCreators<E extends Extension> = ToCommandCreators<
|
908
|
+
declare type ExtractCommandCreators<E extends Extension> = ToCommandCreators<ExtractCommands<E>>;
|
905
909
|
export { ExtractCommandCreators }
|
906
910
|
export { ExtractCommandCreators as ExtractCommandCreators_alias_1 }
|
907
911
|
|
908
912
|
/**
|
909
|
-
* @
|
913
|
+
* @internal
|
910
914
|
*/
|
911
|
-
export declare type
|
915
|
+
export declare type ExtractCommands<E extends Extension> = SimplifyUnion<ExtractTyping<E>['Commands']>;
|
912
916
|
|
913
917
|
/**
|
914
918
|
* @public
|
915
919
|
*/
|
916
|
-
declare type ExtractMarks<E extends Extension> =
|
920
|
+
declare type ExtractMarks<E extends Extension> = ExtractTyping<E>['Marks'];
|
917
921
|
export { ExtractMarks }
|
918
922
|
export { ExtractMarks as ExtractMarks_alias_1 }
|
919
923
|
|
920
|
-
export declare type ExtractMarksFromTyping<T extends ExtensionTyping> = ExtractKey<T, 'MARKS'>;
|
921
|
-
|
922
924
|
/**
|
923
925
|
* @public
|
924
926
|
*/
|
925
|
-
declare type ExtractNodes<E extends Extension> =
|
927
|
+
declare type ExtractNodes<E extends Extension> = ExtractTyping<E>['Nodes'];
|
926
928
|
export { ExtractNodes }
|
927
929
|
export { ExtractNodes as ExtractNodes_alias_1 }
|
928
930
|
|
929
|
-
export declare type ExtractNodesFromTyping<T extends ExtensionTyping> = ExtractKey<T, 'NODES'>;
|
930
|
-
|
931
931
|
/**
|
932
932
|
* @internal
|
933
933
|
*/
|
@@ -1651,17 +1651,6 @@ export declare function setSelectionAround(tr: Transaction, pos: number): void;
|
|
1651
1651
|
*/
|
1652
1652
|
export declare type Setter<T> = (value: T) => void;
|
1653
1653
|
|
1654
|
-
/**
|
1655
|
-
* @internal
|
1656
|
-
*/
|
1657
|
-
declare type SimplifyExtension<E extends Extension | Extension[]> = E extends Extension[] ? Extension<ExceptEmptyValue<{
|
1658
|
-
NODES: ExtractNodes<E[number]>;
|
1659
|
-
MARKS: ExtractMarks<E[number]>;
|
1660
|
-
COMMAND_ARGS: SimplifyUnion<ExtractCommandArgs<E[number]>>;
|
1661
|
-
}>> : E;
|
1662
|
-
export { SimplifyExtension }
|
1663
|
-
export { SimplifyExtension as SimplifyExtension_alias_1 }
|
1664
|
-
|
1665
1654
|
/**
|
1666
1655
|
* @intneral
|
1667
1656
|
*/
|
@@ -1669,13 +1658,6 @@ declare type SimplifyUnion<T> = Simplify<UnionToIntersection<T>>;
|
|
1669
1658
|
export { SimplifyUnion }
|
1670
1659
|
export { SimplifyUnion as SimplifyUnion_alias_1 }
|
1671
1660
|
|
1672
|
-
export declare function splitBlockAs(splitNode?: (node: ProseMirrorNode, deflt: NodeType | null, atEnd: boolean) => {
|
1673
|
-
type: NodeType;
|
1674
|
-
attrs?: Attrs;
|
1675
|
-
} | null): Command;
|
1676
|
-
|
1677
|
-
export declare const splitBlockEnter: Command;
|
1678
|
-
|
1679
1661
|
export declare const stateFacet: Facet<StatePayload, RootPayload>;
|
1680
1662
|
|
1681
1663
|
/**
|
@@ -1715,15 +1697,11 @@ declare type TextInputHandler = (view: EditorView, from: number, to: number, tex
|
|
1715
1697
|
export { TextInputHandler }
|
1716
1698
|
export { TextInputHandler as TextInputHandler_alias_1 }
|
1717
1699
|
|
1718
|
-
export declare type ToCommandApplier<T extends
|
1700
|
+
export declare type ToCommandApplier<T extends CommandTyping> = {
|
1719
1701
|
[K in keyof T]: CommandApplier<T[K]>;
|
1720
1702
|
};
|
1721
1703
|
|
1722
|
-
export declare type
|
1723
|
-
[K in keyof T]: Parameters<T[K]>;
|
1724
|
-
};
|
1725
|
-
|
1726
|
-
export declare type ToCommandCreators<T extends CommandArgs> = {
|
1704
|
+
export declare type ToCommandCreators<T extends CommandTyping> = {
|
1727
1705
|
[K in keyof T]: CommandCreator<T[K]>;
|
1728
1706
|
};
|
1729
1707
|
|
@@ -1772,10 +1750,21 @@ export declare type Tuple5<T> = [T, T, T, T, T];
|
|
1772
1750
|
*
|
1773
1751
|
* @public
|
1774
1752
|
*/
|
1775
|
-
declare function union<E extends Extension | Extension[]>(extension: E):
|
1753
|
+
declare function union<E extends Extension | Extension[]>(extension: E): UnionExtension<E>;
|
1776
1754
|
export { union }
|
1777
1755
|
export { union as union_alias_1 }
|
1778
1756
|
|
1757
|
+
/**
|
1758
|
+
* @internal
|
1759
|
+
*/
|
1760
|
+
declare type UnionExtension<E extends Extension | Extension[]> = E extends Extension[] ? Extension<{
|
1761
|
+
Nodes: ExtractNodes<E[number]>;
|
1762
|
+
Marks: ExtractMarks<E[number]>;
|
1763
|
+
Commands: ExtractCommands<E[number]>;
|
1764
|
+
}> : E;
|
1765
|
+
export { UnionExtension }
|
1766
|
+
export { UnionExtension as UnionExtension_alias_1 }
|
1767
|
+
|
1779
1768
|
export declare class UnionExtensionImpl<T extends ExtensionTyping = ExtensionTyping> extends BaseExtension<T> implements Extension<T> {
|
1780
1769
|
extension: BaseExtension[];
|
1781
1770
|
/**
|
package/dist/prosekit-core.d.ts
CHANGED
@@ -81,14 +81,14 @@ export { defineFacet } from './_tsup-dts-rollup';
|
|
81
81
|
export { Facet } from './_tsup-dts-rollup';
|
82
82
|
export { defineFacetPayload } from './_tsup-dts-rollup';
|
83
83
|
export { BaseNodeViewOptions } from './_tsup-dts-rollup';
|
84
|
-
export {
|
84
|
+
export { CommandTyping } from './_tsup-dts-rollup';
|
85
85
|
export { Extension } from './_tsup-dts-rollup';
|
86
|
+
export { ExtensionTyping } from './_tsup-dts-rollup';
|
86
87
|
export { ExtractCommandAppliers } from './_tsup-dts-rollup';
|
87
88
|
export { ExtractCommandCreators } from './_tsup-dts-rollup';
|
88
89
|
export { ExtractMarks } from './_tsup-dts-rollup';
|
89
90
|
export { ExtractNodes } from './_tsup-dts-rollup';
|
90
|
-
export {
|
91
|
-
export { ExtensionTyping } from './_tsup-dts-rollup';
|
91
|
+
export { UnionExtension } from './_tsup-dts-rollup';
|
92
92
|
export { NodeJSON } from './_tsup-dts-rollup';
|
93
93
|
export { SelectionJSON } from './_tsup-dts-rollup';
|
94
94
|
export { StateJSON } from './_tsup-dts-rollup';
|
package/dist/prosekit-core.js
CHANGED
@@ -1437,7 +1437,10 @@ var nodeSpecFacet = defineFacet({
|
|
1437
1437
|
if (!spec.attrs) {
|
1438
1438
|
spec.attrs = {};
|
1439
1439
|
}
|
1440
|
-
spec.attrs[attr] = {
|
1440
|
+
spec.attrs[attr] = {
|
1441
|
+
default: defaultValue,
|
1442
|
+
splittable
|
1443
|
+
};
|
1441
1444
|
if (toDOM && spec.toDOM) {
|
1442
1445
|
const existingToDom = spec.toDOM;
|
1443
1446
|
spec.toDOM = (node) => {
|
@@ -1831,103 +1834,14 @@ import {
|
|
1831
1834
|
} from "@prosekit/pm/commands";
|
1832
1835
|
import { keydownHandler } from "@prosekit/pm/keymap";
|
1833
1836
|
import { Plugin as Plugin3, PluginKey as PluginKey4 } from "@prosekit/pm/state";
|
1834
|
-
|
1835
|
-
// src/commands/split-block-as.ts
|
1836
|
-
import {
|
1837
|
-
AllSelection as AllSelection3,
|
1838
|
-
NodeSelection as NodeSelection2,
|
1839
|
-
TextSelection as TextSelection6
|
1840
|
-
} from "@prosekit/pm/state";
|
1841
|
-
import { canSplit } from "@prosekit/pm/transform";
|
1842
|
-
|
1843
|
-
// src/utils/default-block-at.ts
|
1844
|
-
function defaultBlockAt(match) {
|
1845
|
-
for (let i = 0; i < match.edgeCount; i++) {
|
1846
|
-
const { type } = match.edge(i);
|
1847
|
-
if (type.isTextblock && !type.hasRequiredAttrs())
|
1848
|
-
return type;
|
1849
|
-
}
|
1850
|
-
return null;
|
1851
|
-
}
|
1852
|
-
|
1853
|
-
// src/commands/split-block-as.ts
|
1854
|
-
function splitBlockAs(splitNode) {
|
1855
|
-
return (state, dispatch) => {
|
1856
|
-
const { $from, $to } = state.selection;
|
1857
|
-
if (state.selection instanceof NodeSelection2 && state.selection.node.isBlock) {
|
1858
|
-
if (!$from.parentOffset || !canSplit(state.doc, $from.pos))
|
1859
|
-
return false;
|
1860
|
-
if (dispatch)
|
1861
|
-
dispatch(state.tr.split($from.pos).scrollIntoView());
|
1862
|
-
return true;
|
1863
|
-
}
|
1864
|
-
if (!$from.parent.isBlock)
|
1865
|
-
return false;
|
1866
|
-
if (dispatch) {
|
1867
|
-
const atEnd = $to.parentOffset == $to.parent.content.size;
|
1868
|
-
const tr = state.tr;
|
1869
|
-
if (state.selection instanceof TextSelection6 || state.selection instanceof AllSelection3)
|
1870
|
-
tr.deleteSelection();
|
1871
|
-
const deflt = $from.depth == 0 ? null : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));
|
1872
|
-
const splitType = splitNode && splitNode($from.parent, deflt, atEnd);
|
1873
|
-
let types = splitType ? [splitType] : atEnd && deflt ? [{ type: deflt }] : void 0;
|
1874
|
-
let can = canSplit(tr.doc, tr.mapping.map($from.pos), 1, types);
|
1875
|
-
if (!types && !can && canSplit(
|
1876
|
-
tr.doc,
|
1877
|
-
tr.mapping.map($from.pos),
|
1878
|
-
1,
|
1879
|
-
deflt ? [{ type: deflt }] : void 0
|
1880
|
-
)) {
|
1881
|
-
if (deflt)
|
1882
|
-
types = [{ type: deflt }];
|
1883
|
-
can = true;
|
1884
|
-
}
|
1885
|
-
if (can) {
|
1886
|
-
tr.split(tr.mapping.map($from.pos), 1, types);
|
1887
|
-
if (!atEnd && !$from.parentOffset && $from.parent.type != deflt) {
|
1888
|
-
const first = tr.mapping.map($from.before()), $first = tr.doc.resolve(first);
|
1889
|
-
if (deflt && $from.node(-1).canReplaceWith($first.index(), $first.index() + 1, deflt))
|
1890
|
-
tr.setNodeMarkup(tr.mapping.map($from.before()), deflt);
|
1891
|
-
}
|
1892
|
-
}
|
1893
|
-
dispatch(tr.scrollIntoView());
|
1894
|
-
}
|
1895
|
-
return true;
|
1896
|
-
};
|
1897
|
-
}
|
1898
|
-
|
1899
|
-
// src/commands/split-block-enter.ts
|
1900
|
-
var splitBlockEnter = splitBlockAs((node, deflt, atEnd) => {
|
1901
|
-
if (atEnd && deflt) {
|
1902
|
-
const attrs = pickSplittableAttrs(node, deflt);
|
1903
|
-
if (attrs) {
|
1904
|
-
return { type: deflt, attrs };
|
1905
|
-
}
|
1906
|
-
}
|
1907
|
-
return null;
|
1908
|
-
});
|
1909
|
-
function pickSplittableAttrs(node, type) {
|
1910
|
-
var _a;
|
1911
|
-
const attrs = {};
|
1912
|
-
let found = false;
|
1913
|
-
for (const [attr, value] of Object.entries(node.attrs)) {
|
1914
|
-
const spec = (_a = type.spec.attrs) == null ? void 0 : _a[attr];
|
1915
|
-
if (spec && spec.default !== value && spec.splittable === true) {
|
1916
|
-
attrs[attr] = value;
|
1917
|
-
found = true;
|
1918
|
-
}
|
1919
|
-
}
|
1920
|
-
return found ? attrs : null;
|
1921
|
-
}
|
1922
|
-
|
1923
|
-
// src/extensions/keymap.ts
|
1837
|
+
import { splitSplittableBlock } from "prosemirror-splittable";
|
1924
1838
|
var customBaseKeymap = {
|
1925
1839
|
...baseKeymap,
|
1926
1840
|
Enter: chainCommands(
|
1927
1841
|
newlineInCode,
|
1928
1842
|
createParagraphNear,
|
1929
1843
|
liftEmptyBlock,
|
1930
|
-
|
1844
|
+
splitSplittableBlock
|
1931
1845
|
)
|
1932
1846
|
};
|
1933
1847
|
function defineKeymap(keymap) {
|
@@ -2201,6 +2115,16 @@ var canUseRegexLookbehind = cache(() => {
|
|
2201
2115
|
import clsxLite from "clsx/lite";
|
2202
2116
|
var clsx = clsxLite;
|
2203
2117
|
|
2118
|
+
// src/utils/default-block-at.ts
|
2119
|
+
function defaultBlockAt(match) {
|
2120
|
+
for (let i = 0; i < match.edgeCount; i++) {
|
2121
|
+
const { type } = match.edge(i);
|
2122
|
+
if (type.isTextblock && !type.hasRequiredAttrs())
|
2123
|
+
return type;
|
2124
|
+
}
|
2125
|
+
return null;
|
2126
|
+
}
|
2127
|
+
|
2204
2128
|
// src/utils/get-id.ts
|
2205
2129
|
var id = 0;
|
2206
2130
|
function getId() {
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@prosekit/core",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.5.
|
4
|
+
"version": "0.5.4",
|
5
5
|
"private": false,
|
6
6
|
"author": {
|
7
7
|
"name": "ocavue",
|
@@ -38,7 +38,8 @@
|
|
38
38
|
"@prosekit/pm": "^0.1.4",
|
39
39
|
"clsx": "^2.1.1",
|
40
40
|
"orderedmap": "^2.1.1",
|
41
|
-
"
|
41
|
+
"prosemirror-splittable": "^0.1.1",
|
42
|
+
"type-fest": "^4.18.3"
|
42
43
|
},
|
43
44
|
"devDependencies": {
|
44
45
|
"tsup": "^8.0.2",
|