@tiptap/react 2.6.2 → 3.0.0-next.1
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/index.cjs +868 -1272
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +221 -0
- package/dist/index.d.ts +221 -0
- package/dist/index.js +827 -1246
- package/dist/index.js.map +1 -1
- package/package.json +10 -12
- package/src/BubbleMenu.tsx +29 -12
- package/src/FloatingMenu.tsx +25 -12
- package/src/useEditor.ts +1 -2
- package/dist/index.umd.js +0 -1325
- package/dist/index.umd.js.map +0 -1
- package/dist/packages/core/src/CommandManager.d.ts +0 -20
- package/dist/packages/core/src/Editor.d.ts +0 -163
- package/dist/packages/core/src/EventEmitter.d.ts +0 -11
- package/dist/packages/core/src/Extension.d.ts +0 -344
- package/dist/packages/core/src/ExtensionManager.d.ts +0 -55
- package/dist/packages/core/src/InputRule.d.ts +0 -42
- package/dist/packages/core/src/Mark.d.ts +0 -452
- package/dist/packages/core/src/Node.d.ts +0 -612
- package/dist/packages/core/src/NodePos.d.ts +0 -44
- package/dist/packages/core/src/NodeView.d.ts +0 -31
- package/dist/packages/core/src/PasteRule.d.ts +0 -50
- package/dist/packages/core/src/Tracker.d.ts +0 -11
- package/dist/packages/core/src/commands/blur.d.ts +0 -13
- package/dist/packages/core/src/commands/clearContent.d.ts +0 -14
- package/dist/packages/core/src/commands/clearNodes.d.ts +0 -13
- package/dist/packages/core/src/commands/command.d.ts +0 -18
- package/dist/packages/core/src/commands/createParagraphNear.d.ts +0 -13
- package/dist/packages/core/src/commands/cut.d.ts +0 -20
- package/dist/packages/core/src/commands/deleteCurrentNode.d.ts +0 -13
- package/dist/packages/core/src/commands/deleteNode.d.ts +0 -15
- package/dist/packages/core/src/commands/deleteRange.d.ts +0 -14
- package/dist/packages/core/src/commands/deleteSelection.d.ts +0 -13
- package/dist/packages/core/src/commands/enter.d.ts +0 -13
- package/dist/packages/core/src/commands/exitCode.d.ts +0 -13
- package/dist/packages/core/src/commands/extendMarkRange.d.ts +0 -25
- package/dist/packages/core/src/commands/first.d.ts +0 -14
- package/dist/packages/core/src/commands/focus.d.ts +0 -27
- package/dist/packages/core/src/commands/forEach.d.ts +0 -14
- package/dist/packages/core/src/commands/index.d.ts +0 -55
- package/dist/packages/core/src/commands/insertContent.d.ts +0 -34
- package/dist/packages/core/src/commands/insertContentAt.d.ts +0 -47
- package/dist/packages/core/src/commands/join.d.ts +0 -41
- package/dist/packages/core/src/commands/joinItemBackward.d.ts +0 -13
- package/dist/packages/core/src/commands/joinItemForward.d.ts +0 -13
- package/dist/packages/core/src/commands/joinTextblockBackward.d.ts +0 -12
- package/dist/packages/core/src/commands/joinTextblockForward.d.ts +0 -12
- package/dist/packages/core/src/commands/keyboardShortcut.d.ts +0 -14
- package/dist/packages/core/src/commands/lift.d.ts +0 -17
- package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +0 -13
- package/dist/packages/core/src/commands/liftListItem.d.ts +0 -15
- package/dist/packages/core/src/commands/newlineInCode.d.ts +0 -13
- package/dist/packages/core/src/commands/resetAttributes.d.ts +0 -16
- package/dist/packages/core/src/commands/scrollIntoView.d.ts +0 -13
- package/dist/packages/core/src/commands/selectAll.d.ts +0 -13
- package/dist/packages/core/src/commands/selectNodeBackward.d.ts +0 -13
- package/dist/packages/core/src/commands/selectNodeForward.d.ts +0 -13
- package/dist/packages/core/src/commands/selectParentNode.d.ts +0 -13
- package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +0 -13
- package/dist/packages/core/src/commands/selectTextblockStart.d.ts +0 -13
- package/dist/packages/core/src/commands/setContent.d.ts +0 -40
- package/dist/packages/core/src/commands/setMark.d.ts +0 -15
- package/dist/packages/core/src/commands/setMeta.d.ts +0 -16
- package/dist/packages/core/src/commands/setNode.d.ts +0 -16
- package/dist/packages/core/src/commands/setNodeSelection.d.ts +0 -14
- package/dist/packages/core/src/commands/setTextSelection.d.ts +0 -14
- package/dist/packages/core/src/commands/sinkListItem.d.ts +0 -15
- package/dist/packages/core/src/commands/splitBlock.d.ts +0 -17
- package/dist/packages/core/src/commands/splitListItem.d.ts +0 -16
- package/dist/packages/core/src/commands/toggleList.d.ts +0 -18
- package/dist/packages/core/src/commands/toggleMark.d.ts +0 -30
- package/dist/packages/core/src/commands/toggleNode.d.ts +0 -17
- package/dist/packages/core/src/commands/toggleWrap.d.ts +0 -16
- package/dist/packages/core/src/commands/undoInputRule.d.ts +0 -13
- package/dist/packages/core/src/commands/unsetAllMarks.d.ts +0 -13
- package/dist/packages/core/src/commands/unsetMark.d.ts +0 -25
- package/dist/packages/core/src/commands/updateAttributes.d.ts +0 -24
- package/dist/packages/core/src/commands/wrapIn.d.ts +0 -16
- package/dist/packages/core/src/commands/wrapInList.d.ts +0 -16
- package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +0 -5
- package/dist/packages/core/src/extensions/commands.d.ts +0 -3
- package/dist/packages/core/src/extensions/editable.d.ts +0 -2
- package/dist/packages/core/src/extensions/focusEvents.d.ts +0 -2
- package/dist/packages/core/src/extensions/index.d.ts +0 -6
- package/dist/packages/core/src/extensions/keymap.d.ts +0 -2
- package/dist/packages/core/src/extensions/tabindex.d.ts +0 -2
- package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +0 -10
- package/dist/packages/core/src/helpers/createChainableState.d.ts +0 -10
- package/dist/packages/core/src/helpers/createDocument.d.ts +0 -12
- package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +0 -15
- package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +0 -7
- package/dist/packages/core/src/helpers/findChildren.d.ts +0 -9
- package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +0 -10
- package/dist/packages/core/src/helpers/findParentNode.d.ts +0 -16
- package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +0 -17
- package/dist/packages/core/src/helpers/generateHTML.d.ts +0 -8
- package/dist/packages/core/src/helpers/generateJSON.d.ts +0 -8
- package/dist/packages/core/src/helpers/generateText.d.ts +0 -12
- package/dist/packages/core/src/helpers/getAttributes.d.ts +0 -9
- package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +0 -6
- package/dist/packages/core/src/helpers/getChangedRanges.d.ts +0 -11
- package/dist/packages/core/src/helpers/getDebugJSON.d.ts +0 -8
- package/dist/packages/core/src/helpers/getExtensionField.d.ts +0 -9
- package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +0 -2
- package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +0 -3
- package/dist/packages/core/src/helpers/getMarkRange.d.ts +0 -3
- package/dist/packages/core/src/helpers/getMarkType.d.ts +0 -2
- package/dist/packages/core/src/helpers/getMarksBetween.d.ts +0 -3
- package/dist/packages/core/src/helpers/getNodeAtPosition.d.ts +0 -11
- package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +0 -3
- package/dist/packages/core/src/helpers/getNodeType.d.ts +0 -2
- package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +0 -3
- package/dist/packages/core/src/helpers/getSchema.d.ts +0 -4
- package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +0 -10
- package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +0 -8
- package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +0 -8
- package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +0 -9
- package/dist/packages/core/src/helpers/getText.d.ts +0 -15
- package/dist/packages/core/src/helpers/getTextBetween.d.ts +0 -14
- package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +0 -8
- package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +0 -8
- package/dist/packages/core/src/helpers/index.d.ts +0 -50
- package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +0 -9
- package/dist/packages/core/src/helpers/isActive.d.ts +0 -2
- package/dist/packages/core/src/helpers/isAtEndOfNode.d.ts +0 -2
- package/dist/packages/core/src/helpers/isAtStartOfNode.d.ts +0 -2
- package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +0 -2
- package/dist/packages/core/src/helpers/isList.d.ts +0 -2
- package/dist/packages/core/src/helpers/isMarkActive.d.ts +0 -3
- package/dist/packages/core/src/helpers/isNodeActive.d.ts +0 -3
- package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +0 -14
- package/dist/packages/core/src/helpers/isNodeSelection.d.ts +0 -2
- package/dist/packages/core/src/helpers/isTextSelection.d.ts +0 -2
- package/dist/packages/core/src/helpers/posToDOMRect.d.ts +0 -2
- package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +0 -4
- package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +0 -2
- package/dist/packages/core/src/helpers/splitExtensions.d.ts +0 -9
- package/dist/packages/core/src/index.d.ts +0 -24
- package/dist/packages/core/src/inputRules/index.d.ts +0 -5
- package/dist/packages/core/src/inputRules/markInputRule.d.ts +0 -13
- package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +0 -23
- package/dist/packages/core/src/inputRules/textInputRule.d.ts +0 -10
- package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +0 -15
- package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +0 -28
- package/dist/packages/core/src/pasteRules/index.d.ts +0 -3
- package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +0 -13
- package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +0 -14
- package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +0 -10
- package/dist/packages/core/src/style.d.ts +0 -1
- package/dist/packages/core/src/types.d.ts +0 -253
- package/dist/packages/core/src/utilities/callOrReturn.d.ts +0 -9
- package/dist/packages/core/src/utilities/createStyleTag.d.ts +0 -1
- package/dist/packages/core/src/utilities/deleteProps.d.ts +0 -6
- package/dist/packages/core/src/utilities/elementFromString.d.ts +0 -1
- package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +0 -1
- package/dist/packages/core/src/utilities/findDuplicates.d.ts +0 -1
- package/dist/packages/core/src/utilities/fromString.d.ts +0 -1
- package/dist/packages/core/src/utilities/index.d.ts +0 -20
- package/dist/packages/core/src/utilities/isAndroid.d.ts +0 -1
- package/dist/packages/core/src/utilities/isEmptyObject.d.ts +0 -1
- package/dist/packages/core/src/utilities/isFunction.d.ts +0 -1
- package/dist/packages/core/src/utilities/isMacOS.d.ts +0 -1
- package/dist/packages/core/src/utilities/isNumber.d.ts +0 -1
- package/dist/packages/core/src/utilities/isPlainObject.d.ts +0 -1
- package/dist/packages/core/src/utilities/isRegExp.d.ts +0 -1
- package/dist/packages/core/src/utilities/isString.d.ts +0 -1
- package/dist/packages/core/src/utilities/isiOS.d.ts +0 -1
- package/dist/packages/core/src/utilities/mergeAttributes.d.ts +0 -1
- package/dist/packages/core/src/utilities/mergeDeep.d.ts +0 -1
- package/dist/packages/core/src/utilities/minMax.d.ts +0 -1
- package/dist/packages/core/src/utilities/objectIncludes.d.ts +0 -8
- package/dist/packages/core/src/utilities/removeDuplicates.d.ts +0 -8
- package/dist/packages/extension-bubble-menu/src/bubble-menu-plugin.d.ts +0 -76
- package/dist/packages/extension-bubble-menu/src/bubble-menu.d.ts +0 -15
- package/dist/packages/extension-bubble-menu/src/index.d.ts +0 -4
- package/dist/packages/extension-floating-menu/src/floating-menu-plugin.d.ts +0 -66
- package/dist/packages/extension-floating-menu/src/floating-menu.d.ts +0 -15
- package/dist/packages/extension-floating-menu/src/index.d.ts +0 -4
- package/dist/packages/react/src/BubbleMenu.d.ts +0 -11
- package/dist/packages/react/src/Context.d.ts +0 -23
- package/dist/packages/react/src/Editor.d.ts +0 -13
- package/dist/packages/react/src/EditorContent.d.ts +0 -20
- package/dist/packages/react/src/FloatingMenu.d.ts +0 -10
- package/dist/packages/react/src/NodeViewContent.d.ts +0 -6
- package/dist/packages/react/src/NodeViewWrapper.d.ts +0 -6
- package/dist/packages/react/src/ReactNodeViewRenderer.d.ts +0 -16
- package/dist/packages/react/src/ReactRenderer.d.ts +0 -61
- package/dist/packages/react/src/index.d.ts +0 -12
- package/dist/packages/react/src/useEditor.d.ts +0 -38
- package/dist/packages/react/src/useEditorState.d.ts +0 -22
- package/dist/packages/react/src/useReactNodeView.d.ts +0 -6
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { BubbleMenuPluginProps } from '@tiptap/extension-bubble-menu';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default, { DependencyList, ReactNode, HTMLProps, ForwardedRef } from 'react';
|
|
4
|
+
import { EditorOptions, Editor, NodeViewRendererOptions, NodeViewRenderer } from '@tiptap/core';
|
|
5
|
+
export * from '@tiptap/core';
|
|
6
|
+
import { FloatingMenuPluginProps } from '@tiptap/extension-floating-menu';
|
|
7
|
+
import { Node } from '@tiptap/pm/model';
|
|
8
|
+
import { Decoration } from '@tiptap/pm/view';
|
|
9
|
+
|
|
10
|
+
type Optional$1<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
11
|
+
type BubbleMenuProps = Omit<Optional$1<BubbleMenuPluginProps, 'pluginKey'>, 'element' | 'editor'> & {
|
|
12
|
+
editor: BubbleMenuPluginProps['editor'] | null;
|
|
13
|
+
className?: string;
|
|
14
|
+
children: React__default.ReactNode;
|
|
15
|
+
updateDelay?: number;
|
|
16
|
+
resizeDelay?: number;
|
|
17
|
+
options?: BubbleMenuPluginProps['options'];
|
|
18
|
+
};
|
|
19
|
+
declare const BubbleMenu: (props: BubbleMenuProps) => React__default.JSX.Element;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The options for the `useEditor` hook.
|
|
23
|
+
*/
|
|
24
|
+
type UseEditorOptions = Partial<EditorOptions> & {
|
|
25
|
+
/**
|
|
26
|
+
* Whether to render the editor on the first render.
|
|
27
|
+
* If client-side rendering, set this to `true`.
|
|
28
|
+
* If server-side rendering, set this to `false`.
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
immediatelyRender?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to re-render the editor on each transaction.
|
|
34
|
+
* This is legacy behavior that will be removed in future versions.
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
shouldRerenderOnTransaction?: boolean;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* This hook allows you to create an editor instance.
|
|
41
|
+
* @param options The editor options
|
|
42
|
+
* @param deps The dependencies to watch for changes
|
|
43
|
+
* @returns The editor instance
|
|
44
|
+
* @example const editor = useEditor({ extensions: [...] })
|
|
45
|
+
*/
|
|
46
|
+
declare function useEditor(options: UseEditorOptions & {
|
|
47
|
+
immediatelyRender: true;
|
|
48
|
+
}, deps?: DependencyList): Editor;
|
|
49
|
+
/**
|
|
50
|
+
* This hook allows you to create an editor instance.
|
|
51
|
+
* @param options The editor options
|
|
52
|
+
* @param deps The dependencies to watch for changes
|
|
53
|
+
* @returns The editor instance
|
|
54
|
+
* @example const editor = useEditor({ extensions: [...] })
|
|
55
|
+
*/
|
|
56
|
+
declare function useEditor(options?: UseEditorOptions, deps?: DependencyList): Editor | null;
|
|
57
|
+
|
|
58
|
+
type EditorContextValue = {
|
|
59
|
+
editor: Editor | null;
|
|
60
|
+
};
|
|
61
|
+
declare const EditorContext: React__default.Context<EditorContextValue>;
|
|
62
|
+
declare const EditorConsumer: React__default.Consumer<EditorContextValue>;
|
|
63
|
+
/**
|
|
64
|
+
* A hook to get the current editor instance.
|
|
65
|
+
*/
|
|
66
|
+
declare const useCurrentEditor: () => EditorContextValue;
|
|
67
|
+
type EditorProviderProps = {
|
|
68
|
+
children?: ReactNode;
|
|
69
|
+
slotBefore?: ReactNode;
|
|
70
|
+
slotAfter?: ReactNode;
|
|
71
|
+
} & UseEditorOptions;
|
|
72
|
+
/**
|
|
73
|
+
* This is the provider component for the editor.
|
|
74
|
+
* It allows the editor to be accessible across the entire component tree
|
|
75
|
+
* with `useCurrentEditor`.
|
|
76
|
+
*/
|
|
77
|
+
declare function EditorProvider({ children, slotAfter, slotBefore, ...editorOptions }: EditorProviderProps): React__default.JSX.Element | null;
|
|
78
|
+
|
|
79
|
+
interface EditorContentProps extends HTMLProps<HTMLDivElement> {
|
|
80
|
+
editor: Editor | null;
|
|
81
|
+
innerRef?: ForwardedRef<HTMLDivElement | null>;
|
|
82
|
+
}
|
|
83
|
+
declare class PureEditorContent extends React__default.Component<EditorContentProps, {
|
|
84
|
+
hasContentComponentInitialized: boolean;
|
|
85
|
+
}> {
|
|
86
|
+
editorContentRef: React__default.RefObject<any>;
|
|
87
|
+
initialized: boolean;
|
|
88
|
+
unsubscribeToContentComponent?: () => void;
|
|
89
|
+
constructor(props: EditorContentProps);
|
|
90
|
+
componentDidMount(): void;
|
|
91
|
+
componentDidUpdate(): void;
|
|
92
|
+
init(): void;
|
|
93
|
+
componentWillUnmount(): void;
|
|
94
|
+
render(): React__default.JSX.Element;
|
|
95
|
+
}
|
|
96
|
+
declare const EditorContent: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<Omit<EditorContentProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>>;
|
|
97
|
+
|
|
98
|
+
type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
99
|
+
type FloatingMenuProps = Omit<Optional<FloatingMenuPluginProps, 'pluginKey'>, 'element' | 'editor'> & {
|
|
100
|
+
editor: FloatingMenuPluginProps['editor'] | null;
|
|
101
|
+
className?: string;
|
|
102
|
+
children: React__default.ReactNode;
|
|
103
|
+
options?: FloatingMenuPluginProps['options'];
|
|
104
|
+
};
|
|
105
|
+
declare const FloatingMenu: (props: FloatingMenuProps) => React__default.JSX.Element;
|
|
106
|
+
|
|
107
|
+
interface NodeViewContentProps {
|
|
108
|
+
[key: string]: any;
|
|
109
|
+
as?: React__default.ElementType;
|
|
110
|
+
}
|
|
111
|
+
declare const NodeViewContent: React__default.FC<NodeViewContentProps>;
|
|
112
|
+
|
|
113
|
+
interface NodeViewWrapperProps {
|
|
114
|
+
[key: string]: any;
|
|
115
|
+
as?: React__default.ElementType;
|
|
116
|
+
}
|
|
117
|
+
declare const NodeViewWrapper: React__default.FC<NodeViewWrapperProps>;
|
|
118
|
+
|
|
119
|
+
interface ReactNodeViewRendererOptions extends NodeViewRendererOptions {
|
|
120
|
+
update: ((props: {
|
|
121
|
+
oldNode: Node;
|
|
122
|
+
oldDecorations: Decoration[];
|
|
123
|
+
newNode: Node;
|
|
124
|
+
newDecorations: Decoration[];
|
|
125
|
+
updateProps: () => void;
|
|
126
|
+
}) => boolean) | null;
|
|
127
|
+
as?: string;
|
|
128
|
+
className?: string;
|
|
129
|
+
attrs?: Record<string, string>;
|
|
130
|
+
}
|
|
131
|
+
declare function ReactNodeViewRenderer(component: any, options?: Partial<ReactNodeViewRendererOptions>): NodeViewRenderer;
|
|
132
|
+
|
|
133
|
+
interface ReactRendererOptions {
|
|
134
|
+
/**
|
|
135
|
+
* The editor instance.
|
|
136
|
+
* @type {Editor}
|
|
137
|
+
*/
|
|
138
|
+
editor: Editor;
|
|
139
|
+
/**
|
|
140
|
+
* The props for the component.
|
|
141
|
+
* @type {Record<string, any>}
|
|
142
|
+
* @default {}
|
|
143
|
+
*/
|
|
144
|
+
props?: Record<string, any>;
|
|
145
|
+
/**
|
|
146
|
+
* The tag name of the element.
|
|
147
|
+
* @type {string}
|
|
148
|
+
* @default 'div'
|
|
149
|
+
*/
|
|
150
|
+
as?: string;
|
|
151
|
+
/**
|
|
152
|
+
* The class name of the element.
|
|
153
|
+
* @type {string}
|
|
154
|
+
* @default ''
|
|
155
|
+
* @example 'foo bar'
|
|
156
|
+
*/
|
|
157
|
+
className?: string;
|
|
158
|
+
/**
|
|
159
|
+
* The attributes of the element.
|
|
160
|
+
* @type {Record<string, string>}
|
|
161
|
+
* @default {}
|
|
162
|
+
* @example { 'data-foo': 'bar' }
|
|
163
|
+
*/
|
|
164
|
+
attrs?: Record<string, string>;
|
|
165
|
+
}
|
|
166
|
+
type ComponentType<R, P> = React__default.ComponentClass<P> | React__default.FunctionComponent<P> | React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<P> & React__default.RefAttributes<R>>;
|
|
167
|
+
/**
|
|
168
|
+
* The ReactRenderer class. It's responsible for rendering React components inside the editor.
|
|
169
|
+
* @example
|
|
170
|
+
* new ReactRenderer(MyComponent, {
|
|
171
|
+
* editor,
|
|
172
|
+
* props: {
|
|
173
|
+
* foo: 'bar',
|
|
174
|
+
* },
|
|
175
|
+
* as: 'span',
|
|
176
|
+
* })
|
|
177
|
+
*/
|
|
178
|
+
declare class ReactRenderer<R = unknown, P = unknown> {
|
|
179
|
+
id: string;
|
|
180
|
+
editor: Editor;
|
|
181
|
+
component: any;
|
|
182
|
+
element: Element;
|
|
183
|
+
props: Record<string, any>;
|
|
184
|
+
reactElement: React__default.ReactNode;
|
|
185
|
+
ref: R | null;
|
|
186
|
+
constructor(component: ComponentType<R, P>, { editor, props, as, className, attrs, }: ReactRendererOptions);
|
|
187
|
+
render(): void;
|
|
188
|
+
updateProps(props?: Record<string, any>): void;
|
|
189
|
+
destroy(): void;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
type EditorStateSnapshot<TEditor extends Editor | null = Editor | null> = {
|
|
193
|
+
editor: TEditor;
|
|
194
|
+
transactionNumber: number;
|
|
195
|
+
};
|
|
196
|
+
type UseEditorStateOptions<TSelectorResult, TEditor extends Editor | null = Editor | null> = {
|
|
197
|
+
/**
|
|
198
|
+
* The editor instance.
|
|
199
|
+
*/
|
|
200
|
+
editor: TEditor;
|
|
201
|
+
/**
|
|
202
|
+
* A selector function to determine the value to compare for re-rendering.
|
|
203
|
+
*/
|
|
204
|
+
selector: (context: EditorStateSnapshot<TEditor>) => TSelectorResult;
|
|
205
|
+
/**
|
|
206
|
+
* A custom equality function to determine if the editor should re-render.
|
|
207
|
+
* @default `(a, b) => a === b`
|
|
208
|
+
*/
|
|
209
|
+
equalityFn?: (a: TSelectorResult, b: TSelectorResult | null) => boolean;
|
|
210
|
+
};
|
|
211
|
+
declare function useEditorState<TSelectorResult>(options: UseEditorStateOptions<TSelectorResult, Editor>): TSelectorResult;
|
|
212
|
+
declare function useEditorState<TSelectorResult>(options: UseEditorStateOptions<TSelectorResult, Editor | null>): TSelectorResult | null;
|
|
213
|
+
|
|
214
|
+
interface ReactNodeViewContextProps {
|
|
215
|
+
onDragStart: (event: DragEvent) => void;
|
|
216
|
+
nodeViewContentRef: (element: HTMLElement | null) => void;
|
|
217
|
+
}
|
|
218
|
+
declare const ReactNodeViewContext: React.Context<Partial<ReactNodeViewContextProps>>;
|
|
219
|
+
declare const useReactNodeView: () => Partial<ReactNodeViewContextProps>;
|
|
220
|
+
|
|
221
|
+
export { BubbleMenu, type BubbleMenuProps, EditorConsumer, EditorContent, type EditorContentProps, EditorContext, type EditorContextValue, EditorProvider, type EditorProviderProps, type EditorStateSnapshot, FloatingMenu, type FloatingMenuProps, NodeViewContent, type NodeViewContentProps, NodeViewWrapper, type NodeViewWrapperProps, PureEditorContent, ReactNodeViewContext, type ReactNodeViewContextProps, ReactNodeViewRenderer, type ReactNodeViewRendererOptions, ReactRenderer, type ReactRendererOptions, type UseEditorOptions, type UseEditorStateOptions, useCurrentEditor, useEditor, useEditorState, useReactNodeView };
|