# wpforo/3.2.0/assets/js/tinymce-emoji.js

wpForo Forum, version 3.2.0. 582 lines.

- Page: https://pluginprobe.com/plugins/wpforo/3.2.0/code/assets/js/tinymce-emoji.js
- Raw: https://pluginprobe.com/plugins/wpforo/3.2.0/raw/assets/js/tinymce-emoji.js
- Modified: 2026-09-25T08:24:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wpforo/3.2.0/code/assets/js/tinymce-emoji.js#L10-L20`.

```javascript
var emojis = [{
		"codes": ["1F600"],
		"status": "fully-qualified",
		"emoji": "😀",
		"name": "grinning face"
	}, {
		"codes": ["1F923"],
		"status": "fully-qualified",
		"emoji": "🤣",
		"name": "rolling on the floor laughing"
	}, {
		"codes": ["1F606"],
		"status": "fully-qualified",
		"emoji": "😆",
		"name": "grinning squinting face"
	}, {
		"codes": ["1F609"],
		"status": "fully-qualified",
		"emoji": "😉",
		"name": "winking face"
	}, {
		"codes": ["1F60A"],
		"status": "fully-qualified",
		"emoji": "😊",
		"name": "smiling face with smiling eyes"
	}, {
		"codes": ["1F60B"],
		"status": "fully-qualified",
		"emoji": "😋",
		"name": "face savoring food"
	}, {
		"codes": ["1F60E"],
		"status": "fully-qualified",
		"emoji": "😎",
		"name": "smiling face with sunglasses"
	}, {
		"codes": ["1F60D"],
		"status": "fully-qualified",
		"emoji": "😍",
		"name": "smiling face with heart-eyes"
	}, {
		"codes": ["1F618"],
		"status": "fully-qualified",
		"emoji": "😘",
		"name": "face blowing a kiss"
	}, {
		"codes": ["1F642"],
		"status": "fully-qualified",
		"emoji": "🙂",
		"name": "slightly smiling face"
	}, {
		"codes": ["1F917"],
		"status": "fully-qualified",
		"emoji": "🤗",
		"name": "hugging face"
	}, {
		"codes": ["1F929"],
		"status": "fully-qualified",
		"emoji": "🤩",
		"name": "star-struck"
	}, {
        "codes": ["1F914"],
        "status": "fully-qualified",
        "emoji": "🤔",
        "name": "thinking face"
    }, {
        "codes": ["1F928"],
        "status": "fully-qualified",
        "emoji": "🤨",
        "name": "face with raised eyebrow"
    }, {
        "codes": ["1F610"],
        "status": "fully-qualified",
        "emoji": "😐",
        "name": "neutral face"
    }, {
        "codes": ["1F611"],
        "status": "fully-qualified",
        "emoji": "😑",
        "name": "expressionless face"
    }, {
        "codes": ["1F636"],
        "status": "fully-qualified",
        "emoji": "😶",
        "name": "face without mouth"
    }, {
        "codes": ["1F644"],
        "status": "fully-qualified",
        "emoji": "🙄",
        "name": "face with rolling eyes"
    }, {
        "codes": ["1F60F"],
        "status": "fully-qualified",
        "emoji": "😏",
        "name": "smirking face"
    }, {
        "codes": ["1F623"],
        "status": "fully-qualified",
        "emoji": "😣",
        "name": "persevering face"
    }, {
        "codes": ["1F625"],
        "status": "fully-qualified",
        "emoji": "😥",
        "name": "sad but relieved face"
    }, {
        "codes": ["1F62E"],
        "status": "fully-qualified",
        "emoji": "😮",
        "name": "face with open mouth"
    }, {
        "codes": ["1F910"],
        "status": "fully-qualified",
        "emoji": "🤐",
        "name": "zipper-mouth face"
    }, {
        "codes": ["1F62F"],
        "status": "fully-qualified",
        "emoji": "😯",
        "name": "hushed face"
    }, {
        "codes": ["1F62A"],
        "status": "fully-qualified",
        "emoji": "😪",
        "name": "sleepy face"
    }, {
        "codes": ["1F62B"],
        "status": "fully-qualified",
        "emoji": "😫",
        "name": "tired face"
    }, {
        "codes": ["1F634"],
        "status": "fully-qualified",
        "emoji": "😴",
        "name": "sleeping face"
    }, {
        "codes": ["1F60C"],
        "status": "fully-qualified",
        "emoji": "😌",
        "name": "relieved face"
    }, {
        "codes": ["1F61B"],
        "status": "fully-qualified",
        "emoji": "😛",
        "name": "face with tongue"
    }, {
        "codes": ["1F61C"],
        "status": "fully-qualified",
        "emoji": "😜",
        "name": "winking face with tongue"
    }, {
        "codes": ["1F61D"],
        "status": "fully-qualified",
        "emoji": "😝",
        "name": "squinting face with tongue"
    }, {
        "codes": ["1F924"],
        "status": "fully-qualified",
        "emoji": "🤤",
        "name": "drooling face"
    }, {
        "codes": ["1F612"],
        "status": "fully-qualified",
        "emoji": "😒",
        "name": "unamused face"
    }, {
        "codes": ["1F613"],
        "status": "fully-qualified",
        "emoji": "😓",
        "name": "downcast face with sweat"
    }, {
        "codes": ["1F614"],
        "status": "fully-qualified",
        "emoji": "😔",
        "name": "pensive face"
    }, {
        "codes": ["1F615"],
        "status": "fully-qualified",
        "emoji": "😕",
        "name": "confused face"
    }, {
        "codes": ["1F643"],
        "status": "fully-qualified",
        "emoji": "🙃",
        "name": "upside-down face"
    }, {
        "codes": ["1F911"],
        "status": "fully-qualified",
        "emoji": "🤑",
        "name": "money-mouth face"
    }, {
        "codes": ["1F632"],
        "status": "fully-qualified",
        "emoji": "😲",
        "name": "astonished face"
    }, {
        "codes": ["2639", "FE0F"],
        "status": "fully-qualified",
        "emoji": "☹️",
        "name": "frowning face"
    }, {
        "codes": ["2639"],
        "status": "non-fully-qualified",
        "emoji": "☹",
        "name": "frowning face"
    }, {
        "codes": ["1F641"],
        "status": "fully-qualified",
        "emoji": "🙁",
        "name": "slightly frowning face"
    }, {
        "codes": ["1F616"],
        "status": "fully-qualified",
        "emoji": "😖",
        "name": "confounded face"
    }, {
        "codes": ["1F61E"],
        "status": "fully-qualified",
        "emoji": "😞",
        "name": "disappointed face"
    }, {
        "codes": ["1F61F"],
        "status": "fully-qualified",
        "emoji": "😟",
        "name": "worried face"
    }, {
        "codes": ["1F624"],
        "status": "fully-qualified",
        "emoji": "😤",
        "name": "face with steam from nose"
    }, {
        "codes": ["1F622"],
        "status": "fully-qualified",
        "emoji": "😢",
        "name": "crying face"
    }, {
        "codes": ["1F62D"],
        "status": "fully-qualified",
        "emoji": "😭",
        "name": "loudly crying face"
    }, {
        "codes": ["1F626"],
        "status": "fully-qualified",
        "emoji": "😦",
        "name": "frowning face with open mouth"
    }, {
        "codes": ["1F627"],
        "status": "fully-qualified",
        "emoji": "😧",
        "name": "anguished face"
    }, {
        "codes": ["1F628"],
        "status": "fully-qualified",
        "emoji": "😨",
        "name": "fearful face"
    }, {
        "codes": ["1F629"],
        "status": "fully-qualified",
        "emoji": "😩",
        "name": "weary face"
    }, {
        "codes": ["1F92F"],
        "status": "fully-qualified",
        "emoji": "🤯",
        "name": "exploding head"
    }, {
        "codes": ["1F62C"],
        "status": "fully-qualified",
        "emoji": "😬",
        "name": "grimacing face"
    }, {
        "codes": ["1F630"],
        "status": "fully-qualified",
        "emoji": "😰",
        "name": "anxious face with sweat"
    }, {
        "codes": ["1F631"],
        "status": "fully-qualified",
        "emoji": "😱",
        "name": "face screaming in fear"
    }, {
        "codes": ["1F633"],
        "status": "fully-qualified",
        "emoji": "😳",
        "name": "flushed face"
    }, {
        "codes": ["1F92A"],
        "status": "fully-qualified",
        "emoji": "🤪",
        "name": "crazy face"
    }, {
        "codes": ["1F635"],
        "status": "fully-qualified",
        "emoji": "😵",
        "name": "dizzy face"
    }, {
        "codes": ["1F621"],
        "status": "fully-qualified",
        "emoji": "😡",
        "name": "pouting face"
    }, {
        "codes": ["1F620"],
        "status": "fully-qualified",
        "emoji": "😠",
        "name": "angry face"
    }, {
        "codes": ["1F92C"],
        "status": "fully-qualified",
        "emoji": "🤬",
        "name": "face with symbols on mouth"
    }, {
        "codes": ["1F637"],
        "status": "fully-qualified",
        "emoji": "😷",
        "name": "face with medical mask"
    }, {
        "codes": ["1F912"],
        "status": "fully-qualified",
        "emoji": "🤒",
        "name": "face with thermometer"
    }, {
        "codes": ["1F915"],
        "status": "fully-qualified",
        "emoji": "🤕",
        "name": "face with head-bandage"
    }, {
        "codes": ["1F922"],
        "status": "fully-qualified",
        "emoji": "🤢",
        "name": "nauseated face"
    }, {
        "codes": ["1F92E"],
        "status": "fully-qualified",
        "emoji": "🤮",
        "name": "face vomiting"
    }, {
        "codes": ["1F927"],
        "status": "fully-qualified",
        "emoji": "🤧",
        "name": "sneezing face"
    }, {
        "codes": ["1F607"],
        "status": "fully-qualified",
        "emoji": "😇",
        "name": "smiling face with halo"
    }, {
        "codes": ["1F920"],
        "status": "fully-qualified",
        "emoji": "🤠",
        "name": "cowboy hat face"
    }, {
        "codes": ["1F921"],
        "status": "fully-qualified",
        "emoji": "🤡",
        "name": "clown face"
    }, {
        "codes": ["1F925"],
        "status": "fully-qualified",
        "emoji": "🤥",
        "name": "lying face"
    }, {
        "codes": ["1F92B"],
        "status": "fully-qualified",
        "emoji": "🤫",
        "name": "shushing face"
    }, {
        "codes": ["1F92D"],
        "status": "fully-qualified",
        "emoji": "🤭",
        "name": "face with hand over mouth"
    }, {
        "codes": ["1F9D0"],
        "status": "fully-qualified",
        "emoji": "🧐",
        "name": "face with monocle"
    }, {
        "codes": ["1F913"],
        "status": "fully-qualified",
        "emoji": "🤓",
        "name": "nerd face"
    }, {
        "codes": ["1F590", "FE0F"],
        "status": "fully-qualified",
        "emoji": "🖐️",
        "name": "hand with fingers splayed"
    }, {
        "codes": ["1F44D"],
        "status": "fully-qualified",
        "emoji": "👍",
        "name": "thumbs up"
    }, {
        "codes": ["1F44E"],
        "status": "fully-qualified",
        "emoji": "👎",
        "name": "thumbs down"
    }, {
        "codes": ["2764", "FE0F"],
        "status": "fully-qualified",
        "emoji": "❤️",
        "name": "red heart"
    }, {
        "codes": ["1F4A3"],
        "status": "fully-qualified",
        "emoji": "💣",
        "name": "bomb"
    }, {
        "codes": ["1F339"],
        "status": "fully-qualified",
        "emoji": "🌹",
        "name": "rose"
    }, {
        "codes": ["1F940"],
        "status": "fully-qualified",
        "emoji": "🥀",
        "name": "wilted flower"
    }, {
        "codes": ["1F33A"],
        "status": "fully-qualified",
        "emoji": "🌺",
        "name": "hibiscus"
    }, {
        "codes": ["1F33B"],
        "status": "fully-qualified",
        "emoji": "🌻",
        "name": "sunflower"
    }, {
        "codes": ["1F33C"],
        "status": "fully-qualified",
        "emoji": "🌼",
        "name": "blossom"
    }, {
        "codes": ["1F352"],
        "status": "fully-qualified",
        "emoji": "🍒",
        "name": "cherries"
    }, {
        "codes": ["1F353"],
        "status": "fully-qualified",
        "emoji": "🍓",
        "name": "strawberry"
    }, {
        "codes": ["1F354"],
        "status": "fully-qualified",
        "emoji": "🍔",
        "name": "hamburger"
    }, {
        "codes": ["1F35F"],
        "status": "fully-qualified",
        "emoji": "🍟",
        "name": "french fries"
    }, {
        "codes": ["1F355"],
        "status": "fully-qualified",
        "emoji": "🍕",
        "name": "pizza"
    }, {
        "codes": ["2615"],
        "status": "fully-qualified",
        "emoji": "☕",
        "name": "hot beverage"
    }, {
        "codes": ["1F375"],
        "status": "fully-qualified",
        "emoji": "🍵",
        "name": "teacup without handle"
    }, {
        "codes": ["1F376"],
        "status": "fully-qualified",
        "emoji": "🍶",
        "name": "sake"
    }, {
        "codes": ["1F37E"],
        "status": "fully-qualified",
        "emoji": "🍾",
        "name": "bottle with popping cork"
    }, {
        "codes": ["1F377"],
        "status": "fully-qualified",
        "emoji": "🍷",
        "name": "wine glass"
    }, {
        "codes": ["1F378"],
        "status": "fully-qualified",
        "emoji": "🍸",
        "name": "cocktail glass"
    }, {
        "codes": ["1F379"],
        "status": "fully-qualified",
        "emoji": "🍹",
        "name": "tropical drink"
    }, {
        "codes": ["1F37A"],
        "status": "fully-qualified",
        "emoji": "🍺",
        "name": "beer mug"
    }, {
        "codes": ["1F37B"],
        "status": "fully-qualified",
        "emoji": "🍻",
        "name": "clinking beer mugs"
    }, {
        "codes": ["1F942"],
        "status": "fully-qualified",
        "emoji": "🥂",
        "name": "clinking glasses"
    }

];

!function () {
    var a = {}, b = function (b) {
        for (var c = a[b], e = c.deps, f = c.defn, g = e.length, h = new Array(g), i = 0; i < g; ++i) h[i] = d(e[i]);
        var j = f.apply(null, h);
        if (void 0 === j) throw"module [" + b + "] returned undefined";
        c.instance = j
    }, c = function (b, c, d) {
        if ("string" != typeof b) throw"module id must be a string";
        if (void 0 === c) throw"no dependencies for " + b;
        if (void 0 === d) throw"no definition function for " + b;
        a[b] = {deps: c, defn: d, instance: void 0}
    }, d = function (c) {
        var d = a[c];
        if (void 0 === d) throw"module [" + c + "] was undefined";
        return void 0 === d.instance && b(c), d.instance
    }, e = function (a, b) {
        for (var c = a.length, e = new Array(c), f = 0; f < c; ++f) e[f] = d(a[f]);
        b.apply(null, e)
    }, f = {};
    f.bolt = {module: {api: {define: c, require: e, demand: d}}};
    var g = c, h = function (a, b) {
        g(a, [], function () {
            return b
        })
    };
    h("3", tinymce.util.Tools.resolve), g("1", ["3"], function (a) {
        return a("tinymce.PluginManager")
    }), g("5", ["3"], function (a) {
        return a("tinymce.util.Tools")
    }), g("4", ["5"], function (a) {

        var c = function (c) {
                var d;

                d = '<div id="wpf-emoji-wrap" class="wpf-emoji-wrap">';

                    for( var i = 0; i < emojis.length; i++){
                        d += '<span class="wpf-emoji" data-emoji="' + emojis[i].emoji + '">' + emojis[i].emoji + '</span>';
                    }

                d += '</div>';

                return d;
            };
        return {getHtml: c}
    }), g("2", ["4"], function (a) {
        var b = function (a, b) {
            a.insertContent(' ' + b + ' ', {format: 'raw'})
        }, c = function (c, d) {
            var e = a.getHtml(d);
            c.addButton("emoticons", {
                type: "panelbutton",
                panel: {
                    classes: "wpf-emoji-extra-wrap",
                    role: "application",
                    autohide: !0,
                    html: e,
                    onclick: function (a) {
                        var d = c.dom.getParent(a.target, "span.wpf-emoji");
                        d && (b( c, d.getAttribute("data-emoji") ))
                    }
                },
                tooltip: "Emoji"
            })
        };
        return {register: c}
    }), g("0", ["1", "2"], function (a, b) {
        return a.add("emoticons", function (a, c) {
            b.register(a, c)
        }), function () {
        }
    }), d("0")()
}();
```
