/** * Emoji Extension - Display inline emojis as images */ import Image from '@tiptap/extension-image'; import { MessageContentType } from '../../../../types/messageInput'; export function createEmojiExtension() { return Image.extend({ name: MessageContentType.EMOJI, inline: true, group: 'inline', draggable: true, addOptions() { return { ...this.parent?.(), HTMLAttributes: { 'class': 'message-emoji', 'data-type': MessageContentType.EMOJI, }, }; }, addAttributes() { return { ...this.parent?.(), 'data-type': { default: null, parseHTML: element => element.getAttribute('data-type'), renderHTML: attributes => (attributes['data-type'] ? { 'data-type': attributes['data-type'] } : {}), }, }; }, }); }