import {Extensions} from '@tiptap/core' import {NodeViewWrapper, ReactNodeViewRenderer} from '@tiptap/react' import clsx from 'clsx' import {getField} from './utils' export const nodeViewMiddleware = (extensions: Extensions) => { return extensions.map((e) => { const renderReact = getField(e, 'renderReact') if (renderReact) { return e .extend({ addNodeView: () => ReactNodeViewRenderer((props: any) => ( *]:outline-dotted')} > {renderReact( { ...props.node.attrs, deleteNode: props.deleteNode, }, props.children, )} )), }) .configure(e.options) } else { return e } }) }