@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.
@@ -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: EditorState;
993
+ prevState?: EditorState;
976
994
  }) => void;
977
995
 
978
996
  export declare const viewFacet: Facet<ViewPayload, ViewPayload>;
@@ -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';
@@ -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 = EditorState.create(stateConfig);
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: (view, prevState) => {
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.0",
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.7.1"
43
+ "type-fest": "^4.8.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@prosekit/dev": "*",
47
- "tsup": "^7.2.0",
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'