@prosekit/core 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{editor-4lgGc3CY.d.ts → editor.d.ts} +58 -18
- package/dist/editor.d.ts.map +1 -0
- package/dist/{editor-DGNUXn-u.js → editor.js} +40 -81
- package/dist/editor.js.map +1 -0
- package/dist/prosekit-core-test.d.ts +1 -2
- package/dist/prosekit-core-test.d.ts.map +1 -1
- package/dist/prosekit-core-test.js +2 -4
- package/dist/prosekit-core-test.js.map +1 -1
- package/dist/prosekit-core.d.ts +148 -68
- package/dist/prosekit-core.d.ts.map +1 -1
- package/dist/prosekit-core.js +184 -138
- package/dist/prosekit-core.js.map +1 -1
- package/package.json +9 -9
- package/src/commands/add-mark.ts +3 -6
- package/src/commands/expand-mark.ts +4 -11
- package/src/commands/insert-default-block.spec.ts +4 -8
- package/src/commands/insert-default-block.ts +2 -5
- package/src/commands/insert-node.ts +7 -11
- package/src/commands/remove-mark.ts +3 -6
- package/src/commands/remove-node.ts +4 -4
- package/src/commands/select-block.spec.ts +6 -8
- package/src/commands/select-block.ts +2 -5
- package/src/commands/set-block-type.ts +3 -6
- package/src/commands/set-node-attrs-between.spec.ts +221 -0
- package/src/commands/set-node-attrs-between.ts +77 -0
- package/src/commands/set-node-attrs.spec.ts +129 -0
- package/src/commands/set-node-attrs.ts +26 -27
- package/src/commands/toggle-mark.ts +3 -6
- package/src/commands/toggle-node.ts +4 -7
- package/src/commands/toggle-wrap.spec.ts +2 -6
- package/src/commands/toggle-wrap.ts +3 -6
- package/src/commands/unset-block-type.spec.ts +2 -6
- package/src/commands/unset-block-type.ts +3 -9
- package/src/commands/unset-mark.spec.ts +2 -6
- package/src/commands/unset-mark.ts +1 -1
- package/src/commands/wrap.ts +2 -5
- package/src/editor/action.spec.ts +5 -9
- package/src/editor/action.ts +7 -14
- package/src/editor/editor.spec.ts +8 -15
- package/src/editor/editor.ts +18 -52
- package/src/editor/union.spec.ts +8 -12
- package/src/editor/union.ts +4 -7
- package/src/editor/with-priority.ts +3 -3
- package/src/error.ts +8 -1
- package/src/extensions/clipboard-serializer.ts +22 -26
- package/src/extensions/command.ts +22 -54
- package/src/extensions/default-state.spec.ts +4 -8
- package/src/extensions/default-state.ts +6 -12
- package/src/extensions/events/doc-change.ts +2 -2
- package/src/extensions/events/dom-event.spec.ts +4 -9
- package/src/extensions/events/dom-event.ts +9 -21
- package/src/extensions/events/editor-event.ts +8 -20
- package/src/extensions/events/focus.spec.ts +7 -12
- package/src/extensions/events/focus.ts +2 -2
- package/src/extensions/events/plugin-view.ts +5 -12
- package/src/extensions/history.ts +7 -14
- package/src/extensions/keymap-base.spec.ts +6 -15
- package/src/extensions/keymap-base.ts +6 -9
- package/src/extensions/keymap.spec.ts +10 -24
- package/src/extensions/keymap.ts +5 -15
- package/src/extensions/mark-spec.spec.ts +6 -21
- package/src/extensions/mark-spec.ts +10 -21
- package/src/extensions/mark-view-effect.ts +6 -12
- package/src/extensions/mark-view.ts +5 -11
- package/src/extensions/node-spec.spec.ts +10 -26
- package/src/extensions/node-spec.ts +10 -21
- package/src/extensions/node-view-effect.ts +6 -12
- package/src/extensions/node-view.ts +5 -11
- package/src/extensions/plugin.spec.ts +9 -22
- package/src/extensions/plugin.ts +6 -15
- package/src/facets/base-extension.ts +7 -10
- package/src/facets/command.ts +3 -9
- package/src/facets/facet-extension.spec.ts +10 -21
- package/src/facets/facet-extension.ts +12 -8
- package/src/facets/facet-node.spec.ts +4 -11
- package/src/facets/facet-node.ts +27 -22
- package/src/facets/facet.spec.ts +2 -5
- package/src/facets/facet.ts +14 -7
- package/src/facets/root.ts +2 -2
- package/src/facets/schema-spec.ts +3 -10
- package/src/facets/schema.ts +4 -13
- package/src/facets/state.spec.ts +8 -15
- package/src/facets/state.ts +5 -19
- package/src/facets/union-extension.ts +10 -13
- package/src/index.ts +74 -200
- package/src/test/index.ts +1 -4
- package/src/test/test-builder.ts +2 -5
- package/src/test/test-editor.spec.ts +2 -6
- package/src/test/test-editor.ts +7 -26
- package/src/testing/index.ts +26 -22
- package/src/types/extension-mark.ts +1 -1
- package/src/types/extension-node.ts +1 -1
- package/src/types/extension.spec.ts +2 -5
- package/src/types/extension.ts +8 -18
- package/src/types/pick-string-literal.spec.ts +2 -2
- package/src/types/pick-string-literal.ts +1 -1
- package/src/types/pick-sub-type.spec.ts +2 -2
- package/src/types/priority.ts +50 -7
- package/src/types/simplify-deeper.spec.ts +2 -2
- package/src/types/simplify-union.spec.ts +2 -2
- package/src/types/simplify-union.ts +1 -4
- package/src/utils/array-grouping.spec.ts +2 -5
- package/src/utils/assert.ts +1 -1
- package/src/utils/attrs-match.ts +1 -5
- package/src/utils/can-use-regex-lookbehind.ts +2 -8
- package/src/utils/clsx.spec.ts +2 -5
- package/src/utils/combine-event-handlers.spec.ts +2 -6
- package/src/utils/default-block-at.ts +1 -4
- package/src/utils/editor-content.spec.ts +3 -6
- package/src/utils/editor-content.ts +5 -17
- package/src/utils/find-node.ts +65 -0
- package/src/utils/find-parent-node-of-type.ts +6 -12
- package/src/utils/find-parent-node.spec.ts +3 -7
- package/src/utils/find-parent-node.ts +1 -4
- package/src/utils/get-custom-selection.ts +1 -5
- package/src/utils/get-dom-api.ts +1 -1
- package/src/utils/get-mark-type.ts +2 -5
- package/src/utils/get-node-type.ts +2 -5
- package/src/utils/get-node-types.ts +2 -5
- package/src/utils/includes-mark.ts +2 -6
- package/src/utils/is-at-block-start.ts +1 -4
- package/src/utils/is-mark-absent.spec.ts +3 -6
- package/src/utils/is-mark-absent.ts +2 -6
- package/src/utils/is-mark-active.ts +4 -7
- package/src/utils/is-node-active.spec.ts +109 -0
- package/src/utils/is-node-active.ts +19 -10
- package/src/utils/is-subset.spec.ts +2 -5
- package/src/utils/maybe-run.spec.ts +2 -6
- package/src/utils/merge-objects.spec.ts +2 -5
- package/src/utils/merge-objects.ts +3 -2
- package/src/utils/merge-specs.ts +2 -5
- package/src/utils/object-equal.spec.ts +2 -5
- package/src/utils/output-spec.test.ts +2 -6
- package/src/utils/output-spec.ts +2 -10
- package/src/utils/parse.spec.ts +6 -15
- package/src/utils/parse.ts +4 -16
- package/src/utils/remove-undefined-values.spec.ts +2 -5
- package/src/utils/set-selection-around.ts +1 -4
- package/src/utils/type-assertion.ts +2 -21
- package/src/utils/unicode.spec.ts +2 -5
- package/src/utils/with-skip-code-block.ts +1 -1
- package/dist/editor-4lgGc3CY.d.ts.map +0 -1
- package/dist/editor-DGNUXn-u.js.map +0 -1
|
@@ -49,11 +49,11 @@ type NodeChild = ProseMirrorNode | string | NodeChild[];
|
|
|
49
49
|
*
|
|
50
50
|
* @public
|
|
51
51
|
*/
|
|
52
|
-
interface NodeAction<Attrs
|
|
52
|
+
interface NodeAction<Attrs extends AnyAttrs = AnyAttrs> {
|
|
53
53
|
/**
|
|
54
54
|
* Creates a node with attributes and any number of children.
|
|
55
55
|
*/
|
|
56
|
-
(attrs: Attrs
|
|
56
|
+
(attrs: Attrs | null, ...children: NodeChild[]): ProseMirrorNode;
|
|
57
57
|
/**
|
|
58
58
|
* Creates a node with any number of children.
|
|
59
59
|
*/
|
|
@@ -63,7 +63,7 @@ interface NodeAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
|
|
|
63
63
|
* optional `attrs` parameter is provided, it will check if the node is active
|
|
64
64
|
* with the given attributes.
|
|
65
65
|
*/
|
|
66
|
-
isActive: (attrs?: Attrs
|
|
66
|
+
isActive: (attrs?: Attrs) => boolean;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* A function for applying a mark with optional attributes and any number of
|
|
@@ -74,11 +74,11 @@ interface NodeAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
|
|
|
74
74
|
*
|
|
75
75
|
* @public
|
|
76
76
|
*/
|
|
77
|
-
interface MarkAction<Attrs
|
|
77
|
+
interface MarkAction<Attrs extends AnyAttrs = AnyAttrs> {
|
|
78
78
|
/**
|
|
79
79
|
* Applies a mark with attributes and any number of children.
|
|
80
80
|
*/
|
|
81
|
-
(attrs: Attrs
|
|
81
|
+
(attrs: Attrs | null, ...children: NodeChild[]): ProseMirrorNode[];
|
|
82
82
|
/**
|
|
83
83
|
* Applies a mark with any number of children.
|
|
84
84
|
*/
|
|
@@ -88,7 +88,7 @@ interface MarkAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
|
|
|
88
88
|
* optional `attrs` parameter is provided, it will check if the mark is active
|
|
89
89
|
* with the given attributes.
|
|
90
90
|
*/
|
|
91
|
-
isActive: (attrs?: Attrs
|
|
91
|
+
isActive: (attrs?: Attrs) => boolean;
|
|
92
92
|
}
|
|
93
93
|
//#endregion
|
|
94
94
|
//#region src/types/extension-command.d.ts
|
|
@@ -161,15 +161,55 @@ type PickStringLiteral<T> = PickSubType<T, string>;
|
|
|
161
161
|
/**
|
|
162
162
|
* ProseKit extension priority.
|
|
163
163
|
*
|
|
164
|
+
* There are five priority levels available:
|
|
165
|
+
*
|
|
166
|
+
* - `Priority.lowest`
|
|
167
|
+
* - `Priority.low`
|
|
168
|
+
* - `Priority.default`
|
|
169
|
+
* - `Priority.high`
|
|
170
|
+
* - `Priority.highest`
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
*
|
|
174
|
+
* ```ts
|
|
175
|
+
* import { withPriority, Priority } from 'prosekit/core'
|
|
176
|
+
* import { myExtension } from './my-extension.js'
|
|
177
|
+
*
|
|
178
|
+
* const myExtensionWithHighPriority = withPriority(myExtension, Priority.high)
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
164
181
|
* @public
|
|
165
182
|
*/
|
|
166
|
-
declare
|
|
167
|
-
lowest
|
|
168
|
-
low
|
|
169
|
-
default
|
|
170
|
-
high
|
|
171
|
-
highest
|
|
172
|
-
}
|
|
183
|
+
declare const Priority: {
|
|
184
|
+
readonly lowest: 0;
|
|
185
|
+
readonly low: 1;
|
|
186
|
+
readonly default: 2;
|
|
187
|
+
readonly high: 3;
|
|
188
|
+
readonly highest: 4;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* ProseKit extension priority.
|
|
192
|
+
*
|
|
193
|
+
* There are five priority levels available:
|
|
194
|
+
*
|
|
195
|
+
* - `Priority.lowest`
|
|
196
|
+
* - `Priority.low`
|
|
197
|
+
* - `Priority.default`
|
|
198
|
+
* - `Priority.high`
|
|
199
|
+
* - `Priority.highest`
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
*
|
|
203
|
+
* ```ts
|
|
204
|
+
* import { withPriority, Priority } from 'prosekit/core'
|
|
205
|
+
* import { myExtension } from './my-extension.js'
|
|
206
|
+
*
|
|
207
|
+
* const myExtensionWithHighPriority = withPriority(myExtension, Priority.high)
|
|
208
|
+
* ```
|
|
209
|
+
*
|
|
210
|
+
* @public
|
|
211
|
+
*/
|
|
212
|
+
type Priority = typeof Priority[keyof typeof Priority];
|
|
173
213
|
//#endregion
|
|
174
214
|
//#region src/types/simplify-deeper.d.ts
|
|
175
215
|
/**
|
|
@@ -187,10 +227,10 @@ type SimplifyUnion<T> = Simplify<UnionToIntersection<T extends undefined ? never
|
|
|
187
227
|
/**
|
|
188
228
|
* @internal
|
|
189
229
|
*/
|
|
190
|
-
interface ExtensionTyping<N
|
|
191
|
-
Nodes?: N
|
|
192
|
-
Marks?: M
|
|
193
|
-
Commands?: C
|
|
230
|
+
interface ExtensionTyping<N extends NodeTyping = never, M extends MarkTyping = never, C extends CommandTyping = never> {
|
|
231
|
+
Nodes?: N;
|
|
232
|
+
Marks?: M;
|
|
233
|
+
Commands?: C;
|
|
194
234
|
}
|
|
195
235
|
/**
|
|
196
236
|
* @public
|
|
@@ -679,4 +719,4 @@ declare class Editor<E extends Extension = any> {
|
|
|
679
719
|
}
|
|
680
720
|
//#endregion
|
|
681
721
|
export { ExtractMarks as A, NodeTyping as B, StepJSON as C, ExtractCommandCreators as D, ExtractCommandActions as E, Union as F, CommandCreator as G, MarkTyping as H, SimplifyUnion as I, NodeAction as J, CommandTyping as K, SimplifyDeeper as L, ExtractNodes as M, ExtractTyping as N, ExtractCommands as O, PlainExtension as P, Priority as R, StateJSON as S, ExtensionTyping as T, ToMarkAction as U, ToNodeAction as V, CommandAction as W, AnyAttrs as X, NodeChild as Y, AttrSpec as Z, nodeFromHTML as _, DOMDocumentOptions as a, NodeJSON as b, JSONParserOptions as c, htmlFromJSON as d, htmlFromNode as f, nodeFromElement as g, jsonFromState as h, createEditor as i, ExtractNodeActions as j, ExtractMarkActions as k, elementFromJSON as l, jsonFromNode as m, EditorInstance as n, DOMParserOptions as o, jsonFromHTML as p, MarkAction as q, EditorOptions as r, DOMSerializerOptions as s, Editor as t, elementFromNode as u, nodeFromJSON as v, Extension as w, SelectionJSON as x, stateFromJSON as y, PickSubType as z };
|
|
682
|
-
//# sourceMappingURL=editor
|
|
722
|
+
//# sourceMappingURL=editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.d.ts","names":[],"sources":["../src/types/attrs.ts","../src/editor/action.ts","../src/types/extension-command.ts","../src/types/extension-mark.ts","../src/types/extension-node.ts","../src/types/pick-sub-type.ts","../src/types/pick-string-literal.ts","../src/types/priority.ts","../src/types/simplify-deeper.ts","../src/types/simplify-union.ts","../src/types/extension.ts","../src/types/model.ts","../src/types/dom-node.ts","../src/utils/parse.ts","../src/editor/editor.ts"],"mappings":"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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { AllSelection, EditorState, NodeSelection, Selection, TextSelection } from "@prosekit/pm/state";
|
|
2
2
|
import { DOMParser, DOMSerializer, Fragment, Mark, ProseMirrorNode, Schema, Slice } from "@prosekit/pm/model";
|
|
3
|
-
import { isDeepEqual, isElementLike, mapValues } from "@ocavue/utils";
|
|
3
|
+
import { isDeepEqual, isElementLike, isNotNullish, mapValues } from "@ocavue/utils";
|
|
4
4
|
import { EditorView } from "@prosekit/pm/view";
|
|
5
|
-
|
|
6
5
|
//#region src/error.ts
|
|
7
6
|
/**
|
|
8
7
|
* Base class for all ProseKit errors.
|
|
9
8
|
*
|
|
10
9
|
* @internal
|
|
11
10
|
*/
|
|
12
|
-
var ProseKitError = class extends Error {
|
|
11
|
+
var ProseKitError = class extends Error {
|
|
12
|
+
constructor(message, options) {
|
|
13
|
+
if (typeof message === "string" && !message.startsWith("[")) message = `[prosekit] ${message}`;
|
|
14
|
+
super(message, options);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
13
17
|
/**
|
|
14
18
|
* @internal
|
|
15
19
|
*/
|
|
@@ -26,7 +30,6 @@ var DOMDocumentNotFoundError = class extends ProseKitError {
|
|
|
26
30
|
super("Unable to find browser Document. When not in the browser environment, you need to pass a DOM Document.");
|
|
27
31
|
}
|
|
28
32
|
};
|
|
29
|
-
|
|
30
33
|
//#endregion
|
|
31
34
|
//#region src/utils/get-mark-type.ts
|
|
32
35
|
/**
|
|
@@ -40,7 +43,6 @@ function getMarkType(schema, type) {
|
|
|
40
43
|
}
|
|
41
44
|
return type;
|
|
42
45
|
}
|
|
43
|
-
|
|
44
46
|
//#endregion
|
|
45
47
|
//#region src/utils/assert.ts
|
|
46
48
|
/**
|
|
@@ -49,7 +51,6 @@ function getMarkType(schema, type) {
|
|
|
49
51
|
function assert(condition, message = "Assertion failed") {
|
|
50
52
|
if (!condition) throw new ProseKitError(message);
|
|
51
53
|
}
|
|
52
|
-
|
|
53
54
|
//#endregion
|
|
54
55
|
//#region src/utils/get-node-type.ts
|
|
55
56
|
/**
|
|
@@ -63,7 +64,6 @@ function getNodeType(schema, type) {
|
|
|
63
64
|
}
|
|
64
65
|
return type;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
67
|
//#endregion
|
|
68
68
|
//#region src/utils/type-assertion.ts
|
|
69
69
|
/**
|
|
@@ -128,13 +128,6 @@ function isNodeSelection(value) {
|
|
|
128
128
|
function isAllSelection(value) {
|
|
129
129
|
return value instanceof AllSelection;
|
|
130
130
|
}
|
|
131
|
-
/**
|
|
132
|
-
* @internal
|
|
133
|
-
*/
|
|
134
|
-
function isNotNullish(value) {
|
|
135
|
-
return value != null;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
131
|
//#endregion
|
|
139
132
|
//#region src/utils/attrs-match.ts
|
|
140
133
|
function attrsMatch(nodeOrMark, attrs) {
|
|
@@ -142,35 +135,22 @@ function attrsMatch(nodeOrMark, attrs) {
|
|
|
142
135
|
for (const [key, value] of Object.entries(attrs)) if (currentAttrs[key] !== value) return false;
|
|
143
136
|
return true;
|
|
144
137
|
}
|
|
145
|
-
|
|
146
138
|
//#endregion
|
|
147
139
|
//#region src/utils/is-node-active.ts
|
|
140
|
+
/**
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
148
143
|
function isNodeActive(state, type, attrs) {
|
|
149
|
-
const
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
144
|
+
const { selection, schema } = state;
|
|
145
|
+
const $pos = selection.$from;
|
|
146
|
+
const nodeType = getNodeType(schema, type);
|
|
147
|
+
if (isNodeSelection(selection) && checkNode(selection.node, nodeType, attrs)) return true;
|
|
148
|
+
for (let depth = $pos.depth; depth >= 0; depth--) if (checkNode($pos.node(depth), nodeType, attrs)) return true;
|
|
155
149
|
return false;
|
|
156
150
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* ProseKit extension priority.
|
|
162
|
-
*
|
|
163
|
-
* @public
|
|
164
|
-
*/
|
|
165
|
-
let Priority = /* @__PURE__ */ function(Priority$1) {
|
|
166
|
-
Priority$1[Priority$1["lowest"] = 0] = "lowest";
|
|
167
|
-
Priority$1[Priority$1["low"] = 1] = "low";
|
|
168
|
-
Priority$1[Priority$1["default"] = 2] = "default";
|
|
169
|
-
Priority$1[Priority$1["high"] = 3] = "high";
|
|
170
|
-
Priority$1[Priority$1["highest"] = 4] = "highest";
|
|
171
|
-
return Priority$1;
|
|
172
|
-
}({});
|
|
173
|
-
|
|
151
|
+
function checkNode(node, nodeType, attrs) {
|
|
152
|
+
return node.type === nodeType && (!attrs || attrsMatch(node, attrs));
|
|
153
|
+
}
|
|
174
154
|
//#endregion
|
|
175
155
|
//#region src/facets/facet.ts
|
|
176
156
|
let facetCount = 0;
|
|
@@ -181,17 +161,17 @@ var Facet = class {
|
|
|
181
161
|
/**
|
|
182
162
|
* @internal
|
|
183
163
|
*/
|
|
184
|
-
constructor(parent, singleton,
|
|
185
|
-
this._reducer = _reducer;
|
|
186
|
-
this._reduce = _reduce;
|
|
164
|
+
constructor(parent, singleton, reducer, reduce) {
|
|
187
165
|
this.index = facetCount++;
|
|
188
|
-
|
|
166
|
+
if (reduce && !reducer) this.reduce = reduce;
|
|
167
|
+
else if (reducer && !reduce) this.reduce = () => reducer;
|
|
168
|
+
else throw new ProseKitError("Incorrect reducer");
|
|
189
169
|
this.parent = parent;
|
|
190
170
|
this.singleton = singleton;
|
|
191
171
|
this.path = parent ? [...parent.path, this.index] : [];
|
|
192
172
|
}
|
|
193
173
|
get reducer() {
|
|
194
|
-
return this.
|
|
174
|
+
return this.reduce();
|
|
195
175
|
}
|
|
196
176
|
};
|
|
197
177
|
/**
|
|
@@ -200,7 +180,6 @@ var Facet = class {
|
|
|
200
180
|
function defineFacet(options) {
|
|
201
181
|
return new Facet(options.parent, options.singleton ?? false, options.reducer, options.reduce);
|
|
202
182
|
}
|
|
203
|
-
|
|
204
183
|
//#endregion
|
|
205
184
|
//#region src/facets/root.ts
|
|
206
185
|
function rootReducer(inputs) {
|
|
@@ -223,7 +202,6 @@ function rootReducer(inputs) {
|
|
|
223
202
|
};
|
|
224
203
|
}
|
|
225
204
|
const rootFacet = new Facet(null, true, rootReducer);
|
|
226
|
-
|
|
227
205
|
//#endregion
|
|
228
206
|
//#region src/facets/schema.ts
|
|
229
207
|
const schemaFacet = defineFacet({
|
|
@@ -235,7 +213,6 @@ const schemaFacet = defineFacet({
|
|
|
235
213
|
parent: rootFacet,
|
|
236
214
|
singleton: true
|
|
237
215
|
});
|
|
238
|
-
|
|
239
216
|
//#endregion
|
|
240
217
|
//#region src/facets/base-extension.ts
|
|
241
218
|
/**
|
|
@@ -255,7 +232,7 @@ var BaseExtension = class {
|
|
|
255
232
|
* @internal
|
|
256
233
|
*/
|
|
257
234
|
getTree(priority) {
|
|
258
|
-
const pri = priority ?? this.priority ??
|
|
235
|
+
const pri = priority ?? this.priority ?? 2;
|
|
259
236
|
return this.trees[pri] ||= this.createTree(pri);
|
|
260
237
|
}
|
|
261
238
|
/**
|
|
@@ -270,7 +247,6 @@ var BaseExtension = class {
|
|
|
270
247
|
return this.findFacetOutput(schemaFacet)?.find(Boolean)?.schema ?? null;
|
|
271
248
|
}
|
|
272
249
|
};
|
|
273
|
-
|
|
274
250
|
//#endregion
|
|
275
251
|
//#region src/utils/array.ts
|
|
276
252
|
function uniqPush(prev, next) {
|
|
@@ -284,7 +260,6 @@ function uniqPush(prev, next) {
|
|
|
284
260
|
function arraySubtract(a, b) {
|
|
285
261
|
return a.filter((x) => !b.includes(x));
|
|
286
262
|
}
|
|
287
|
-
|
|
288
263
|
//#endregion
|
|
289
264
|
//#region src/facets/facet-node.ts
|
|
290
265
|
function zip5(a, b, mapper) {
|
|
@@ -359,11 +334,11 @@ var FacetNode = class {
|
|
|
359
334
|
null,
|
|
360
335
|
null
|
|
361
336
|
]) {
|
|
337
|
+
this.output = null;
|
|
362
338
|
this.facet = facet;
|
|
363
339
|
this.inputs = inputs;
|
|
364
340
|
this.children = children;
|
|
365
341
|
this.reducers = reducers;
|
|
366
|
-
this.output = null;
|
|
367
342
|
}
|
|
368
343
|
calcOutput() {
|
|
369
344
|
const inputs = [
|
|
@@ -388,11 +363,8 @@ var FacetNode = class {
|
|
|
388
363
|
const childOutput = child.getOutput();
|
|
389
364
|
for (let pri = 0; pri < 5; pri++) if (childOutput[pri]) (inputs[pri] ||= []).push(childOutput[pri]);
|
|
390
365
|
}
|
|
391
|
-
if (this.facet.singleton)
|
|
392
|
-
|
|
393
|
-
const input = inputs.filter(isNotNullish).flat();
|
|
394
|
-
output[Priority.default] = reducer(input);
|
|
395
|
-
} else for (let pri = 0; pri < 5; pri++) {
|
|
366
|
+
if (this.facet.singleton) output[2] = (this.reducers[2] ||= this.facet.reducer)(inputs.filter(isNotNullish).flat());
|
|
367
|
+
else for (let pri = 0; pri < 5; pri++) {
|
|
396
368
|
const input = inputs[pri];
|
|
397
369
|
if (input) output[pri] = (this.reducers[pri] ||= this.facet.reducer)(input);
|
|
398
370
|
}
|
|
@@ -404,7 +376,7 @@ var FacetNode = class {
|
|
|
404
376
|
}
|
|
405
377
|
getSingletonOutput() {
|
|
406
378
|
assert(this.facet.singleton);
|
|
407
|
-
return this.getOutput()[
|
|
379
|
+
return this.getOutput()[2];
|
|
408
380
|
}
|
|
409
381
|
getRootOutput() {
|
|
410
382
|
assert(this.isRoot());
|
|
@@ -416,7 +388,6 @@ var FacetNode = class {
|
|
|
416
388
|
return !this.facet.parent;
|
|
417
389
|
}
|
|
418
390
|
};
|
|
419
|
-
|
|
420
391
|
//#endregion
|
|
421
392
|
//#region src/facets/facet-extension.ts
|
|
422
393
|
/**
|
|
@@ -458,7 +429,6 @@ var FacetExtensionImpl = class extends BaseExtension {
|
|
|
458
429
|
function defineFacetPayload(facet, payloads) {
|
|
459
430
|
return new FacetExtensionImpl(facet, payloads);
|
|
460
431
|
}
|
|
461
|
-
|
|
462
432
|
//#endregion
|
|
463
433
|
//#region src/facets/state.ts
|
|
464
434
|
const stateFacet = defineFacet({
|
|
@@ -497,7 +467,6 @@ const stateFacet = defineFacet({
|
|
|
497
467
|
singleton: true,
|
|
498
468
|
parent: rootFacet
|
|
499
469
|
});
|
|
500
|
-
|
|
501
470
|
//#endregion
|
|
502
471
|
//#region src/utils/get-dom-api.ts
|
|
503
472
|
function findGlobalBrowserDocument() {
|
|
@@ -524,7 +493,6 @@ function getBrowserWindow(options) {
|
|
|
524
493
|
if (win) return win;
|
|
525
494
|
throw new DOMDocumentNotFoundError();
|
|
526
495
|
}
|
|
527
|
-
|
|
528
496
|
//#endregion
|
|
529
497
|
//#region src/utils/parse.ts
|
|
530
498
|
/**
|
|
@@ -617,11 +585,11 @@ function nodeFromElement(element, options) {
|
|
|
617
585
|
*/
|
|
618
586
|
function elementFromNode(node, options) {
|
|
619
587
|
const Serializer = options?.DOMSerializer || DOMSerializer;
|
|
620
|
-
const document
|
|
588
|
+
const document = getBrowserDocument(options);
|
|
621
589
|
const schema = node.type.schema;
|
|
622
590
|
const serializer = Serializer.fromSchema(schema);
|
|
623
|
-
if (schema.topNodeType !== node.type) return serializer.serializeNode(node, { document
|
|
624
|
-
else return serializer.serializeFragment(node.content, { document
|
|
591
|
+
if (schema.topNodeType !== node.type) return serializer.serializeNode(node, { document });
|
|
592
|
+
else return serializer.serializeFragment(node.content, { document }, document.createElement("div"));
|
|
625
593
|
}
|
|
626
594
|
/**
|
|
627
595
|
* Parse an HTML string to an HTML element.
|
|
@@ -727,7 +695,6 @@ function jsonFromHTML(html, options) {
|
|
|
727
695
|
function htmlFromJSON(json, options) {
|
|
728
696
|
return htmlFromElement(elementFromJSON(json, options));
|
|
729
697
|
}
|
|
730
|
-
|
|
731
698
|
//#endregion
|
|
732
699
|
//#region src/utils/editor-content.ts
|
|
733
700
|
function getEditorContentJSON(schema, content) {
|
|
@@ -754,7 +721,6 @@ function getEditorSelection(doc, selection) {
|
|
|
754
721
|
if (selection === "end") return Selection.atEnd(doc);
|
|
755
722
|
return Selection.fromJSON(doc, selection);
|
|
756
723
|
}
|
|
757
|
-
|
|
758
724
|
//#endregion
|
|
759
725
|
//#region src/extensions/default-state.ts
|
|
760
726
|
/**
|
|
@@ -775,7 +741,6 @@ function defineDefaultState({ defaultSelection, defaultContent }) {
|
|
|
775
741
|
return config;
|
|
776
742
|
}]);
|
|
777
743
|
}
|
|
778
|
-
|
|
779
744
|
//#endregion
|
|
780
745
|
//#region src/utils/is-subset.ts
|
|
781
746
|
/**
|
|
@@ -786,7 +751,6 @@ function defineDefaultState({ defaultSelection, defaultContent }) {
|
|
|
786
751
|
function isSubset(subset, superset) {
|
|
787
752
|
return Object.keys(subset).every((key) => subset[key] === superset[key]);
|
|
788
753
|
}
|
|
789
|
-
|
|
790
754
|
//#endregion
|
|
791
755
|
//#region src/utils/includes-mark.ts
|
|
792
756
|
function includesMark(marks, markType, attrs) {
|
|
@@ -795,7 +759,6 @@ function includesMark(marks, markType, attrs) {
|
|
|
795
759
|
return mark.type === markType && isSubset(attrs, mark.attrs);
|
|
796
760
|
});
|
|
797
761
|
}
|
|
798
|
-
|
|
799
762
|
//#endregion
|
|
800
763
|
//#region src/utils/is-mark-absent.ts
|
|
801
764
|
/**
|
|
@@ -808,16 +771,15 @@ function includesMark(marks, markType, attrs) {
|
|
|
808
771
|
function isMarkAbsent(node, from, to, markType, attrs) {
|
|
809
772
|
let missing = false;
|
|
810
773
|
let available = false;
|
|
811
|
-
node.nodesBetween(from, to, (node
|
|
774
|
+
node.nodesBetween(from, to, (node, pos, parent) => {
|
|
812
775
|
if (missing) return false;
|
|
813
|
-
if (parent?.type.allowsMarkType(markType) && !node
|
|
776
|
+
if (parent?.type.allowsMarkType(markType) && !node.marks.some((m) => m.type !== markType && m.type.excludes(markType))) {
|
|
814
777
|
available = true;
|
|
815
|
-
if (!includesMark(node
|
|
778
|
+
if (!includesMark(node.marks, markType, attrs)) missing = true;
|
|
816
779
|
}
|
|
817
780
|
});
|
|
818
781
|
return available ? missing : true;
|
|
819
782
|
}
|
|
820
|
-
|
|
821
783
|
//#endregion
|
|
822
784
|
//#region src/utils/is-mark-active.ts
|
|
823
785
|
/**
|
|
@@ -829,7 +791,6 @@ function isMarkActive(state, type, attrs) {
|
|
|
829
791
|
if (empty) return includesMark(state.storedMarks || $from.marks(), markType, attrs);
|
|
830
792
|
else return !isMarkAbsent(state.doc, from, to, markType, attrs);
|
|
831
793
|
}
|
|
832
|
-
|
|
833
794
|
//#endregion
|
|
834
795
|
//#region src/editor/action.ts
|
|
835
796
|
/**
|
|
@@ -897,7 +858,6 @@ function isNodeChild(value) {
|
|
|
897
858
|
if (!value) return false;
|
|
898
859
|
return typeof value === "string" || Array.isArray(value) || isProseMirrorNode(value);
|
|
899
860
|
}
|
|
900
|
-
|
|
901
861
|
//#endregion
|
|
902
862
|
//#region src/facets/union-extension.ts
|
|
903
863
|
var UnionExtensionImpl = class extends BaseExtension {
|
|
@@ -922,7 +882,6 @@ var UnionExtensionImpl = class extends BaseExtension {
|
|
|
922
882
|
return node;
|
|
923
883
|
}
|
|
924
884
|
};
|
|
925
|
-
|
|
926
885
|
//#endregion
|
|
927
886
|
//#region src/editor/union.ts
|
|
928
887
|
function union(...exts) {
|
|
@@ -930,7 +889,6 @@ function union(...exts) {
|
|
|
930
889
|
assert(extensions.length > 0, "At least one extension is required");
|
|
931
890
|
return new UnionExtensionImpl(extensions);
|
|
932
891
|
}
|
|
933
|
-
|
|
934
892
|
//#endregion
|
|
935
893
|
//#region src/editor/editor.ts
|
|
936
894
|
/**
|
|
@@ -968,10 +926,10 @@ var EditorInstance = class {
|
|
|
968
926
|
};
|
|
969
927
|
this.getDocHTML = (options) => {
|
|
970
928
|
const serializer = this.getProp("clipboardSerializer");
|
|
971
|
-
const DOMSerializer
|
|
929
|
+
const DOMSerializer = serializer ? { fromSchema: () => serializer } : void 0;
|
|
972
930
|
return htmlFromNode(this.getDoc(), {
|
|
973
931
|
...options,
|
|
974
|
-
DOMSerializer
|
|
932
|
+
DOMSerializer
|
|
975
933
|
});
|
|
976
934
|
};
|
|
977
935
|
this.tree = extension.getTree();
|
|
@@ -1057,6 +1015,7 @@ var EditorInstance = class {
|
|
|
1057
1015
|
}
|
|
1058
1016
|
this.view = new EditorView({ mount: place }, this.directEditorProps);
|
|
1059
1017
|
this.afterMounted.forEach((callback) => callback());
|
|
1018
|
+
this.afterMounted.length = 0;
|
|
1060
1019
|
}
|
|
1061
1020
|
unmount() {
|
|
1062
1021
|
if (!this.view) return;
|
|
@@ -1204,7 +1163,7 @@ var Editor = class {
|
|
|
1204
1163
|
return this.instance.marks;
|
|
1205
1164
|
}
|
|
1206
1165
|
};
|
|
1207
|
-
|
|
1208
1166
|
//#endregion
|
|
1209
|
-
export {
|
|
1210
|
-
|
|
1167
|
+
export { isMark as A, ProseKitError as B, defineFacetPayload as C, isNodeActive as D, defineFacet as E, isTextSelection as F, getNodeType as I, assert as L, isProseMirrorNode as M, isSelection as N, isAllSelection as O, isSlice as P, getMarkType as R, stateFacet as S, rootFacet as T, jsonFromState as _, union as a, nodeFromJSON as b, isMarkActive as c, elementFromJSON as d, elementFromNode as f, jsonFromNode as g, jsonFromHTML as h, setupEditorExtension as i, isNodeSelection as j, isFragment as k, isMarkAbsent as l, htmlFromNode as m, EditorInstance as n, createMarkActions as o, htmlFromJSON as p, createEditor as r, createNodeActions as s, Editor as t, defineDefaultState as u, nodeFromElement as v, schemaFacet as w, stateFromJSON as x, nodeFromHTML as y, EditorNotFoundError as z };
|
|
1168
|
+
|
|
1169
|
+
//# sourceMappingURL=editor.js.map
|