@prosekit/core 0.1.0 → 0.1.2
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 +19 -1
- package/dist/prosekit-core.d.ts +2 -0
- package/dist/prosekit-core.js +15 -5
- package/package.json +3 -3
- package/src/index.ts +71 -0
@@ -731,6 +731,15 @@ declare function nodeFromHTML(html: string, schema: Schema): ProseMirrorNode;
|
|
731
731
|
export { nodeFromHTML }
|
732
732
|
export { nodeFromHTML as nodeFromHTML_alias_1 }
|
733
733
|
|
734
|
+
/**
|
735
|
+
* Parse a JSON object to a ProseMirror node.
|
736
|
+
*
|
737
|
+
* @public
|
738
|
+
*/
|
739
|
+
declare function nodeFromJSON(json: NodeJSON, schema: Schema): ProseMirrorNode;
|
740
|
+
export { nodeFromJSON }
|
741
|
+
export { nodeFromJSON as nodeFromJSON_alias_1 }
|
742
|
+
|
734
743
|
/**
|
735
744
|
* A JSON representation of the prosemirror node.
|
736
745
|
*
|
@@ -896,6 +905,15 @@ export { SimplifyUnion as SimplifyUnion_alias_1 }
|
|
896
905
|
|
897
906
|
export declare const stateFacet: Facet<StatePayload, StatePayload>;
|
898
907
|
|
908
|
+
/**
|
909
|
+
* Parse a JSON object to a ProseMirror state.
|
910
|
+
*
|
911
|
+
* @public
|
912
|
+
*/
|
913
|
+
declare function stateFromJSON(json: StateJSON, schema: Schema): EditorState;
|
914
|
+
export { stateFromJSON }
|
915
|
+
export { stateFromJSON as stateFromJSON_alias_1 }
|
916
|
+
|
899
917
|
/**
|
900
918
|
* A JSON representation of the prosemirror state.
|
901
919
|
*
|
@@ -972,7 +990,7 @@ export declare function updateExtension(prevInputs: Payloads, prevConverters: Co
|
|
972
990
|
|
973
991
|
export declare type UpdateHandler = (options: {
|
974
992
|
view: EditorView;
|
975
|
-
prevState
|
993
|
+
prevState?: EditorState;
|
976
994
|
}) => void;
|
977
995
|
|
978
996
|
export declare const viewFacet: Facet<ViewPayload, ViewPayload>;
|
package/dist/prosekit-core.d.ts
CHANGED
@@ -57,6 +57,8 @@ export { jsonFromNode } from './_tsup-dts-rollup';
|
|
57
57
|
export { jsonFromState } from './_tsup-dts-rollup';
|
58
58
|
export { nodeFromElement } from './_tsup-dts-rollup';
|
59
59
|
export { nodeFromHTML } from './_tsup-dts-rollup';
|
60
|
+
export { nodeFromJSON } from './_tsup-dts-rollup';
|
61
|
+
export { stateFromJSON } from './_tsup-dts-rollup';
|
60
62
|
export { isAllSelection } from './_tsup-dts-rollup';
|
61
63
|
export { isMark } from './_tsup-dts-rollup';
|
62
64
|
export { isNodeSelection } from './_tsup-dts-rollup';
|
package/dist/prosekit-core.js
CHANGED
@@ -217,7 +217,7 @@ function toggleNode({
|
|
217
217
|
|
218
218
|
// src/editor/editor.ts
|
219
219
|
import { Schema as Schema6 } from "@prosekit/pm/model";
|
220
|
-
import { EditorState } from "@prosekit/pm/state";
|
220
|
+
import { EditorState as EditorState2 } from "@prosekit/pm/state";
|
221
221
|
import { EditorView } from "@prosekit/pm/view";
|
222
222
|
|
223
223
|
// src/extensions/default-state.ts
|
@@ -340,6 +340,7 @@ var stateFacet = Facet.defineRootFacet({
|
|
340
340
|
|
341
341
|
// src/utils/parse.ts
|
342
342
|
import { DOMParser } from "@prosekit/pm/model";
|
343
|
+
import { EditorState } from "@prosekit/pm/state";
|
343
344
|
|
344
345
|
// src/utils/get-dom-api.ts
|
345
346
|
function getGlobalBrowserDocument() {
|
@@ -396,6 +397,12 @@ function jsonFromState(state) {
|
|
396
397
|
function jsonFromNode(node) {
|
397
398
|
return node.toJSON();
|
398
399
|
}
|
400
|
+
function nodeFromJSON(json, schema) {
|
401
|
+
return schema.nodeFromJSON(json);
|
402
|
+
}
|
403
|
+
function stateFromJSON(json, schema) {
|
404
|
+
return EditorState.fromJSON({ schema }, json);
|
405
|
+
}
|
399
406
|
|
400
407
|
// src/extensions/default-state.ts
|
401
408
|
function defineDefaultState({
|
@@ -837,7 +844,7 @@ var EditorInstance = class {
|
|
837
844
|
}
|
838
845
|
const schema = new Schema6(schemaInput);
|
839
846
|
const stateConfig = stateInput ? stateInput({ schema }) : { schema };
|
840
|
-
const state =
|
847
|
+
const state = EditorState2.create(stateConfig);
|
841
848
|
if (commandInput) {
|
842
849
|
for (const [name, commandCreator] of Object.entries(commandInput)) {
|
843
850
|
this.defineCommand(name, commandCreator);
|
@@ -1386,10 +1393,11 @@ var updateHandlerFacet = Facet.define({
|
|
1386
1393
|
let updateHandlers = [];
|
1387
1394
|
const plugin = new ProseMirrorPlugin3({
|
1388
1395
|
key: pluginKey,
|
1389
|
-
view: () => {
|
1396
|
+
view: (view) => {
|
1397
|
+
updateHandlers.forEach((fn) => fn({ view }));
|
1390
1398
|
return {
|
1391
|
-
update: (
|
1392
|
-
updateHandlers.forEach((fn) => fn({ view, prevState }));
|
1399
|
+
update: (view2, prevState) => {
|
1400
|
+
updateHandlers.forEach((fn) => fn({ view: view2, prevState }));
|
1393
1401
|
}
|
1394
1402
|
};
|
1395
1403
|
}
|
@@ -1447,9 +1455,11 @@ export {
|
|
1447
1455
|
jsonFromState,
|
1448
1456
|
nodeFromElement,
|
1449
1457
|
nodeFromHTML,
|
1458
|
+
nodeFromJSON,
|
1450
1459
|
pluginFacet,
|
1451
1460
|
removeMark,
|
1452
1461
|
setBlockType,
|
1462
|
+
stateFromJSON,
|
1453
1463
|
toggleMark,
|
1454
1464
|
toggleNode,
|
1455
1465
|
union,
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@prosekit/core",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.1.
|
4
|
+
"version": "0.1.2",
|
5
5
|
"private": false,
|
6
6
|
"author": {
|
7
7
|
"name": "ocavue",
|
@@ -40,11 +40,11 @@
|
|
40
40
|
"dependencies": {
|
41
41
|
"@prosekit/pm": "^0.1.0",
|
42
42
|
"orderedmap": "^2.1.1",
|
43
|
-
"type-fest": "^4.
|
43
|
+
"type-fest": "^4.8.0"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
46
|
"@prosekit/dev": "*",
|
47
|
-
"tsup": "^7.
|
47
|
+
"tsup": "^7.3.0",
|
48
48
|
"typescript": "^5.2.2",
|
49
49
|
"vitest": "^0.34.6"
|
50
50
|
},
|
package/src/index.ts
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
export { addMark } from './commands/add-mark'
|
2
|
+
export { insertNode } from './commands/insert-node'
|
3
|
+
export { removeMark } from './commands/remove-mark'
|
4
|
+
export { setBlockType } from './commands/set-block-type'
|
5
|
+
export { toggleMark } from './commands/toggle-mark'
|
6
|
+
export { toggleNode } from './commands/toggle-node'
|
7
|
+
export { Editor, createEditor, type EditorOptions } from './editor/editor'
|
8
|
+
export { union } from './editor/union'
|
9
|
+
export { withPriority } from './editor/with-priority'
|
10
|
+
export { ProseKitError } from './error'
|
11
|
+
export { defineBaseCommands, defineCommands } from './extensions/command'
|
12
|
+
export {
|
13
|
+
defineDefaultState,
|
14
|
+
type DefaultStateOptions,
|
15
|
+
} from './extensions/default-state'
|
16
|
+
export { defineDoc } from './extensions/doc'
|
17
|
+
export { defineHistory } from './extensions/history'
|
18
|
+
export { defineInputRule } from './extensions/input-rules'
|
19
|
+
export {
|
20
|
+
defineBaseKeymap,
|
21
|
+
defineKeymap,
|
22
|
+
type Keymap,
|
23
|
+
} from './extensions/keymap'
|
24
|
+
export { defineMarkSpec, type MarkSpecOptions } from './extensions/mark-spec'
|
25
|
+
export { defineNodeSpec, type NodeSpecOptions } from './extensions/node-spec'
|
26
|
+
export { defineNodeView, type NodeViewOptions } from './extensions/node-view'
|
27
|
+
export {
|
28
|
+
defineNodeViewEffect,
|
29
|
+
type NodeViewEffectOptions,
|
30
|
+
} from './extensions/node-view-effect'
|
31
|
+
export { defineParagraph } from './extensions/paragraph'
|
32
|
+
export {
|
33
|
+
definePlugin,
|
34
|
+
pluginFacet,
|
35
|
+
type PluginPayload,
|
36
|
+
} from './extensions/plugin'
|
37
|
+
export { defineText } from './extensions/text'
|
38
|
+
export { defineUpdateHandler } from './extensions/update-handler'
|
39
|
+
export { Facet, type FacetOptions } from './facets/facet'
|
40
|
+
export { type CommandArgs } from './types/command'
|
41
|
+
export {
|
42
|
+
type Extension,
|
43
|
+
type ExtractCommandAppliers,
|
44
|
+
type ExtractCommandCreators,
|
45
|
+
type ExtractMarks,
|
46
|
+
type ExtractNodes,
|
47
|
+
type SimplifyExtension,
|
48
|
+
} from './types/extension'
|
49
|
+
export { type ExtensionTyping } from './types/extension-typing'
|
50
|
+
export type { NodeJSON, SelectionJSON, StateJSON } from './types/model'
|
51
|
+
export { Priority } from './types/priority'
|
52
|
+
export { type SimplifyUnion } from './types/simplify-union'
|
53
|
+
export { getMarkType } from './utils/get-mark-type'
|
54
|
+
export { getNodeType } from './utils/get-node-type'
|
55
|
+
export {
|
56
|
+
jsonFromElement,
|
57
|
+
jsonFromHTML,
|
58
|
+
jsonFromNode,
|
59
|
+
jsonFromState,
|
60
|
+
nodeFromElement,
|
61
|
+
nodeFromHTML,
|
62
|
+
nodeFromJSON,
|
63
|
+
stateFromJSON,
|
64
|
+
} from './utils/parse'
|
65
|
+
export {
|
66
|
+
isAllSelection,
|
67
|
+
isMark,
|
68
|
+
isNodeSelection,
|
69
|
+
isProseMirrorNode,
|
70
|
+
isTextSelection,
|
71
|
+
} from './utils/type-assertion'
|