28 lines
793 B
TypeScript
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;
|
|
};
|