UNPKG

2.31 kBJavaScriptView Raw
1import { acNameToEmoji, acShortcutToEmoji } from '../../utils/confluence/emoji';
2export var emoji = {
3 inline: true,
4 group: 'inline',
5 selectable: false,
6 attrs: {
7 shortName: { default: '' },
8 id: { default: '' },
9 text: { default: '' },
10 },
11 parseDOM: [
12 {
13 tag: 'span[data-emoji-short-name]',
14 getAttrs: function (domNode) {
15 var dom = domNode;
16 return {
17 shortName: dom.getAttribute('data-emoji-short-name') ||
18 emoji.attrs.shortName.default,
19 id: dom.getAttribute('data-emoji-id') || emoji.attrs.id.default,
20 text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default,
21 };
22 },
23 },
24 // Handle copy/paste from old <ac:emoticon />
25 {
26 tag: 'img[data-emoticon-name]',
27 getAttrs: function (dom) {
28 return acNameToEmoji(dom.getAttribute('data-emoticon-name'));
29 },
30 },
31 // Handle copy/paste from old <ac:hipchat-emoticons />
32 {
33 tag: 'img[data-hipchat-emoticon]',
34 getAttrs: function (dom) {
35 return acShortcutToEmoji(dom.getAttribute('data-hipchat-emoticon'));
36 },
37 },
38 // Handle copy/paste from bitbucket's <img class="emoji" />
39 {
40 tag: 'img.emoji[data-emoji-short-name]',
41 getAttrs: function (domNode) {
42 var dom = domNode;
43 return {
44 shortName: dom.getAttribute('data-emoji-short-name') ||
45 emoji.attrs.shortName.default,
46 id: dom.getAttribute('data-emoji-id') || emoji.attrs.id.default,
47 text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default,
48 };
49 },
50 },
51 ],
52 toDOM: function (node) {
53 var _a = node.attrs, shortName = _a.shortName, id = _a.id, text = _a.text;
54 var attrs = {
55 'data-emoji-short-name': shortName,
56 'data-emoji-id': id,
57 'data-emoji-text': text,
58 contenteditable: 'false',
59 };
60 return ['span', attrs, text];
61 },
62};
63//# sourceMappingURL=emoji.js.map
\No newline at end of file