@prosekit/core 0.7.11 → 0.7.12
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.
@@ -32,7 +32,6 @@ import type { ResolvedPos } from '@prosekit/pm/model';
|
|
32
32
|
import { Schema } from '@prosekit/pm/model';
|
33
33
|
import { SchemaSpec } from '@prosekit/pm/model';
|
34
34
|
import { Selection as Selection_2 } from '@prosekit/pm/state';
|
35
|
-
import { Selection as Selection_3 } from 'prosemirror-state';
|
36
35
|
import type { Simplify } from 'type-fest';
|
37
36
|
import { Slice } from '@prosekit/pm/model';
|
38
37
|
import type { TagParseRule } from '@prosekit/pm/model';
|
@@ -87,6 +86,13 @@ declare type AnyAttrs = Attrs;
|
|
87
86
|
export { AnyAttrs }
|
88
87
|
export { AnyAttrs as AnyAttrs_alias_1 }
|
89
88
|
|
89
|
+
/**
|
90
|
+
* @internal
|
91
|
+
*/
|
92
|
+
declare type AnyFunction = (...args: any[]) => any;
|
93
|
+
export { AnyFunction }
|
94
|
+
export { AnyFunction as AnyFunction_alias_1 }
|
95
|
+
|
90
96
|
export declare function applyAction(operator: Action): Command;
|
91
97
|
|
92
98
|
export declare const applyMarkForTest: ApplyMarkFunction;
|
@@ -296,7 +302,10 @@ declare function collectNodes(content: NodeContent): ProseMirrorNode[];
|
|
296
302
|
export { collectNodes }
|
297
303
|
export { collectNodes as collectNodes_alias_1 }
|
298
304
|
|
299
|
-
export declare function combineEventHandlers<Handler extends (...args: any[]) => boolean | void, Args extends Parameters<Handler> = Parameters<Handler>>():
|
305
|
+
export declare function combineEventHandlers<Handler extends (...args: any[]) => boolean | void, Args extends Parameters<Handler> = Parameters<Handler>>(): [
|
306
|
+
setHandlers: (eventHandlers: Handler[]) => void,
|
307
|
+
combinedEventHandler: (...args: Args) => boolean
|
308
|
+
];
|
300
309
|
|
301
310
|
/**
|
302
311
|
* A function to apply a command to the editor. It will return `true` if the command was applied, and `false` otherwise.
|
@@ -332,7 +341,7 @@ export declare interface CommandCreators {
|
|
332
341
|
[name: string]: CommandCreator;
|
333
342
|
}
|
334
343
|
|
335
|
-
export declare const commandFacet: Facet<
|
344
|
+
export declare const commandFacet: Facet<CommandPayload, RootPayload>;
|
336
345
|
|
337
346
|
export declare type CommandPayload = CommandCreators;
|
338
347
|
|
@@ -458,7 +467,7 @@ export { defineBaseKeymap as defineBaseKeymap_alias_1 }
|
|
458
467
|
*
|
459
468
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleClick}
|
460
469
|
*/
|
461
|
-
declare function defineClickHandler(handler: ClickHandler):
|
470
|
+
declare function defineClickHandler(handler: ClickHandler): PlainExtension;
|
462
471
|
export { defineClickHandler }
|
463
472
|
export { defineClickHandler as defineClickHandler_alias_1 }
|
464
473
|
|
@@ -467,7 +476,7 @@ export { defineClickHandler as defineClickHandler_alias_1 }
|
|
467
476
|
*
|
468
477
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleClickOn}
|
469
478
|
*/
|
470
|
-
declare function defineClickOnHandler(handler: ClickOnHandler):
|
479
|
+
declare function defineClickOnHandler(handler: ClickOnHandler): PlainExtension;
|
471
480
|
export { defineClickOnHandler }
|
472
481
|
export { defineClickOnHandler as defineClickOnHandler_alias_1 }
|
473
482
|
|
@@ -506,12 +515,17 @@ declare function defineDocChangeHandler(handler: DocChangeHandler): PlainExtensi
|
|
506
515
|
export { defineDocChangeHandler }
|
507
516
|
export { defineDocChangeHandler as defineDocChangeHandler_alias_1 }
|
508
517
|
|
518
|
+
/**
|
519
|
+
* @internal
|
520
|
+
*/
|
521
|
+
export declare function defineDomEventFacetPayload(...payloads: DOMEventPayload[]): PlainExtension;
|
522
|
+
|
509
523
|
/**
|
510
524
|
* Register a new event handler for the given event type.
|
511
525
|
*
|
512
526
|
* @public
|
513
527
|
*/
|
514
|
-
declare function defineDOMEventHandler<Event extends keyof DOMEventMap = string>(event: Event, handler: DOMEventHandler<Event>):
|
528
|
+
declare function defineDOMEventHandler<Event extends keyof DOMEventMap = string>(event: Event, handler: DOMEventHandler<Event>): PlainExtension;
|
515
529
|
export { defineDOMEventHandler }
|
516
530
|
export { defineDOMEventHandler as defineDOMEventHandler_alias_1 }
|
517
531
|
|
@@ -520,7 +534,7 @@ export { defineDOMEventHandler as defineDOMEventHandler_alias_1 }
|
|
520
534
|
*
|
521
535
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDoubleClick}
|
522
536
|
*/
|
523
|
-
declare function defineDoubleClickHandler(handler: DoubleClickHandler):
|
537
|
+
declare function defineDoubleClickHandler(handler: DoubleClickHandler): PlainExtension;
|
524
538
|
export { defineDoubleClickHandler }
|
525
539
|
export { defineDoubleClickHandler as defineDoubleClickHandler_alias_1 }
|
526
540
|
|
@@ -529,7 +543,7 @@ export { defineDoubleClickHandler as defineDoubleClickHandler_alias_1 }
|
|
529
543
|
*
|
530
544
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDoubleClickOn}
|
531
545
|
*/
|
532
|
-
declare function defineDoubleClickOnHandler(handler: DoubleClickOnHandler):
|
546
|
+
declare function defineDoubleClickOnHandler(handler: DoubleClickOnHandler): PlainExtension;
|
533
547
|
export { defineDoubleClickOnHandler }
|
534
548
|
export { defineDoubleClickOnHandler as defineDoubleClickOnHandler_alias_1 }
|
535
549
|
|
@@ -538,7 +552,7 @@ export { defineDoubleClickOnHandler as defineDoubleClickOnHandler_alias_1 }
|
|
538
552
|
*
|
539
553
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleDrop}
|
540
554
|
*/
|
541
|
-
declare function defineDropHandler(handler: DropHandler):
|
555
|
+
declare function defineDropHandler(handler: DropHandler): PlainExtension;
|
542
556
|
export { defineDropHandler }
|
543
557
|
export { defineDropHandler as defineDropHandler_alias_1 }
|
544
558
|
|
@@ -581,7 +595,7 @@ export { defineFacetPayload as defineFacetPayload_alias_1 }
|
|
581
595
|
*
|
582
596
|
* @public
|
583
597
|
*/
|
584
|
-
declare function defineFocusChangeHandler(handler: FocusChangeHandler):
|
598
|
+
declare function defineFocusChangeHandler(handler: FocusChangeHandler): PlainExtension;
|
585
599
|
export { defineFocusChangeHandler }
|
586
600
|
export { defineFocusChangeHandler as defineFocusChangeHandler_alias_1 }
|
587
601
|
|
@@ -601,7 +615,7 @@ export { defineHistory as defineHistory_alias_1 }
|
|
601
615
|
*
|
602
616
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyDown}
|
603
617
|
*/
|
604
|
-
declare function defineKeyDownHandler(handler: KeyDownHandler):
|
618
|
+
declare function defineKeyDownHandler(handler: KeyDownHandler): PlainExtension;
|
605
619
|
export { defineKeyDownHandler }
|
606
620
|
export { defineKeyDownHandler as defineKeyDownHandler_alias_1 }
|
607
621
|
|
@@ -617,7 +631,7 @@ export { defineKeymap as defineKeymap_alias_1 }
|
|
617
631
|
*
|
618
632
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyPress}
|
619
633
|
*/
|
620
|
-
declare function defineKeyPressHandler(handler: KeyPressHandler):
|
634
|
+
declare function defineKeyPressHandler(handler: KeyPressHandler): PlainExtension;
|
621
635
|
export { defineKeyPressHandler }
|
622
636
|
export { defineKeyPressHandler as defineKeyPressHandler_alias_1 }
|
623
637
|
|
@@ -719,7 +733,7 @@ export declare function defineParagraphSpec(): ParagraphSpecExtension;
|
|
719
733
|
*
|
720
734
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handlePaste}
|
721
735
|
*/
|
722
|
-
declare function definePasteHandler(handler: PasteHandler):
|
736
|
+
declare function definePasteHandler(handler: PasteHandler): PlainExtension;
|
723
737
|
export { definePasteHandler }
|
724
738
|
export { definePasteHandler as definePasteHandler_alias_1 }
|
725
739
|
|
@@ -742,7 +756,7 @@ export { definePlugin as definePlugin_alias_1 }
|
|
742
756
|
*
|
743
757
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleScrollToSelection}
|
744
758
|
*/
|
745
|
-
declare function defineScrollToSelectionHandler(handler: ScrollToSelectionHandler):
|
759
|
+
declare function defineScrollToSelectionHandler(handler: ScrollToSelectionHandler): PlainExtension;
|
746
760
|
export { defineScrollToSelectionHandler }
|
747
761
|
export { defineScrollToSelectionHandler as defineScrollToSelectionHandler_alias_1 }
|
748
762
|
|
@@ -767,7 +781,7 @@ export { defineText as defineText_alias_1 }
|
|
767
781
|
*
|
768
782
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTextInput}
|
769
783
|
*/
|
770
|
-
declare function defineTextInputHandler(handler: TextInputHandler):
|
784
|
+
declare function defineTextInputHandler(handler: TextInputHandler): PlainExtension;
|
771
785
|
export { defineTextInputHandler }
|
772
786
|
export { defineTextInputHandler as defineTextInputHandler_alias_1 }
|
773
787
|
|
@@ -776,7 +790,7 @@ export { defineTextInputHandler as defineTextInputHandler_alias_1 }
|
|
776
790
|
*
|
777
791
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTripleClick}
|
778
792
|
*/
|
779
|
-
declare function defineTripleClickHandler(handler: TripleClickHandler):
|
793
|
+
declare function defineTripleClickHandler(handler: TripleClickHandler): PlainExtension;
|
780
794
|
export { defineTripleClickHandler }
|
781
795
|
export { defineTripleClickHandler as defineTripleClickHandler_alias_1 }
|
782
796
|
|
@@ -785,7 +799,7 @@ export { defineTripleClickHandler as defineTripleClickHandler_alias_1 }
|
|
785
799
|
*
|
786
800
|
* See {@link https://prosemirror.net/docs/ref/#view.EditorProps.handleTripleClickOn}
|
787
801
|
*/
|
788
|
-
declare function defineTripleClickOnHandler(handler: TripleClickOnHandler):
|
802
|
+
declare function defineTripleClickOnHandler(handler: TripleClickOnHandler): PlainExtension;
|
789
803
|
export { defineTripleClickOnHandler }
|
790
804
|
export { defineTripleClickOnHandler as defineTripleClickOnHandler_alias_1 }
|
791
805
|
|
@@ -995,6 +1009,35 @@ declare class Editor<E extends Extension = any> {
|
|
995
1009
|
export { Editor }
|
996
1010
|
export { Editor as Editor_alias_1 }
|
997
1011
|
|
1012
|
+
/**
|
1013
|
+
* @internal
|
1014
|
+
*/
|
1015
|
+
declare const editorEventFacet: Facet<EditorEventPayload, PluginPayload>;
|
1016
|
+
export { editorEventFacet }
|
1017
|
+
export { editorEventFacet as editorEventFacet_alias_1 }
|
1018
|
+
|
1019
|
+
declare interface EditorEventMap {
|
1020
|
+
keyDown: KeyDownHandler;
|
1021
|
+
keyPress: KeyPressHandler;
|
1022
|
+
textInput: TextInputHandler;
|
1023
|
+
clickOn: ClickOnHandler;
|
1024
|
+
click: ClickHandler;
|
1025
|
+
doubleClickOn: DoubleClickOnHandler;
|
1026
|
+
doubleClick: DoubleClickHandler;
|
1027
|
+
tripleClickOn: TripleClickOnHandler;
|
1028
|
+
tripleClick: TripleClickHandler;
|
1029
|
+
paste: PasteHandler;
|
1030
|
+
drop: DropHandler;
|
1031
|
+
scrollToSelection: ScrollToSelectionHandler;
|
1032
|
+
}
|
1033
|
+
|
1034
|
+
/**
|
1035
|
+
* @internal
|
1036
|
+
*/
|
1037
|
+
declare type EditorEventPayload = ObjectEntries<EditorEventMap>;
|
1038
|
+
export { EditorEventPayload }
|
1039
|
+
export { EditorEventPayload as EditorEventPayload_alias_1 }
|
1040
|
+
|
998
1041
|
/**
|
999
1042
|
* An internal class to make TypeScript generic type easier to use.
|
1000
1043
|
*
|
@@ -1299,7 +1342,7 @@ export declare function findBrowserDocument(options?: {
|
|
1299
1342
|
|
1300
1343
|
export declare function findBrowserWindow(options?: {
|
1301
1344
|
document?: Document;
|
1302
|
-
}): (Window & typeof globalThis) |
|
1345
|
+
}): (Window & typeof globalThis) | undefined;
|
1303
1346
|
|
1304
1347
|
/**
|
1305
1348
|
* Find the closest parent node that satisfies the predicate.
|
@@ -1378,7 +1421,7 @@ export declare function getBrowserWindow(options?: {
|
|
1378
1421
|
document?: Document;
|
1379
1422
|
}): Window & typeof globalThis;
|
1380
1423
|
|
1381
|
-
export declare function getCustomSelection(state: EditorState, from?: number | null, to?: number | null):
|
1424
|
+
export declare function getCustomSelection(state: EditorState, from?: number | null, to?: number | null): Selection_2;
|
1382
1425
|
|
1383
1426
|
export declare function getEditorContentDoc(schema: Schema, content: NodeJSON | string | HTMLElement | ProseMirrorNode): ProseMirrorNode;
|
1384
1427
|
|
@@ -1615,7 +1658,7 @@ export { isFragment as isFragment_alias_1 }
|
|
1615
1658
|
*
|
1616
1659
|
* @internal
|
1617
1660
|
*/
|
1618
|
-
declare function isInCodeBlock(selection: Selection_2): boolean
|
1661
|
+
declare function isInCodeBlock(selection: Selection_2): boolean;
|
1619
1662
|
export { isInCodeBlock }
|
1620
1663
|
export { isInCodeBlock as isInCodeBlock_alias_1 }
|
1621
1664
|
|
@@ -1768,7 +1811,7 @@ export { Keymap as Keymap_alias_1 }
|
|
1768
1811
|
/**
|
1769
1812
|
* @internal
|
1770
1813
|
*/
|
1771
|
-
declare const keymapFacet: Facet<
|
1814
|
+
declare const keymapFacet: Facet<KeymapPayload, PluginPayload>;
|
1772
1815
|
export { keymapFacet }
|
1773
1816
|
export { keymapFacet as keymapFacet_alias_1 }
|
1774
1817
|
|
@@ -1881,7 +1924,7 @@ export { MarkTyping as MarkTyping_alias_1 }
|
|
1881
1924
|
/**
|
1882
1925
|
* @internal
|
1883
1926
|
*/
|
1884
|
-
declare function maybeRun<
|
1927
|
+
declare function maybeRun<MaybeFn, Result = MaybeFn extends (...args: any[]) => void ? ReturnType<MaybeFn> : MaybeFn>(value: MaybeFn, ...args: MaybeFn extends (...args: any[]) => void ? Parameters<MaybeFn> : never): Result;
|
1885
1928
|
export { maybeRun }
|
1886
1929
|
export { maybeRun as maybeRun_alias_1 }
|
1887
1930
|
|
@@ -2285,9 +2328,9 @@ export declare type RootPayload = {
|
|
2285
2328
|
view?: Omit<DirectEditorProps, 'state'>;
|
2286
2329
|
};
|
2287
2330
|
|
2288
|
-
export declare const schemaFacet: Facet<SchemaSpec
|
2331
|
+
export declare const schemaFacet: Facet<SchemaSpec, RootPayload>;
|
2289
2332
|
|
2290
|
-
export declare const schemaSpecFacet: Facet<SchemaSpec
|
2333
|
+
export declare const schemaSpecFacet: Facet<SchemaSpec, SchemaSpec>;
|
2291
2334
|
|
2292
2335
|
declare type ScrollToSelectionHandler = (view: EditorView) => boolean;
|
2293
2336
|
export { ScrollToSelectionHandler }
|
@@ -2367,7 +2410,9 @@ declare interface SetNodeAttrsOptions {
|
|
2367
2410
|
export { SetNodeAttrsOptions }
|
2368
2411
|
export { SetNodeAttrsOptions as SetNodeAttrsOptions_alias_1 }
|
2369
2412
|
|
2370
|
-
|
2413
|
+
declare function setSelectionAround(tr: Transaction, pos: number): void;
|
2414
|
+
export { setSelectionAround }
|
2415
|
+
export { setSelectionAround as setSelectionAround_alias_1 }
|
2371
2416
|
|
2372
2417
|
/**
|
2373
2418
|
* @internal
|
@@ -145,11 +145,7 @@ function rootReducer(inputs) {
|
|
145
145
|
const state = schema && ((_a = stateFunc == null ? void 0 : stateFunc({ schema })) != null ? _a : { schema });
|
146
146
|
return { schema, state, commands, view };
|
147
147
|
}
|
148
|
-
var rootFacet = new Facet(
|
149
|
-
null,
|
150
|
-
true,
|
151
|
-
rootReducer
|
152
|
-
);
|
148
|
+
var rootFacet = new Facet(null, true, rootReducer);
|
153
149
|
|
154
150
|
// src/facets/schema.ts
|
155
151
|
var schemaFacet = defineFacet({
|
@@ -396,8 +392,8 @@ function findBrowserDocument(options) {
|
|
396
392
|
return (_c = (_a = options == null ? void 0 : options.document) != null ? _a : findGlobalBrowserDocument()) != null ? _c : (_b = findGlobalBrowserWindow()) == null ? void 0 : _b.document;
|
397
393
|
}
|
398
394
|
function findBrowserWindow(options) {
|
399
|
-
var _a, _b, _c, _d;
|
400
|
-
return (_d = (_b = (_a = options == null ? void 0 : options.document) == null ? void 0 : _a.defaultView) != null ? _b : findGlobalBrowserWindow()) != null ? _d : (_c = findBrowserDocument(options)) == null ? void 0 : _c.defaultView;
|
395
|
+
var _a, _b, _c, _d, _e;
|
396
|
+
return (_e = (_d = (_b = (_a = options == null ? void 0 : options.document) == null ? void 0 : _a.defaultView) != null ? _b : findGlobalBrowserWindow()) != null ? _d : (_c = findBrowserDocument(options)) == null ? void 0 : _c.defaultView) != null ? _e : void 0;
|
401
397
|
}
|
402
398
|
function getBrowserDocument(options) {
|
403
399
|
const doc = findBrowserDocument(options);
|
package/dist/prosekit-core.d.ts
CHANGED
@@ -2,10 +2,10 @@ export { addMark } from './_tsup-dts-rollup';
|
|
2
2
|
export { AddMarkOptions } from './_tsup-dts-rollup';
|
3
3
|
export { expandMark } from './_tsup-dts-rollup';
|
4
4
|
export { ExpandMarkOptions } from './_tsup-dts-rollup';
|
5
|
-
export { insertNode } from './_tsup-dts-rollup';
|
6
|
-
export { InsertNodeOptions } from './_tsup-dts-rollup';
|
7
5
|
export { insertDefaultBlock } from './_tsup-dts-rollup';
|
8
6
|
export { InsertDefaultBlockOptions } from './_tsup-dts-rollup';
|
7
|
+
export { insertNode } from './_tsup-dts-rollup';
|
8
|
+
export { InsertNodeOptions } from './_tsup-dts-rollup';
|
9
9
|
export { removeMark } from './_tsup-dts-rollup';
|
10
10
|
export { RemoveMarkOptions } from './_tsup-dts-rollup';
|
11
11
|
export { removeNode } from './_tsup-dts-rollup';
|
@@ -18,12 +18,12 @@ export { toggleMark } from './_tsup-dts-rollup';
|
|
18
18
|
export { ToggleMarkOptions } from './_tsup-dts-rollup';
|
19
19
|
export { toggleNode } from './_tsup-dts-rollup';
|
20
20
|
export { ToggleNodeOptions } from './_tsup-dts-rollup';
|
21
|
+
export { toggleWrap } from './_tsup-dts-rollup';
|
22
|
+
export { ToggleWrapOptions } from './_tsup-dts-rollup';
|
21
23
|
export { unsetBlockType } from './_tsup-dts-rollup';
|
22
24
|
export { UnsetBlockTypeOptions } from './_tsup-dts-rollup';
|
23
25
|
export { unsetMark } from './_tsup-dts-rollup';
|
24
26
|
export { UnsetMarkOptions } from './_tsup-dts-rollup';
|
25
|
-
export { toggleWrap } from './_tsup-dts-rollup';
|
26
|
-
export { ToggleWrapOptions } from './_tsup-dts-rollup';
|
27
27
|
export { wrap } from './_tsup-dts-rollup';
|
28
28
|
export { WrapOptions } from './_tsup-dts-rollup';
|
29
29
|
export { MarkAction } from './_tsup-dts-rollup';
|
@@ -73,6 +73,8 @@ export { ScrollToSelectionHandler } from './_tsup-dts-rollup';
|
|
73
73
|
export { TextInputHandler } from './_tsup-dts-rollup';
|
74
74
|
export { TripleClickHandler } from './_tsup-dts-rollup';
|
75
75
|
export { TripleClickOnHandler } from './_tsup-dts-rollup';
|
76
|
+
export { editorEventFacet } from './_tsup-dts-rollup';
|
77
|
+
export { EditorEventPayload } from './_tsup-dts-rollup';
|
76
78
|
export { defineFocusChangeHandler } from './_tsup-dts-rollup';
|
77
79
|
export { FocusChangeHandler } from './_tsup-dts-rollup';
|
78
80
|
export { defineMountHandler } from './_tsup-dts-rollup';
|
@@ -114,6 +116,7 @@ export { TextExtension } from './_tsup-dts-rollup';
|
|
114
116
|
export { defineFacet } from './_tsup-dts-rollup';
|
115
117
|
export { Facet } from './_tsup-dts-rollup';
|
116
118
|
export { defineFacetPayload } from './_tsup-dts-rollup';
|
119
|
+
export { AnyFunction } from './_tsup-dts-rollup';
|
117
120
|
export { AnyAttrs } from './_tsup-dts-rollup';
|
118
121
|
export { AttrSpec } from './_tsup-dts-rollup';
|
119
122
|
export { BaseNodeViewOptions } from './_tsup-dts-rollup';
|
@@ -178,6 +181,7 @@ export { DOMDocumentOptions } from './_tsup-dts-rollup';
|
|
178
181
|
export { DOMParserOptions } from './_tsup-dts-rollup';
|
179
182
|
export { DOMSerializerOptions } from './_tsup-dts-rollup';
|
180
183
|
export { JSONParserOptions } from './_tsup-dts-rollup';
|
184
|
+
export { setSelectionAround } from './_tsup-dts-rollup';
|
181
185
|
export { isAllSelection } from './_tsup-dts-rollup';
|
182
186
|
export { isFragment } from './_tsup-dts-rollup';
|
183
187
|
export { isMark } from './_tsup-dts-rollup';
|
package/dist/prosekit-core.js
CHANGED
@@ -39,7 +39,7 @@ import {
|
|
39
39
|
stateFromJSON,
|
40
40
|
toReversed,
|
41
41
|
union
|
42
|
-
} from "./chunk-
|
42
|
+
} from "./chunk-LAFNHJDR.js";
|
43
43
|
|
44
44
|
// src/commands/add-mark.ts
|
45
45
|
function addMark(options) {
|
@@ -109,41 +109,8 @@ function expandMarkAfter($pos, predicate) {
|
|
109
109
|
return $pos.posAtIndex(boundaryIndex) + parent.child(boundaryIndex).nodeSize;
|
110
110
|
}
|
111
111
|
|
112
|
-
// src/commands/insert-node.ts
|
113
|
-
import { insertPoint } from "@prosekit/pm/transform";
|
114
|
-
|
115
|
-
// src/utils/set-selection-around.ts
|
116
|
-
import { TextSelection as TextSelection2 } from "@prosekit/pm/state";
|
117
|
-
function setSelectionAround(tr, pos) {
|
118
|
-
const docSize = tr.doc.content.size;
|
119
|
-
const $pos = tr.doc.resolve(pos > docSize ? docSize : pos < 0 ? 0 : pos);
|
120
|
-
const selection = TextSelection2.between($pos, $pos);
|
121
|
-
tr.setSelection(selection);
|
122
|
-
}
|
123
|
-
|
124
|
-
// src/commands/insert-node.ts
|
125
|
-
function insertNode(options) {
|
126
|
-
return (state, dispatch) => {
|
127
|
-
var _a;
|
128
|
-
const node = options.node ? options.node : options.type ? getNodeType(state.schema, options.type).createAndFill(options.attrs) : null;
|
129
|
-
assert(node, "You must provide either a node or a type");
|
130
|
-
const insertPos = insertPoint(
|
131
|
-
state.doc,
|
132
|
-
(_a = options.pos) != null ? _a : state.selection.anchor,
|
133
|
-
node.type
|
134
|
-
);
|
135
|
-
if (insertPos == null) return false;
|
136
|
-
if (dispatch) {
|
137
|
-
const tr = state.tr.insert(insertPos, node);
|
138
|
-
setSelectionAround(tr, insertPos + node.nodeSize);
|
139
|
-
dispatch(tr);
|
140
|
-
}
|
141
|
-
return true;
|
142
|
-
};
|
143
|
-
}
|
144
|
-
|
145
112
|
// src/commands/insert-default-block.ts
|
146
|
-
import { TextSelection as
|
113
|
+
import { TextSelection as TextSelection2 } from "@prosekit/pm/state";
|
147
114
|
|
148
115
|
// src/utils/default-block-at.ts
|
149
116
|
function defaultBlockAt(match) {
|
@@ -168,7 +135,7 @@ function insertDefaultBlock(options) {
|
|
168
135
|
const node = type.createAndFill();
|
169
136
|
if (!node) return false;
|
170
137
|
const tr = state.tr.insert(pos, node);
|
171
|
-
const selection =
|
138
|
+
const selection = TextSelection2.findFrom(tr.doc.resolve(pos), 1);
|
172
139
|
if (!selection) return false;
|
173
140
|
tr.setSelection(selection);
|
174
141
|
dispatch(tr.scrollIntoView());
|
@@ -177,6 +144,39 @@ function insertDefaultBlock(options) {
|
|
177
144
|
};
|
178
145
|
}
|
179
146
|
|
147
|
+
// src/commands/insert-node.ts
|
148
|
+
import { insertPoint } from "@prosekit/pm/transform";
|
149
|
+
|
150
|
+
// src/utils/set-selection-around.ts
|
151
|
+
import { TextSelection as TextSelection3 } from "@prosekit/pm/state";
|
152
|
+
function setSelectionAround(tr, pos) {
|
153
|
+
const docSize = tr.doc.content.size;
|
154
|
+
const $pos = tr.doc.resolve(pos > docSize ? docSize : pos < 0 ? 0 : pos);
|
155
|
+
const selection = TextSelection3.between($pos, $pos);
|
156
|
+
tr.setSelection(selection);
|
157
|
+
}
|
158
|
+
|
159
|
+
// src/commands/insert-node.ts
|
160
|
+
function insertNode(options) {
|
161
|
+
return (state, dispatch) => {
|
162
|
+
var _a;
|
163
|
+
const node = options.node ? options.node : options.type ? getNodeType(state.schema, options.type).createAndFill(options.attrs) : null;
|
164
|
+
assert(node, "You must provide either a node or a type");
|
165
|
+
const insertPos = insertPoint(
|
166
|
+
state.doc,
|
167
|
+
(_a = options.pos) != null ? _a : state.selection.anchor,
|
168
|
+
node.type
|
169
|
+
);
|
170
|
+
if (insertPos == null) return false;
|
171
|
+
if (dispatch) {
|
172
|
+
const tr = state.tr.insert(insertPos, node);
|
173
|
+
setSelectionAround(tr, insertPos + node.nodeSize);
|
174
|
+
dispatch(tr);
|
175
|
+
}
|
176
|
+
return true;
|
177
|
+
};
|
178
|
+
}
|
179
|
+
|
180
180
|
// src/commands/remove-mark.ts
|
181
181
|
function removeMark(options) {
|
182
182
|
return (state, dispatch) => {
|
@@ -224,7 +224,9 @@ function removeNode(options) {
|
|
224
224
|
}
|
225
225
|
|
226
226
|
// src/utils/get-custom-selection.ts
|
227
|
-
import {
|
227
|
+
import {
|
228
|
+
TextSelection as TextSelection4
|
229
|
+
} from "@prosekit/pm/state";
|
228
230
|
function getCustomSelection(state, from, to) {
|
229
231
|
const pos = from != null ? from : to;
|
230
232
|
if (pos != null) {
|
@@ -347,6 +349,35 @@ function toggleNode({ type, attrs }) {
|
|
347
349
|
};
|
348
350
|
}
|
349
351
|
|
352
|
+
// src/commands/toggle-wrap.ts
|
353
|
+
import { lift } from "@prosekit/pm/commands";
|
354
|
+
|
355
|
+
// src/commands/wrap.ts
|
356
|
+
import { findWrapping } from "@prosekit/pm/transform";
|
357
|
+
function wrap(options) {
|
358
|
+
return (state, dispatch) => {
|
359
|
+
const { $from, $to } = state.selection;
|
360
|
+
const range = $from.blockRange($to);
|
361
|
+
if (!range) return false;
|
362
|
+
const nodeType = getNodeType(state.schema, options.nodeType || options.type);
|
363
|
+
const wrapping = findWrapping(range, nodeType, options.attrs);
|
364
|
+
if (!wrapping) return false;
|
365
|
+
dispatch == null ? void 0 : dispatch(state.tr.wrap(range, wrapping));
|
366
|
+
return true;
|
367
|
+
};
|
368
|
+
}
|
369
|
+
|
370
|
+
// src/commands/toggle-wrap.ts
|
371
|
+
function toggleWrap(options) {
|
372
|
+
const { type, attrs } = options;
|
373
|
+
return (state, dispatch) => {
|
374
|
+
if (isNodeActive(state, type, attrs)) {
|
375
|
+
return lift(state, dispatch);
|
376
|
+
}
|
377
|
+
return wrap({ type, attrs })(state, dispatch);
|
378
|
+
};
|
379
|
+
}
|
380
|
+
|
350
381
|
// src/commands/unset-block-type.ts
|
351
382
|
import { Fragment, Slice } from "@prosekit/pm/model";
|
352
383
|
import { ReplaceAroundStep } from "@prosekit/pm/transform";
|
@@ -401,35 +432,6 @@ function unsetMark(options) {
|
|
401
432
|
};
|
402
433
|
}
|
403
434
|
|
404
|
-
// src/commands/toggle-wrap.ts
|
405
|
-
import { lift } from "@prosekit/pm/commands";
|
406
|
-
|
407
|
-
// src/commands/wrap.ts
|
408
|
-
import { findWrapping } from "@prosekit/pm/transform";
|
409
|
-
function wrap(options) {
|
410
|
-
return (state, dispatch) => {
|
411
|
-
const { $from, $to } = state.selection;
|
412
|
-
const range = $from.blockRange($to);
|
413
|
-
if (!range) return false;
|
414
|
-
const nodeType = getNodeType(state.schema, options.nodeType || options.type);
|
415
|
-
const wrapping = findWrapping(range, nodeType, options.attrs);
|
416
|
-
if (!wrapping) return false;
|
417
|
-
dispatch == null ? void 0 : dispatch(state.tr.wrap(range, wrapping));
|
418
|
-
return true;
|
419
|
-
};
|
420
|
-
}
|
421
|
-
|
422
|
-
// src/commands/toggle-wrap.ts
|
423
|
-
function toggleWrap(options) {
|
424
|
-
const { type, attrs } = options;
|
425
|
-
return (state, dispatch) => {
|
426
|
-
if (isNodeActive(state, type, attrs)) {
|
427
|
-
return lift(state, dispatch);
|
428
|
-
}
|
429
|
-
return wrap({ type, attrs })(state, dispatch);
|
430
|
-
};
|
431
|
-
}
|
432
|
-
|
433
435
|
// src/editor/with-priority.ts
|
434
436
|
function withPriority(extension, priority) {
|
435
437
|
const result = union(extension);
|
@@ -843,88 +845,100 @@ function combineEventHandlers() {
|
|
843
845
|
}
|
844
846
|
|
845
847
|
// src/extensions/events/dom-event.ts
|
848
|
+
function defineDomEventFacetPayload(...payloads) {
|
849
|
+
return defineFacetPayload(
|
850
|
+
domEventFacet,
|
851
|
+
payloads
|
852
|
+
);
|
853
|
+
}
|
846
854
|
function defineDOMEventHandler(event, handler) {
|
847
|
-
return
|
848
|
-
|
855
|
+
return defineDomEventFacetPayload([
|
856
|
+
event,
|
857
|
+
handler
|
849
858
|
]);
|
850
859
|
}
|
851
|
-
var domEventFacet = defineFacet(
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
860
|
+
var domEventFacet = defineFacet(
|
861
|
+
{
|
862
|
+
reduce: () => {
|
863
|
+
const setHandlersMap = {};
|
864
|
+
const combinedHandlerMap = {};
|
865
|
+
let plugin;
|
866
|
+
const update = (payloads) => {
|
867
|
+
var _a;
|
868
|
+
let hasNewEvent = false;
|
869
|
+
for (const [event] of payloads) {
|
870
|
+
if (!setHandlersMap[event]) {
|
871
|
+
hasNewEvent = true;
|
872
|
+
const [setHandlers, combinedHandler] = combineEventHandlers();
|
873
|
+
setHandlersMap[event] = setHandlers;
|
874
|
+
const e = (view, eventObject) => {
|
875
|
+
return combinedHandler(view, eventObject);
|
876
|
+
};
|
877
|
+
combinedHandlerMap[event] = e;
|
878
|
+
}
|
868
879
|
}
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
}
|
880
|
-
}
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
}
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
880
|
+
const map = groupEntries(payloads);
|
881
|
+
for (const [event, setHandlers] of Object.entries(setHandlersMap)) {
|
882
|
+
const handlers = (_a = map[event]) != null ? _a : [];
|
883
|
+
setHandlers(handlers);
|
884
|
+
}
|
885
|
+
if (hasNewEvent) {
|
886
|
+
plugin = new ProseMirrorPlugin2({
|
887
|
+
key: new PluginKey2("prosekit-dom-event-handler"),
|
888
|
+
props: { handleDOMEvents: combinedHandlerMap }
|
889
|
+
});
|
890
|
+
}
|
891
|
+
};
|
892
|
+
return function reducer(inputs) {
|
893
|
+
update(inputs);
|
894
|
+
return plugin != null ? plugin : [];
|
895
|
+
};
|
896
|
+
},
|
897
|
+
parent: pluginFacet,
|
898
|
+
singleton: true
|
899
|
+
}
|
900
|
+
);
|
890
901
|
|
891
902
|
// src/extensions/events/editor-event.ts
|
892
903
|
import { PluginKey as PluginKey3, ProseMirrorPlugin as ProseMirrorPlugin3 } from "@prosekit/pm/state";
|
904
|
+
function defineEventFacetPayload(payload) {
|
905
|
+
return defineFacetPayload(editorEventFacet, [payload]);
|
906
|
+
}
|
893
907
|
function defineKeyDownHandler(handler) {
|
894
|
-
return
|
908
|
+
return defineEventFacetPayload(["keyDown", handler]);
|
895
909
|
}
|
896
910
|
function defineKeyPressHandler(handler) {
|
897
|
-
return
|
911
|
+
return defineEventFacetPayload(["keyPress", handler]);
|
898
912
|
}
|
899
913
|
function defineTextInputHandler(handler) {
|
900
|
-
return
|
914
|
+
return defineEventFacetPayload(["textInput", handler]);
|
901
915
|
}
|
902
916
|
function defineClickOnHandler(handler) {
|
903
|
-
return
|
917
|
+
return defineEventFacetPayload(["clickOn", handler]);
|
904
918
|
}
|
905
919
|
function defineClickHandler(handler) {
|
906
|
-
return
|
920
|
+
return defineEventFacetPayload(["click", handler]);
|
907
921
|
}
|
908
922
|
function defineDoubleClickOnHandler(handler) {
|
909
|
-
return
|
923
|
+
return defineEventFacetPayload(["doubleClickOn", handler]);
|
910
924
|
}
|
911
925
|
function defineDoubleClickHandler(handler) {
|
912
|
-
return
|
926
|
+
return defineEventFacetPayload(["doubleClick", handler]);
|
913
927
|
}
|
914
928
|
function defineTripleClickOnHandler(handler) {
|
915
|
-
return
|
929
|
+
return defineEventFacetPayload(["tripleClickOn", handler]);
|
916
930
|
}
|
917
931
|
function defineTripleClickHandler(handler) {
|
918
|
-
return
|
932
|
+
return defineEventFacetPayload(["tripleClick", handler]);
|
919
933
|
}
|
920
934
|
function definePasteHandler(handler) {
|
921
|
-
return
|
935
|
+
return defineEventFacetPayload(["paste", handler]);
|
922
936
|
}
|
923
937
|
function defineDropHandler(handler) {
|
924
|
-
return
|
938
|
+
return defineEventFacetPayload(["drop", handler]);
|
925
939
|
}
|
926
940
|
function defineScrollToSelectionHandler(handler) {
|
927
|
-
return
|
941
|
+
return defineEventFacetPayload(["scrollToSelection", handler]);
|
928
942
|
}
|
929
943
|
var editorEventFacet = defineFacet({
|
930
944
|
reduce: () => {
|
@@ -990,10 +1004,10 @@ function setupEditorEventPlugin() {
|
|
990
1004
|
function defineFocusChangeHandler(handler) {
|
991
1005
|
const handleFocus = () => handler(true);
|
992
1006
|
const handleBlur = () => handler(false);
|
993
|
-
return
|
1007
|
+
return defineDomEventFacetPayload(
|
994
1008
|
["focus", handleFocus],
|
995
1009
|
["blur", handleBlur]
|
996
|
-
|
1010
|
+
);
|
997
1011
|
}
|
998
1012
|
|
999
1013
|
// src/extensions/history.ts
|
@@ -1103,10 +1117,7 @@ var customBaseKeymap = {
|
|
1103
1117
|
function defineBaseKeymap(options) {
|
1104
1118
|
var _a;
|
1105
1119
|
const priority = (_a = options == null ? void 0 : options.priority) != null ? _a : 1 /* low */;
|
1106
|
-
return withPriority(
|
1107
|
-
defineKeymap(customBaseKeymap),
|
1108
|
-
priority
|
1109
|
-
);
|
1120
|
+
return withPriority(defineKeymap(customBaseKeymap), priority);
|
1110
1121
|
}
|
1111
1122
|
|
1112
1123
|
// src/extensions/mark-spec.ts
|
@@ -1328,7 +1339,7 @@ function isAtBlockStart(state, view) {
|
|
1328
1339
|
|
1329
1340
|
// src/utils/is-in-code-block.ts
|
1330
1341
|
function isCodeBlockType(type) {
|
1331
|
-
return type.spec.code && type.isBlock;
|
1342
|
+
return !!(type.spec.code && type.isBlock);
|
1332
1343
|
}
|
1333
1344
|
function isInCodeBlock(selection) {
|
1334
1345
|
return isCodeBlockType(selection.$from.parent.type) || isCodeBlockType(selection.$to.parent.type);
|
@@ -1404,6 +1415,7 @@ export {
|
|
1404
1415
|
defineTripleClickOnHandler,
|
1405
1416
|
defineUnmountHandler,
|
1406
1417
|
defineUpdateHandler,
|
1418
|
+
editorEventFacet,
|
1407
1419
|
elementFromJSON,
|
1408
1420
|
elementFromNode,
|
1409
1421
|
expandMark,
|
@@ -1441,6 +1453,7 @@ export {
|
|
1441
1453
|
removeNode,
|
1442
1454
|
setBlockType,
|
1443
1455
|
setNodeAttrs,
|
1456
|
+
setSelectionAround,
|
1444
1457
|
stateFromJSON,
|
1445
1458
|
toggleMark,
|
1446
1459
|
toggleNode,
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@prosekit/core",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.7.
|
4
|
+
"version": "0.7.12",
|
5
5
|
"private": false,
|
6
6
|
"author": {
|
7
7
|
"name": "ocavue",
|
@@ -45,14 +45,14 @@
|
|
45
45
|
"just-map-values": "^3.2.0",
|
46
46
|
"orderedmap": "^2.1.1",
|
47
47
|
"prosemirror-splittable": "^0.1.1",
|
48
|
-
"type-fest": "^4.26.
|
48
|
+
"type-fest": "^4.26.1",
|
49
49
|
"@prosekit/pm": "^0.1.8"
|
50
50
|
},
|
51
51
|
"devDependencies": {
|
52
|
-
"@vitest/browser": "^2.
|
53
|
-
"tsup": "^8.
|
54
|
-
"typescript": "^5.
|
55
|
-
"vitest": "^2.
|
52
|
+
"@vitest/browser": "^2.1.3",
|
53
|
+
"tsup": "^8.3.0",
|
54
|
+
"typescript": "^5.6.3",
|
55
|
+
"vitest": "^2.1.3",
|
56
56
|
"@prosekit/dev": "0.0.0"
|
57
57
|
},
|
58
58
|
"scripts": {
|