fix: Cursor disappearing behind emoji (#3786)

* fix: Cursor disappearing behind emoji

* Move emoji node styles to `Styles.ts`

* fix: grammar

* fix: Pasting emoji adds a new line

* fix: DOM element type
This commit is contained in:
CuriousCorrelation
2022-07-17 19:19:39 +05:30
committed by GitHub
parent c00bad38e2
commit 5924f4909f

View File

@@ -35,9 +35,9 @@ export default class Emoji extends Node {
selectable: false, selectable: false,
parseDOM: [ parseDOM: [
{ {
tag: "span.emoji", tag: "strong.emoji",
preserveWhitespace: "full", preserveWhitespace: "full",
getAttrs: (dom: HTMLDivElement) => ({ getAttrs: (dom: HTMLElement) => ({
"data-name": dom.dataset.name, "data-name": dom.dataset.name,
}), }),
}, },
@@ -48,7 +48,7 @@ export default class Emoji extends Node {
nameToEmoji[node.attrs["data-name"]] nameToEmoji[node.attrs["data-name"]]
); );
return [ return [
"span", "strong",
{ {
class: `emoji ${node.attrs["data-name"]}`, class: `emoji ${node.attrs["data-name"]}`,
"data-name": node.attrs["data-name"], "data-name": node.attrs["data-name"],
@@ -57,7 +57,7 @@ export default class Emoji extends Node {
]; ];
} }
const text = document.createTextNode(`:${node.attrs["data-name"]}:`); const text = document.createTextNode(`:${node.attrs["data-name"]}:`);
return ["span", { class: "emoji" }, text]; return ["strong", { class: "emoji" }, text];
}, },
toPlainText: (node) => nameToEmoji[node.attrs["data-name"]], toPlainText: (node) => nameToEmoji[node.attrs["data-name"]],
}; };