signal-desktop/ts/quill/emoji/matchers.ts
Chris Svenningsen 53c89aa40f Send @mentions
2020-11-04 13:03:13 -06:00

28 lines
793 B
TypeScript

// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import Delta from 'quill-delta';
export const matchEmojiImage = (node: Element): Delta => {
if (node.classList.contains('emoji')) {
const emoji = node.getAttribute('title');
return new Delta().insert({ emoji });
}
return new Delta();
};
export const matchEmojiBlot = (node: HTMLElement, delta: Delta): Delta => {
if (node.classList.contains('emoji-blot')) {
const { emoji } = node.dataset;
return new Delta().insert({ emoji });
}
return delta;
};
export const matchReactEmoji = (node: HTMLElement, delta: Delta): Delta => {
if (node.classList.contains('module-emoji')) {
const emoji = node.innerText.trim();
return new Delta().insert({ emoji });
}
return delta;
};