@handlewithcare/react-prosemirror 2.0.0 → 2.2.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/README.md +29 -5
- package/dist/cjs/components/CustomNodeView.js +80 -4
- package/dist/cjs/components/MarkView.js +6 -3
- package/dist/cjs/components/NodeView.js +13 -133
- package/dist/cjs/components/OutputSpec.js +1 -1
- package/dist/cjs/components/ReactNodeView.js +136 -0
- package/dist/cjs/components/TextNodeView.js +2 -2
- package/dist/cjs/findDOMNode.js +46 -0
- package/dist/cjs/hooks/useEditor.js +14 -3
- package/dist/cjs/hooks/useEditorEffect.js +5 -2
- package/dist/cjs/hooks/useIsNodeSelected.js +21 -0
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/plugins/componentEventListeners.js +1 -1
- package/dist/cjs/plugins/reactKeys.js +1 -1
- package/dist/cjs/selection/SelectionDOMObserver.js +0 -3
- package/dist/cjs/selection/selectionToDOM.js +1 -1
- package/dist/cjs/viewdesc.js +18 -8
- package/dist/esm/components/CustomNodeView.js +82 -6
- package/dist/esm/components/MarkView.js +6 -3
- package/dist/esm/components/NodeView.js +14 -134
- package/dist/esm/components/OutputSpec.js +1 -1
- package/dist/esm/components/ReactNodeView.js +85 -0
- package/dist/esm/components/TextNodeView.js +1 -1
- package/dist/esm/findDOMNode.js +31 -0
- package/dist/esm/hooks/useEditor.js +14 -3
- package/dist/esm/hooks/useEditorEffect.js +5 -2
- package/dist/esm/hooks/useIsNodeSelected.js +11 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/plugins/componentEventListeners.js +1 -1
- package/dist/esm/plugins/reactKeys.js +1 -1
- package/dist/esm/selection/SelectionDOMObserver.js +0 -3
- package/dist/esm/selection/selectionToDOM.js +1 -1
- package/dist/esm/viewdesc.js +18 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/components/CustomNodeView.d.ts +3 -12
- package/dist/types/components/ReactNodeView.d.ts +11 -0
- package/dist/types/contexts/EditorContext.d.ts +2 -0
- package/dist/types/findDOMNode.d.ts +3 -0
- package/dist/types/hooks/useEditor.d.ts +1 -0
- package/dist/types/hooks/useIsNodeSelected.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/selection/SelectionDOMObserver.d.ts +0 -1
- package/dist/types/viewdesc.d.ts +19 -6
- package/package.json +19 -6
package/dist/types/viewdesc.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Mark, Node, TagParseRule } from "prosemirror-model";
|
|
2
2
|
import { Decoration, DecorationSource, EditorView } from "prosemirror-view";
|
|
3
3
|
import { DOMNode } from "./dom.js";
|
|
4
|
+
export type ViewMutationRecord = MutationRecord | {
|
|
5
|
+
type: "selection";
|
|
6
|
+
target: DOMNode;
|
|
7
|
+
};
|
|
4
8
|
export declare function sortViewDescs(a: ViewDesc, b: ViewDesc): number;
|
|
5
9
|
export declare class ViewDesc {
|
|
6
10
|
parent: ViewDesc | undefined;
|
|
@@ -45,8 +49,8 @@ export declare class ViewDesc {
|
|
|
45
49
|
};
|
|
46
50
|
emptyChildAt(side: number): boolean;
|
|
47
51
|
domAfterPos(pos: number): DOMNode;
|
|
48
|
-
setSelection(anchor: number, head: number,
|
|
49
|
-
ignoreMutation(mutation:
|
|
52
|
+
setSelection(anchor: number, head: number, view: EditorView, force?: boolean): void;
|
|
53
|
+
ignoreMutation(mutation: ViewMutationRecord): boolean;
|
|
50
54
|
get contentLost(): boolean | null;
|
|
51
55
|
markDirty(from: number, to: number): void;
|
|
52
56
|
markParentsDirty(): void;
|
|
@@ -61,7 +65,7 @@ export declare class WidgetViewDesc extends ViewDesc {
|
|
|
61
65
|
ignore: boolean;
|
|
62
66
|
};
|
|
63
67
|
stopEvent(event: Event): any;
|
|
64
|
-
ignoreMutation(mutation:
|
|
68
|
+
ignoreMutation(mutation: ViewMutationRecord): any;
|
|
65
69
|
get domAtom(): boolean;
|
|
66
70
|
get side(): number;
|
|
67
71
|
}
|
|
@@ -75,11 +79,18 @@ export declare class CompositionViewDesc extends ViewDesc {
|
|
|
75
79
|
node: Text;
|
|
76
80
|
offset: number;
|
|
77
81
|
};
|
|
78
|
-
ignoreMutation(mut:
|
|
82
|
+
ignoreMutation(mut: ViewMutationRecord): boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface MarkView {
|
|
85
|
+
dom: DOMNode;
|
|
86
|
+
contentDOM?: HTMLElement | null;
|
|
87
|
+
ignoreMutation?: (mutation: ViewMutationRecord) => boolean;
|
|
88
|
+
destroy?: () => void;
|
|
79
89
|
}
|
|
80
90
|
export declare class MarkViewDesc extends ViewDesc {
|
|
81
91
|
mark: Mark;
|
|
82
|
-
|
|
92
|
+
spec: MarkView;
|
|
93
|
+
constructor(parent: ViewDesc | undefined, children: ViewDesc[], getPos: () => number, mark: Mark, dom: DOMNode, contentDOM: HTMLElement, spec: MarkView);
|
|
83
94
|
parseRule(): {
|
|
84
95
|
mark: string;
|
|
85
96
|
attrs: import("prosemirror-model").Attrs;
|
|
@@ -87,6 +98,8 @@ export declare class MarkViewDesc extends ViewDesc {
|
|
|
87
98
|
} | null;
|
|
88
99
|
matchesMark(mark: Mark): boolean;
|
|
89
100
|
markDirty(from: number, to: number): void;
|
|
101
|
+
ignoreMutation(mutation: ViewMutationRecord): boolean;
|
|
102
|
+
destroy(): void;
|
|
90
103
|
}
|
|
91
104
|
export declare class NodeViewDesc extends ViewDesc {
|
|
92
105
|
node: Node;
|
|
@@ -117,7 +130,7 @@ export declare class TextViewDesc extends NodeViewDesc {
|
|
|
117
130
|
offset: number;
|
|
118
131
|
};
|
|
119
132
|
localPosFromDOM(dom: DOMNode, offset: number, bias: number): number;
|
|
120
|
-
ignoreMutation(mutation:
|
|
133
|
+
ignoreMutation(mutation: ViewMutationRecord): boolean;
|
|
121
134
|
markDirty(from: number, to: number): void;
|
|
122
135
|
get domAtom(): boolean;
|
|
123
136
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@handlewithcare/react-prosemirror",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -42,6 +42,11 @@
|
|
|
42
42
|
"test": "yarn test:unit && yarn test:wdio"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
+
"@codemirror/commands": "^6.8.0",
|
|
46
|
+
"@codemirror/lang-javascript": "^6.2.2",
|
|
47
|
+
"@codemirror/state": "^6.5.1",
|
|
48
|
+
"@codemirror/view": "^6.36.2",
|
|
49
|
+
"@handlewithcare/remark-prosemirror": "^0.1.5",
|
|
45
50
|
"@jest/globals": "^29.6.2",
|
|
46
51
|
"@swc/cli": "^0.1.61",
|
|
47
52
|
"@swc/core": "^1.3.32",
|
|
@@ -52,8 +57,10 @@
|
|
|
52
57
|
"@types/jest": "^27.0.0",
|
|
53
58
|
"@types/react": "^18.0.0",
|
|
54
59
|
"@types/react-dom": "^18.0.0",
|
|
60
|
+
"@types/react-reconciler": "^0.28.9",
|
|
55
61
|
"@typescript-eslint/eslint-plugin": "^5.51.0",
|
|
56
62
|
"@typescript-eslint/parser": "^5.51.0",
|
|
63
|
+
"@uiw/react-codemirror": "^4.23.7",
|
|
57
64
|
"@vitejs/plugin-react": "^4.3.1",
|
|
58
65
|
"@wdio/browser-runner": "^9.0.9",
|
|
59
66
|
"@wdio/cli": "^9.0.9",
|
|
@@ -76,9 +83,12 @@
|
|
|
76
83
|
"jest-environment-jsdom": "^29.7.0",
|
|
77
84
|
"lint-staged": "^13.1.0",
|
|
78
85
|
"markdown-toc": "^1.2.0",
|
|
86
|
+
"mdast-util-gfm-table": "^2.0.0",
|
|
87
|
+
"micromark-extension-gfm-table": "^2.1.1",
|
|
79
88
|
"prettier": "^2.8.3",
|
|
80
89
|
"prosemirror-commands": "^1.5.0",
|
|
81
90
|
"prosemirror-gapcursor": "^1.3.2",
|
|
91
|
+
"prosemirror-history": "^1.4.1",
|
|
82
92
|
"prosemirror-inputrules": "^1.4.0",
|
|
83
93
|
"prosemirror-keymap": "^1.2.1",
|
|
84
94
|
"prosemirror-model": "^1.22.3",
|
|
@@ -87,27 +97,30 @@
|
|
|
87
97
|
"prosemirror-tables": "^1.3.7",
|
|
88
98
|
"prosemirror-test-builder": "^1.1.1",
|
|
89
99
|
"prosemirror-transform": "^1.8.0",
|
|
90
|
-
"prosemirror-view": "
|
|
100
|
+
"prosemirror-view": "1.37.1",
|
|
91
101
|
"react": "^18.2.0",
|
|
92
102
|
"react-dom": "^18.2.0",
|
|
103
|
+
"remark-parse": "^11.0.0",
|
|
93
104
|
"rimraf": "^3.0.2",
|
|
94
105
|
"tsx": "^4.19.1",
|
|
95
106
|
"typescript": "^4.9.5",
|
|
107
|
+
"unified": "^11.0.5",
|
|
96
108
|
"vite": "^5.4.5",
|
|
97
109
|
"webdriverio": "^9.0.9"
|
|
98
110
|
},
|
|
99
111
|
"peerDependencies": {
|
|
100
112
|
"prosemirror-model": "^1.0.0",
|
|
101
113
|
"prosemirror-state": "^1.0.0",
|
|
102
|
-
"prosemirror-view": "1.
|
|
103
|
-
"react": "17
|
|
104
|
-
"react-dom": "17
|
|
114
|
+
"prosemirror-view": "1.37.1",
|
|
115
|
+
"react": ">=17 <=19.0.0",
|
|
116
|
+
"react-dom": ">=17 <=19.0.0"
|
|
105
117
|
},
|
|
106
118
|
"packageManager": "yarn@4.5.3",
|
|
107
119
|
"engines": {
|
|
108
120
|
"node": ">=16.9"
|
|
109
121
|
},
|
|
110
122
|
"dependencies": {
|
|
111
|
-
"classnames": "^2.3.2"
|
|
123
|
+
"classnames": "^2.3.2",
|
|
124
|
+
"react-reconciler": "0.31.0"
|
|
112
125
|
}
|
|
113
126
|
}
|