import { Node, mergeAttributes } from '@tiptap/core' export interface TweetOptions { tweetId: string } // This is a version of the Tiptap Node config without addNodeView, // since that would require bundling in tsx export const TiptapTweetNode = { name: 'tiptapTweet', group: 'block', atom: true, addAttributes() { return { tweetId: { default: null, }, } }, parseHTML() { return [ { tag: 'tiptap-tweet', }, ] }, renderHTML(props: { HTMLAttributes: Record }) { return ['tiptap-tweet', mergeAttributes(props.HTMLAttributes)] }, } // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore export default Node.create(TiptapTweetNode)