| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/c/o/o/coopiak/plats-individuels/lyon/components/com_community/assets/release/js/ |
Upload File : |
(function () {
/**
* @license almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license.
* see: http://github.com/jrburke/almond for details
*/
//Going sloppy to avoid 'use strict' string cost, but strict practices should
//be followed.
/*jslint sloppy: true */
/*global setTimeout: false */
var requirejs, require, define;
(function (undef) {
var main, req, makeMap, handlers,
defined = {},
waiting = {},
config = {},
defining = {},
hasOwn = Object.prototype.hasOwnProperty,
aps = [].slice,
jsSuffixRegExp = /\.js$/;
function hasProp(obj, prop) {
return hasOwn.call(obj, prop);
}
/**
* Given a relative module name, like ./something, normalize it to
* a real name that can be mapped to a path.
* @param {String} name the relative name
* @param {String} baseName a real name that the name arg is relative
* to.
* @returns {String} normalized name
*/
function normalize(name, baseName) {
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts = baseName && baseName.split("/"),
map = config.map,
starMap = (map && map['*']) || {};
//Adjust any relative paths.
if (name && name.charAt(0) === ".") {
//If have a base name, try to normalize against it,
//otherwise, assume it is a top-level require that will
//be relative to baseUrl in the end.
if (baseName) {
//Convert baseName to array, and lop off the last part,
//so that . matches that "directory" and not name of the baseName's
//module. For instance, baseName of "one/two/three", maps to
//"one/two/three.js", but we want the directory, "one/two" for
//this normalization.
baseParts = baseParts.slice(0, baseParts.length - 1);
name = name.split('/');
lastIndex = name.length - 1;
// Node .js allowance:
if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
}
name = baseParts.concat(name);
//start trimDots
for (i = 0; i < name.length; i += 1) {
part = name[i];
if (part === ".") {
name.splice(i, 1);
i -= 1;
} else if (part === "..") {
if (i === 1 && (name[2] === '..' || name[0] === '..')) {
//End of the line. Keep at least one non-dot
//path segment at the front so it can be mapped
//correctly to disk. Otherwise, there is likely
//no path mapping for a path starting with '..'.
//This can still fail, but catches the most reasonable
//uses of ..
break;
} else if (i > 0) {
name.splice(i - 1, 2);
i -= 2;
}
}
}
//end trimDots
name = name.join("/");
} else if (name.indexOf('./') === 0) {
// No baseName, so this is ID is resolved relative
// to baseUrl, pull off the leading dot.
name = name.substring(2);
}
}
//Apply map config if available.
if ((baseParts || starMap) && map) {
nameParts = name.split('/');
for (i = nameParts.length; i > 0; i -= 1) {
nameSegment = nameParts.slice(0, i).join("/");
if (baseParts) {
//Find the longest baseName segment match in the config.
//So, do joins on the biggest to smallest lengths of baseParts.
for (j = baseParts.length; j > 0; j -= 1) {
mapValue = map[baseParts.slice(0, j).join('/')];
//baseName segment has config, find if it has one for
//this name.
if (mapValue) {
mapValue = mapValue[nameSegment];
if (mapValue) {
//Match, update name to the new value.
foundMap = mapValue;
foundI = i;
break;
}
}
}
}
if (foundMap) {
break;
}
//Check for a star map match, but just hold on to it,
//if there is a shorter segment match later in a matching
//config, then favor over this star map.
if (!foundStarMap && starMap && starMap[nameSegment]) {
foundStarMap = starMap[nameSegment];
starI = i;
}
}
if (!foundMap && foundStarMap) {
foundMap = foundStarMap;
foundI = starI;
}
if (foundMap) {
nameParts.splice(0, foundI, foundMap);
name = nameParts.join('/');
}
}
return name;
}
function makeRequire(relName, forceSync) {
return function () {
//A version of a require function that passes a moduleName
//value for items that may need to
//look up paths relative to the moduleName
return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync]));
};
}
function makeNormalize(relName) {
return function (name) {
return normalize(name, relName);
};
}
function makeLoad(depName) {
return function (value) {
defined[depName] = value;
};
}
function callDep(name) {
if (hasProp(waiting, name)) {
var args = waiting[name];
delete waiting[name];
defining[name] = true;
main.apply(undef, args);
}
if (!hasProp(defined, name) && !hasProp(defining, name)) {
throw new Error('No ' + name);
}
return defined[name];
}
//Turns a plugin!resource to [plugin, resource]
//with the plugin being undefined if the name
//did not have a plugin prefix.
function splitPrefix(name) {
var prefix,
index = name ? name.indexOf('!') : -1;
if (index > -1) {
prefix = name.substring(0, index);
name = name.substring(index + 1, name.length);
}
return [prefix, name];
}
/**
* Makes a name map, normalizing the name, and using a plugin
* for normalization if necessary. Grabs a ref to plugin
* too, as an optimization.
*/
makeMap = function (name, relName) {
var plugin,
parts = splitPrefix(name),
prefix = parts[0];
name = parts[1];
if (prefix) {
prefix = normalize(prefix, relName);
plugin = callDep(prefix);
}
//Normalize according
if (prefix) {
if (plugin && plugin.normalize) {
name = plugin.normalize(name, makeNormalize(relName));
} else {
name = normalize(name, relName);
}
} else {
name = normalize(name, relName);
parts = splitPrefix(name);
prefix = parts[0];
name = parts[1];
if (prefix) {
plugin = callDep(prefix);
}
}
//Using ridiculous property names for space reasons
return {
f: prefix ? prefix + '!' + name : name, //fullName
n: name,
pr: prefix,
p: plugin
};
};
function makeConfig(name) {
return function () {
return (config && config.config && config.config[name]) || {};
};
}
handlers = {
require: function (name) {
return makeRequire(name);
},
exports: function (name) {
var e = defined[name];
if (typeof e !== 'undefined') {
return e;
} else {
return (defined[name] = {});
}
},
module: function (name) {
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};
}
};
main = function (name, deps, callback, relName) {
var cjsModule, depName, ret, map, i,
args = [],
callbackType = typeof callback,
usingExports;
//Use name if no relName
relName = relName || name;
//Call the callback to define the module, if necessary.
if (callbackType === 'undefined' || callbackType === 'function') {
//Pull out the defined dependencies and pass the ordered
//values to the callback.
//Default to [require, exports, module] if no deps
deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
for (i = 0; i < deps.length; i += 1) {
map = makeMap(deps[i], relName);
depName = map.f;
//Fast path CommonJS standard dependencies.
if (depName === "require") {
args[i] = handlers.require(name);
} else if (depName === "exports") {
//CommonJS module spec 1.1
args[i] = handlers.exports(name);
usingExports = true;
} else if (depName === "module") {
//CommonJS module spec 1.1
cjsModule = args[i] = handlers.module(name);
} else if (hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)) {
args[i] = callDep(depName);
} else if (map.p) {
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i] = defined[depName];
} else {
throw new Error(name + ' missing ' + depName);
}
}
ret = callback ? callback.apply(defined[name], args) : undefined;
if (name) {
//If setting exports via "module" is in play,
//favor that over return value and exports. After that,
//favor a non-undefined return value over exports use.
if (cjsModule && cjsModule.exports !== undef &&
cjsModule.exports !== defined[name]) {
defined[name] = cjsModule.exports;
} else if (ret !== undef || !usingExports) {
//Use the return value from the function.
defined[name] = ret;
}
}
} else if (name) {
//May just be an object definition for the module. Only
//worry about defining if have a module name.
defined[name] = callback;
}
};
requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
if (typeof deps === "string") {
if (handlers[deps]) {
//callback in this case is really relName
return handlers[deps](callback);
}
//Just return the module wanted. In this scenario, the
//deps arg is the module name, and second arg (if passed)
//is just the relName.
//Normalize module name, if it contains . or ..
return callDep(makeMap(deps, callback).f);
} else if (!deps.splice) {
//deps is a config object, not an array.
config = deps;
if (config.deps) {
req(config.deps, config.callback);
}
if (!callback) {
return;
}
if (callback.splice) {
//callback is an array, which means it is a dependency list.
//Adjust args if there are dependencies
deps = callback;
callback = relName;
relName = null;
} else {
deps = undef;
}
}
//Support require(['a'])
callback = callback || function () {};
//If relName is a function, it is an errback handler,
//so remove it.
if (typeof relName === 'function') {
relName = forceSync;
forceSync = alt;
}
//Simulate async callback;
if (forceSync) {
main(undef, deps, callback, relName);
} else {
//Using a non-zero value because of concern for what old browsers
//do, and latest browsers "upgrade" to 4 if lower value is used:
//http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
//If want a value immediately, use require('id') instead -- something
//that works in almond on the global level, but not guaranteed and
//unlikely to work in other AMD implementations.
setTimeout(function () {
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
/**
* Just drops the config on the floor, but returns req in case
* the config return value is used.
*/
req.config = function (cfg) {
return req(cfg);
};
/**
* Expose module registry for debugging and tooling
*/
requirejs._defined = defined;
define = function (name, deps, callback) {
//This module may not have dependencies
if (!deps.splice) {
//deps is not an array, so probably means
//an object literal or factory function for
//the value. Adjust args.
callback = deps;
deps = [];
}
if (!hasProp(defined, name) && !hasProp(waiting, name)) {
waiting[name] = [name, deps, callback];
}
};
define.amd = {
jQuery: true
};
}());
define("../../vendors/almond", function(){});
;(function( root ) {
/**
* Relative path for assets loading.
* @name joms.BASE_URL
* @const {string}
*/
joms.BASE_URL = root.joms_base_url;
delete root.joms_base_url;
// Fix www/non-www redirection.
var reDomain = /https?:\/\/[^/]+/;
var baseDomain = joms.BASE_URL.match( reDomain );
var realDomain = (location.href).match( reDomain );
if ( baseDomain && realDomain && baseDomain[0] !== realDomain[0] ) {
joms.BASE_URL.replace( reDomain, realDomain[0] );
}
/**
* Relative path for assets loading.
* @name joms.ASSETS_URL
* @const {string}
*/
joms.ASSETS_URL = root.joms_assets_url;
delete root.joms_assets_url;
/**
* Detect mobile browser.
* @name joms.mobile
* @const {boolean}
*/
joms.mobile = (function() {
var mobile = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i;
return mobile.test( navigator.userAgent );
})();
/**
* Detect mobile safari (iOS) browser.
* @name joms.ios
* @const {boolean}
*/
joms.ios = (function() {
var ios = /iphone|ipad|ipod/i;
return ios.test( navigator.userAgent );
})();
/**
* Detect screen size based on it's width and css breakpoint rule.
* Breakpoints: 0 - 480 | 481 - 991 | 992 - ~
* @function joms.screenSize
*/
joms.screenSize = function() {
var width = window.innerWidth;
if ( width <= 480 ) return 'small';
if ( width <= 991 ) return 'medium';
return 'large';
};
/**
* jQuery.ajax wrapper to perform ajax request
* @function joms.ajax
* @param {object} options - Ajax call options
*/
joms.ajax = function( options ) {
var url = root.jax_live_site || '',
token = root.jax_token_var || '_no_token_found_',
data = {};
options || (options = {});
// Match jax.call parameters.
data[token] = 1;
data.task = 'azrul_ajax';
data.option = options.option || 'community';
data.func = options.func;
data.no_html = 1;
delete options.option;
delete options.func;
// Build arguments.
if ( options.data && options.data.length ) {
for ( var i = 0, arg; i < options.data.length; i++ ) {
arg = options.data[ i ];
if ( typeof arg === 'string' )
arg = arg.replace( /"/g, '"' );
if ( !joms._.isArray( arg ) )
arg = [ '_d_', encodeURIComponent( arg ) ];
data[ 'arg' + ( i + 2 ) ] = JSON.stringify( arg );
}
}
var response;
// Override options.
options.url = url;
options.type = 'post';
options.dataType = 'json';
options.data = data;
options.success = function( json ) {
if ( json ) response = json;
};
options.complete = function() {
response || (response = { error: 'Undefined error.' });
if ( response.noLogin ) {
joms.api && joms.api.login( response );
joms.view.misc.fixSVG();
return;
}
// Execute additional callbacks (if any).
var stop;
if ( joms._onAjaxReponseQueue &&
joms._onAjaxReponseQueue[ data.func ] &&
joms._onAjaxReponseQueue[ data.func ].length ) {
for ( var i = 0; i < joms._onAjaxReponseQueue[ data.func ].length; i++ ) {
if ( typeof joms._onAjaxReponseQueue[ data.func ][i] === 'function' ) {
if ( joms._onAjaxReponseQueue[ data.func ][i]( response ) === false ) {
stop = true;
}
}
}
}
if ( typeof options.callback === 'function' && ( !stop ) ) {
options.callback( response );
}
joms.view.misc.fixSVG();
};
// Perform ajax request.
return joms.jQuery.ajax( options );
};
/**
* Hide non-jomsocial contents.
* @function joms.____
*/
joms.____ = function() {
var node = joms.jQuery('#community-wrap');
while ( node.length && node[0].tagName.toLowerCase() !== 'body' ) {
node.siblings().hide();
node = node.parent();
node.css({
border: '0 none',
padding: 0,
marginTop: 0,
marginBottom: 0,
width: 'auto'
});
}
};
/**
* Prints SVG icons into document.body for testing purpose.
* @function joms._printSVGIcons
*/
joms._printSVGIcons = function() {
var icons = [ 'home', 'newspaper', 'pencil', 'image', 'images', 'camera', 'play', 'film', 'camera2', 'bullhorn', 'library', 'profile', 'support', 'envelope', 'location', 'clock', 'bell', 'calendar', 'box-add', 'box-remove', 'bubble', 'bubbles', 'user', 'users', 'spinner', 'search', 'key', 'lock', 'wrench', 'cog', 'gift', 'remove', 'briefcase', 'switch', 'signup', 'list', 'menu', 'earth', 'link', 'eye', 'star', 'star2', 'star3', 'thumbs-up', 'happy', 'smiley', 'tongue', 'sad', 'wink', 'grin', 'cool', 'angry', 'evil', 'shocked', 'confused', 'neutral', 'wondering', 'warning', 'info', 'blocked', 'spam', 'close', 'checkmark', 'plus', 'arrow-right', 'arrow-left', 'tab', 'filter', 'console', 'share', 'facebook', 'libreoffice', 'file-zip', 'arrow-down', 'redo', 'tag', 'search-user' ];
var $ct = joms.jQuery('<div>');
for ( var i = 0; i < icons.length; i++ ) {
$ct.append(
'<svg viewBox="0 0 30 30" class="joms-icon" style="width:30px;height:30px">' +
'<use xlink:href="#joms-icon-' + icons[i] + '"></use>' +
'</svg>'
);
}
$ct.appendTo( document.body );
};
// AMD-style output.
if ( typeof define === 'function' ) define('core',[],function () {
return root.joms;
});
})( this );
(function( root, $, IS_DESKTOP, factory ) {
joms.util || (joms.util = {});
joms.util.crop = factory( root, $, IS_DESKTOP );
})( window, joms.jQuery, !joms.mobile, function( window, $, IS_DESKTOP ) {
var cropper, wrapper, hammertime, measurements, resizeDirection;
function Cropper( elem ) {
return Cropper.attach( elem );
}
Cropper.init = function() {
wrapper || ( wrapper = $('<div class="joms-cropper__wrapper" />') );
cropper || ( cropper = $('<div class="joms-cropper__box" />') );
};
Cropper.attach = function( elem ) {
Cropper.init();
Cropper.detach();
reset();
$( elem ).wrap( wrapper );
// todo (rudy) change this hack
wrapper = $( elem ).parent();
cropper.insertAfter( elem );
if ( !hammertime ) {
hammertime = new joms.Hammer( cropper[0] );
hammertime.on( 'touch drag release', function( e ) {
e.stopPropagation();
e.preventDefault();
e.gesture.stopPropagation();
e.gesture.preventDefault();
if ( e.type === 'touch' ) {
disableDesktopEvents();
onTouch( e.gesture );
} else if ( e.type !== 'release' ) {
onDragOrResize( e.gesture );
} else {
onRelease( e.gesture );
enableDesktopEvents();
}
});
}
enableDesktopEvents();
return elem;
};
Cropper.detach = function() {
Cropper.init();
cropper.detach();
wrapper.children().unwrap();
wrapper.detach();
};
Cropper.getSelection = function() {
var mea = measurements;
return {
x: mea.cropperLeft,
y: mea.cropperTop,
width: mea.cropperWidth,
height: mea.cropperHeight
};
};
function reset() {
cropper.css({
top: '',
left: '',
right: '',
bottom: '',
width: '',
height: '',
webkitTransform: '',
mozTransform: '',
transform: ''
});
}
function measure() {
var wrp = wrapper[0],
img = wrapper.children('img'),
pos = cropper.position();
measurements = {
imageWidth : img.width(),
imageHeight : img.height(),
wrapperTop : wrp.scrollTop,
wrapperLeft : wrp.scrollLeft,
wrapperWidth : wrapper.width(),
wrapperHeight : wrapper.height(),
cropperTop : pos.top + wrp.scrollTop,
cropperLeft : pos.left + wrp.scrollLeft,
cropperWidth : cropper.outerWidth(),
cropperHeight : cropper.outerHeight()
};
}
function onTouch( gesture ) {
measure();
resizeDirection = getResizeDirection( gesture );
}
var onDragOrResize = joms._.throttle(function( gesture ) {
resizeDirection ? onResize( gesture ) : onDrag( gesture );
}, IS_DESKTOP ? 10 : 100 );
function onDrag( gesture ) {
var mea = measurements,
top = gesture.deltaY,
left = gesture.deltaX,
value;
// Respect horizontal boundaries.
left = Math.min( left, mea.imageWidth - mea.cropperWidth - mea.cropperLeft );
left = Math.max( left, 0 - mea.cropperLeft );
// Respect vertical boundaries.
top = Math.min( top, mea.imageHeight - mea.cropperHeight - mea.cropperTop );
top = Math.max( top, 0 - mea.cropperTop );
value = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
cropper.css({
webkitTransform: value,
mozTransform: value,
transform: value
});
}
function onResize( gesture ) {
var dir = resizeDirection,
mea = measurements,
css = {};
if ( dir.match( /n/ ) ) {
css.top = 'auto';
css.bottom = mea.wrapperHeight - mea.cropperTop - mea.cropperHeight;
css.height = mea.cropperHeight - gesture.deltaY;
} else if ( dir.match( /s/ ) ) {
css.bottom = 'auto';
css.top = mea.cropperTop;
css.height = mea.cropperHeight + gesture.deltaY;
}
if ( dir.match( /e/ ) ) {
css.right = 'auto';
css.left = mea.cropperLeft;
css.width = mea.cropperWidth + gesture.deltaX;
} else if ( dir.match( /w/ ) ) {
css.left = 'auto';
css.right = mea.wrapperWidth - mea.cropperLeft - mea.cropperWidth;
css.width = mea.cropperWidth - gesture.deltaX;
}
// Restrict cropper box to 1:1 ratio.
css.width = css.height = Math.max( css.width || 0, css.height || 0, 64 );
// Respect vertical boundaries.
if ( dir.match( /n/ ) ) {
css.height = Math.min( css.height, mea.wrapperHeight - css.bottom );
} else if ( dir.match( /s/ ) ) {
css.height = Math.min( css.height, mea.imageHeight - css.top );
} else if ( cropper[0].style.top !== 'auto' ) {
css.height = Math.min( css.height, mea.imageHeight - parseInt( cropper.css('top') ) );
} else {
css.height = Math.min( css.height, mea.wrapperHeight - parseInt( cropper.css('bottom') ) );
}
// Respect horizontal boundaries.
if ( dir.match( /e/ ) ) {
css.width = Math.min( css.width, mea.imageWidth - css.left );
} else if ( dir.match( /w/ ) ) {
css.width = Math.min( css.width, mea.wrapperWidth - css.right );
} else if ( cropper[0].style.left !== 'auto' ) {
css.width = Math.min( css.width, mea.imageWidth - parseInt( cropper.css('left') ) );
} else {
css.width = Math.min( css.width, mea.wrapperWidth - parseInt( cropper.css('right') ) );
}
// Restrict cropper box to 1:1 ratio.
css.width = css.height = Math.min( css.width, css.height );
cropper.css( css );
}
function onRelease() {
var pos = cropper.position(),
mea = measurements;
cropper.css({
top: Math.max( pos.top + mea.wrapperTop, 0 ),
left: Math.max( pos.left + mea.wrapperLeft, 0 ),
right: '',
bottom: '',
webkitTransform: '',
mozTransform: '',
transform: ''
});
measure();
}
function getPointerPosition( pageX, pageY ) {
var offset = cropper.offset();
return {
top : pageY - offset.top,
left : pageX - offset.left
};
}
function getResizeDirection( gesture ) {
var treshhold = IS_DESKTOP ? 15 : 20,
pos = getPointerPosition( gesture.center.pageX, gesture.center.pageY ),
mea = measurements,
dir = '';
if ( pos.top < treshhold ) {
dir += 'n';
} else if ( pos.top > mea.cropperHeight - treshhold ) {
dir += 's';
}
if ( pos.left < treshhold ) {
dir += 'w';
} else if ( pos.left > mea.cropperWidth - treshhold ) {
dir += 'e';
}
return dir;
}
function enableDesktopEvents() {
if ( IS_DESKTOP ) {
cropper.on( 'mousemove.joms-cropper', onMouseMove );
}
}
function disableDesktopEvents() {
if ( IS_DESKTOP ) {
cropper.off( 'mousemove.joms-cropper' );
}
}
function onMouseMove( e ) {
var parentOffset = $( e.target ).parent().offset(),
relX = e.pageX - parentOffset.left,
relY = e.pageY - parentOffset.top,
treshhold = 15,
cursor = '',
m;
measure();
m = measurements;
if ( relY < m.cropperTop - m.wrapperTop + treshhold ) cursor += 'n';
else if ( relY > m.cropperTop - m.wrapperTop + m.cropperHeight - treshhold ) cursor += 's';
if ( relX < m.cropperLeft - m.wrapperLeft + treshhold ) cursor += 'w';
else if ( relX > m.cropperLeft - m.wrapperLeft + m.cropperWidth - treshhold ) cursor += 'e';
cropper.css({ cursor: cursor ? cursor + '-resize' : '' });
}
return Cropper;
});
define("utils/crop", function(){});
define('utils/map',[ 'core' ], function() {
var API_KEY = window.joms_gmap_key,
$ = jQuery,
instance;
function GoogleMaps() {
if ( ! instance ) {
instance = this;
}
}
GoogleMaps.prototype = {
search: function( keyword ) {
var that = this;
return $.Deferred(function( defer ) {
that.autocompleteService().then(function( service ) {
service.getPlacePredictions({ input: keyword }, function( results, status ) {
if ( status === 'OK' ) {
defer.resolve( that.mapResult( results ) );
} else {
defer.reject( status );
}
});
});
});
},
mapResult: function( results ) {
var data = [];
if ( _.isArray( results ) ) {
_.each( results, function( item ) {
var id = item.place_id,
nameParts = item.description.split( /,\s(.+)?/ ),
name = nameParts[0],
description = nameParts[1] || '';
data.push({ id: id, name: name, description: description });
});
}
return data;
},
render: function( elem, place ) {
var $elem = $( elem ).show(),
map = $elem.data( 'joms-map' ),
marker = $elem.data( 'joms-map-marker' ),
name = place.formatted_address || '',
location, viewport;
if ( place.geometry ) {
location = place.geometry.location;
viewport = place.geometry.viewport;
} else {
location = new google.maps.LatLng( place.latitude, place.longitude );
}
if ( ! map ) {
$elem.data( 'joms-map', map = new google.maps.Map( elem, {
center: location,
zoom: 15,
draggable: false,
scrollwheel: false,
disableDefaultUI: true
}) );
}
if ( ! marker ) {
$elem.data( 'joms-map-marker', marker = new google.maps.Marker({
map: map,
position: location,
title: name
}) );
}
map.setCenter( location );
marker.setPosition( location );
if ( viewport ) {
map.fitBounds( viewport );
} else {
map.setZoom( 15 );
}
},
loadAPI: function() {
if(joms_maps_api == "openstreetmap"){
return this.loadAPI_OPENSTREET();
}else{
return this.loadAPI_GOOGLE();
}
},
loadAPI_OPENSTREET: function() {
this.callback = false;
var that = this;
return $.Deferred(function( defer ) {
var script, callback,script2,r;
r = false;
if(typeof openstreetmap == "undefined"){
script2 = document.createElement( 'script' );
script2.type = 'text/javascript';
script2.src = joms.ASSETS_URL+'source/js/utils/openstreet.js';
document.body.appendChild( script2 );
}
if ( window.L && window.L.map ) {
if(that.callback !== false){
that.callback();
}
defer.resolve();
return;
}
if ( that.loaded ) {
if(that.callback !== false){
that.callback();
}
defer.resolve();
return;
}
that.queue = that.queue || [];
that.queue.push( defer );
if ( that.loading ) {
return;
}
that.loading = true;
script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'https://unpkg.com/leaflet@1.3.4/dist/leaflet.js'
script.onload = script.onreadystatechange = function() {
if (!r && (!this.readyState || this.readyState == 'complete')) {
r = true;
that.callback();
}
};
jQuery("<link>")
.appendTo("head")
.attr({
type: "text/css",
rel: "stylesheet",
href: "https://unpkg.com/leaflet@1.3.4/dist/leaflet.css"
});
that.callback = function() {
that.loaded = true;
that.loading = false;
while ( that.queue.length ) {
( that.queue.shift() ).resolve();
}
that.callback = false;
};
document.body.appendChild( script );
});
},
loadAPI_GOOGLE: function() {
var that = this;
return $.Deferred(function( defer ) {
var script, callback;
if ( window.google && window.google.maps && window.google.maps.places ) {
defer.resolve();
return;
}
if ( that.loaded ) {
defer.resolve();
return;
}
that.queue = that.queue || [];
that.queue.push( defer );
if ( that.loading ) {
return;
}
that.loading = true;
callback = _.uniqueId( 'jomsCallback' );
script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?libraries=places' +
( API_KEY ? ( '&key=' + API_KEY ) : '' ) + '&callback=' + callback;
window[ callback ] = function() {
that.loaded = true;
that.loading = false;
while ( that.queue.length ) {
( that.queue.shift() ).resolve();
}
delete window[ callback ];
};
document.body.appendChild( script );
});
},
autocompleteService: function() {
var that = this;
return $.Deferred(function( defer ) {
that.loadAPI().then(function() {
var cache = '_cacheAutocompleteService';
that[ cache ] = that[ cache ] || new google.maps.places.AutocompleteService();
defer.resolve( that[ cache ] );
});
});
},
placeService: function() {
var that = this;
return $.Deferred(function( defer ) {
that.loadAPI().then(function() {
var cache = '_cachePlaceService',
div = document.createElement( 'div' );
document.body.appendChild( div );
that[ cache ] = that[ cache ] || new google.maps.places.PlacesService( div );
defer.resolve( that[ cache ] );
});
});
},
placeDetail: function( id ) {
var that = this;
return $.Deferred(function( defer ) {
that.placeService().then(function( service ) {
var cache = '_cachePlaceDetail';
that[ cache ] = that[ cache ] || {};
if ( that[ cache ][ id ] ) {
defer.resolve( that[ cache ][ id ] );
} else {
service.getDetails({ placeId: id }, function( place, status ) {
if ( status === 'OK' ) {
that[ cache ][ id ] = place;
defer.resolve( place );
} else {
defer.reject( status );
}
});
}
});
});
}
};
// Export as `joms.util.map`.
joms.util || (joms.util = {});
joms.util.map = function( callback ) {
var gmap;
if ( typeof callback !== 'function' ) {
return;
}
gmap = new GoogleMaps();
gmap.loadAPI().done(function() {
callback();
});
};
joms.util.map.search = function( keyword ) {
return $.Deferred(function( defer ) {
var gmap = new GoogleMaps();
gmap.search( keyword ).done(function( results ) {
defer.resolve( results );
});
});
};
joms.util.map.detail = function( id ) {
return $.Deferred(function( defer ) {
var gmap = new GoogleMaps();
gmap.placeDetail( id ).done(function( place ) {
defer.resolve( place );
});
});
};
});
define('utils/popup',[ 'core', 'utils/map' ], function() {
function Popup() {}
Popup.prototype.prepare = function( callback ) {
var mfp, that;
if ( joms.jQuery.magnificPopup ) {
mfp = this.showPopup();
callback( mfp );
return;
}
that = this;
this.loadlib(function() {
if ( joms.jQuery.magnificPopup ) {
mfp = that.showPopup();
callback( mfp );
}
});
};
Popup.prototype.showPopup = function() {
joms.jQuery.magnificPopup.open({
type: 'inline',
items: { src: [] },
tClose: window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON,
tLoading: window.joms_lang.COM_COMMUNITY_POPUP_LOADING,
callbacks: {
beforeOpen: function() {
joms.jQuery('html').css('overflow', 'hidden');
},
afterClose: function() {
joms.jQuery('html').css('overflow', '');
}
}
});
var mfp = joms.jQuery.magnificPopup.instance,
className = 'joms-popup__wrapper';
if ( joms.mobile ) {
className += ' joms-popup__mobile';
}
mfp.container.addClass( className );
mfp.updateStatus('loading');
mfp.container
.off('click.joms-closepopup', '.joms-js--button-close')
.on('click.joms-closepopup', '.joms-js--button-close', function() {
mfp.close();
});
return mfp;
};
Popup.prototype.loadlib = function( callback ) {
callback();
};
// Factory.
joms.util || (joms.util = {});
joms.util.popup = new Popup();
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.dropdown = factory( root, $ );
define('utils/dropdown',[ 'utils/popup' ], function() {
return joms.util.dropdown;
});
})( window, joms.jQuery, function( window, $, undefined ) {
var
// Event list.
evtClick = 'click.dropdown',
evtHide = 'collapse.dropdown',
// Selectors.
slrButton = '[data-ui-object=joms-dropdown-button]',
slrDropdown = '.joms-dropdown,.joms-popover',
// Element cache.
lastbtn,
lastdd,
popup,
elem,
doc;
function hide() {
lastdd && lastdd.hide();
lastbtn && btnRemoveClass( lastbtn );
}
function toggle( e ) {
var btn, dd, $elm, type, size;
e.stopPropagation();
e.preventDefault();
$elm = $(e.currentTarget);
type = $elm.attr('data-type');
btn = $( e.currentTarget );
dd = btn.siblings( slrDropdown );
if ( !dd.length ) {
return;
}
if ( dd.is(':visible') ) {
dd.hide();
btnRemoveClass( btn );
return;
}
size = joms.screenSize();
if (size !== 'large') {
$elm.siblings('.joms-dropdown').css('right', 0);
}
if ( size === 'large' || type === 'no-popup' ) {
hide();
dd.show();
btnAddClass( btn );
lastbtn = btn;
lastdd = dd;
executeAdditionalFn( dd );
return;
}
joms.util.popup.prepare(function( mfp ) {
popup = mfp;
popup.items[0] = {
type: 'inline',
src: buildHtml( dd )
};
popup.updateItemHTML();
executeAdditionalFn( dd );
elem = popup.contentContainer;
elem.on( 'click', 'li > a', function() {
popup.close();
});
});
}
function btnAddClass( btn ) {
var par = btn.parent();
if ( par.hasClass('.joms-focus__button--options--desktop') ) {
par.addClass('active');
} else {
btn.addClass('active');
}
}
function btnRemoveClass( btn ) {
var par = btn.parent();
if ( par.hasClass('.joms-focus__button--options--desktop') ) {
par.removeClass('active');
} else {
btn.removeClass('active');
}
}
function buildHtml( dd ) {
return '<div class="joms-popup joms-popup--dropdown">' + dd[0].outerHTML + '</div>';
}
function executeAdditionalFn( dd ) {
var className = dd.attr('class') || '',
offset;
// fix popup goes out of browser's window
dd.css('left', '');
offset = dd.offset();
if ( offset.left < 0 ) {
dd.css('left', -25 );
}
if ( className.match('joms-popover--toolbar-general') ) {
joms.api.notificationGeneral();
return;
}
if ( className.match('joms-popover--toolbar-friendrequest') ) {
joms.api.notificationFriend();
return;
}
if ( className.match('joms-popover--toolbar-pm') ) {
joms.api.notificationPm();
return;
}
}
// Change privacy dropdown.
var selectPrivacy = joms._.debounce(function( e ) {
var className = e.currentTarget.className || '',
ul, li, btn, hidden, span, svg;
if ( className.indexOf('joms-dropdown--privacy') < 0 ) {
return;
}
ul = $( e.currentTarget );
li = $( e.target ).closest('li');
if ( li.length ) {
btn = $('.joms-button--privacy').filter('[data-name="' + ul.data('name') + '"]');
hidden = btn.children('[data-ui-object=joms-dropdown-value]');
span = btn.children('span');
svg = btn.find('use');
hidden.val( li.data('value') );
span.html( li.children('span').html() );
svg.attr( 'xlink:href', window.location.href.replace(/#.*$/, '') + '#' + li.data('classname') );
}
hide();
popup && popup.close();
}, 100 );
function initialize() {
uninitialize();
doc || (doc = $( document.body ));
doc.on( evtClick, hide );
doc.on( evtClick, slrButton, toggle );
doc.on( evtHide, slrButton, hide );
doc.on( evtClick, slrDropdown, function( e ) {
var shouldPropagate = $( e.target ).data( 'propagate' ) || $( e.currentTarget ).data( 'propagate' );
if ( ! shouldPropagate ) {
e.stopPropagation();
}
selectPrivacy( e );
var $elm = $(e.currentTarget);
if(!$elm.hasClass("joms-popover--toolbar-search")){
$elm.hide();
}
});
}
function uninitialize() {
if ( doc ) {
doc.off( evtClick );
doc.off( evtClick, slrButton );
doc.off( evtHide, slrButton );
doc.off( evtClick, slrDropdown );
}
}
// Exports.
return {
start: initialize,
stop: uninitialize
};
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.hovercard = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var card,
showTimer = 0,
hideTimer = 0,
animateTimer = 0,
cache = {},
mouseOver = false,
current = 0;
var MOUSEOVER_EVENT = 'mouseover.joms-hcard',
MOUSEOUT_EVENT = 'mouseout.joms-hcard',
IMG_SELECTOR = 'img[data-author]';
function initialize() {
// Only enable on desktop browser.
if ( joms.mobile ) {
return;
}
createCard();
// Attach handler.
$( document.body )
.off( MOUSEOVER_EVENT ).off( MOUSEOUT_EVENT )
.on( MOUSEOVER_EVENT, IMG_SELECTOR, onMouseOver )
.on( MOUSEOUT_EVENT, IMG_SELECTOR, onMouseOut );
}
function onMouseOver( e ) {
var img = $( e.target ),
id = img.data('author');
// Remove title attribute to avoid redundancy.
img.removeAttr('title');
resetCard();
mouseOver = true;
current = id;
clearTimeout( hideTimer );
if ( cache[id] ) {
clearTimeout( showTimer );
showTimer = setTimeout(function() {
mouseOver && updateCard( cache[id], img );
}, 100 );
return;
}
joms.ajax({
func: 'profile,ajaxFetchCard',
data: [ id ],
callback: function( json ) {
if ( json.html ) {
cache[id] = json.html;
clearTimeout( showTimer );
mouseOver && current == id && updateCard( json.html, img );
}
}
});
}
function onMouseOut() {
mouseOver = false;
clearTimeout( showTimer );
hideTimer = setTimeout(function() {
card && resetCard();
}, 100 );
}
function createCard() {
card = $('<div>Loading...</div>');
card.css({
position: 'absolute',
zIndex: 2000,
display: 'none',
opacity:0,
transition: 'opacity 300ms, top 300ms'
});
card.appendTo( document.body );
card.on( MOUSEOVER_EVENT, function() { clearTimeout( hideTimer ); });
card.on( MOUSEOUT_EVENT, onMouseOut );
}
function resetCard() {
clearTimeout( animateTimer );
card && card.css({
display: 'none',
opacity: 0
});
}
function updateCard( html, img ) {
var doc = $( document ),
offset = img.offset(),
width = img.width(),
height = img.height(),
maxWidth = window.innerWidth,
maxHeight = window.innerHeight + doc.scrollTop(),
cardHeight = 140,
alignLeft = offset.left + 320 < maxWidth,
top = offset.top + height + 10;
card.html( html );
cardHeight = card.height();
if ( top + cardHeight > maxHeight ) {
top = offset.top - cardHeight - 4;
}
card.css({
top: top - 10,
left: alignLeft ? offset.left : '',
right: alignLeft ? '' : maxWidth - offset.left - width,
display: 'block',
opacity: 0
});
animateTimer = setTimeout(function() {
card.css({
top: top,
opacity: 1
})
}, 300)
}
// Exports.
return {
initialize: initialize
};
});
define("utils/hovercard", function(){});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.reaction = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var $card;
var showTimer = 0;
var hideTimer = 0;
var animateTimer = 0;
var current = 0;
var holdTimer = 0;
var MOUSEOVER_EVENT = 'mouseover.joms-button--reaction';
var MOUSEOUT_EVENT = 'mouseout.joms-button--reaction';
var MOUSEDOWN_EVENT = 'mousedown.joms-button--reaction';
var MOUSEUP_EVENT = 'mouseup.joms-button--reaction';
var TOUCH_START = 'touchstart.joms-button--reaction';
var TOUCH_END = 'touchend.joms-button--reaction';
var TOUCH_MOVE = 'touchmove.joms-button--reaction';
var CONTEXTMENU = 'contextmenu.joms-button--reaction';
var REACT_BTN = 'a.joms-button--reaction';
var CARD = '.joms-reactions';
function initialize() {
if (!joms.getData('enablereaction')) {
return;
}
createCard();
// Attach handler.
if (joms.mobile) {
$( document.body )
.off( TOUCH_START ).off( TOUCH_END )
.off( CONTEXTMENU ).off( TOUCH_MOVE )
.on( TOUCH_START, REACT_BTN, onTouchStart )
.on( TOUCH_END, REACT_BTN, onTouchEnd )
.on( TOUCH_MOVE, onTouchMove )
.on( CONTEXTMENU, REACT_BTN, onContextMenu );
} else {
$( document.body )
.off( MOUSEOVER_EVENT ).off( MOUSEOUT_EVENT )
.off( MOUSEDOWN_EVENT ).off( MOUSEUP_EVENT )
.on( MOUSEOVER_EVENT, REACT_BTN, onMouseOver )
.on( MOUSEOUT_EVENT, REACT_BTN, onMouseOut )
.on( MOUSEDOWN_EVENT, REACT_BTN, onMouseDown )
.on( MOUSEUP_EVENT, REACT_BTN, onMouseUp );
$( document.body )
.on( MOUSEOVER_EVENT, CARD, function() { clearTimeout( hideTimer ) })
.on( MOUSEOUT_EVENT, CARD, onMouseOut );
}
}
var isTapped = true;
var clickTimer;
var touchMoving = false;
function onTouchStart( e ) {
clearTimeout( clickTimer );
clearTimeout( holdTimer );
var $btn = $(e.target);
touchMoving = false;
isTapped = true;
$btn.attr('onclick', '');
hideCard();
$(document).off('click.hide-reaction-bar');
holdTimer = setTimeout( function() {
onHold( e );
isTapped = false;
}, 300);
}
function onTouchEnd( e ) {
clearTimeout( holdTimer );
clearTimeout( clickTimer );
clickTimer = setTimeout(function() {
$(document)
.off('click.hide-reaction-bar')
.one('click.hide-reaction-bar', hideCard);
}, 300);
if (isTapped) {
onTap( e );
}
touchMoving = false;
isTapped = true;
}
function onTouchMove( e ) {
clearTimeout( holdTimer );
clearTimeout( clickTimer );
clearTimeout( hideTimer );
isTapped = false;
touchMoving = true;
hideTimer = setTimeout( function() {
hideCard();
}, 300);
}
function onHold( e ) {
if (!touchMoving) {
updateCard( e );
}
}
function onTap( e ) {
var $elm = $(e.target),
type = $elm.attr('data-type'),
uid = $elm.attr('data-uid'),
reactId = $elm.attr('data-reactid'),
action = $elm.attr('data-action');
if (type === 'stream') {
if (action === 'react') {
joms.view.stream.react( uid, reactId );
} else {
joms.view.stream.unreact( uid, reactId );
}
}
if (type === 'comment') {
if (action === 'react') {
joms.view.comment.react( uid, reactId );
} else {
joms.view.comment.unreact( uid, reactId );
}
}
if (type === 'page') {
if (action === 'react') {
joms.view.page.react( uid, reactId );
} else {
joms.view.page.unreact( uid, reactId );
}
}
}
function onContextMenu( e ) {
e.preventDefault();
e.stopPropagation();
return false;
}
function onMouseOver( e ) {
clearTimeout(hideTimer);
clearTimeout(animateTimer);
hideCard();
showTimer = setTimeout( function() {
updateCard( e );
}, 500)
}
function onMouseOut(e) {
clearTimeout(showTimer);
hideTimer = setTimeout( function() {
hideCard();
}, 1000)
}
function onMouseDown(e) {
if (e.which === 1) {
clearTimeout(showTimer);
}
}
function onMouseUp(e) {
if (e.which === 1) {
clearTimeout(showTimer);
$card.hide();
}
}
function hideCard() {
clearTimeout( animateTimer );
if ($card.is(':visible')) {
$card.css({
display: 'none',
opacity: 0
})
}
}
function updateCard( e ) {
clearTimeout( animateTimer );
var $elm = $(e.target);
var uid = $elm.attr('data-uid');
var type = $elm.attr('data-type');
$card.find('.joms-reactions__item').each( function(idx, item ) {
var $item = $(item),
reactId = $item.attr('data-react-id'),
text = $item.attr('data-text'),
attr = '';
if (type === 'stream') {
attr = 'joms.view.stream.react('+uid+', '+reactId+', \'onBar\')';
}
if (type === 'comment') {
attr = 'joms.view.comment.react('+uid+', '+reactId+', \'onBar\')';
}
if (type === 'page') {
attr = 'joms.view.page.react('+uid+', '+reactId+', \'onBar\')';
}
$item.attr('onclick', attr);
$item.off('click.react').one('click.react', function() {
hideCard();
});
})
var screenWidth = $(document).width();
var cardWidth = $card.outerWidth();
var offset = $elm.offset();
var height = $card.height();
var top = offset.top - height - 10;
var isRTL = $('html').attr('dir') === 'rtl';
if (isRTL) {
var left = offset.left - cardWidth + $elm.outerWidth() + 10;
left = left < 0 ? 0 : left;
} else {
var left = offset.left - 10;
var offsetRight = screenWidth - left;
if (offsetRight < cardWidth) {
left = left - (cardWidth - offsetRight);
if ( left < 0 ) {
left = $(document).width();
}
}
}
$card.css({
display: 'block',
top: top,
left: left
});
animateTimer = setTimeout( function() {
$card.css({
opacity: 1,
top: top - 5
})
}, 300);
}
function createCard() {
$card = $(joms.getLayout('stream.reaction').trim());
$card.hide().appendTo( document.body );
}
// Exports.
return {
initialize: initialize
};
});
define("utils/reaction", function(){});
(function( root, factory ) {
joms.util || (joms.util = {});
joms.util.loadLib = factory( root );
})( window, function( window ) {
// @todo: Google Map library loader.
function loadGmap( fn ) {
return fn();
}
// MediaElement.js library loader.
function loadMediaElement( fn ) {
if ( window.MediaElement ) {
return fn();
}
joms.$LAB.script( joms.ASSETS_URL + 'vendors/mediaelement/mediaelement-and-player.min.js' ).wait(function () {
fn();
});
}
// Flowplayer library loader.
function loadFlowplayer( fn ) {
if ( window.flowplayer ) {
return fn();
}
joms.$LAB.script( joms.ASSETS_URL + 'flowplayer/flowplayer-3.2.6.min.js' ).wait(function () {
fn();
});
}
// Plupload library loader.
function loadPlupload( fn ) {
if ( window.plupload ) {
return fn();
}
joms.$LAB.script( joms.ASSETS_URL + 'vendors/plupload.min.js' ).wait(function() {
fn();
});
}
// Trumbowyg rich editor loader.
function loadTrumbowyg( fn ) {
if ( !joms.jQuery ) {
return false;
}
if ( joms.jQuery.trumbowyg ) {
return fn();
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/trumbowyg/ui/trumbowyg.min.css' );
joms.$LAB.script( joms.ASSETS_URL + 'vendors/trumbowyg/trumbowyg.min.js' ).wait()
.script( joms.ASSETS_URL + 'vendors/trumbowyg/plugins/base64/trumbowyg.base64.min.js' ).wait()
.script( joms.ASSETS_URL + 'vendors/trumbowyg/plugins/upload/trumbowyg.upload.js' ).wait(function() {
fn();
});
}
// Load dragsort library.
function loadDragsort( fn ) {
if ( window.Sortable ) {
return fn();
}
joms.$LAB.script( joms.ASSETS_URL + 'dragsort/jquery.dragsort-0.5.1.min.js' ).wait(function() {
fn();
});
}
function load( lib, fn ) {
if ( lib === 'gmap' ) {
return loadGmap( fn );
}
if ( lib === 'mediaelement' ) {
return loadMediaElement( fn );
}
if ( lib === 'flowplayer' ) {
return loadFlowplayer( fn );
}
if ( lib === 'plupload' ) {
return loadPlupload( fn );
}
if ( lib === 'trumbowyg' ) {
return loadTrumbowyg( fn );
}
if ( lib === 'dragsort' ) {
return loadDragsort( fn );
}
fn();
}
// Exports.
return load;
});
define("utils/loadlib", function(){});
(function( root, $, _, factory ) {
var LocationAutocomplete = factory( root, $, _ );
define('utils/location-autocomplete',[ 'utils/map' ], function() {
return LocationAutocomplete;
});
// make jQuery plugin
$.fn.locationAutocomplete = function() {
return this.each(function() {
var key = 'location-autocomplete',
$el = $( this );
if ( ! $el.data( key ) ) {
$el.data( key, new LocationAutocomplete( this ));
}
});
};
// detect input on page load
$(function() {
$('.joms-input--location').locationAutocomplete();
});
})( window, joms.jQuery, window._, function( window, $, _ ) {
function LocationAutocomplete( el ) {
this.$input = $( el );
this.$wrapper = this.$input.parent('.joms-location__wrapper');
this.$inputDesc = this.$input.siblings('.js-desc');
this.$inputLat = this.$input.siblings('.js-lat');
this.$inputLng = this.$input.siblings('.js-lng');
this.$description = this.$input.siblings('.joms-location__description');
this.$dropdown = this.$input.siblings('.joms-location__dropdown');
this.$loading = this.$dropdown.find('.joms-location__loading');
this.$result = this.$dropdown.find('.joms-location__result');
this.$header = this.$dropdown.find('.joms-location__header');
this.$map = this.$dropdown.find('.joms-location__map');
this.$list = this.$dropdown.find('.joms-location__list');
this.$input.on('focus.joms-location', $.proxy( this.focus, this ));
this.$input.on('blur.joms-location', $.proxy( this.hide, this ));
this.$input.on('input.joms-location', $.proxy( this.search, this ));
this.$dropdown.on('mousedown', '.joms-location__list a', $.proxy( this.select, this ));
this.$dropdown.on('click', '.joms-location__close', $.proxy( this.hide, this ));
this._location_cache = {};
}
LocationAutocomplete.prototype.show = function() {
this.$dropdown.show();
};
LocationAutocomplete.prototype.hide = function() {
this.$dropdown && this.$dropdown.hide();
};
LocationAutocomplete.prototype.focus = function() {
this._search_success && this.show();
};
LocationAutocomplete.prototype.search = function() {
var query = $.trim( this.$input.val() );
this.$wrapper.css('display', 'inline-block');
this.$description.html( this.$description.data('tips') );
if ( query ) {
this.$result.hide();
this.$loading.show();
this.$dropdown.show();
this._search( query );
}
setTimeout( $.proxy(function() {
this.$wrapper.css('display', '');
}, this ), 0 );
};
LocationAutocomplete.prototype._search = _.debounce(function( query ) {
this._get_autocomplete_service().done(function( service ) {
service.getPlacePredictions({ input: query }, $.proxy(function( results, status ) {
this.$loading.hide();
this.$result.show();
if ( status === 'OK' ) {
this._format_result( results ).done( $.proxy(function( html ) {
this.$list.html( html );
this._search_success = true;
}, this ));
}
}, this ));
});
}, 1000 );
LocationAutocomplete.prototype.select = function( e ) {
var $item = $( e.currentTarget ),
name = $item.find('.js-name').text(),
desc = $item.find('.js-desc').text(),
placeId = $item.data('place-id');
e.preventDefault();
e.stopPropagation();
if ( placeId ) {
this.$input.val( name );
this.$inputDesc.val( desc );
this.$description.html( desc );
this._get_location_detail( placeId ).done(function( place ) {
var loc = place.geometry.location;
this.$inputLat.val( loc.lat() );
this.$inputLng.val( loc.lng() );
this._render_map( this.$map[0], place );
});
}
};
LocationAutocomplete.prototype._load_library = function() {
return $.Deferred( $.proxy(function( defer ) {
joms.util.map( $.proxy(function() {
defer.resolveWith( this, [ window.google ]);
}, this ));
}, this ));
};
LocationAutocomplete.prototype._get_autocomplete_service = function() {
return $.Deferred( $.proxy(function( defer ) {
if ( this._autocomplete_service ) {
defer.resolveWith( this, [ this._autocomplete_service ]);
} else {
this._load_library().done(function( google ) {
this._autocomplete_service = new google.maps.places.AutocompleteService();
defer.resolveWith( this, [ this._autocomplete_service ]);
});
}
}, this ));
};
LocationAutocomplete.prototype._get_location_service = function() {
return $.Deferred( $.proxy(function( defer ) {
if ( this._location_service ) {
defer.resolveWith( this, [ this._location_service ]);
} else {
this._load_library().done(function( google ) {
var div = document.createElement('div');
document.body.appendChild( div );
this._location_service = new google.maps.places.PlacesService( div );
defer.resolveWith( this, [ this._location_service ]);
});
}
}, this ));
};
LocationAutocomplete.prototype._get_location_detail = function( id ) {
return $.Deferred( $.proxy(function( defer ) {
if ( this._location_cache && this._location_cache[ id ] ) {
defer.resolveWith( this, [ this._location_cache[ id ] ]);
} else {
this._get_location_service().done(function( service ) {
service.getDetails({ placeId: id }, $.proxy(function( place, status ) {
if ( status === 'OK' ) {
// this._location_cache || (this._location_cache = {});
this._location_cache[ id ] = place;
defer.resolveWith( this, [ place ]);
} else {
defer.rejectWith( this, [ status ]);
}
}, this ));
});
}
}, this ));
};
LocationAutocomplete.prototype._render_map = function( div, place ) {
var location = place.geometry.location,
viewport = place.geometry.viewport,
map, marker;
div = $( div ).show();
map = div.data('joms-map');
marker = div.data('joms-map-marker');
if ( !map ) {
map = new window.google.maps.Map( div[0], {
center: location,
zoom: 15,
draggable: false,
scrollwheel: false,
disableDefaultUI: true
});
div.data('joms-map', map );
}
if ( !marker ) {
marker = new window.google.maps.Marker({
position: location,
map: map,
title: 'You are here (more or less)'
});
div.data('joms-map-marker', marker );
}
map.setCenter( location );
marker.setPosition( location );
if ( viewport ) {
map.fitBounds( viewport );
} else {
map.setZoom( 15 );
}
};
LocationAutocomplete.prototype._format_result = function( results ) {
return $.Deferred( $.proxy(function( defer ) {
var html = [],
defers = [],
template;
template = [
'<a href="javascript:" data-place-id="{place_id}">',
'<span class="joms-location__name js-name">{name}</span>',
'<span class="joms-location__desc js-desc">{description}</span>',
'</a>'
].join('');
_.each( results, function( item ) {
// defers.push( item);
defers.push( this._get_location_detail( item.place_id ) );
}, this );
$.when.apply( $, defers ).then( $.proxy(function() {
var html = _.map( arguments, function( place ) {
return template
.replace('{place_id}', place.place_id )
.replace('{name}', place.name )
.replace('{description}', place.formatted_address || ' ' );
});
defer.resolveWith( this, [ html.join('') ]);
}, this ));
}, this ));
};
return LocationAutocomplete;
});
(function( root, factory ) {
joms.util || (joms.util = {});
joms.util.tab = factory( root );
})( window, function() {
function start() {
startTab();
startLegacyTab();
}
function startTab() {
var cssTabBar = '.joms-tab__bar',
cssTabItem = '.joms-tab__content',
doc;
function toggle( e ) {
var el = joms.jQuery( e.currentTarget ),
par = el.parent( cssTabBar ),
target = el.attr('href'),
selected, url, clicked;
if ( el.find('.joms-tab__bar--button').length ) {
clicked = joms.jQuery( e.target );
if ( clicked.hasClass('add') || clicked[0].tagName.match(/use|svg/i) ) {
e.preventDefault();
e.stopPropagation();
return false;
}
}
if ( target.indexOf('#') !== 0 ) {
return;
}
selected = el.closest( cssTabBar ).siblings( target );
selected.show().siblings( cssTabItem ).hide();
el.addClass('active').siblings('a').removeClass('active');
url = par.data('id');
if ( url ) {
url = '#tab:' + url + '/' + el.data('id');
window.location = url;
}
jQuery(window).trigger('tab:change');
return false;
}
function initialize() {
uninitialize();
doc || (doc = joms.jQuery( document.body ));
doc.on( 'click.joms-tab', cssTabBar + ' a', toggle );
}
function uninitialize() {
doc && doc.off('click.joms-tab');
}
initialize();
}
function startLegacyTab() {
joms.jQuery('.cTabsBar').on( 'click', 'li', function( e ) {
var li = joms.jQuery( e.currentTarget ),
wrapper = li.closest('.cTabsBar').siblings('.cTabsContentWrap'),
index, tab;
if ( !wrapper.length )
return;
index = li.prevAll().length;
tab = wrapper.children('.cTabsContent').eq( index );
if ( !tab.length )
return;
li.addClass('cTabCurrent').siblings('.cTabCurrent').removeClass('cTabCurrent');
tab.siblings('.cTabsContent').hide();
tab.show();
});
}
// Exports.
return {
start: start
};
});
define("utils/tab", function(){});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.tagging = factory( root, $ );
// Also register as jQuery plugin.
$.fn.jomsTagging = function( extraFetch ) {
return this.each(function() {
joms.util.tagging( this, extraFetch );
});
};
})( window, joms.jQuery, function( window, $ ) {
var
// Virtual keys.
VK_ENTER = 13,
VK_ESC = 27,
VK_KEYUP = 38,
VK_KEYDOWN = 40,
// Namespace.
namespace = 'joms-tagging',
// CSS selectors.
cssTextareaS = '.joms-textarea',
cssWrapper = cssTextareaS + '__wrapper',
cssBeautifier = cssTextareaS + '__beautifier',
cssHidden = cssTextareaS + '__hidden',
cssDropdown = cssTextareaS + '__tag-ct',
cssDropdownItem = cssTextareaS + '__tag-item',
cssDropdownItemActive = cssDropdownItem + '--active',
// Regular expressions.
rTags = /@\[\[(\d+):contact:([^\]]+)\]\]/g,
rTag = /@\[\[(\d+):contact:([^\]]+)\]\]/,
rHashTag = /(^|#|\s)(#[^#\s]+)/g,
rHashTagReplace = '$1<b>$2</b>',
rEol = /\n/g,
rEolReplace ='<br>';
var cssTextarea = '.input.joms-textarea';
function Tagging( textarea, extraFetch ) {
this.textarea = textarea;
this.fetcher = extraFetch || false;
this.$textarea = $( textarea );
this.$textarea.data( 'initialValue', textarea.value );
this.$textarea.data( namespace, this );
this.$textarea.on( 'focus.' + namespace, $.proxy( this.initialize, this ) );
this.contenteditable = false ;
this.contenteditable = this.$textarea.attr('contenteditable') == "true" ? true:false;
return this;
}
Tagging.prototype.getValue = function() {
var value = '';
// value = this.textarea.value ;
// return value;
if (this.contenteditable) {
this.$textarea.children().each(function (idx, item) {
//item = joms.util.emoji.replaceEmojiElementsToText($(item).clone(true));
let text = item.textContent;
if (value) {
value += '\n' + text;
} else {
value = text
}
});
if (this.$textarea.children().length == 0) {
return this.$textarea.text();
}
if (!value) {
value = $('.input.input-status.joms-textarea').text();
}
return value;
} else {
value = this.textarea.value ;
return value;
}
}
Tagging.prototype.setValue = function(value) {
if(this.contenteditable){
//this.textarea.value = value ;
let html = "" ;
var tags = this.tagsAdded ;
let linevalue = "" ;
if (tags.length ) {
rMatch = '^';
rReplace = '';
start = 0;
for ( i = 0; i < tags.length; i++ ) {
tag = tags[i];
rMatch += '([\\s\\S]{' + ( tag.start - start ) + '})([\\s\\S]{' + tag.length + '})';
rReplace += '$' + ( i * 2 + 1 ) + '<span contenteditable="false">' + tag.name + '</span>';
//rReplace += '$' + ( i * 2 + 1 ) + ' '.repeat(tag.length );
start = tag.start + tag.length;
}
rMatch = new RegExp( rMatch );
value = value.replace( rMatch, rReplace );
}
let lines = value.split("\n");
for ( j = 0; j < lines.length; j++ ) { // ignore emojis here
linevalue = lines[j] ;
html += '<div>'+linevalue+'</div>';
}
if(html == "<div><br></div>"){
retrun ;
}
if(html ==""){
html = "<div><br></div>";
}
var re = /(?:\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c\udffb|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c\udffb|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c\udffb|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb\udffc]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udffd]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69])(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a-\udc6d\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5\udeeb\udeec\udef4-\udefa\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd71\udd73-\udd76\udd7a-\udda2\udda5-\uddaa\uddae-\uddb4\uddb7\uddba\uddbc-\uddca\uddd0\uddde-\uddff\ude70-\ude73\ude78-\ude7a\ude80-\ude82\ude90-\ude95]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g;
// ignore emojis here fix colorful html too .
var re = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?)*/g;
html = html.replace(re,(matched, index, original ) => {
return joms.util.emoji.getIconByUni(matched);
});
this.$textarea.html(html);
}else{
this.textarea.value = value;
}
}
Tagging.prototype.setSelectionRange = function(start, end){
if(this.contenteditable){
// move caret in div.
//this.textarea.setSelectionRange(tag.start + tmp.length, tag.start + tmp.length);
range = document.createRange();
range.selectNodeContents(this.textarea);
var selection = window.getSelection();
// if (range) {
range.collapse(false);
selection.removeAllRanges();
selection.addRange(range);
// }
}else{
this.textarea.setSelectionRange(start,end);
}
}
Tagging.prototype.initialize = function() {
var value, tags, match, start, i;
this.dropdownIsOpened = false;
this.dropdownIsClicked = false;
this.dropdownSelectedItem = false;
this.domPrepare();
// this.inputPrepare();
this.tagsAdded = [];
value = '';
if ( this.$textarea.data('initialValue') ) {
value = this.getValue();
tags = value.match( rTags );
this.setValue(value.replace( rTags, '$2' ));
//this.textarea.value = value.replace( rTags, '$2' );
if ( tags && tags.length ) {
for ( i = 0; i < tags.length; i++ ) {
match = tags[i].match( rTag );
start = value.indexOf( tags[i] );
value = value.replace( tags[i], match[2] );
this.tagsAdded.push({
id : match[1],
name : match[2],
start : start,
length : match[2].length
});
}
}
}
this.beautifierUpdate( value, this.tagsAdded );
this.hiddenUpdate( value, this.tagsAdded );
this.inputAutogrow();
this.$textarea
.off( 'focus.' + namespace ).on( 'focus.' + namespace, $.proxy( this.inputOnKeydown, this ) )
.off( 'click.' + namespace ).on( 'click.' + namespace, $.proxy( this.inputOnKeydown, this ) )
.off( 'keydown.' + namespace ).on( 'keydown.' + namespace, $.proxy( this.inputOnKeydown, this ) )
.off( 'keyup.' + namespace ).on( 'keyup.' + namespace, $.proxy( this.inputOnKeyup, this ) )
.off( 'input.' + namespace ).on( 'input.' + namespace, $.proxy( this.inputOnInput, this ) )
.off( 'blur.' + namespace ).on( 'blur.' + namespace, $.proxy( this.inputOnBlur, this ) );
this.$dropdown
.off( 'mouseenter.' + namespace ).on( 'mouseenter.' + namespace, cssDropdownItem, $.proxy( this.dropdownOnMouseEnter, this ) )
.off( 'mousedown.' + namespace ).on( 'mousedown.' + namespace, cssDropdownItem, $.proxy( this.dropdownOnMouseDown, this ) )
.off( 'mouseup.' + namespace ).on( 'mouseup.' + namespace, cssDropdownItem, $.proxy( this.dropdownOnMouseUp, this ) );
this.textarea.joms_beautifier = this.$beautifier;
this.textarea.joms_hidden = this.$hidden;
var that = this;
this.textarea.joms_reset = function() {
that.inputReset();
};
};
Tagging.prototype.domPrepare = function() {
this.$wrapper = this.$textarea.parent( cssWrapper );
if ( !this.$wrapper.length ) {
this.$textarea.wrap( '<div class="' + cssWrapper.substr(1) + '"></div>' );
this.$wrapper = this.$textarea.parent();
}
this.$beautifier = this.$wrapper.children( cssBeautifier );
if ( !this.$beautifier.length ) {
//let cssTextarea = ".joms-textarea";
this.$beautifier = $( '<div class="' + ".joms-textarea".substr(1).replace("."," ") + ' ' + cssBeautifier.substr(1) + '"></div>' );
this.$beautifier.prependTo( this.$wrapper );
}
this.$hidden = this.$wrapper.children( cssHidden );
if ( !this.$hidden.length ) {
this.$hidden = $( '<input type="hidden" class="' + cssHidden.substr(1) + '">' );
this.$hidden.appendTo( this.$wrapper );
}
this.$dropdown = this.$wrapper.children( cssDropdown );
if ( !this.$dropdown.length ) {
this.$dropdown = $( '<div class="' + cssDropdown.substr(1) + '"></div>' );
this.$dropdown.appendTo( this.$wrapper );
}
};
Tagging.prototype.inputPrepare = function() {
};
// @todo
Tagging.prototype.inputReset = function() {
if ( this.tagsAdded ) {
this.tagsAdded = [];
}
// console.log('inputReset');
// this.tagsAdded = [];
// this.$hidden.val();
// this.$textarea.val();
// this.$beautifier.html( text );
// this.$textarea.trigger( 'reset.' + namespace );
};
Tagging.prototype.inputAutogrow = function() {
var prevHeight = +this.$textarea.data( namespace + '-prevHeight' ),
height;
this.$wrapper.css({ height: prevHeight });
this.$textarea.css({ height: '' });
height = this.textarea.scrollHeight + 2;
this.$textarea.css({ height: height });
if ( height !== +prevHeight ) {
this.$textarea.data( namespace + '-prevHeight', height );
}
this.$wrapper.css({ height: '' });
};
Tagging.prototype.inputOnKeydown = function( e ) {
// Catch dropdown navigation buttons.
if ( this.dropdownIsOpened ) {
if ([ VK_ENTER, VK_ESC, VK_KEYUP, VK_KEYDOWN ].indexOf( e.keyCode ) >= 0 ) {
return false;
}
}
// Reset input to initial state if Esc button is pressed.
if ( e.keyCode === VK_ESC ) {
this.inputReset();
return false;
}
this.prevSelStart = this.textarea.selectionStart;
this.prevSelEnd = this.textarea.selectionEnd;
};
Tagging.prototype.inputOnKeyup = function( e ) {
if ( this.dropdownIsOpened ) {
if ( e.keyCode === VK_KEYUP || e.keyCode === VK_KEYDOWN ) {
this.dropdownChangeItem( e.keyCode );
return false;
}
if ( e.keyCode === VK_ENTER ) {
this.dropdownSelectItem();
return false;
}
if ( e.keyCode === VK_ESC ) {
this.dropdownHide();
return false;
}
}
};
Tagging.prototype.inputOnInput = function() {
var value = this.getValue(),
delta, tag, length, name, tmp, index, rMatch, rReplace, shift, i, j;
// Shift tags position.
if ( this.tagsAdded ) {
// if text is selected (selectionStart !== selectionEnd)
if ( this.prevSelStart !== this.prevSelEnd ) {
for ( i = 0; i < this.tagsAdded.length; i++ ) {
tag = this.tagsAdded[i];
length = tag.start + tag.length;
if (
// Intersection.
( this.prevSelStart > tag.start && this.prevSelStart < length ) ||
( this.prevSelEnd > tag.start && this.prevSelEnd < length ) ||
// Enclose.
( tag.start >= this.prevSelStart && length <= this.prevSelEnd )
) {
this.tagsAdded.splice( i--, 1 );
}
}
}
delta = this.textarea.selectionStart - this.prevSelStart - ( this.prevSelEnd - this.prevSelStart );
for ( i = 0; i < this.tagsAdded.length; i++ ) {
tag = this.tagsAdded[i];
// Tag's start is in right of or exactly at cursor position.
if ( tag.start >= this.prevSelStart ) {
tag.start += delta;
} else {
length = tag.start + tag.length;
// Tag's end is in left of cursor position.
if ( length < this.prevSelStart ) {
// do nothing
// Cursor position is inside a tag.
} else if ( length > this.prevSelStart ) {
// Not backspace.
if ( delta > 0 ) {
this.tagsAdded.splice( i--, 1 );
// Backspace.
} else if ( delta < 0 ) {
name = value.substring( tag.start, this.prevSelStart + delta );
index = name.split(' ').length - 1;
name = tag.name.split(' ');
name.splice( index, 1 );
name = name.join(' ');
tmp = tag.name.split(' ');
tmp = tmp.slice( 0, index );
tmp = tmp.join(' ');
rMatch = new RegExp( '^([\\s\\S]{' + tag.start + '})([\\s\\S]{' + ( tag.length + delta ) + '})' );
rReplace = '$1' + name;
// this.textarea.value = this.textarea.value.replace( rMatch, rReplace );
this.setValue (this.getValue().replace( rMatch, rReplace ));
//value = this.textarea.value;
value = this.getValue();
shift = tag.length - name.length;
tag.name = name;
tag.length = name.length;
for ( j = i + 1; j < this.tagsAdded.length; j++ ) {
this.tagsAdded[j].start -= shift;
}
if ( !name.length ) {
this.tagsAdded.splice( i--, 1 );
}
i = this.tagsAdded.length;
this.setValue (value);
this.setSelectionRange(tag.start + tmp.length, tag.start + tmp.length);
}
// Tag's end is exactly at cursor position... and a backspace is pressed.
} else if ( delta < 0 ) {
name = tag.name.split(' ');
name.pop();
name = name.join(' ');
tmp = tag.name.split(' ');
tmp = tmp.slice( 0, index );
tmp = tmp.join(' ');
rMatch = new RegExp( '^([\\s\\S]{' + tag.start + '})([\\s\\S]{' + ( tag.length + delta ) + '})' );
rReplace = '$1' + name;
//this.textarea.value = this.textarea.value.replace( rMatch, rReplace );
this.setValue (this.getValue().replace( rMatch, rReplace ));
// value = this.textarea.value;
value = this.getValue();
shift = tag.length - name.length;
tag.name = name;
tag.length = name.length;
for ( j = i + 1; j < this.tagsAdded.length; j++ ) {
this.tagsAdded[j].start -= shift;
}
if ( !name.length ) {
this.tagsAdded.splice( i--, 1 );
}
i = this.tagsAdded.length;
this.setValue(this.getValue());
this.setSelectionRange(tag.start + tmp.length, tag.start + tmp.length);
//this.setSelectionRange(tag.start + name.length, tag.start + name.length);
}
}
}
}
this.inputAutogrow();
// if(!this.contenteditable){
this.beautifierUpdate( value, this.tagsAdded );
//}
this.hiddenUpdate( value, this.tagsAdded || [] );
this.dropdownToggle();
};
Tagging.prototype.inputOnBlur = function() {
this.dropdownIsClicked || this.dropdownHide();
};
Tagging.prototype.beautifierUpdate = joms._.debounce(function( value, tags ) {
var rMatch, rReplace, start, tag, i;
if ( tags.length ) {
rMatch = '^';
rReplace = '';
start = 0;
for ( i = 0; i < tags.length; i++ ) {
tag = tags[i];
rMatch += '([\\s\\S]{' + ( tag.start - start ) + '})([\\s\\S]{' + tag.length + '})';
rReplace += '$' + ( i * 2 + 1 ) + '[b]' + tag.name + '[/b] ';
start = tag.start + tag.length;
}
rMatch = new RegExp( rMatch );
value = value.replace( rMatch, rReplace );
}
value = value.replace( /</g, '<' ).replace( />/g, '>' );
value = value.replace( /\[(\/?b)\]/g, '<$1>' );
value = value.replace( rHashTag, rHashTagReplace );
value = value.replace( rEol, rEolReplace );
this.$beautifier.html( value );
}, joms.mobile ? 100 : 1 );
Tagging.prototype.hiddenUpdate = joms._.debounce(function( value, tags ) {
var rMatch, rReplace, start, tag, i;
if ( tags.length ) {
rMatch = '^';
rReplace = '';
start = 0;
for ( i = 0; i < tags.length; i++ ) {
tag = tags[i];
rMatch += '([\\s\\S]{' + ( tag.start - start ) + '})([\\s\\S]{' + tag.length + '})';
rReplace += '$' + ( i * 2 + 1 ) + '@[[' + tag.id + ':contact:' + tag.name + ']]';
start = tag.start + tag.length;
}
rMatch = new RegExp( rMatch );
value = value.replace( rMatch, rReplace );
}
this.$hidden.val( value );
}, joms.mobile ? 500 : 50 );
Tagging.prototype.dropdownToggle = joms._.debounce(function() {
var cpos = this.textarea.selectionStart,
substr = this.getValue().substr( 0, cpos ),
index = substr.lastIndexOf('@');
if ( index < 0 || ++index >= cpos ) {
this.dropdownHide();
return;
}
substr = substr.substring( index, cpos );
this.dropdownFetch( substr, joms._.bind( this.dropdownUpdate, this ) );
}, joms.mobile ? 1000 : 200 );
Tagging.prototype.dropdownFetch = function( keyword, callback, friends ) {
var source = ( window.joms_friends || [] ).concat( friends || [] ),
added = this.tagsAdded || [],
matches = [],
uniques = [],
item, name, isAdded, that, i, j;
// Map data-source.
if ( source && source.length ) {
keyword = keyword.toLowerCase();
for ( i = 0; (i < source.length) && (matches.length < 20); i++ ) {
item = source[i];
name = ( item.name || '' ).toLowerCase();
if ( name.indexOf( keyword ) >= 0 ) {
isAdded = false;
for ( j = 0; j < added.length; j++ ) {
if ( +item.id === +added[j].id ) {
isAdded = true;
break;
}
}
if ( !isAdded && uniques.indexOf( +item.id ) < 0 ) {
uniques.push( +item.id );
matches.push({
id: item.id,
name: item.name,
img: item.avatar
});
}
}
}
}
matches.sort(function( a, b ) {
if ( a.name < b.name ) return -1;
if ( a.name > b.name ) return 1;
return 0;
});
callback( matches );
if ( typeof this.fetcher === 'function' && !friends ) {
that = this;
this.fetcher(function( friends ) {
friends || (friends = []);
that.dropdownFetch( keyword, joms._.bind( that.dropdownUpdate, that ), friends );
});
}
};
Tagging.prototype.dropdownUpdate = function( matches ) {
var html, item, cname, i, length;
if ( !( matches && matches.length ) ) {
this.dropdownHide();
return;
}
html = '';
cname = cssDropdownItem.substr(1);
length = Math.min( 10, matches.length );
for ( i = 0; i < length; i++ ) {
item = matches[ i ];
html += '<a href="javascript:" class=' + cname + ' data-id="' + item.id + '" data-name="' + item.name + '">';
html += '<img src="' + item.img + '">' + item.name + '</a>';
}
this.dropdownShow( html );
};
Tagging.prototype.dropdownShow = function( html ) {
this.$dropdown.html( html ).show();
this.dropdownIsOpened = true;
this.dropdownSelectedItem = false;
};
Tagging.prototype.dropdownHide = function() {
this.$dropdown.hide();
this.dropdownIsOpened = false;
};
Tagging.prototype.dropdownOnMouseEnter = function( e ) {
this.dropdownChangeItem( e );
};
Tagging.prototype.dropdownOnMouseDown = function() {
this.dropdownIsClicked = true;
};
Tagging.prototype.dropdownOnMouseUp = function( e ) {
this.dropdownSelectItem( e );
this.dropdownIsClicked = false;
this.dropdownHide();
};
Tagging.prototype.dropdownChangeItem = function( e ) {
var className = cssDropdownItemActive.substr(1),
elem, sibs, next;
if ( typeof e !== 'number' ) {
elem = this.dropdownSelectedItem = $( e.target );
sibs = elem.siblings( cssDropdownItemActive );
elem.addClass( className );
sibs.removeClass( className );
return;
}
elem = this.$dropdown.children( cssDropdownItemActive );
if ( !elem.length ) {
elem = this.dropdownSelectedItem = this.$dropdown.children()[ e === VK_KEYUP ? 'last' : 'first' ]();
elem.addClass( className );
return;
}
next = elem[ e === VK_KEYUP ? 'prev' : 'next' ]();
elem.removeClass( className );
if ( next.length ) {
this.dropdownSelectedItem = next;
next.addClass( className );
} else {
this.dropdownSelectedItem = false;
}
};
Tagging.prototype.dropdownSelectItem = function( e ) {
var el = e ? $( e.currentTarget ) : this.dropdownSelectedItem,
id = el.data('id'),
name = el.data('name'),
cpos = this.textarea.selectionStart,
substr = this.getValue().substr( 0, cpos ),
index = substr.lastIndexOf('@'),
re, value;
this.tagsAdded || (this.tagsAdded = []);
this.tagsAdded.push({
id : id,
name : name,
start : index,
length : name.length
});
re = new RegExp( '^([\\s\\S]{' + index + '})[\\s\\S]{' + ( cpos - index ) + '}' );
value = this.getValue().replace( re, '$1' + name );
this.setValue(value);
this.inputAutogrow();
//if(!this.contenteditable){
this.beautifierUpdate( value, this.tagsAdded );
//}
this.hiddenUpdate( value, this.tagsAdded );
this.dropdownHide();
if(this.contenteditable){
// move caret in div.
//this.textarea.setSelectionRange(tag.start + tmp.length, tag.start + tmp.length);
range = document.createRange();
range.selectNodeContents(this.$textarea.children(":last").get(0));
var selection = window.getSelection();
// if (range) {
range.collapse(false);
selection.removeAllRanges();
selection.addRange(range);
// }
}
};
// Public.
Tagging.prototype.clear = function() {
this.tagsAdded = [];
this.$textarea && this.$textarea.val('');
this.$hidden && this.$hidden.val('');
this.$beautifier && this.$beautifier.empty();
};
// Exports.
return function( textarea, extraFetch ) {
var instance = $( textarea ).data( namespace );
if ( instance ) {
return instance;
} else {
return new Tagging( textarea, extraFetch );
}
};
});
define("utils/tagging", function(){});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.validation = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var STATUS_VALID = 'valid',
STATUS_INVALID = 'invalid';
function getErrorContainer( el ) {
var wrapper, error;
el = $( el );
wrapper = el.parents('.joms-select--wrapper, .joms-textarea__wrapper, .joms-location__wrapper, .joms-checkbox--wrapper, .joms-radio--wrapper');
error = wrapper.length ? wrapper.next('p.joms-help') : el.next('p.joms-help');
if ( !error.length ) {
error = $('<p class="joms-help" style="color:red">');
error.hide().insertAfter( wrapper.length ? wrapper : el );
}
return error;
}
function addRequiredSign() {
$('.joms-form__group').find('[required]')
.add( $('.joms-form__group').find('[data-required]') )
.each(function() {
var el = $( this ),
par = el.closest('.joms-form__group'),
label = par.children().first();
if ( !label.find('.joms-required').length ) {
label.append(' <span class="joms-required">*</span>');
}
});
}
function addTextareaMaxChars() {
var textarea = $('.joms-form__group').find('textarea[data-maxchars]');
textarea.css('display', 'inline');
textarea.wrap('<div style="position:relative"></div>');
textarea.parent().append('<div class="joms-js--textarea-counter" style="position:absolute;bottom:2px;right:5px"></div>');
textarea.each(function() {
var $el = $( this );
$el.siblings('.joms-js--textarea-counter').html( $el.data('maxchars') );
});
textarea.off('input').on( 'input', function() {
var $el = $( this ),
$counter = $el.siblings('.joms-js--textarea-counter'),
maxChars = $el.data('maxchars') || 0,
val;
if ( maxChars ) {
val = $el.val();
if ( val.length > maxChars ) {
val = val.substr( 0, maxChars );
$el.val( val );
}
$counter.html( maxChars - val.length );
}
});
}
function addTextareaCharChecker() {
var textarea = $('.joms-textarea__wrapper').find('.joms-textarea--limit'),
errClass = 'joms-textarea--error',
evtName = 'input.joms-textarea-limit';
textarea.off( evtName ).on( evtName, function() {
var $el = $( this ),
$wrapper = $el.parent('.joms-textarea__wrapper'),
$counter = $wrapper.find('.joms-textarea__limit > span > span'),
minChars = $el.data('min-char'),
maxChars = $el.data('max-char'),
val = $el.val(),
len = val.length;
if ( !$wrapper.length ) {
$wrapper = $el;
}
// normalize min/max characters bound
minChars = isNaN( minChars ) ? 0 : Math.max( 0, +minChars );
maxChars = isNaN( maxChars ) ? false : Math.max( minChars, +maxChars );
if ( len < minChars ) {
if ( !$wrapper.hasClass( errClass )) {
$wrapper.addClass( errClass );
}
} else {
if ( $wrapper.hasClass( errClass )) {
$wrapper.removeClass( errClass );
}
if ( maxChars !== false && len > maxChars ) {
val = val.substr( 0, maxChars );
$el.val( val );
}
}
$wrapper.css('display', 'inline-block');
$counter.html( val.length );
setTimeout(function() {
$wrapper.css('display', '');
}, 0 );
});
}
function addValidationTrigger() {
var evtSuffix = 'joms-validation',
evtFocus = 'focus.' + evtSuffix,
evtBlur = 'blur.' + evtSuffix,
evtChange = 'change.' +evtSuffix,
evtValidate = 'validate.' + evtSuffix,
$form = $( '.joms-form__group' ),
$fields = $form.find( '[required]' ).add( $form.find( '[data-required]' ) );
$fields
.off( evtChange ).on( evtChange, function( e, callback) {
var $el = $(this);
if ($el.attr('type') === 'checkbox' || $el.attr('type') === 'radio') {
$el.trigger( evtValidate, callback );
}
})
.off( evtFocus ).on( evtFocus, function() {
var $el = $( this );
$el.data( 'currentValue', $el.val() );
})
.off( evtBlur ).on( evtBlur, function( e, callback ) {
var $el = $( this ),
currentValue = $el.data( 'currentValue' );
if ( typeof currentValue !== 'undefined' && $el.val() !== currentValue ) {
$el.trigger( evtValidate, callback );
}
})
.off( evtValidate ).on( evtValidate, function( e, callback ) {
var $el = $( this ),
$error = getErrorContainer( $el ),
$label = $el.closest( '.joms-form__group' ).children().first(),
name = $el.attr( 'name' ),
type = ( $el.attr( 'type' ) || '' ).toLowerCase(),
tagName = $el.prop( 'tagName' ).toLowerCase(),
label = $.trim( $label.text().replace( /\*/g, '' ) ),
val = $.trim( $el.val() ),
validation;
if ( typeof callback !== 'function' ) {
callback = function() {
var verify = $el.data( 'verify' ),
$verify;
// Trigger validation if confirmation field is not empty.
if ( verify ) {
$verify = $( verify );
if ( $verify.length && $.trim( $verify.val() ) ) {
$verify.trigger( evtValidate );
}
}
};
}
if ( type.match( /^(text|password)$/ ) || tagName.match( /^(select|textarea)$/ ) ) {
if ( ! val ) {
setMessage( $el, [ name, label, 'COM_COMMUNITY_REGISTER_INVALID_VALUE' ] );
callback( STATUS_INVALID );
} else {
validation = $el.data( 'validation' ) || '';
if ( validation === 'username' ) {
validateUsername( $el, val, callback, $el.data( 'current' ) || '' );
} else if ( validation === 'email' ) {
validateEmail( $el, val, callback );
} else if ( validation.match( /^email:/ ) ) {
validateEmailConfirmation( $el, val, callback );
} else if ( validation === 'password' ) {
validatePassword( $el, val, callback );
} else if ( validation.match( /^password:/ ) ) {
validatePasswordConfirmation( $el, val, callback );
} else {
$error.fadeOut();
callback( STATUS_VALID );
}
}
} else if (type.match( /^(radio|checkbox)$/ )) {
var checked = $('[name="'+name+'"]:checked').length;
if (!checked) {
setMessage( $el, [ name, label, 'COM_COMMUNITY_REGISTER_INVALID_VALUE' ] );
callback( STATUS_INVALID );
} else {
$error.fadeOut();
callback( STATUS_VALID );
}
}
});
}
function validateUsername( el, username, callback, current ) {
joms.ajax({
func: 'register,ajaxCheckUserName',
data: [ username, current ],
callback: function( json ) {
var error = getErrorContainer( el );
if ( json.error ) {
error.html( json.error );
error.show();
callback( STATUS_INVALID );
} else {
error.fadeOut();
callback( STATUS_VALID );
}
}
});
}
function validateEmail( el, email, callback ) {
var reEmail = /^([*+!.&#$¦\'\\%\/0-9a-z^_`{}=?~:-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,10})$/i;
if ( !reEmail.test( email ) ) {
setMessage( el, [ '', '', 'COM_COMMUNITY_INVALID_EMAIL' ]);
callback( STATUS_INVALID );
return;
}
joms.ajax({
func: 'register,ajaxCheckEmail',
data: [ email ],
callback: function( json ) {
var error = getErrorContainer( el );
if ( json.error ) {
error.html( json.error );
error.show();
callback( STATUS_INVALID );
} else {
error.fadeOut();
callback( STATUS_VALID );
}
}
});
}
function validateEmailConfirmation( el, value, callback ) {
var data, ref, error;
data = el.data('validation').split(':');
ref = $( data[1] );
error = getErrorContainer( el );
if ( !ref.length ) {
error.fadeOut();
callback( STATUS_VALID );
return;
}
if ( value !== ref.val() ) {
setMessage( el, [ '', '', 'COM_COMMUNITY_REGISTER_EMAIL_NOT_SAME' ]);
callback( STATUS_INVALID );
return;
}
error.fadeOut();
callback( STATUS_VALID );
}
function validatePassword( el, value, callback ) {
joms.ajax({
func: 'register,ajaxCheckPass',
data: [ value ],
callback: function( json ) {
var error = getErrorContainer( el );
if ( json.error ) {
error.html( json.error.replace(/\n/g, '<br/>') );
error.show();
callback( STATUS_INVALID );
} else {
error.fadeOut();
callback( STATUS_VALID );
}
}
});
}
function validatePasswordConfirmation( el, value, callback ) {
var data, ref, error;
data = el.data('validation').split(':');
ref = $( data[1] );
error = getErrorContainer( el );
if ( !ref.length ) {
error.fadeOut();
callback( STATUS_VALID );
return;
}
if ( value !== ref.val() ) {
setMessage( el, [ '', '', 'COM_COMMUNITY_REGISTER_PASSWORD_NOT_SAME' ]);
callback( STATUS_INVALID );
return;
}
error.fadeOut();
callback( STATUS_VALID );
}
function validate( $form, callback ) {
var errors = 0,
counter = 0,
form, fields, fieldsCount, checkbox, radio;
form = $( $form );
fields = form.find('[required]').add( form.find('[data-required]') );
fieldsCount = fields.length;
if ( !fields.length ) {
callback( errors );
}
fields.each(function() {
var $el = $( this );
$el.trigger( 'validate.joms-validation', function( result ) {
if ( result === STATUS_INVALID ) {
errors++;
}
if ( ++counter >= fieldsCount ) {
callback( errors );
}
});
});
return false;
}
function setMessage( el, data ) {
joms.ajax({
func: 'register,ajaxSetMessage',
data: data,
callback: function( json ) {
var error = getErrorContainer( el );
error.html( json.message );
error.show();
}
});
}
function start() {
addRequiredSign();
addTextareaMaxChars();
addTextareaCharChecker();
addValidationTrigger();
}
function stop() {
}
// Exports.
return {
start: start,
stop: stop,
validate: validate
};
});
define("utils/validation", function(){});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.video = factory( root, $ );
define('utils/video',[ 'utils/loadlib' ], function() {
return joms.util.video;
});
})( window, joms.jQuery, function( window, $ ) {
var player = {};
player._initMediaElement = function( id, type, data ) {
if ( type === 'file' && data.fileType === 'flv' ) {
joms.util.loadLib( 'flowplayer', function () {
window.flowplayer( id, {
src: joms.ASSETS_URL + 'flowplayer/flowplayer-3.2.7.swf',
wmode: 'opaque'
}, {
streamingServer: 'lighttpd',
playlist: [{
url: data.filePath,
autoPlay: false,
autoBuffering: true,
provider: 'lighttpd',
scaling: 'scale'
}],
plugins: {
lighttpd: {
url: joms.ASSETS_URL + 'flowplayer/flowplayer.pseudostreaming-3.2.7.swf',
queryString: window.escape('?target=${start}')
},
controls: {
url: joms.ASSETS_URL + 'flowplayer/flowplayer.controls-3.2.5.swf'
}
}
}
);
});
} else {
joms.util.loadLib( 'mediaelement', function () {
var $elem = $( '#' + id ).css({ visibility: '' });
var options = {
iPadUseNativeControls: type === 'file' ? true : false,
iPhoneUseNativeControls: type === 'file' ? true : false,
success: function( me, el, pl ) {
setTimeout(function() {
pl.disableControls();
pl.enableControls();
}, 1 );
if ( me.pluginType === 'flash' ) {
me.addEventListener( 'canplay', function() {
me.play();
}, false );
} else if ( joms.mobile && ( ( me.pluginType === 'youtube' ) || ( me.pluginType === 'vimeo' ) ) ) {
// do nothing
} else {
me.play();
}
}
};
// #638 Play video on firefox is not as good as on chrome.
if ( type === 'youtube' ) {
options.defaultVideoWidth = $elem.width();
options.defaultVideoHeight = $elem.height();
}
$elem.mediaelementplayer( options );
});
}
}
player.responsivePlayer = function( $ct, data) {
var $media = $ct.find('.joms-media__thumbnail'),
$player = $('<div class="joms-media__responsive-player"></div>'),
maxHeight = 500,
ctWidth,
height, width, ratio;
ctWidth = $ct.width();
ratio = ( data.width / data.height ) || 16/9;
height = ctWidth / ratio;
if (height > maxHeight) {
height = maxHeight;
width = height * ratio;
} else {
width = ctWidth;
}
$player.css({
width: width,
height: height,
margin: '0 auto'
});
$ct.addClass('being-played');
$player.html('<iframe src="'+ data.src +'" width="'+width+'" height="'+height+'" '+ data.options +'"></iframe>');
$media.html($player);
}
player._play_file = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
$video, id, fileType;
id = joms._.uniqueId('joms-js--video-');
fileType = data.path.match(/\.flv$/) ? 'flv' : 'mp4';
if ( fileType === 'flv' ) {
$video = $(
'<div class="flowplayer" id="' + id + '" style="width:100%;height:281px;"></div>');
} else {
$video = $(
'<video id="' + id + '" width="480" height="360" preload="metadata" autoplay="autoplay">' +
'<source src="' + data.path + '" type="video/mp4" />' +
'</video>'
);
}
$ct.addClass('being-played');
$player.html( $video );
player._initMediaElement( id, data.type, {
fileType: fileType,
filePath: data.path
});
}
player._play_youtube = function( $ct, data ) {
window.joms_videoplayer_native ? player._play_YoutubeNativePlayer( $ct, data ) : player._play_YoutubeJomsPlayer( $ct, data );
}
player._play_YoutubeJomsPlayer = function( $ct, data ) {
var id, path, $video, $player;
id = joms._.uniqueId('joms-js--video-');
path = data.path;
if (joms.ios) {
path = path.replace(/#.*$/, '');
path = path.replace(/&t=\d+/, '');
}
$video = $(
'<video id="' + id + '" controls="control" preload="none">' +
'<source src="' + path + '" type="video/youtube" />' +
'</video>'
);
$video.css({ visibility: 'hidden' });
$player = $ct.find('.joms-media__thumbnail');
if ( ! $player.length ) {
$player = $ct;
}
$ct.addClass('being-played');
$player.html( $video );
player._initMediaElement( id, data.type );
}
player._play_YoutubeNativePlayer = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
if ( ! $player.length ) {
$player = $ct;
}
$ct.addClass('being-played joms-media--video-native');
$player.html(
'<iframe src="//www.youtube.com/embed/' + data.id +
'?autoplay=1&rel=0" width="500" height="281" frameborder="0" allowfullscreen allow="autoplay; encrypted-media"></iframe>'
);
}
player._play_vimeo = function( $ct, data ) {
data.src = '//player.vimeo.com/video/' + data.id + '?autoplay=1';
data.options = 'frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen';
player.responsivePlayer( $ct, data );
}
player._play_myspace = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'https://media.myspace.com/play/video/'+data.id;
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" width="500" height="281" AllowFullScreen></iframe>');
}
player._play_blip = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = '//blip.tv/play/' + data.id;
$ct.addClass('being-played');
$player.html( '<iframe src="' + path + '" width="500" height="281" frameborder="0" allowfullscreen></iframe>' );
}
player._play_dailymotion = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
$ct.addClass('being-played');
$player.html( '<iframe frameborder="0" width="500" height="270" src="//www.dailymotion.com/embed/video/'+data.id+'?autoPlay=1" allowfullscreen="" allow="autoplay"></iframe>' );
}
player._play_liveleak = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = '//www.liveleak.com/ll_embed?i=' + data.id;
$ct.addClass('being-played');
$player.html( '<iframe src="' + path + '" width="500" height="281" frameborder="0" allowfullscreen></iframe>' );
}
player._play_yahoo = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = data.path;
path = path.replace('www.yahoo.com/movies/v', 'movies.yahoo.com/video');
path = path + '?format=embed&player_autoplay=true';
$ct.addClass('being-played');
$player.html( '<iframe src="' + path + '" width="500" height="281" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>' );
}
player._play_metacafe = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'http://www.metacafe.com/embed/' + data.id + '/';
$ct.addClass('being-played');
$player.html( '<iframe src="' + path + '" width="500" height="281" frameborder="0" allowfullscreen></iframe>' );
}
player._play_funnyordie = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = '//www.funnyordie.com/embed/' + data.id + '/';
$ct.addClass('being-played');
$player.html( '<iframe src="'+path+'" width="500" height="300" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>' );
}
player._play_collegehumor = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'http://www.collegehumor.com/e/' + data.id;
$ct.addClass('being-played');
$player.html( '<iframe src="'+path+'" width="500" height="281" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>' );
}
player._play_flickr = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'https://www.flickr.com/photos/'+data.id;
$ct.addClass('being-played');
$player.html('<a data-flickr-embed="true" href="'+path+'" ><img src="https://farm2.staticflickr.com/1729/42437754852_936a2d5e9f_b.jpg" width="1024" height="576" alt="flickr"></a><script async src="https://embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>');
}
player._play_dotsub = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'https://dotsub.com/media/'+data.id+'/embed/';
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" width="500" height="281" AllowFullScreen></iframe>');
}
player._play_gloria = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'https://gloria.tv/video/'+data.id+'/embed/';
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" width="500" height="265" AllowFullScreen></iframe>');
}
player._play_sapo = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'http://rd.videos.sapo.pt/playhtml?file=http://rd.videos.sapo.pt/'+data.id+'/mov/1';
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" width="500" height="265" AllowFullScreen></iframe>');
}
player._play_facebook = function( $ct, data ) {
console.log(data);
data.src = 'https://www.facebook.com/plugins/video.php?href='+encodeURIComponent('https://www.facebook.com/watch/?v='+data.id) +'&show_text=false';
data.options = 'style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"';
player.responsivePlayer( $ct, data );
}
player._play_soundcloud = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/'+data.id+'&color=%23ff5500&auto_play=true&hide_related=false&show_comments=false&show_user=false&show_reposts=false&show_teaser=true&visual=true';
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" ></iframe>');
}
player._play_godtube = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
splitted = data.id.split('|'),
videoID = splitted[0],
type = splitted[1],
embedID = splitted[2];
if (type === 'godtube') {
$ct.addClass('being-played');
var path = 'https://www.godtube.com/embed/watch/'+splitted[0].toLowerCase()+'/?w=728&h=408&ap=true&sl=true&title=true&dp=true';
$player.html('<iframe width="500" height="250" aspectratio="16:9" frameborder="0" scrolling="no" src="'+path+'"></iframe>"');
}
else if (type === 'youtube') {
$ct.addClass('being-played');
var xdata = {
id: embedID,
path: 'https://www.youtube.com/watch?v='+embedID,
type: type
}
player._play_youtube( $ct, xdata );
}
else {
player._play_other( $ct, data );
}
}
player._play_rutube = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path = '//rutube.ru/play/embed/'+data.id;
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" width="500" height="265" AllowFullScreen></iframe>');
}
player._play_ku6 = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
$ct.addClass('being-played');
$player.html('<iframe src="'+data.id+'" frameborder="0" width="500" height="265" AllowFullScreen></iframe>');
}
player._play_twitch = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
videoid = data.id.split('|')[0],
type = data.id.split('|')[1],
path;
$ct.addClass('being-played');
if (type === 'clip') {
path ='https://clips.twitch.tv/embed?autoplay=true&clip=' + videoid + '&parent=' + location.hostname;
} else {
path ='https://player.twitch.tv/?autoplay=true&video=' + videoid + '&parent=' + location.hostname;
}
$player.html('<iframe src="'+path+'" frameborder="0" allowfullscreen="true" scrolling="no" height="265" width="500"></iframe>');
}
player._play_flic = function( $ct, data ) {
player._play_flickr( $ct, data );
}
player._play_vbox7 = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail'),
path ='https://www.vbox7.com/emb/external.php?vid=' + data.id + '&autoplay=1';
$ct.addClass('being-played');
$player.html('<iframe src="'+path+'" frameborder="0" allowtransparency="true" webkitallowfullscreen mozallowfullscreen allowfullscreen height="265" width="500"></iframe>');
}
player._play_veoh = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
$ct.addClass('being-played');
$player.html([
'<object width="500" height="280">',
'<embed src="http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1509&permalinkId=' + data.id + '&player=videodetailsembedded&videoAutoPlay=1&id=anonymous"',
'type="application/x-shockwave-flash"',
'allowscriptaccess="always"',
'allowfullscreen="true"',
'width="500"',
'height="280"',
'>',
'</embed>',
'</object>'
].join(''));
}
player._play_videa = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
$ct.addClass('being-played');
$player.html('<iframe width="500" height="280" src="//videa.hu/player?v='+data.id+'&autoplay=1" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0"></iframe>');
}
player._play_youku = function( $ct, data ) {
var $player = $ct.find('.joms-media__thumbnail');
$ct.addClass('being-played');
$player.html('<iframe height=280 width=500 src="http://player.youku.com/embed/' + data.id + '" frameborder=0 allowfullscreen></iframe>');
}
player._play_other = function( $ct, data ) {
window.open( data.path );
}
var play = function ( $ct, data ) {
var fn = '_play_' + data.type;
if ( typeof player[fn] === 'function') {
player[fn]( $ct, data);
} else {
player._play_other( $ct, data );
}
}
// Exports.
return {
play: play
};
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.wysiwyg = factory( root, $ );
define('utils/wysiwyg',[ 'utils/loadlib' ], function() {
return joms.util.wysiwyg;
});
})( window, joms.jQuery, function( window, $ ) {
function start() {
var editor = $('textarea').filter('[data-wysiwyg=trumbowyg]');
if ( !editor.length ) {
return;
}
joms.util.loadLib( 'trumbowyg', function() {
trumbowygTranslate();
// Check RTL.
var isRTL = false;
if ( $('html').attr('dir') === 'rtl' ) {
isRTL = true;
}
// TODO: Set upload path.
$.extend( jQuery.trumbowyg, {
upload: {
serverPath: joms.BASE_URL + 'index.php?option=com_community&view=photos&task=ajaxPreviewComment&isEditor=1'
}
});
editor.each(function() {
var btns, config, instance;
btns = $( this ).data( 'btns' );
btns = btns || 'viewHTML,|,bold,italic,underline,|,unorderedList,orderedList,|,link,image';
btns = btns.split(',');
config = {
btnsDef: {
image: {
dropdown: [ 'insertImage', 'upload' ],
ico: 'insertImage'
}
},
btns: btns,
fullscreenable: false,
mobile: false,
tablet: false,
removeformatPasted: true,
autogrow: true
};
if ( isRTL ) {
config.dir = 'rtl';
}
instance = $( this ).trumbowyg( config )
.on('tbwblur', function() {
var t = $( this ).data('trumbowyg');
t.syncCode();
})
.data('trumbowyg');
// Override modal button render.
instance.buildModalBtn = trumbowygBuildModalBtn;
// Override modal input.
instance._openModalInsert = instance.openModalInsert;
instance.openModalInsert = function( title, fields, cmd ) {
var modBox = instance._openModalInsert( title, fields, cmd );
modBox.find('label').each(function() {
var label = $( this ),
input = label.find('input'),
name = input.attr('name'),
type = input.attr('type'),
html;
if ([ 'url', 'file', 'title', 'text', 'target', 'alt' ].indexOf( name ) >= 0 ) {
html = '<div class="joms-form__group" style="text-align:left">';
html += '<span style="width:90px;text-align:center">' + label.find('.trumbowyg-input-infos').text() + '</span>';
if ( type === 'file' ) {
html += '<input name="' + name + '" class="joms-input" value="' + ( input.val() || '' ) + '" type="file"';
html += ' accept="image/png,image/jpeg,image/gif,image/bmp">';
} else {
html += '<input name="' + name + '" class="joms-input" value="' + ( input.val() || '' ) + '" type="' + ( type || 'text' ) + '">';
}
html += '</div>';
label.replaceWith( $(html) );
}
});
return modBox;
};
});
});
}
function trumbowygBuildModalBtn( name, modal ) {
return $('<button/>', {
'class': 'joms-button--full-small joms-button--' + ( name === 'submit' ? 'primary' : 'neutral' ),
'type': name,
'text': this.lang[name] || name
}).appendTo( modal.find('form') );
}
function trumbowygTranslate() {
$.extend( jQuery.trumbowyg.langs.en, window.joms_lang.wysiwyg || {});
}
// Exports.
return {
start: start
};
});
define('utils/dialog',[ 'core' ], function() {
var getScrollbarWidth = function getScrollbarWidth() {
var outer = document.createElement("div");
outer.style.visibility = "hidden";
outer.style.width = "100px";
outer.style.msOverflowStyle = "scrollbar";
document.body.appendChild(outer);
var widthNoScroll = outer.offsetWidth;
outer.style.overflow = "scroll";
var inner = document.createElement("div");
inner.style.width = "100%";
outer.appendChild(inner);
var widthWithScroll = inner.offsetWidth;
outer.parentNode.removeChild(outer);
return widthNoScroll - widthWithScroll;
}
var $ = joms.jQuery;
var $body = $(document.body);
var cachedStyle = '';
var scrollbarWidth = getScrollbarWidth();
var Dialog = function Dialog() {};
Dialog.prototype.prepare = function prepare( callback ) {
var modal = this.show();
callback = callback || function() {};
callback( modal )
}
Dialog.prototype.show = function show() {
var modal = new window.tingle.modal({
closeMethods: ['overlay', 'button', 'escape'],
closeLabel: window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON,
cssClass: ['joms-dialog'],
onClose: function() {
var $content = joms.jQuery(modal.getContent());
var $container = $content.parents('.tingle-modal');
$container.remove();
},
beforeClose: function() {
$body.attr('style', cachedStyle ? cachedStyle : '');
return true;
},
beforeOpen: function() {
cachedStyle = $body.attr('style');
var paddingRight = parseInt($body.css('paddingRight'));
$body.css('padding-right', scrollbarWidth + paddingRight);
}
});
var loader = '<div style="width: 100%; text-align: center;"><img src="' + joms.BASE_URL + 'components/com_community/assets/ajax-loader.gif" /></div>';
modal.setContent(loader);
modal.open();
return modal;
}
joms.util || (joms.util = {});
joms.util.dialog = new Dialog();
});
define('utils/emoji',[ 'core' ], function() {
var $ = joms.jQuery;
var JomsEmoji = function JomsEmoji() { this.renderBoard() };
var image = document.createElement('img');
image.src = joms.ASSETS_URL+"emoticons/jomsoical-emoji.png";
image.onerror = function(){ //debugger;
sheet.insertRule(".joms-emo2 { color: #ffffff !important;}", 0);
}
JomsEmoji.prototype.showBoard = function showBoard( elm ) {
this.$editor = {};
if ($(elm).parent().parent().data('editor') != "") {
this.$editor = $(elm).parent().parent().data('editor')
}
// $('#joms-emoticon-js__board').remove();
var $body = $('body'),
$board = $('#joms-emoticon-js__board'),
$icon = $(elm).parents('.joms-icon--emoticon'),
offset = $(elm).offset(),
offsetTop = 0,
emoticons = joms.getData('joms_emo'),
isRTL = $('html').attr('dir') === 'rtl';
if (!$board.length) {
html = this.renderBoard();
$body.append(html);
$board = $('#joms-emoticon-js__board');
// $board.hide();
}
this.$board = $board;
let that = this;
$board.on('input', 'input', function (e) { that.filterEmoji(this); });
$board.on('click', '.joms-board-emoji-anchor', function (e) {
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
let category = $(this).attr("data-category");
let categoryPostition = $("#" + category).parent().get(0).offsetTop;
let scroll = $board.find("#joms-emoji-js__scroll");
let scrollPosition = scroll.get(0).offsetTop;
scroll.get(0).scrollTop = categoryPostition - 113;
return false;
});
var spacer = isRTL ? 15 : ($board.outerWidth() - 30);
var above = {
display: 'block',
top: (offset.top - $board.outerHeight()) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_above = {
opacity: '1',
top: (offset.top - $board.outerHeight() - 10) + 'px'
}
var below = {
display: 'block',
top: (offset.top + 20) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_below = {
opacity: '1',
top: (offset.top + 24) + 'px'
}
offsetTop = offset.top - $(window).scrollTop();
var pos, ani, positionClass;
if (offsetTop > ($board.outerHeight() + 30)) {
pos = above;
ani = animate_above;
positionClass = 'joms-board--above'
} else {
pos = below;
ani = animate_below;
positionClass = 'joms-board--below';
}
$board.is(':hidden') && setTimeout(function () {
$('.joms-icon--active').removeClass('joms-icon--active');
$icon.addClass('joms-icon--active');
$board.css(pos);
$board.addClass(positionClass)
setTimeout(function () {
$board.css(ani);
}, 100);
$(document).on('click', function (e) {
if($(e.target).hasClass("joms-emoji-search")){
e.stopImmediatePropagation();
e.preventDefault();
e.stopPropagation();
return false;
}
$board.css({
display: 'none',
opacity: '0'
});
$board.removeClass('joms-board--above joms-board--below');
});
}, 100);
}
JomsEmoji.prototype.renderBoard = function renderBoard() {
let board = $('<div id="joms-emoticon-js__board" class=" joms-emoticon__board joms-emoticon-js__board joms-emoji-js__board"></div>');
board.width("240px").css('Zindex',"1103").css('background','#ffffff none repeat scroll 0% 0%');
let bar = $('<div class="joms-emoji-js__bar"></div>');
board.append(bar);
_.each(emoji_categories_SVGs, function (svg, name) {
let span = $('<span class="joms-board-emoji-anchor" data-category ="' + name + '" ></span>');
span.append(svg);
span.css("cursor","pointer");
bar.append(span);
});
let search = $('<div class="joms-emoji-js__search"><input class="joms-emoji-search" type="text" placeholder="'+window.joms_lang.COM_COMMUNITY_EMOJI_SEARCH+'"></div>');
board.append(search);
let scroll = $('<div id="joms-emoji-js__scroll" class="joms-emoji-js__scroll"></div>');
scroll.height(300).css('overflow', "hidden");//.css('overflowY', 'scroll');
let filterpanel = $('<div class="joms-emoji-js_category" id="joms-emoji-js_filter" ></div>');
let label = $('<div class="joms-emoji-js_category-label" id="filter" ><span >'+window.joms_lang.COM_COMMUNITY_EMOJI_SEARCH_RESULTS+'</span></div>');
filterpanel.append(label);
filterpanel.hide();
scroll.append(filterpanel);
let recentPanel = $('<div class="joms-emoji-js_category clearfix" id="joms-emoji-js_recent" ></div>');
label = $('<div class="joms-emoji-js_category-label" id="recent" ><span >'+window.joms_lang.COM_COMMUNITY_EMOJI_RECENTLY_USED+'</span></div>');
recentPanel.append(label);
recentPanel.width("250px");
recentPanel.height("auto");
let recentUsed = this.getRecentused();
if (recentUsed != null && Array.isArray(recentUsed)) {
_.each(recentUsed, function (emojiId) {
let code = "";
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res = "";
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
code += "&#x" + c + ";";
})
} else {
code = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
let recentEmoji = $('<span onclick="joms.util.emoji.insert(this)" data-shortCode="'+emojiId+'" data-code=":' + emojiId + ':" data-uniCode="' + code + '" title="' + emoji_json.emojis[emojiId]["b"] + '" class="joms-emoji-js_emoji joms-content1-emo2 joms-emo2 joms-emo2-'+emojiId+'">' + code + '</span>');
recentPanel.append(recentEmoji);
})
}
scroll.append(recentPanel);
board.append(scroll);
let emojis = emoji_json.categories;
_.each(emojis, function (emoji_detail) {
let category = $('<div class="joms-emoji-js_category clearfix"></div>');
let label = $('<div class="joms-emoji-js_category-label" id="' + emoji_detail.id + '" ><span >' + window.joms_lang[emoji_detail.name] + '</span></div>');
category.append(label);
category.width("250px");
category.height("auto");
_.each(emoji_detail.emojis, function (emojiId) {
let code = "";
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res = "";
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
code += "&#x" + c + ";";
})
} else {
code = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
let emoji = $('<span onclick="joms.util.emoji.insert(this)" data-shortCode="'+emojiId+'" data-code=":' + emojiId + ':" data-uniCode="' + code + '" title="' + emoji_json.emojis[emojiId]["b"] + '" class="joms-emoji-js_emoji joms-content1-emo2 joms-emo2 joms-emo2-'+emojiId+'">' + code + '</span>');
emoji_json.emojis[emojiId].element = emoji;
category.append(emoji);
})
scroll.append(category);
})
return board.get(0).outerHTML;
}
JomsEmoji.prototype.getRecentused = function getRecentused() {
let emojis = localStorage.getItem("joms.emojis");
if(emojis == null || typeof emojis == "undefined" ){
return false;
}
return JSON.parse(emojis);
}
JomsEmoji.prototype.addToRecent = function addToRecent(code) {
let emojis = this.getRecentused();
if (!Array.isArray(emojis)) {
emojis = [];
}
let found = emojis.filter(emoji => emoji == code);
if(found.length == 00){
emojis.push(code);
}
localStorage.setItem("joms.emojis", JSON.stringify(emojis));
}
JomsEmoji.prototype.insert = function insert(elm) {
let code = $(elm).attr('data-unicode');
let shortCode = $(elm).attr('data-shortCode');
this.addToRecent(shortCode);
this.$editor.smileyCallback(code);
}
JomsEmoji.prototype.filterEmoji = function filterEmoji(input) {
if (input.value != "") {
let emojis_found = {};
_.each(emoji_json.emojis, function (emoji,emojikey) {
if(typeof emoji["j"] != "undefined" && Object.values(emoji["j"]).filter(tag => tag.includes(input.value)).length){
emojis_found[emojikey] = emoji;
}
})
$(".joms-emoji-js_category").hide();
$("#joms-emoji-js_filter").show();
let filterpanel = $("#joms-emoji-js_filter");
filterpanel.children('span').remove();
_.each(emojis_found, function (emoji,emojikey) {
let code = "";
if (emoji["b"].includes("-")) {
let res = "";
if(typeof emoji["c"] !== "undefined"){
res = emoji["c"].split("-");
}else{
res = emoji["b"].split("-");
}
_.each(res, function (c) {
code += "&#x" + c + ";";
})
} else {
code = "&#x" + emoji["b"] + ";"
}
let emojiSpan = '<span onclick="joms.util.emoji.insert(this)" data-shortCode="'+emojikey+'" data-code=":' + emojikey + ':" data-uniCode="' + code + '" title="' + emoji["b"] + '" class="joms-emoji-js_emoji joms-content1-emo2 joms-emo2 joms-emo2-'+emojikey+'">' + code + '</span>';
filterpanel.append(emojiSpan);
})
} else {
$(".joms-emoji-js_category").show();
$("#joms-emoji-js_filter").hide();
}
}
JomsEmoji.prototype.length = function(code){
code = code.substring(1,code.length-1);
let emojiId = code;
let unicode = ""
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res = "";
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
unicode += "&#x" + c + ";";
})
} else {
unicode = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
return $('<i>'+unicode +'</i>').text().length ;
}
JomsEmoji.prototype.getUnicode = function(code){
code = code.substring(1,code.length-1);
let emojiId = code;
let unicode = ""
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res = "";
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
unicode += "&#x" + c + ";";
})
} else {
unicode = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
return unicode;
}
JomsEmoji.prototype.toCodePoint = function (unicodeSurrogates, sep) {
var
r = [],
c = 0,
p = 0,
i = 0;
while (i < unicodeSurrogates.length) {
c = unicodeSurrogates.charCodeAt(i++);
if (p) {
r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16));
p = 0;
} else if (0xD800 <= c && c <= 0xDBFF) {
p = c;
} else {
r.push(c.toString(16));
}
}
return r.join(sep || '-');
}
JomsEmoji.prototype.stringFromCodePoint = function () {
var MAX_SIZE = 0x4000
var codeUnits = []
var highSurrogate
var lowSurrogate
var index = -1
var length = arguments.length
if (!length) {
return ''
}
var result = ''
while (++index < length) {
var codePoint = Number(arguments[index])
if (
!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
codePoint < 0 || // not a valid Unicode code point
codePoint > 0x10ffff || // not a valid Unicode code point
Math.floor(codePoint) != codePoint // not an integer
) {
throw RangeError('Invalid code point: ' + codePoint)
}
if (codePoint <= 0xffff) {
// BMP code point
codeUnits.push(codePoint)
} else {
// Astral code point; split in surrogate halves
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
codePoint -= 0x10000
highSurrogate = (codePoint >> 10) + 0xd800
lowSurrogate = codePoint % 0x400 + 0xdc00
codeUnits.push(highSurrogate, lowSurrogate)
}
if (index + 1 === length || codeUnits.length > MAX_SIZE) {
result += String.fromCharCode.apply(null, codeUnits)
codeUnits.length = 0
}
}
return result
}
JomsEmoji.prototype.getIcon = function(code){
code = code.substring(1,code.length-1);
let emojiId = code;
let emojicode = "";
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res ;
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
emojicode += "&#x" + c + ";";
})
} else {
emojicode = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
return '<i contenteditable="false" shortCode="'+emojiId+'" class="joms-content1-emo2 joms-emo2 joms-emo2-'+emojiId+'">'+emojicode +'</i>'
}
JomsEmoji.prototype.getIconByUni = function(unicode){
let codepoint = this.toCodePoint(unicode).toUpperCase();
let codes =emoji_json.emojis ;
let found = false ;
$.each(codes,function(idx,code){
if(code["b"]== codepoint){
found = idx ;
return false;
}
if(code["c"]== codepoint){
found = idx ;
return false;
}
});
if(found !== false){
return this.getIcon(":"+found+":");
}
return false;
}
JomsEmoji.prototype.getCodeByUni = function(unicode){
let codepoint = this.toCodePoint(unicode).toUpperCase();
let codes =emoji_json.emojis ;
let found = false ;
$.each(codes,function(idx,code){
if(code["b"]== codepoint){
found = idx ;
return false;
}
if(code["c"]== codepoint){
found = idx ;
return false;
}
});
if(found !== false){
return ":"+found+":";
}
return false;
}
JomsEmoji.prototype.replaceEmojiElementsToText = function( element ) {
let icons = element.find("i");
if(icons.length){
_.each(icons,function(icon){
let code = $(icon).attr('shortCode');
icon.replaceWith(":"+code+":");
});
}
return element ;
},
JomsEmoji.prototype.getEmoticon = function( str ) {
var emoticons = joms.getData('joms_emo'),
codes = [],
names = [];
_.each( emoticons, function(emo, name) {
codes.unshift(emo);
names.unshift(name);
})
_.each( codes, function( code, idx ) {
_.each( code, function(c) {
let code = "";
let emojiId = names[idx] ;
if (emoji_json.emojis[emojiId]["b"].includes("-")) {
let res = "";
if(typeof emoji_json.emojis[emojiId]["c"] !== "undefined"){
res = emoji_json.emojis[emojiId]["c"].split("-");
}else{
res = emoji_json.emojis[emojiId]["b"].split("-");
}
_.each(res, function (c) {
code += "&#x" + c + ";";
})
} else {
code = "&#x" + emoji_json.emojis[emojiId]["b"] + ";"
}
str = str.replace(c, '<i contenteditable="false" class="joms-content1-emo2 joms-emo2 joms-emo2-'+names[idx]+'">'+code +'</i><br>' );
});
});
return str;
}
joms.util || (joms.util = {});
joms.util.emoji = new JomsEmoji();
});
var sheet = (function() {
// Create the <style> tag
var style = document.createElement("style");
// Add a media (and/or media query) here if you'd like!
// style.setAttribute("media", "screen")
// style.setAttribute("media", "only screen and (max-width : 1024px)")
// WebKit hack :(
style.appendChild(document.createTextNode(""));
// Add the <style> element to the page
document.head.appendChild(style);
return style.sheet;
})();
var emoji_categories_SVGs = {
recent: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z\"/><path d=\"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"/></svg>",
people: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"/><path d=\"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0\"/></svg>",
nature: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8\"/><path d=\"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235\"/></svg>",
foods: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9\"/></svg>",
activity: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113\"/></svg>",
places: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5\"/><path d=\"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z\"/></svg>",
objects: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z\"/><path d=\"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789\"/></svg>",
symbols: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76\"/></svg>",
flags:"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z\"></path></svg>"
/*custom: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><g transform=\"translate(2.000000, 1.000000)\"><rect id=\"Rectangle\" x=\"8\" y=\"0\" width=\"3\" height=\"21\" rx=\"1.5\"></rect><rect id=\"Rectangle\" transform=\"translate(9.843, 10.549) rotate(60) translate(-9.843, -10.549) \" x=\"8.343\" y=\"0.049\" width=\"3\" height=\"21\" rx=\"1.5\"></rect><rect id=\"Rectangle\" transform=\"translate(9.843, 10.549) rotate(-60) translate(-9.843, -10.549) \" x=\"8.343\" y=\"0.049\" width=\"3\" height=\"21\" rx=\"1.5\"></rect></g></svg>"*/
};
var emoji_json =
{
"compressed": true,
"categories": [
{
"id": "people",
"name": "COM_COMMUNITY_EMOJI_SMILEYS_AND_PEOPLE",
"emojis": [
"grinning",
"grin",
"joy",
"rolling_on_the_floor_laughing",
"smiley",
"smile",
"sweat_smile",
"laughing",
"wink",
"blush",
"yum",
"sunglasses",
"heart_eyes",
"kissing_heart",
"kissing",
"kissing_smiling_eyes",
"kissing_closed_eyes",
"relaxed",
"slightly_smiling_face",
"hugging_face",
"star-struck",
"thinking_face",
"face_with_raised_eyebrow",
"neutral_face",
"expressionless",
"no_mouth",
"face_with_rolling_eyes",
"smirk",
"persevere",
"disappointed_relieved",
"open_mouth",
"zipper_mouth_face",
"hushed",
"sleepy",
"tired_face",
"sleeping",
"relieved",
"stuck_out_tongue",
"stuck_out_tongue_winking_eye",
"stuck_out_tongue_closed_eyes",
"drooling_face",
"unamused",
"sweat",
"pensive",
"confused",
"upside_down_face",
"money_mouth_face",
"astonished",
"white_frowning_face",
"slightly_frowning_face",
"confounded",
"disappointed",
"worried",
"triumph",
"cry",
"sob",
"frowning",
"anguished",
"fearful",
"weary",
"exploding_head",
"grimacing",
"cold_sweat",
"scream",
"flushed",
"zany_face",
"dizzy_face",
"rage",
"angry",
"face_with_symbols_on_mouth",
"mask",
"face_with_thermometer",
"face_with_head_bandage",
"nauseated_face",
"face_vomiting",
"sneezing_face",
"innocent",
"face_with_cowboy_hat",
"clown_face",
"lying_face",
"shushing_face",
"face_with_hand_over_mouth",
"face_with_monocle",
"nerd_face",
"smiling_imp",
"imp",
"japanese_ogre",
"japanese_goblin",
"skull",
"skull_and_crossbones",
"ghost",
"alien",
"space_invader",
"robot_face",
"hankey",
"smiley_cat",
"smile_cat",
"joy_cat",
"heart_eyes_cat",
"smirk_cat",
"kissing_cat",
"scream_cat",
"crying_cat_face",
"pouting_cat",
"see_no_evil",
"hear_no_evil",
"speak_no_evil",
"baby",
"child",
"boy",
"girl",
"adult",
"man",
"woman",
"older_adult",
"older_man",
"older_woman",
"male-doctor",
"female-doctor",
"male-student",
"female-student",
"male-teacher",
"female-teacher",
"male-judge",
"female-judge",
"male-farmer",
"female-farmer",
"male-cook",
"female-cook",
"male-mechanic",
"female-mechanic",
"male-factory-worker",
"female-factory-worker",
"male-office-worker",
"female-office-worker",
"male-scientist",
"female-scientist",
"male-technologist",
"female-technologist",
"male-singer",
"female-singer",
"male-artist",
"female-artist",
"male-pilot",
"female-pilot",
"male-astronaut",
"female-astronaut",
"male-firefighter",
"female-firefighter",
"cop",
"male-police-officer",
"female-police-officer",
"sleuth_or_spy",
"male-detective",
"female-detective",
"guardsman",
"male-guard",
"female-guard",
"construction_worker",
"male-construction-worker",
"female-construction-worker",
"prince",
"princess",
"man_with_turban",
"man-wearing-turban",
"woman-wearing-turban",
"man_with_gua_pi_mao",
"person_with_headscarf",
"bearded_person",
"person_with_blond_hair",
"blond-haired-man",
"blond-haired-woman",
"man_in_tuxedo",
"bride_with_veil",
"pregnant_woman",
"breast-feeding",
"angel",
"santa",
"mrs_claus",
"mage",
"female_mage",
"male_mage",
"fairy",
"female_fairy",
"male_fairy",
"vampire",
"female_vampire",
"male_vampire",
"merperson",
"mermaid",
"merman",
"elf",
"female_elf",
"male_elf",
"genie",
"female_genie",
"male_genie",
"zombie",
"female_zombie",
"male_zombie",
"person_frowning",
"man-frowning",
"woman-frowning",
"person_with_pouting_face",
"man-pouting",
"woman-pouting",
"no_good",
"man-gesturing-no",
"woman-gesturing-no",
"ok_woman",
"man-gesturing-ok",
"woman-gesturing-ok",
"information_desk_person",
"man-tipping-hand",
"woman-tipping-hand",
"raising_hand",
"man-raising-hand",
"woman-raising-hand",
"bow",
"man-bowing",
"woman-bowing",
"face_palm",
"man-facepalming",
"woman-facepalming",
"shrug",
"man-shrugging",
"woman-shrugging",
"massage",
"man-getting-massage",
"woman-getting-massage",
"haircut",
"man-getting-haircut",
"woman-getting-haircut",
"walking",
"man-walking",
"woman-walking",
"runner",
"man-running",
"woman-running",
"dancer",
"man_dancing",
"dancers",
"man-with-bunny-ears-partying",
"woman-with-bunny-ears-partying",
"person_in_steamy_room",
"woman_in_steamy_room",
"man_in_steamy_room",
"person_climbing",
"woman_climbing",
"man_climbing",
"person_in_lotus_position",
"woman_in_lotus_position",
"man_in_lotus_position",
"bath",
"sleeping_accommodation",
"man_in_business_suit_levitating",
"speaking_head_in_silhouette",
"bust_in_silhouette",
"busts_in_silhouette",
"fencer",
"horse_racing",
"skier",
"snowboarder",
"golfer",
"man-golfing",
"woman-golfing",
"surfer",
"man-surfing",
"woman-surfing",
"rowboat",
"man-rowing-boat",
"woman-rowing-boat",
"swimmer",
"man-swimming",
"woman-swimming",
"person_with_ball",
"man-bouncing-ball",
"woman-bouncing-ball",
"weight_lifter",
"man-lifting-weights",
"woman-lifting-weights",
"bicyclist",
"man-biking",
"woman-biking",
"mountain_bicyclist",
"man-mountain-biking",
"woman-mountain-biking",
"racing_car",
"racing_motorcycle",
"person_doing_cartwheel",
"man-cartwheeling",
"woman-cartwheeling",
"wrestlers",
"man-wrestling",
"woman-wrestling",
"water_polo",
"man-playing-water-polo",
"woman-playing-water-polo",
"handball",
"man-playing-handball",
"woman-playing-handball",
"juggling",
"man-juggling",
"woman-juggling",
"couple",
"two_men_holding_hands",
"two_women_holding_hands",
"couplekiss",
"woman-kiss-man",
"man-kiss-man",
"woman-kiss-woman",
"couple_with_heart",
"woman-heart-man",
"man-heart-man",
"woman-heart-woman",
"family",
"man-woman-boy",
"man-woman-girl",
"man-woman-girl-boy",
"man-woman-boy-boy",
"man-woman-girl-girl",
"man-man-boy",
"man-man-girl",
"man-man-girl-boy",
"man-man-boy-boy",
"man-man-girl-girl",
"woman-woman-boy",
"woman-woman-girl",
"woman-woman-girl-boy",
"woman-woman-boy-boy",
"woman-woman-girl-girl",
"man-boy",
"man-boy-boy",
"man-girl",
"man-girl-boy",
"man-girl-girl",
"woman-boy",
"woman-boy-boy",
"woman-girl",
"woman-girl-boy",
"woman-girl-girl",
"selfie",
"muscle",
"point_left",
"point_right",
"point_up",
"point_up_2",
"middle_finger",
"point_down",
"v",
"crossed_fingers",
"spock-hand",
"the_horns",
"call_me_hand",
"raised_hand_with_fingers_splayed",
"hand",
"ok_hand",
"plus1",
"-1",
"fist",
"facepunch",
"left-facing_fist",
"right-facing_fist",
"raised_back_of_hand",
"wave",
"i_love_you_hand_sign",
"writing_hand",
"clap",
"open_hands",
"raised_hands",
"palms_up_together",
"pray",
"handshake",
"nail_care",
"ear",
"nose",
"footprints",
"eyes",
"eye",
"brain",
"tongue",
"lips",
"kiss",
"cupid",
"heart",
"heartbeat",
"broken_heart",
"two_hearts",
"sparkling_heart",
"heartpulse",
"blue_heart",
"green_heart",
"yellow_heart",
"orange_heart",
"purple_heart",
"black_heart",
"gift_heart",
"revolving_hearts",
"heart_decoration",
"heavy_heart_exclamation_mark_ornament",
"love_letter",
"zzz",
"anger",
"bomb",
"boom",
"sweat_drops",
"dash",
"dizzy",
"speech_balloon",
"left_speech_bubble",
"right_anger_bubble",
"thought_balloon",
"hole",
"eyeglasses",
"dark_sunglasses",
"necktie",
"shirt",
"jeans",
"scarf",
"gloves",
"coat",
"socks",
"dress",
"kimono",
"bikini",
"womans_clothes",
"purse",
"handbag",
"pouch",
"shopping_bags",
"school_satchel",
"mans_shoe",
"athletic_shoe",
"high_heel",
"sandal",
"boot",
"crown",
"womans_hat",
"tophat",
"mortar_board",
"billed_cap",
"helmet_with_white_cross",
"prayer_beads",
"lipstick",
"ring",
"gem",
"cold"
]
},
{
"id": "nature",
"name": "COM_COMMUNITY_EMOJI_ANIMALS_AND_NATURE",
"emojis": [
"monkey_face",
"monkey",
"gorilla",
"dog",
"dog2",
"poodle",
"wolf",
"fox_face",
"cat",
"cat2",
"lion_face",
"tiger",
"tiger2",
"leopard",
"horse",
"racehorse",
"unicorn_face",
"zebra_face",
"deer",
"cow",
"ox",
"water_buffalo",
"cow2",
"pig",
"pig2",
"boar",
"pig_nose",
"ram",
"sheep",
"goat",
"dromedary_camel",
"camel",
"giraffe_face",
"elephant",
"rhinoceros",
"mouse",
"mouse2",
"rat",
"hamster",
"rabbit",
"rabbit2",
"chipmunk",
"hedgehog",
"bat",
"bear",
"koala",
"panda_face",
"feet",
"turkey",
"chicken",
"rooster",
"hatching_chick",
"baby_chick",
"hatched_chick",
"bird",
"penguin",
"dove_of_peace",
"eagle",
"duck",
"owl",
"frog",
"crocodile",
"turtle",
"lizard",
"snake",
"dragon_face",
"dragon",
"sauropod",
"t-rex",
"whale",
"whale2",
"dolphin",
"fish",
"tropical_fish",
"blowfish",
"shark",
"octopus",
"shell",
"crab",
"shrimp",
"squid",
"snail",
"butterfly",
"bug",
"ant",
"bee",
"beetle",
"cricket",
"spider",
"spider_web",
"scorpion",
"bouquet",
"cherry_blossom",
"white_flower",
"rosette",
"rose",
"wilted_flower",
"hibiscus",
"sunflower",
"blossom",
"tulip",
"seedling",
"evergreen_tree",
"deciduous_tree",
"palm_tree",
"cactus",
"ear_of_rice",
"herb",
"shamrock",
"four_leaf_clover",
"maple_leaf",
"fallen_leaf",
"leaves"
]
},
{
"id": "foods",
"name": "COM_COMMUNITY_EMOJI_FOOD_AND_DRINK",
"emojis": [
"grapes",
"melon",
"watermelon",
"tangerine",
"lemon",
"banana",
"pineapple",
"apple",
"green_apple",
"pear",
"peach",
"cherries",
"strawberry",
"kiwifruit",
"tomato",
"coconut",
"avocado",
"eggplant",
"potato",
"carrot",
"corn",
"hot_pepper",
"cucumber",
"broccoli",
"mushroom",
"peanuts",
"chestnut",
"bread",
"croissant",
"baguette_bread",
"pretzel",
"pancakes",
"cheese_wedge",
"meat_on_bone",
"poultry_leg",
"cut_of_meat",
"bacon",
"hamburger",
"fries",
"pizza",
"hotdog",
"sandwich",
"taco",
"burrito",
"stuffed_flatbread",
"egg",
"fried_egg",
"shallow_pan_of_food",
"stew",
"bowl_with_spoon",
"green_salad",
"popcorn",
"canned_food",
"bento",
"rice_cracker",
"rice_ball",
"rice",
"curry",
"ramen",
"spaghetti",
"sweet_potato",
"oden",
"sushi",
"fried_shrimp",
"fish_cake",
"dango",
"dumpling",
"fortune_cookie",
"takeout_box",
"icecream",
"shaved_ice",
"ice_cream",
"doughnut",
"cookie",
"birthday",
"cake",
"pie",
"chocolate_bar",
"candy",
"lollipop",
"custard",
"honey_pot",
"baby_bottle",
"glass_of_milk",
"coffee",
"tea",
"sake",
"champagne",
"wine_glass",
"cocktail",
"tropical_drink",
"beer",
"beers",
"clinking_glasses",
"tumbler_glass",
"cup_with_straw",
"chopsticks",
"knife_fork_plate",
"fork_and_knife",
"spoon",
"hocho",
"amphora"
]
},
{
"id": "activity",
"name": "COM_COMMUNITY_EMOJI_ACTIVITIES",
"emojis": [
"jack_o_lantern",
"christmas_tree",
"fireworks",
"sparkler",
"sparkles",
"balloon",
"tada",
"confetti_ball",
"tanabata_tree",
"bamboo",
"dolls",
"flags",
"wind_chime",
"rice_scene",
"ribbon",
"gift",
"reminder_ribbon",
"admission_tickets",
"ticket",
"medal",
"trophy",
"sports_medal",
"first_place_medal",
"second_place_medal",
"third_place_medal",
"soccer",
"baseball",
"basketball",
"volleyball",
"football",
"rugby_football",
"tennis",
"8ball",
"bowling",
"cricket_bat_and_ball",
"field_hockey_stick_and_ball",
"ice_hockey_stick_and_puck",
"table_tennis_paddle_and_ball",
"badminton_racquet_and_shuttlecock",
"boxing_glove",
"martial_arts_uniform",
"goal_net",
"dart",
"golf",
"ice_skate",
"fishing_pole_and_fish",
"running_shirt_with_sash",
"ski",
"sled",
"curling_stone",
"video_game",
"joystick",
"game_die",
"spades",
"hearts",
"diamonds",
"clubs",
"black_joker",
"mahjong",
"flower_playing_cards"
]
},
{
"id": "places",
"name": "COM_COMMUNITY_EMOJI_TRAVEL_AND_PLACES",
"emojis": [
"earth_africa",
"earth_americas",
"earth_asia",
"globe_with_meridians",
"world_map",
"japan",
"snow_capped_mountain",
"mountain",
"volcano",
"mount_fuji",
"camping",
"beach_with_umbrella",
"desert",
"desert_island",
"national_park",
"stadium",
"classical_building",
"building_construction",
"house_buildings",
"cityscape",
"derelict_house_building",
"house",
"house_with_garden",
"office",
"post_office",
"european_post_office",
"hospital",
"bank",
"hotel",
"love_hotel",
"convenience_store",
"school",
"department_store",
"factory",
"japanese_castle",
"european_castle",
"wedding",
"tokyo_tower",
"statue_of_liberty",
"church",
"mosque",
"synagogue",
"shinto_shrine",
"kaaba",
"fountain",
"tent",
"foggy",
"night_with_stars",
"sunrise_over_mountains",
"sunrise",
"city_sunset",
"city_sunrise",
"bridge_at_night",
"hotsprings",
"milky_way",
"carousel_horse",
"ferris_wheel",
"roller_coaster",
"barber",
"circus_tent",
"performing_arts",
"frame_with_picture",
"art",
"slot_machine",
"steam_locomotive",
"railway_car",
"bullettrain_side",
"bullettrain_front",
"train2",
"metro",
"light_rail",
"station",
"tram",
"monorail",
"mountain_railway",
"train",
"bus",
"oncoming_bus",
"trolleybus",
"minibus",
"ambulance",
"fire_engine",
"police_car",
"oncoming_police_car",
"taxi",
"oncoming_taxi",
"car",
"oncoming_automobile",
"blue_car",
"truck",
"articulated_lorry",
"tractor",
"bike",
"scooter",
"motor_scooter",
"busstop",
"motorway",
"railway_track",
"fuelpump",
"rotating_light",
"traffic_light",
"vertical_traffic_light",
"construction",
"octagonal_sign",
"anchor",
"boat",
"canoe",
"speedboat",
"passenger_ship",
"ferry",
"motor_boat",
"ship",
"airplane",
"small_airplane",
"airplane_departure",
"airplane_arriving",
"seat",
"helicopter",
"suspension_railway",
"mountain_cableway",
"aerial_tramway",
"satellite",
"rocket",
"flying_saucer",
"bellhop_bell",
"door",
"bed",
"couch_and_lamp",
"toilet",
"shower",
"bathtub",
"hourglass",
"hourglass_flowing_sand",
"watch",
"alarm_clock",
"stopwatch",
"timer_clock",
"mantelpiece_clock",
"clock12",
"clock1230",
"clock1",
"clock130",
"clock2",
"clock230",
"clock3",
"clock330",
"clock4",
"clock430",
"clock5",
"clock530",
"clock6",
"clock630",
"clock7",
"clock730",
"clock8",
"clock830",
"clock9",
"clock930",
"clock10",
"clock1030",
"clock11",
"clock1130",
"new_moon",
"waxing_crescent_moon",
"first_quarter_moon",
"moon",
"full_moon",
"waning_gibbous_moon",
"last_quarter_moon",
"waning_crescent_moon",
"crescent_moon",
"new_moon_with_face",
"first_quarter_moon_with_face",
"last_quarter_moon_with_face",
"thermometer",
"sunny",
"full_moon_with_face",
"sun_with_face",
"star",
"star2",
"stars",
"cloud",
"partly_sunny",
"thunder_cloud_and_rain",
"mostly_sunny",
"barely_sunny",
"partly_sunny_rain",
"rain_cloud",
"snow_cloud",
"lightning",
"tornado",
"fog",
"wind_blowing_face",
"cyclone",
"rainbow",
"closed_umbrella",
"umbrella",
"umbrella_with_rain_drops",
"umbrella_on_ground",
"zap",
"snowflake",
"snowman",
"snowman_without_snow",
"comet",
"fire",
"droplet",
"ocean"
]
},
{
"id": "objects",
"name": "COM_COMMUNITY_EMOJI_OBJECTS",
"emojis": [
"mute",
"speaker",
"sound",
"loud_sound",
"loudspeaker",
"mega",
"postal_horn",
"bell",
"no_bell",
"musical_score",
"musical_note",
"notes",
"studio_microphone",
"level_slider",
"control_knobs",
"microphone",
"headphones",
"radio",
"saxophone",
"guitar",
"musical_keyboard",
"trumpet",
"violin",
"drum_with_drumsticks",
"iphone",
"calling",
"phone",
"telephone_receiver",
"pager",
"fax",
"battery",
"electric_plug",
"computer",
"desktop_computer",
"printer",
"keyboard",
"three_button_mouse",
"trackball",
"minidisc",
"floppy_disk",
"cd",
"dvd",
"movie_camera",
"film_frames",
"film_projector",
"clapper",
"tv",
"camera",
"camera_with_flash",
"video_camera",
"vhs",
"mag",
"mag_right",
"microscope",
"telescope",
"satellite_antenna",
"candle",
"bulb",
"flashlight",
"izakaya_lantern",
"notebook_with_decorative_cover",
"closed_book",
"book",
"green_book",
"blue_book",
"orange_book",
"books",
"notebook",
"ledger",
"page_with_curl",
"scroll",
"page_facing_up",
"newspaper",
"rolled_up_newspaper",
"bookmark_tabs",
"bookmark",
"label",
"moneybag",
"yen",
"dollar",
"euro",
"pound",
"money_with_wings",
"credit_card",
"chart",
"currency_exchange",
"heavy_dollar_sign",
"email",
"e-mail",
"incoming_envelope",
"envelope_with_arrow",
"outbox_tray",
"inbox_tray",
"package",
"mailbox",
"mailbox_closed",
"mailbox_with_mail",
"mailbox_with_no_mail",
"postbox",
"ballot_box_with_ballot",
"pencil2",
"black_nib",
"lower_left_fountain_pen",
"lower_left_ballpoint_pen",
"lower_left_paintbrush",
"lower_left_crayon",
"memo",
"briefcase",
"file_folder",
"open_file_folder",
"card_index_dividers",
"date",
"calendar",
"spiral_note_pad",
"spiral_calendar_pad",
"card_index",
"chart_with_upwards_trend",
"chart_with_downwards_trend",
"bar_chart",
"clipboard",
"pushpin",
"round_pushpin",
"paperclip",
"linked_paperclips",
"straight_ruler",
"triangular_ruler",
"scissors",
"card_file_box",
"file_cabinet",
"wastebasket",
"lock",
"unlock",
"lock_with_ink_pen",
"closed_lock_with_key",
"key",
"old_key",
"hammer",
"pick",
"hammer_and_pick",
"hammer_and_wrench",
"dagger_knife",
"crossed_swords",
"gun",
"bow_and_arrow",
"shield",
"wrench",
"nut_and_bolt",
"gear",
"compression",
"alembic",
"scales",
"link",
"chains",
"syringe",
"pill",
"smoking",
"coffin",
"funeral_urn",
"moyai",
"oil_drum",
"crystal_ball",
"shopping_trolley"
]
},
{
"id": "symbols",
"name": "COM_COMMUNITY_EMOJI_SYMBOLS",
"emojis": [
"atm",
"put_litter_in_its_place",
"potable_water",
"wheelchair",
"mens",
"womens",
"restroom",
"baby_symbol",
"wc",
"passport_control",
"customs",
"baggage_claim",
"left_luggage",
"warning",
"children_crossing",
"no_entry",
"no_entry_sign",
"no_bicycles",
"no_smoking",
"do_not_litter",
"non-potable_water",
"no_pedestrians",
"no_mobile_phones",
"underage",
"radioactive_sign",
"biohazard_sign",
"arrow_up",
"arrow_upper_right",
"arrow_right",
"arrow_lower_right",
"arrow_down",
"arrow_lower_left",
"arrow_left",
"arrow_upper_left",
"arrow_up_down",
"left_right_arrow",
"leftwards_arrow_with_hook",
"arrow_right_hook",
"arrow_heading_up",
"arrow_heading_down",
"arrows_clockwise",
"arrows_counterclockwise",
"back",
"end",
"on",
"soon",
"top",
"place_of_worship",
"atom_symbol",
"om_symbol",
"star_of_david",
"wheel_of_dharma",
"yin_yang",
"latin_cross",
"orthodox_cross",
"star_and_crescent",
"peace_symbol",
"menorah_with_nine_branches",
"six_pointed_star",
"aries",
"taurus",
"gemini",
"cancer",
"leo",
"virgo",
"libra",
"scorpius",
"sagittarius",
"capricorn",
"aquarius",
"pisces",
"ophiuchus",
"twisted_rightwards_arrows",
"repeat",
"repeat_one",
"arrow_forward",
"fast_forward",
"black_right_pointing_double_triangle_with_vertical_bar",
"black_right_pointing_triangle_with_double_vertical_bar",
"arrow_backward",
"rewind",
"black_left_pointing_double_triangle_with_vertical_bar",
"arrow_up_small",
"arrow_double_up",
"arrow_down_small",
"arrow_double_down",
"double_vertical_bar",
"black_square_for_stop",
"black_circle_for_record",
"eject",
"cinema",
"low_brightness",
"high_brightness",
"signal_strength",
"vibration_mode",
"mobile_phone_off",
"female_sign",
"male_sign",
"medical_symbol",
"recycle",
"fleur_de_lis",
"trident",
"name_badge",
"beginner",
"o",
"white_check_mark",
"ballot_box_with_check",
"heavy_check_mark",
"heavy_multiplication_x",
"x",
"negative_squared_cross_mark",
"heavy_plus_sign",
"heavy_minus_sign",
"heavy_division_sign",
"curly_loop",
"loop",
"part_alternation_mark",
"eight_spoked_asterisk",
"eight_pointed_black_star",
"sparkle",
"bangbang",
"interrobang",
"question",
"grey_question",
"grey_exclamation",
"exclamation",
"wavy_dash",
"tm",
"hash",
"keycap_star",
"zero",
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine",
"keycap_ten",
"hundred",
"capital_abcd",
"abcd",
"numbers",
"symbols",
"abc",
"a",
"ab",
"b",
"cl",
"cool",
"free",
"information_source",
"id",
"m",
"new",
"ng",
"o2",
"ok",
"parking",
"sos",
"up",
"vs",
"koko",
"sa",
"u6708",
"u6709",
"u6307",
"ideograph_advantage",
"u5272",
"u7121",
"u7981",
"accept",
"u7533",
"u5408",
"u7a7a",
"congratulations",
"secret",
"u55b6",
"u6e80",
"black_small_square",
"white_small_square",
"white_medium_square",
"black_medium_square",
"white_medium_small_square",
"black_medium_small_square",
"black_large_square",
"white_large_square",
"large_orange_diamond",
"large_blue_diamond",
"small_orange_diamond",
"small_blue_diamond",
"small_red_triangle",
"small_red_triangle_down",
"diamond_shape_with_a_dot_inside",
"radio_button",
"black_square_button",
"white_square_button",
"white_circle",
"black_circle",
"red_circle",
"large_blue_circle"
]
},
{
"id": "flags",
"name": "COM_COMMUNITY_EMOJI_FLAGS",
"emojis": [
"checkered_flag",
"cn",
"crossed_flags",
"de",
"es",
"flag-ac",
"flag-ad",
"flag-ae",
"flag-af",
"flag-ag",
"flag-ai",
"flag-al",
"flag-am",
"flag-ao",
"flag-aq",
"flag-ar",
"flag-as",
"flag-at",
"flag-au",
"flag-aw",
"flag-ax",
"flag-az",
"flag-ba",
"flag-bb",
"flag-bd",
"flag-be",
"flag-bf",
"flag-bg",
"flag-bh",
"flag-bi",
"flag-bj",
"flag-bl",
"flag-bm",
"flag-bn",
"flag-bo",
"flag-bq",
"flag-br",
"flag-bs",
"flag-bt",
"flag-bv",
"flag-bw",
"flag-by",
"flag-bz",
"flag-ca",
"flag-cc",
"flag-cd",
"flag-cf",
"flag-cg",
"flag-ch",
"flag-ci",
"flag-ck",
"flag-cl",
"flag-cm",
"flag-co",
"flag-cp",
"flag-cr",
"flag-cu",
"flag-cv",
"flag-cw",
"flag-cx",
"flag-cy",
"flag-cz",
"flag-dg",
"flag-dj",
"flag-dk",
"flag-dm",
"flag-do",
"flag-dz",
"flag-ea",
"flag-ec",
"flag-ee",
"flag-eg",
"flag-eh",
"flag-england",
"flag-er",
"flag-et",
"flag-eu",
"flag-fi",
"flag-fj",
"flag-fk",
"flag-fm",
"flag-fo",
"flag-ga",
"flag-gd",
"flag-ge",
"flag-gf",
"flag-gg",
"flag-gh",
"flag-gi",
"flag-gl",
"flag-gm",
"flag-gn",
"flag-gp",
"flag-gq",
"flag-gr",
"flag-gs",
"flag-gt",
"flag-gu",
"flag-gw",
"flag-gy",
"flag-hk",
"flag-hm",
"flag-hn",
"flag-hr",
"flag-ht",
"flag-hu",
"flag-ic",
"flag-id",
"flag-ie",
"flag-il",
"flag-im",
"flag-in",
"flag-io",
"flag-iq",
"flag-ir",
"flag-is",
"flag-je",
"flag-jm",
"flag-jo",
"flag-ke",
"flag-kg",
"flag-kh",
"flag-ki",
"flag-km",
"flag-kn",
"flag-kp",
"flag-kw",
"flag-ky",
"flag-kz",
"flag-la",
"flag-lb",
"flag-lc",
"flag-li",
"flag-lk",
"flag-lr",
"flag-ls",
"flag-lt",
"flag-lu",
"flag-lv",
"flag-ly",
"flag-ma",
"flag-mc",
"flag-md",
"flag-me",
"flag-mf",
"flag-mg",
"flag-mh",
"flag-mk",
"flag-ml",
"flag-mm",
"flag-mn",
"flag-mo",
"flag-mp",
"flag-mq",
"flag-mr",
"flag-ms",
"flag-mt",
"flag-mu",
"flag-mv",
"flag-mw",
"flag-mx",
"flag-my",
"flag-mz",
"flag-na",
"flag-nc",
"flag-ne",
"flag-nf",
"flag-ng",
"flag-ni",
"flag-nl",
"flag-no",
"flag-np",
"flag-nr",
"flag-nu",
"flag-nz",
"flag-om",
"flag-pa",
"flag-pe",
"flag-pf",
"flag-pg",
"flag-ph",
"flag-pk",
"flag-pl",
"flag-pm",
"flag-pn",
"flag-pr",
"flag-ps",
"flag-pt",
"flag-pw",
"flag-py",
"flag-qa",
"flag-re",
"flag-ro",
"flag-rs",
"flag-rw",
"flag-sa",
"flag-sb",
"flag-sc",
"flag-scotland",
"flag-sd",
"flag-se",
"flag-sg",
"flag-sh",
"flag-si",
"flag-sj",
"flag-sk",
"flag-sl",
"flag-sm",
"flag-sn",
"flag-so",
"flag-sr",
"flag-ss",
"flag-st",
"flag-sv",
"flag-sx",
"flag-sy",
"flag-sz",
"flag-ta",
"flag-tc",
"flag-td",
"flag-tf",
"flag-tg",
"flag-th",
"flag-tj",
"flag-tk",
"flag-tl",
"flag-tm",
"flag-tn",
"flag-to",
"flag-tr",
"flag-tt",
"flag-tv",
"flag-tw",
"flag-tz",
"flag-ua",
"flag-ug",
"flag-um",
"flag-uy",
"flag-uz",
"flag-va",
"flag-vc",
"flag-ve",
"flag-vg",
"flag-vi",
"flag-vn",
"flag-vu",
"flag-wales",
"flag-wf",
"flag-ws",
"flag-xk",
"flag-ye",
"flag-yt",
"flag-za",
"flag-zm",
"flag-zw",
"fr",
"gb",
"it",
"jp",
"kr",
"rainbow-flag",
"ru",
"triangular_flag_on_post",
"us",
"waving_black_flag",
"waving_white_flag"
]
}
],
"emojis": {
"hundred": {
"a": "Hundred Points Symbol",
"b": "1F4AF",
"j": [
"score",
"perfect",
"numbers",
"century",
"exam",
"quiz",
"test",
"pass",
"hundred"
],
"k": [
25,
26
]
},
"cold": {
"a": "Freezing Face",
"b": "1F976",
"j": [
"freezing",
"freeze",
"cold",
],
"k": [
51,
28
]
},
"numbers": {
"a": "Input Symbol for Numbers",
"b": "1F522",
"j": [
"numbers",
"blue-square"
],
"k": [
27,
36
]
},
"monkey_face": {
"a": "Monkey Face",
"b": "1F435",
"j": [
"animal",
"nature",
"circus"
],
"k": [
13,
31
],
"l": [
":o)"
]
},
"grinning": {
"a": "Grinning Face",
"b": "1F600",
"j": [
"face",
"smile",
"happy",
"joy",
":D",
"grin"
],
"k": [
30,
24
],
"m": ":D"
},
"earth_africa": {
"a": "Earth Globe Europe-Africa",
"b": "1F30D",
"j": [
"globe",
"world",
"international"
],
"k": [
6,
5
]
},
"checkered_flag": {
"a": "Chequered Flag",
"b": "1F3C1",
"j": [
"contest",
"finishline",
"race",
"gokart"
],
"k": [
9,
27
]
},
"mute": {
"a": "Speaker with Cancellation Stroke",
"b": "1F507",
"j": [
"sound",
"volume",
"silence",
"quiet"
],
"k": [
27,
9
]
},
"jack_o_lantern": {
"a": "Jack-O-Lantern",
"b": "1F383",
"j": [
"halloween",
"light",
"pumpkin",
"creepy",
"fall"
],
"k": [
8,
17
]
},
"atm": {
"a": "Automated Teller Machine",
"b": "1F3E7",
"j": [
"money",
"sales",
"cash",
"blue-square",
"payment",
"bank"
],
"k": [
12,
4
]
},
"grapes": {
"a": "Grapes",
"b": "1F347",
"j": [
"fruit",
"food",
"wine"
],
"k": [
7,
9
]
},
"earth_americas": {
"a": "Earth Globe Americas",
"b": "1F30E",
"j": [
"globe",
"world",
"USA",
"international"
],
"k": [
6,
6
]
},
"grin": {
"a": "Grinning Face with Smiling Eyes",
"b": "1F601",
"j": [
"face",
"happy",
"smile",
"joy",
"kawaii"
],
"k": [
30,
25
]
},
"melon": {
"a": "Melon",
"b": "1F348",
"j": [
"fruit",
"nature",
"food"
],
"k": [
7,
10
]
},
"triangular_flag_on_post": {
"a": "Triangular Flag on Post",
"b": "1F6A9",
"j": [
"mark",
"milestone",
"place"
],
"k": [
35,
14
]
},
"monkey": {
"a": "Monkey",
"b": "1F412",
"j": [
"animal",
"nature",
"banana",
"circus"
],
"k": [
12,
48
]
},
"christmas_tree": {
"a": "Christmas Tree",
"b": "1F384",
"j": [
"festival",
"vacation",
"december",
"xmas",
"celebration"
],
"k": [
8,
18
]
},
"put_litter_in_its_place": {
"a": "Put Litter in Its Place Symbol",
"b": "1F6AE",
"j": [
"blue-square",
"sign",
"human",
"info"
],
"k": [
35,
19
]
},
"speaker": {
"a": "Speaker",
"b": "1F508",
"j": [
"sound",
"volume",
"silence",
"broadcast"
],
"k": [
27,
10
]
},
"earth_asia": {
"a": "Earth Globe Asia-Australia",
"b": "1F30F",
"j": [
"globe",
"world",
"east",
"international"
],
"k": [
6,
7
]
},
"crossed_flags": {
"a": "Crossed Flags",
"b": "1F38C",
"j": [
"japanese",
"nation",
"country",
"border"
],
"k": [
8,
31
]
},
"joy": {
"a": "Face with Tears of Joy",
"b": "1F602",
"j": [
"face",
"cry",
"tears",
"weep",
"happy",
"happytears",
"haha"
],
"k": [
30,
26
]
},
"sound": {
"a": "Speaker with One Sound Wave",
"b": "1F509",
"j": [
"volume",
"speaker",
"broadcast"
],
"k": [
27,
11
]
},
"watermelon": {
"a": "Watermelon",
"b": "1F349",
"j": [
"fruit",
"food",
"picnic",
"summer"
],
"k": [
7,
11
]
},
"gorilla": {
"a": "Gorilla",
"b": "1F98D",
"j": [
"animal",
"nature",
"circus"
],
"k": [
42,
37
],
"o": 9
},
"fireworks": {
"a": "Fireworks",
"b": "1F386",
"j": [
"photo",
"festival",
"carnival",
"congratulations"
],
"k": [
8,
25
]
},
"potable_water": {
"a": "Potable Water Symbol",
"b": "1F6B0",
"j": [
"blue-square",
"liquid",
"restroom",
"cleaning",
"faucet"
],
"k": [
35,
21
]
},
"wheelchair": {
"a": "Wheelchair Symbol",
"b": "267F",
"j": [
"blue-square",
"disabled",
"a11y",
"accessibility"
],
"k": [
48,
10
],
"o": 4
},
"rolling_on_the_floor_laughing": {
"a": "Rolling on the Floor Laughing",
"b": "1F923",
"k": [
38,
26
],
"o": 9
},
"loud_sound": {
"a": "Speaker with Three Sound Waves",
"b": "1F50A",
"j": [
"volume",
"noise",
"noisy",
"speaker",
"broadcast"
],
"k": [
27,
12
]
},
"waving_black_flag": {
"a": "Waving Black Flag",
"b": "1F3F4",
"k": [
12,
19
],
"o": 7
},
"tangerine": {
"a": "Tangerine",
"b": "1F34A",
"j": [
"food",
"fruit",
"nature",
"orange"
],
"k": [
7,
12
]
},
"dog": {
"a": "Dog Face",
"b": "1F436",
"j": [
"animal",
"friend",
"nature",
"woof",
"puppy",
"pet",
"faithful"
],
"k": [
13,
32
]
},
"sparkler": {
"a": "Firework Sparkler",
"b": "1F387",
"j": [
"stars",
"night",
"shine"
],
"k": [
8,
26
]
},
"globe_with_meridians": {
"a": "Globe with Meridians",
"b": "1F310",
"j": [
"earth",
"international",
"world",
"internet",
"interweb",
"i18n"
],
"k": [
6,
8
]
},
"smiley": {
"a": "Smiling Face with Open Mouth",
"b": "1F603",
"j": [
"face",
"happy",
"joy",
"haha",
":D",
":)",
"smile",
"funny"
],
"k": [
30,
27
],
"l": [
"=)",
"=-)"
],
"m": ":)"
},
"loudspeaker": {
"a": "Public Address Loudspeaker",
"b": "1F4E2",
"j": [
"volume",
"sound"
],
"k": [
26,
25
]
},
"sparkles": {
"a": "Sparkles",
"b": "2728",
"j": [
"stars",
"shine",
"shiny",
"cool",
"awesome",
"good",
"magic"
],
"k": [
49,
48
]
},
"dog2": {
"a": "Dog",
"b": "1F415",
"j": [
"animal",
"nature",
"friend",
"doge",
"pet",
"faithful"
],
"k": [
12,
51
]
},
"waving_white_flag": {
"a": "Waving White Flag",
"b": "1F3F3-FE0F",
"c": "1F3F3",
"k": [
12,
15
],
"o": 7
},
"world_map": {
"a": "World Map",
"b": "1F5FA-FE0F",
"c": "1F5FA",
"j": [
"location",
"direction"
],
"k": [
30,
18
],
"o": 7
},
"lemon": {
"a": "Lemon",
"b": "1F34B",
"j": [
"fruit",
"nature"
],
"k": [
7,
13
]
},
"mens": {
"a": "Mens Symbol",
"b": "1F6B9",
"j": [
"toilet",
"restroom",
"wc",
"blue-square",
"gender",
"male"
],
"k": [
36,
29
]
},
"womens": {
"a": "Womens Symbol",
"b": "1F6BA",
"j": [
"purple-square",
"woman",
"female",
"toilet",
"loo",
"restroom",
"gender"
],
"k": [
36,
30
]
},
"rainbow-flag": {
"a": "Rainbow Flag",
"b": "1F3F3-FE0F-200D-1F308",
"c": "1F3F3-200D-1F308",
"k": [
12,
14
],
"o": 7
},
"smile": {
"a": "Smiling Face with Open Mouth and Smiling Eyes",
"b": "1F604",
"j": [
"face",
"happy",
"joy",
"funny",
"haha",
"laugh",
"like",
":D",
":)"
],
"k": [
30,
28
],
"l": [
"C:",
"c:",
":D",
":-D"
],
"m": ":)"
},
"banana": {
"a": "Banana",
"b": "1F34C",
"j": [
"fruit",
"food",
"monkey"
],
"k": [
7,
14
]
},
"mega": {
"a": "Cheering Megaphone",
"b": "1F4E3",
"j": [
"sound",
"speaker",
"volume"
],
"k": [
26,
26
]
},
"japan": {
"a": "Silhouette of Japan",
"b": "1F5FE",
"j": [
"nation",
"country",
"japanese",
"asia"
],
"k": [
30,
22
]
},
"poodle": {
"a": "Poodle",
"b": "1F429",
"j": [
"dog",
"animal",
"101",
"nature",
"pet"
],
"k": [
13,
19
]
},
"balloon": {
"a": "Balloon",
"b": "1F388",
"j": [
"party",
"celebration",
"birthday",
"circus"
],
"k": [
8,
27
]
},
"flag-ac": {
"a": "Ascension Island Flag",
"b": "1F1E6-1F1E8",
"k": [
0,
31
]
},
"sweat_smile": {
"a": "Smiling Face with Open Mouth and Cold Sweat",
"b": "1F605",
"j": [
"face",
"hot",
"happy",
"laugh",
"sweat",
"smile",
"relief"
],
"k": [
30,
29
]
},
"pineapple": {
"a": "Pineapple",
"b": "1F34D",
"j": [
"fruit",
"nature",
"food"
],
"k": [
7,
15
]
},
"restroom": {
"a": "Restroom",
"b": "1F6BB",
"j": [
"blue-square",
"toilet",
"refresh",
"wc",
"gender"
],
"k": [
36,
31
]
},
"postal_horn": {
"a": "Postal Horn",
"b": "1F4EF",
"j": [
"instrument",
"music"
],
"k": [
26,
38
]
},
"wolf": {
"a": "Wolf Face",
"b": "1F43A",
"j": [
"animal",
"nature",
"wild"
],
"k": [
13,
36
]
},
"tada": {
"a": "Party Popper",
"b": "1F389",
"j": [
"party",
"congratulations",
"birthday",
"magic",
"circus",
"celebration"
],
"k": [
8,
28
]
},
"snow_capped_mountain": {
"a": "Snow Capped Mountain",
"b": "1F3D4-FE0F",
"c": "1F3D4",
"k": [
11,
37
],
"o": 7
},
"laughing": {
"a": "Smiling Face with Open Mouth and Tightly-Closed Eyes",
"b": "1F606",
"j": [
"happy",
"joy",
"lol",
"satisfied",
"haha",
"face",
"glad",
"XD",
"laugh"
],
"k": [
30,
30
],
"l": [
":>",
":->"
],
"n": [
"satisfied"
]
},
"apple": {
"a": "Red Apple",
"b": "1F34E",
"j": [
"fruit",
"mac",
"school"
],
"k": [
7,
16
]
},
"flag-ad": {
"a": "Andorra Flag",
"b": "1F1E6-1F1E9",
"k": [
0,
32
]
},
"fox_face": {
"a": "Fox Face",
"b": "1F98A",
"j": [
"animal",
"nature",
"face"
],
"k": [
42,
34
],
"o": 9
},
"confetti_ball": {
"a": "Confetti Ball",
"b": "1F38A",
"j": [
"festival",
"party",
"birthday",
"circus"
],
"k": [
8,
29
]
},
"bell": {
"a": "Bell",
"b": "1F514",
"j": [
"sound",
"notification",
"christmas",
"xmas",
"chime"
],
"k": [
27,
22
]
},
"mountain": {
"a": "Mountain",
"b": "26F0-FE0F",
"c": "26F0",
"j": [
"photo",
"nature",
"environment"
],
"k": [
48,
38
],
"o": 5
},
"baby_symbol": {
"a": "Baby Symbol",
"b": "1F6BC",
"j": [
"orange-square",
"child"
],
"k": [
36,
32
]
},
"wc": {
"a": "Water Closet",
"b": "1F6BE",
"j": [
"toilet",
"restroom",
"blue-square"
],
"k": [
36,
34
]
},
"wink": {
"a": "Winking Face",
"b": "1F609",
"j": [
"face",
"happy",
"mischievous",
"secret",
";)",
"smile",
"eye"
],
"k": [
30,
33
],
"l": [
";)",
";-)"
],
"m": ";)"
},
"no_bell": {
"a": "Bell with Cancellation Stroke",
"b": "1F515",
"j": [
"sound",
"volume",
"mute",
"quiet",
"silent"
],
"k": [
27,
23
]
},
"green_apple": {
"a": "Green Apple",
"b": "1F34F",
"j": [
"fruit",
"nature"
],
"k": [
7,
17
]
},
"tanabata_tree": {
"a": "Tanabata Tree",
"b": "1F38B",
"j": [
"plant",
"nature",
"branch",
"summer"
],
"k": [
8,
30
]
},
"flag-ae": {
"a": "United Arab Emirates Flag",
"b": "1F1E6-1F1EA",
"k": [
0,
33
]
},
"volcano": {
"a": "Volcano",
"b": "1F30B",
"j": [
"photo",
"nature",
"disaster"
],
"k": [
6,
3
]
},
"cat": {
"a": "Cat Face",
"b": "1F431",
"j": [
"animal",
"meow",
"nature",
"pet",
"kitten"
],
"k": [
13,
27
]
},
"flag-af": {
"a": "Afghanistan Flag",
"b": "1F1E6-1F1EB",
"k": [
0,
34
]
},
"musical_score": {
"a": "Musical Score",
"b": "1F3BC",
"j": [
"treble",
"clef",
"compose"
],
"k": [
9,
22
]
},
"blush": {
"a": "Smiling Face with Smiling Eyes",
"b": "1F60A",
"j": [
"face",
"smile",
"happy",
"flushed",
"crush",
"embarrassed",
"shy",
"joy"
],
"k": [
30,
34
],
"m": ":)"
},
"pear": {
"a": "Pear",
"b": "1F350",
"j": [
"fruit",
"nature",
"food"
],
"k": [
7,
18
]
},
"bamboo": {
"a": "Pine Decoration",
"b": "1F38D",
"j": [
"plant",
"nature",
"vegetable",
"panda",
"pine_decoration"
],
"k": [
8,
32
]
},
"passport_control": {
"a": "Passport Control",
"b": "1F6C2",
"j": [
"custom",
"blue-square"
],
"k": [
36,
43
]
},
"mount_fuji": {
"a": "Mount Fuji",
"b": "1F5FB",
"j": [
"photo",
"mountain",
"nature",
"japanese"
],
"k": [
30,
19
]
},
"cat2": {
"a": "Cat",
"b": "1F408",
"j": [
"animal",
"meow",
"pet",
"cats"
],
"k": [
12,
38
]
},
"musical_note": {
"a": "Musical Note",
"b": "1F3B5",
"j": [
"score",
"tone",
"sound"
],
"k": [
9,
15
]
},
"dolls": {
"a": "Japanese Dolls",
"b": "1F38E",
"j": [
"japanese",
"toy",
"kimono"
],
"k": [
8,
33
]
},
"lion_face": {
"a": "Lion Face",
"b": "1F981",
"k": [
42,
25
],
"o": 8
},
"camping": {
"a": "Camping",
"b": "1F3D5-FE0F",
"c": "1F3D5",
"j": [
"photo",
"outdoors",
"tent"
],
"k": [
11,
38
],
"o": 7
},
"flag-ag": {
"a": "Antigua & Barbuda Flag",
"b": "1F1E6-1F1EC",
"k": [
0,
35
]
},
"customs": {
"a": "Customs",
"b": "1F6C3",
"j": [
"passport",
"border",
"blue-square"
],
"k": [
36,
44
]
},
"yum": {
"a": "Face Savouring Delicious Food",
"b": "1F60B",
"j": [
"happy",
"joy",
"tongue",
"smile",
"face",
"silly",
"yummy",
"nom",
"delicious",
"savouring"
],
"k": [
30,
35
]
},
"peach": {
"a": "Peach",
"b": "1F351",
"j": [
"fruit",
"nature",
"food"
],
"k": [
7,
19
]
},
"tiger": {
"a": "Tiger Face",
"b": "1F42F",
"j": [
"animal",
"cat",
"danger",
"wild",
"nature",
"roar"
],
"k": [
13,
25
]
},
"notes": {
"a": "Multiple Musical Notes",
"b": "1F3B6",
"j": [
"music",
"score"
],
"k": [
9,
16
]
},
"flags": {
"a": "Carp Streamer",
"b": "1F38F",
"j": [
"fish",
"japanese",
"koinobori",
"carp",
"banner"
],
"k": [
8,
34
]
},
"beach_with_umbrella": {
"a": "Beach with Umbrella",
"b": "1F3D6-FE0F",
"c": "1F3D6",
"k": [
11,
39
],
"o": 7
},
"cherries": {
"a": "Cherries",
"b": "1F352",
"j": [
"food",
"fruit"
],
"k": [
7,
20
]
},
"flag-ai": {
"a": "Anguilla Flag",
"b": "1F1E6-1F1EE",
"k": [
0,
36
]
},
"baggage_claim": {
"a": "Baggage Claim",
"b": "1F6C4",
"j": [
"blue-square",
"airport",
"transport"
],
"k": [
36,
45
]
},
"sunglasses": {
"a": "Smiling Face with Sunglasses",
"b": "1F60E",
"j": [
"face",
"cool",
"smile",
"summer",
"beach",
"sunglass"
],
"k": [
30,
38
],
"l": [
"8)"
]
},
"left_luggage": {
"a": "Left Luggage",
"b": "1F6C5",
"j": [
"blue-square",
"travel"
],
"k": [
36,
46
]
},
"wind_chime": {
"a": "Wind Chime",
"b": "1F390",
"j": [
"nature",
"ding",
"spring",
"bell"
],
"k": [
8,
35
]
},
"strawberry": {
"a": "Strawberry",
"b": "1F353",
"j": [
"fruit",
"food",
"nature"
],
"k": [
7,
21
]
},
"desert": {
"a": "Desert",
"b": "1F3DC-FE0F",
"c": "1F3DC",
"j": [
"photo",
"warm",
"saharah"
],
"k": [
11,
45
],
"o": 7
},
"studio_microphone": {
"a": "Studio Microphone",
"b": "1F399-FE0F",
"c": "1F399",
"j": [
"sing",
"recording",
"artist",
"talkshow"
],
"k": [
8,
41
],
"o": 7
},
"flag-al": {
"a": "Albania Flag",
"b": "1F1E6-1F1F1",
"k": [
0,
37
]
},
"tiger2": {
"a": "Tiger",
"b": "1F405",
"j": [
"animal",
"nature",
"roar"
],
"k": [
12,
35
]
},
"heart_eyes": {
"a": "Smiling Face with Heart-Shaped Eyes",
"b": "1F60D",
"j": [
"face",
"love",
"like",
"affection",
"valentines",
"infatuation",
"crush",
"heart"
],
"k": [
30,
37
]
},
"desert_island": {
"a": "Desert Island",
"b": "1F3DD-FE0F",
"c": "1F3DD",
"j": [
"photo",
"tropical",
"mojito"
],
"k": [
11,
46
],
"o": 7
},
"kiwifruit": {
"a": "Kiwifruit",
"b": "1F95D",
"k": [
42,
9
],
"o": 9
},
"rice_scene": {
"a": "Moon Viewing Ceremony",
"b": "1F391",
"j": [
"photo",
"japan",
"asia",
"tsukimi"
],
"k": [
8,
36
]
},
"kissing_heart": {
"a": "Face Throwing a Kiss",
"b": "1F618",
"j": [
"face",
"love",
"like",
"affection",
"valentines",
"infatuation",
"kiss"
],
"k": [
30,
48
],
"l": [
":*",
":-*"
]
},
"warning": {
"a": "Warning Sign",
"b": "26A0-FE0F",
"c": "26A0",
"j": [
"exclamation",
"wip",
"alert",
"error",
"problem",
"issue"
],
"k": [
48,
20
],
"o": 4
},
"flag-am": {
"a": "Armenia Flag",
"b": "1F1E6-1F1F2",
"k": [
0,
38
]
},
"leopard": {
"a": "Leopard",
"b": "1F406",
"j": [
"animal",
"nature"
],
"k": [
12,
36
]
},
"level_slider": {
"a": "Level Slider",
"b": "1F39A-FE0F",
"c": "1F39A",
"j": [
"scale"
],
"k": [
8,
42
],
"o": 7
},
"horse": {
"a": "Horse Face",
"b": "1F434",
"j": [
"animal",
"brown",
"nature"
],
"k": [
13,
30
]
},
"children_crossing": {
"a": "Children Crossing",
"b": "1F6B8",
"j": [
"school",
"warning",
"danger",
"sign",
"driving",
"yellow-diamond"
],
"k": [
36,
28
]
},
"ribbon": {
"a": "Ribbon",
"b": "1F380",
"j": [
"decoration",
"pink",
"girl",
"bowtie"
],
"k": [
8,
14
]
},
"national_park": {
"a": "National Park",
"b": "1F3DE-FE0F",
"c": "1F3DE",
"j": [
"photo",
"environment",
"nature"
],
"k": [
11,
47
],
"o": 7
},
"control_knobs": {
"a": "Control Knobs",
"b": "1F39B-FE0F",
"c": "1F39B",
"j": [
"dial"
],
"k": [
8,
43
],
"o": 7
},
"kissing": {
"a": "Kissing Face",
"b": "1F617",
"j": [
"love",
"like",
"face",
"3",
"valentines",
"infatuation",
"kiss"
],
"k": [
30,
47
]
},
"tomato": {
"a": "Tomato",
"b": "1F345",
"j": [
"fruit",
"vegetable",
"nature",
"food"
],
"k": [
7,
7
]
},
"flag-ao": {
"a": "Angola Flag",
"b": "1F1E6-1F1F4",
"k": [
0,
39
]
},
"stadium": {
"a": "Stadium",
"b": "1F3DF-FE0F",
"c": "1F3DF",
"j": [
"photo",
"place",
"sports",
"concert",
"venue"
],
"k": [
11,
48
],
"o": 7
},
"flag-aq": {
"a": "Antarctica Flag",
"b": "1F1E6-1F1F6",
"k": [
0,
40
]
},
"gift": {
"a": "Wrapped Present",
"b": "1F381",
"j": [
"present",
"birthday",
"christmas",
"xmas"
],
"k": [
8,
15
]
},
"no_entry": {
"a": "No Entry",
"b": "26D4",
"j": [
"limit",
"security",
"privacy",
"bad",
"denied",
"stop",
"circle"
],
"k": [
48,
35
],
"o": 5
},
"kissing_smiling_eyes": {
"a": "Kissing Face with Smiling Eyes",
"b": "1F619",
"j": [
"face",
"affection",
"valentines",
"infatuation",
"kiss"
],
"k": [
30,
49
]
},
"coconut": {
"a": "Coconut",
"b": "1F965",
"j": [
"fruit",
"nature",
"food",
"palm"
],
"k": [
42,
17
],
"o": 10
},
"racehorse": {
"a": "Horse",
"b": "1F40E",
"j": [
"animal",
"gamble",
"luck"
],
"k": [
12,
44
]
},
"microphone": {
"a": "Microphone",
"b": "1F3A4",
"j": [
"sound",
"music",
"PA",
"sing",
"talkshow"
],
"k": [
8,
50
]
},
"classical_building": {
"a": "Classical Building",
"b": "1F3DB-FE0F",
"c": "1F3DB",
"j": [
"art",
"culture",
"history"
],
"k": [
11,
44
],
"o": 7
},
"no_entry_sign": {
"a": "No Entry Sign",
"b": "1F6AB",
"j": [
"forbid",
"stop",
"limit",
"denied",
"disallow",
"circle"
],
"k": [
35,
16
]
},
"reminder_ribbon": {
"a": "Reminder Ribbon",
"b": "1F397-FE0F",
"c": "1F397",
"j": [
"sports",
"cause",
"support",
"awareness"
],
"k": [
8,
40
],
"o": 7
},
"kissing_closed_eyes": {
"a": "Kissing Face with Closed Eyes",
"b": "1F61A",
"j": [
"face",
"love",
"like",
"affection",
"valentines",
"infatuation",
"kiss"
],
"k": [
30,
50
]
},
"unicorn_face": {
"a": "Unicorn Face",
"b": "1F984",
"k": [
42,
28
],
"o": 8
},
"flag-ar": {
"a": "Argentina Flag",
"b": "1F1E6-1F1F7",
"k": [
0,
41
]
},
"headphones": {
"a": "Headphone",
"b": "1F3A7",
"j": [
"music",
"score",
"gadgets"
],
"k": [
9,
1
]
},
"avocado": {
"a": "Avocado",
"b": "1F951",
"j": [
"fruit",
"food"
],
"k": [
41,
49
],
"o": 9
},
"relaxed": {
"a": "White Smiling Face",
"b": "263A-FE0F",
"c": "263A",
"j": [
"face",
"blush",
"massage",
"happiness"
],
"k": [
47,
41
],
"o": 1
},
"zebra_face": {
"a": "Zebra Face",
"b": "1F993",
"k": [
42,
43
],
"o": 10
},
"eggplant": {
"a": "Aubergine",
"b": "1F346",
"j": [
"vegetable",
"nature",
"food",
"aubergine"
],
"k": [
7,
8
]
},
"radio": {
"a": "Radio",
"b": "1F4FB",
"j": [
"communication",
"music",
"podcast",
"program"
],
"k": [
26,
50
]
},
"building_construction": {
"a": "Building Construction",
"b": "1F3D7-FE0F",
"c": "1F3D7",
"j": [
"wip",
"working",
"progress"
],
"k": [
11,
40
],
"o": 7
},
"flag-as": {
"a": "American Samoa Flag",
"b": "1F1E6-1F1F8",
"k": [
0,
42
]
},
"admission_tickets": {
"a": "Admission Tickets",
"b": "1F39F-FE0F",
"c": "1F39F",
"k": [
8,
45
],
"o": 7
},
"no_bicycles": {
"a": "No Bicycles",
"b": "1F6B3",
"j": [
"cyclist",
"prohibited",
"circle"
],
"k": [
35,
24
]
},
"no_smoking": {
"a": "No Smoking Symbol",
"b": "1F6AD",
"j": [
"cigarette",
"blue-square",
"smell",
"smoke"
],
"k": [
35,
18
]
},
"slightly_smiling_face": {
"a": "Slightly Smiling Face",
"b": "1F642",
"j": [
"face",
"smile"
],
"k": [
31,
38
],
"l": [
":)",
"(:",
":-)"
],
"o": 7
},
"flag-at": {
"a": "Austria Flag",
"b": "1F1E6-1F1F9",
"k": [
0,
43
]
},
"ticket": {
"a": "Ticket",
"b": "1F3AB",
"j": [
"event",
"concert",
"pass"
],
"k": [
9,
5
]
},
"saxophone": {
"a": "Saxophone",
"b": "1F3B7",
"j": [
"music",
"instrument",
"jazz",
"blues"
],
"k": [
9,
17
]
},
"deer": {
"a": "Deer",
"b": "1F98C",
"j": [
"animal",
"nature",
"horns",
"venison"
],
"k": [
42,
36
],
"o": 9
},
"house_buildings": {
"a": "House Buildings",
"b": "1F3D8-FE0F",
"c": "1F3D8",
"k": [
11,
41
],
"o": 7
},
"potato": {
"a": "Potato",
"b": "1F954",
"j": [
"food",
"tuber",
"vegatable",
"starch"
],
"k": [
42,
0
],
"o": 9
},
"guitar": {
"a": "Guitar",
"b": "1F3B8",
"j": [
"music",
"instrument"
],
"k": [
9,
18
]
},
"carrot": {
"a": "Carrot",
"b": "1F955",
"j": [
"vegetable",
"food",
"orange"
],
"k": [
42,
1
],
"o": 9
},
"cityscape": {
"a": "Cityscape",
"b": "1F3D9-FE0F",
"c": "1F3D9",
"j": [
"photo",
"night life",
"urban"
],
"k": [
11,
42
],
"o": 7
},
"flag-au": {
"a": "Australia Flag",
"b": "1F1E6-1F1FA",
"k": [
0,
44
]
},
"do_not_litter": {
"a": "Do Not Litter Symbol",
"b": "1F6AF",
"j": [
"trash",
"bin",
"garbage",
"circle"
],
"k": [
35,
20
]
},
"hugging_face": {
"a": "Hugging Face",
"b": "1F917",
"k": [
37,
31
],
"o": 8
},
"cow": {
"a": "Cow Face",
"b": "1F42E",
"j": [
"beef",
"ox",
"animal",
"nature",
"moo",
"milk"
],
"k": [
13,
24
]
},
"medal": {
"a": "Medal",
"b": "1F396-FE0F",
"c": "1F396",
"k": [
8,
39
],
"o": 7
},
"musical_keyboard": {
"a": "Musical Keyboard",
"b": "1F3B9",
"j": [
"piano",
"instrument",
"compose"
],
"k": [
9,
19
]
},
"corn": {
"a": "Ear of Maize",
"b": "1F33D",
"j": [
"food",
"vegetable",
"plant"
],
"k": [
6,
51
]
},
"derelict_house_building": {
"a": "Derelict House Building",
"b": "1F3DA-FE0F",
"c": "1F3DA",
"k": [
11,
43
],
"o": 7
},
"non-potable_water": {
"a": "Non-Potable Water Symbol",
"b": "1F6B1",
"j": [
"drink",
"faucet",
"tap",
"circle"
],
"k": [
35,
22
]
},
"trophy": {
"a": "Trophy",
"b": "1F3C6",
"j": [
"win",
"award",
"contest",
"place",
"ftw",
"ceremony"
],
"k": [
10,
19
]
},
"flag-aw": {
"a": "Aruba Flag",
"b": "1F1E6-1F1FC",
"k": [
0,
45
]
},
"star-struck": {
"a": "Grinning Face with Star Eyes",
"b": "1F929",
"k": [
38,
49
],
"n": [
"grinning_face_with_star_eyes"
],
"o": 10
},
"ox": {
"a": "Ox",
"b": "1F402",
"j": [
"animal",
"cow",
"beef"
],
"k": [
12,
32
]
},
"trumpet": {
"a": "Trumpet",
"b": "1F3BA",
"j": [
"music",
"brass"
],
"k": [
9,
20
]
},
"hot_pepper": {
"a": "Hot Pepper",
"b": "1F336-FE0F",
"c": "1F336",
"j": [
"food",
"spicy",
"chilli",
"chili"
],
"k": [
6,
44
],
"o": 7
},
"sports_medal": {
"a": "Sports Medal",
"b": "1F3C5",
"k": [
10,
18
],
"o": 7
},
"flag-ax": {
"a": "Åland Islands Flag",
"b": "1F1E6-1F1FD",
"k": [
0,
46
]
},
"water_buffalo": {
"a": "Water Buffalo",
"b": "1F403",
"j": [
"animal",
"nature",
"ox",
"cow"
],
"k": [
12,
33
]
},
"no_pedestrians": {
"a": "No Pedestrians",
"b": "1F6B7",
"j": [
"rules",
"crossing",
"walking",
"circle"
],
"k": [
36,
27
]
},
"thinking_face": {
"a": "Thinking Face",
"b": "1F914",
"k": [
37,
28
],
"o": 8
},
"house": {
"a": "House Building",
"b": "1F3E0",
"j": [
"building",
"home"
],
"k": [
11,
49
]
},
"no_mobile_phones": {
"a": "No Mobile Phones",
"b": "1F4F5",
"j": [
"iphone",
"mute",
"circle"
],
"k": [
26,
44
]
},
"flag-az": {
"a": "Azerbaijan Flag",
"b": "1F1E6-1F1FF",
"k": [
0,
47
]
},
"first_place_medal": {
"a": "First Place Medal",
"b": "1F947",
"k": [
41,
42
],
"o": 9
},
"house_with_garden": {
"a": "House with Garden",
"b": "1F3E1",
"j": [
"home",
"plant",
"nature"
],
"k": [
11,
50
]
},
"violin": {
"a": "Violin",
"b": "1F3BB",
"j": [
"music",
"instrument",
"orchestra",
"symphony"
],
"k": [
9,
21
]
},
"face_with_raised_eyebrow": {
"a": "Face with One Eyebrow Raised",
"b": "1F928",
"k": [
38,
48
],
"n": [
"face_with_one_eyebrow_raised"
],
"o": 10
},
"cucumber": {
"a": "Cucumber",
"b": "1F952",
"j": [
"fruit",
"food",
"pickle"
],
"k": [
41,
50
],
"o": 9
},
"cow2": {
"a": "Cow",
"b": "1F404",
"j": [
"beef",
"ox",
"animal",
"nature",
"moo",
"milk"
],
"k": [
12,
34
]
},
"flag-ba": {
"a": "Bosnia & Herzegovina Flag",
"b": "1F1E7-1F1E6",
"k": [
0,
48
]
},
"pig": {
"a": "Pig Face",
"b": "1F437",
"j": [
"animal",
"oink",
"nature"
],
"k": [
13,
33
]
},
"drum_with_drumsticks": {
"a": "Drum with Drumsticks",
"b": "1F941",
"k": [
41,
37
],
"o": 9
},
"underage": {
"a": "No One Under Eighteen Symbol",
"b": "1F51E",
"j": [
"18",
"drink",
"pub",
"night",
"minor",
"circle"
],
"k": [
27,
32
]
},
"broccoli": {
"a": "Broccoli",
"b": "1F966",
"j": [
"fruit",
"food",
"vegetable"
],
"k": [
42,
18
],
"o": 10
},
"office": {
"a": "Office Building",
"b": "1F3E2",
"j": [
"building",
"bureau",
"work"
],
"k": [
11,
51
]
},
"second_place_medal": {
"a": "Second Place Medal",
"b": "1F948",
"k": [
41,
43
],
"o": 9
},
"neutral_face": {
"a": "Neutral Face",
"b": "1F610",
"j": [
"indifference",
"meh",
":|",
"neutral"
],
"k": [
30,
40
],
"l": [
":|",
":-|"
]
},
"third_place_medal": {
"a": "Third Place Medal",
"b": "1F949",
"k": [
41,
44
],
"o": 9
},
"mushroom": {
"a": "Mushroom",
"b": "1F344",
"j": [
"plant",
"vegetable"
],
"k": [
7,
6
]
},
"flag-bb": {
"a": "Barbados Flag",
"b": "1F1E7-1F1E7",
"k": [
0,
49
]
},
"radioactive_sign": {
"a": "Radioactive Sign",
"b": "2622-FE0F",
"c": "2622",
"k": [
47,
33
],
"o": 1
},
"pig2": {
"a": "Pig",
"b": "1F416",
"j": [
"animal",
"nature"
],
"k": [
13,
0
]
},
"expressionless": {
"a": "Expressionless Face",
"b": "1F611",
"j": [
"face",
"indifferent",
"-_-",
"meh",
"deadpan"
],
"k": [
30,
41
]
},
"iphone": {
"a": "Mobile Phone",
"b": "1F4F1",
"j": [
"technology",
"apple",
"gadgets",
"dial"
],
"k": [
26,
40
]
},
"post_office": {
"a": "Japanese Post Office",
"b": "1F3E3",
"j": [
"building",
"envelope",
"communication"
],
"k": [
12,
0
]
},
"european_post_office": {
"a": "European Post Office",
"b": "1F3E4",
"j": [
"building",
"email"
],
"k": [
12,
1
]
},
"soccer": {
"a": "Soccer Ball",
"b": "26BD",
"j": [
"sports",
"football"
],
"k": [
48,
26
],
"o": 5
},
"boar": {
"a": "Boar",
"b": "1F417",
"j": [
"animal",
"nature"
],
"k": [
13,
1
]
},
"peanuts": {
"a": "Peanuts",
"b": "1F95C",
"j": [
"food",
"nut"
],
"k": [
42,
8
],
"o": 9
},
"calling": {
"a": "Mobile Phone with Rightwards Arrow at Left",
"b": "1F4F2",
"j": [
"iphone",
"incoming"
],
"k": [
26,
41
]
},
"biohazard_sign": {
"a": "Biohazard Sign",
"b": "2623-FE0F",
"c": "2623",
"k": [
47,
34
],
"o": 1
},
"flag-bd": {
"a": "Bangladesh Flag",
"b": "1F1E7-1F1E9",
"k": [
0,
50
]
},
"no_mouth": {
"a": "Face Without Mouth",
"b": "1F636",
"j": [
"face",
"hellokitty"
],
"k": [
31,
26
]
},
"face_with_rolling_eyes": {
"a": "Face with Rolling Eyes",
"b": "1F644",
"k": [
31,
40
],
"o": 8
},
"phone": {
"a": "Black Telephone",
"b": "260E-FE0F",
"c": "260E",
"j": [
"technology",
"communication",
"dial",
"telephone"
],
"k": [
47,
21
],
"n": [
"telephone"
],
"o": 1
},
"pig_nose": {
"a": "Pig Nose",
"b": "1F43D",
"j": [
"animal",
"oink"
],
"k": [
13,
39
]
},
"chestnut": {
"a": "Chestnut",
"b": "1F330",
"j": [
"food",
"squirrel"
],
"k": [
6,
38
]
},
"arrow_up": {
"a": "Upwards Black Arrow",
"b": "2B06-FE0F",
"c": "2B06",
"j": [
"blue-square",
"continue",
"top",
"direction"
],
"k": [
50,
18
],
"o": 4
},
"hospital": {
"a": "Hospital",
"b": "1F3E5",
"j": [
"building",
"health",
"surgery",
"doctor"
],
"k": [
12,
2
]
},
"flag-be": {
"a": "Belgium Flag",
"b": "1F1E7-1F1EA",
"k": [
0,
51
]
},
"baseball": {
"a": "Baseball",
"b": "26BE",
"j": [
"sports",
"balls"
],
"k": [
48,
27
],
"o": 5
},
"smirk": {
"a": "Smirking Face",
"b": "1F60F",
"j": [
"face",
"smile",
"mean",
"prank",
"smug",
"sarcasm"
],
"k": [
30,
39
]
},
"arrow_upper_right": {
"a": "North East Arrow",
"b": "2197-FE0F",
"c": "2197",
"j": [
"blue-square",
"point",
"direction",
"diagonal",
"northeast"
],
"k": [
46,
36
],
"o": 1
},
"flag-bf": {
"a": "Burkina Faso Flag",
"b": "1F1E7-1F1EB",
"k": [
1,
0
]
},
"basketball": {
"a": "Basketball and Hoop",
"b": "1F3C0",
"j": [
"sports",
"balls",
"NBA"
],
"k": [
9,
26
]
},
"ram": {
"a": "Ram",
"b": "1F40F",
"j": [
"animal",
"sheep",
"nature"
],
"k": [
12,
45
]
},
"bank": {
"a": "Bank",
"b": "1F3E6",
"j": [
"building",
"money",
"sales",
"cash",
"business",
"enterprise"
],
"k": [
12,
3
]
},
"bread": {
"a": "Bread",
"b": "1F35E",
"j": [
"food",
"wheat",
"breakfast",
"toast"
],
"k": [
7,
32
]
},
"telephone_receiver": {
"a": "Telephone Receiver",
"b": "1F4DE",
"j": [
"technology",
"communication",
"dial"
],
"k": [
26,
21
]
},
"croissant": {
"a": "Croissant",
"b": "1F950",
"j": [
"food",
"bread",
"french"
],
"k": [
41,
48
],
"o": 9
},
"pager": {
"a": "Pager",
"b": "1F4DF",
"j": [
"bbcall",
"oldschool",
"90s"
],
"k": [
26,
22
]
},
"sheep": {
"a": "Sheep",
"b": "1F411",
"j": [
"animal",
"nature",
"wool",
"shipit"
],
"k": [
12,
47
]
},
"arrow_right": {
"a": "Black Rightwards Arrow",
"b": "27A1-FE0F",
"c": "27A1",
"j": [
"blue-square",
"next"
],
"k": [
50,
12
],
"o": 1
},
"persevere": {
"a": "Persevering Face",
"b": "1F623",
"j": [
"face",
"sick",
"no",
"upset",
"oops"
],
"k": [
31,
7
]
},
"flag-bg": {
"a": "Bulgaria Flag",
"b": "1F1E7-1F1EC",
"k": [
1,
1
]
},
"volleyball": {
"a": "Volleyball",
"b": "1F3D0",
"j": [
"sports",
"balls"
],
"k": [
11,
33
],
"o": 8
},
"hotel": {
"a": "Hotel",
"b": "1F3E8",
"j": [
"building",
"accomodation",
"checkin"
],
"k": [
12,
5
]
},
"arrow_lower_right": {
"a": "South East Arrow",
"b": "2198-FE0F",
"c": "2198",
"j": [
"blue-square",
"direction",
"diagonal",
"southeast"
],
"k": [
46,
37
],
"o": 1
},
"goat": {
"a": "Goat",
"b": "1F410",
"j": [
"animal",
"nature"
],
"k": [
12,
46
]
},
"flag-bh": {
"a": "Bahrain Flag",
"b": "1F1E7-1F1ED",
"k": [
1,
2
]
},
"love_hotel": {
"a": "Love Hotel",
"b": "1F3E9",
"j": [
"like",
"affection",
"dating"
],
"k": [
12,
6
]
},
"disappointed_relieved": {
"a": "Disappointed but Relieved Face",
"b": "1F625",
"j": [
"face",
"phew",
"sweat",
"nervous"
],
"k": [
31,
9
]
},
"baguette_bread": {
"a": "Baguette Bread",
"b": "1F956",
"j": [
"food",
"bread",
"french"
],
"k": [
42,
2
],
"o": 9
},
"football": {
"a": "American Football",
"b": "1F3C8",
"j": [
"sports",
"balls",
"NFL"
],
"k": [
10,
26
]
},
"fax": {
"a": "Fax Machine",
"b": "1F4E0",
"j": [
"communication",
"technology"
],
"k": [
26,
23
]
},
"convenience_store": {
"a": "Convenience Store",
"b": "1F3EA",
"j": [
"building",
"shopping",
"groceries"
],
"k": [
12,
7
]
},
"dromedary_camel": {
"a": "Dromedary Camel",
"b": "1F42A",
"j": [
"animal",
"hot",
"desert",
"hump"
],
"k": [
13,
20
]
},
"arrow_down": {
"a": "Downwards Black Arrow",
"b": "2B07-FE0F",
"c": "2B07",
"j": [
"blue-square",
"direction",
"bottom"
],
"k": [
50,
19
],
"o": 4
},
"battery": {
"a": "Battery",
"b": "1F50B",
"j": [
"power",
"energy",
"sustain"
],
"k": [
27,
13
]
},
"rugby_football": {
"a": "Rugby Football",
"b": "1F3C9",
"j": [
"sports",
"team"
],
"k": [
10,
27
]
},
"pretzel": {
"a": "Pretzel",
"b": "1F968",
"j": [
"food",
"bread",
"twisted"
],
"k": [
42,
20
],
"o": 10
},
"open_mouth": {
"a": "Face with Open Mouth",
"b": "1F62E",
"j": [
"face",
"surprise",
"impressed",
"wow",
"whoa",
":O"
],
"k": [
31,
18
],
"l": [
":o",
":-o",
":O",
":-O"
]
},
"flag-bi": {
"a": "Burundi Flag",
"b": "1F1E7-1F1EE",
"k": [
1,
3
]
},
"flag-bj": {
"a": "Benin Flag",
"b": "1F1E7-1F1EF",
"k": [
1,
4
]
},
"pancakes": {
"a": "Pancakes",
"b": "1F95E",
"j": [
"food",
"breakfast",
"flapjacks",
"hotcakes"
],
"k": [
42,
10
],
"o": 9
},
"school": {
"a": "School",
"b": "1F3EB",
"j": [
"building",
"student",
"education",
"learn",
"teach"
],
"k": [
12,
8
]
},
"tennis": {
"a": "Tennis Racquet and Ball",
"b": "1F3BE",
"j": [
"sports",
"balls",
"green"
],
"k": [
9,
24
]
},
"zipper_mouth_face": {
"a": "Zipper-Mouth Face",
"b": "1F910",
"j": [
"face",
"sealed",
"zipper",
"secret"
],
"k": [
37,
24
],
"o": 8
},
"camel": {
"a": "Bactrian Camel",
"b": "1F42B",
"j": [
"animal",
"nature",
"hot",
"desert",
"hump"
],
"k": [
13,
21
]
},
"arrow_lower_left": {
"a": "South West Arrow",
"b": "2199-FE0F",
"c": "2199",
"j": [
"blue-square",
"direction",
"diagonal",
"southwest"
],
"k": [
46,
38
],
"o": 1
},
"electric_plug": {
"a": "Electric Plug",
"b": "1F50C",
"j": [
"charger",
"power"
],
"k": [
27,
14
]
},
"cheese_wedge": {
"a": "Cheese Wedge",
"b": "1F9C0",
"k": [
42,
48
],
"o": 8
},
"hushed": {
"a": "Hushed Face",
"b": "1F62F",
"j": [
"face",
"woo",
"shh"
],
"k": [
31,
19
]
},
"computer": {
"a": "Personal Computer",
"b": "1F4BB",
"j": [
"technology",
"laptop",
"screen",
"display",
"monitor"
],
"k": [
25,
38
]
},
"giraffe_face": {
"a": "Giraffe Face",
"b": "1F992",
"k": [
42,
42
],
"o": 10
},
"8ball": {
"a": "Billiards",
"b": "1F3B1",
"j": [
"pool",
"hobby",
"game",
"luck",
"magic"
],
"k": [
9,
11
]
},
"flag-bl": {
"a": "St. Barthélemy Flag",
"b": "1F1E7-1F1F1",
"k": [
1,
5
]
},
"arrow_left": {
"a": "Leftwards Black Arrow",
"b": "2B05-FE0F",
"c": "2B05",
"j": [
"blue-square",
"previous",
"back"
],
"k": [
50,
17
],
"o": 4
},
"department_store": {
"a": "Department Store",
"b": "1F3EC",
"j": [
"building",
"shopping",
"mall"
],
"k": [
12,
9
]
},
"meat_on_bone": {
"a": "Meat on Bone",
"b": "1F356",
"j": [
"good",
"food",
"drumstick"
],
"k": [
7,
24
]
},
"arrow_upper_left": {
"a": "North West Arrow",
"b": "2196-FE0F",
"c": "2196",
"j": [
"blue-square",
"point",
"direction",
"diagonal",
"northwest"
],
"k": [
46,
35
],
"o": 1
},
"flag-bm": {
"a": "Bermuda Flag",
"b": "1F1E7-1F1F2",
"k": [
1,
6
]
},
"sleepy": {
"a": "Sleepy Face",
"b": "1F62A",
"j": [
"face",
"tired",
"rest",
"nap"
],
"k": [
31,
14
]
},
"bowling": {
"a": "Bowling",
"b": "1F3B3",
"j": [
"sports",
"fun",
"play"
],
"k": [
9,
13
]
},
"factory": {
"a": "Factory",
"b": "1F3ED",
"j": [
"building",
"industry",
"pollution",
"smoke"
],
"k": [
12,
10
]
},
"desktop_computer": {
"a": "Desktop Computer",
"b": "1F5A5-FE0F",
"c": "1F5A5",
"j": [
"technology",
"computing",
"screen"
],
"k": [
29,
51
],
"o": 7
},
"elephant": {
"a": "Elephant",
"b": "1F418",
"j": [
"animal",
"nature",
"nose",
"th",
"circus"
],
"k": [
13,
2
]
},
"rhinoceros": {
"a": "Rhinoceros",
"b": "1F98F",
"j": [
"animal",
"nature",
"horn"
],
"k": [
42,
39
],
"o": 9
},
"arrow_up_down": {
"a": "Up Down Arrow",
"b": "2195-FE0F",
"c": "2195",
"j": [
"blue-square",
"direction",
"way",
"vertical"
],
"k": [
46,
34
],
"o": 1
},
"cricket_bat_and_ball": {
"a": "Cricket Bat and Ball",
"b": "1F3CF",
"k": [
11,
32
],
"o": 8
},
"printer": {
"a": "Printer",
"b": "1F5A8-FE0F",
"c": "1F5A8",
"j": [
"paper",
"ink"
],
"k": [
30,
0
],
"o": 7
},
"poultry_leg": {
"a": "Poultry Leg",
"b": "1F357",
"j": [
"food",
"meat",
"drumstick",
"bird",
"chicken",
"turkey"
],
"k": [
7,
25
]
},
"tired_face": {
"a": "Tired Face",
"b": "1F62B",
"j": [
"sick",
"whine",
"upset",
"frustrated"
],
"k": [
31,
15
]
},
"japanese_castle": {
"a": "Japanese Castle",
"b": "1F3EF",
"j": [
"photo",
"building"
],
"k": [
12,
12
]
},
"flag-bn": {
"a": "Brunei Flag",
"b": "1F1E7-1F1F3",
"k": [
1,
7
]
},
"field_hockey_stick_and_ball": {
"a": "Field Hockey Stick and Ball",
"b": "1F3D1",
"k": [
11,
34
],
"o": 8
},
"sleeping": {
"a": "Sleeping Face",
"b": "1F634",
"j": [
"face",
"tired",
"sleepy",
"night",
"zzz"
],
"k": [
31,
24
]
},
"left_right_arrow": {
"a": "Left Right Arrow",
"b": "2194-FE0F",
"c": "2194",
"j": [
"shape",
"direction",
"horizontal",
"sideways"
],
"k": [
46,
33
],
"o": 1
},
"keyboard": {
"a": "Keyboard",
"b": "2328-FE0F",
"c": "2328",
"j": [
"technology",
"computer",
"type",
"input",
"text"
],
"k": [
46,
43
],
"o": 1
},
"european_castle": {
"a": "European Castle",
"b": "1F3F0",
"j": [
"building",
"royalty",
"history"
],
"k": [
12,
13
]
},
"mouse": {
"a": "Mouse Face",
"b": "1F42D",
"j": [
"animal",
"nature",
"cheese_wedge",
"rodent"
],
"k": [
13,
23
]
},
"flag-bo": {
"a": "Bolivia Flag",
"b": "1F1E7-1F1F4",
"k": [
1,
8
]
},
"cut_of_meat": {
"a": "Cut of Meat",
"b": "1F969",
"k": [
42,
21
],
"o": 10
},
"ice_hockey_stick_and_puck": {
"a": "Ice Hockey Stick and Puck",
"b": "1F3D2",
"k": [
11,
35
],
"o": 8
},
"mouse2": {
"a": "Mouse",
"b": "1F401",
"j": [
"animal",
"nature",
"rodent"
],
"k": [
12,
31
]
},
"three_button_mouse": {
"a": "Three Button Mouse",
"b": "1F5B1-FE0F",
"c": "1F5B1",
"k": [
30,
1
],
"o": 7
},
"leftwards_arrow_with_hook": {
"a": "Leftwards Arrow with Hook",
"b": "21A9-FE0F",
"c": "21A9",
"j": [
"back",
"return",
"blue-square",
"undo",
"enter"
],
"k": [
46,
39
],
"o": 1
},
"bacon": {
"a": "Bacon",
"b": "1F953",
"j": [
"food",
"breakfast",
"pork",
"pig",
"meat"
],
"k": [
41,
51
],
"o": 9
},
"relieved": {
"a": "Relieved Face",
"b": "1F60C",
"j": [
"face",
"relaxed",
"phew",
"massage",
"happiness"
],
"k": [
30,
36
]
},
"flag-bq": {
"a": "Caribbean Netherlands Flag",
"b": "1F1E7-1F1F6",
"k": [
1,
9
]
},
"wedding": {
"a": "Wedding",
"b": "1F492",
"j": [
"love",
"like",
"affection",
"couple",
"marriage",
"bride",
"groom"
],
"k": [
24,
44
]
},
"tokyo_tower": {
"a": "Tokyo Tower",
"b": "1F5FC",
"j": [
"photo",
"japanese"
],
"k": [
30,
20
]
},
"arrow_right_hook": {
"a": "Rightwards Arrow with Hook",
"b": "21AA-FE0F",
"c": "21AA",
"j": [
"blue-square",
"return",
"rotate",
"direction"
],
"k": [
46,
40
],
"o": 1
},
"hamburger": {
"a": "Hamburger",
"b": "1F354",
"j": [
"meat",
"fast food",
"beef",
"cheeseburger",
"mcdonalds",
"burger king"
],
"k": [
7,
22
]
},
"stuck_out_tongue": {
"a": "Face with Stuck-out Tongue",
"b": "1F61B",
"j": [
"face",
"prank",
"childish",
"playful",
"mischievous",
"smile",
"tongue"
],
"k": [
30,
51
],
"l": [
":p",
":-p",
":P",
":-P",
":b",
":-b"
],
"m": ":p"
},
"trackball": {
"a": "Trackball",
"b": "1F5B2-FE0F",
"c": "1F5B2",
"j": [
"technology",
"trackpad"
],
"k": [
30,
2
],
"o": 7
},
"flag-br": {
"a": "Brazil Flag",
"b": "1F1E7-1F1F7",
"k": [
1,
10
]
},
"rat": {
"a": "Rat",
"b": "1F400",
"j": [
"animal",
"mouse",
"rodent"
],
"k": [
12,
30
]
},
"table_tennis_paddle_and_ball": {
"a": "Table Tennis Paddle and Ball",
"b": "1F3D3",
"k": [
11,
36
],
"o": 8
},
"minidisc": {
"a": "Minidisc",
"b": "1F4BD",
"j": [
"technology",
"record",
"data",
"disk",
"90s"
],
"k": [
25,
40
]
},
"stuck_out_tongue_winking_eye": {
"a": "Face with Stuck-out Tongue and Winking Eye",
"b": "1F61C",
"j": [
"face",
"prank",
"childish",
"playful",
"mischievous",
"smile",
"wink",
"tongue"
],
"k": [
31,
0
],
"l": [
";p",
";-p",
";b",
";-b",
";P",
";-P"
],
"m": ";p"
},
"fries": {
"a": "French Fries",
"b": "1F35F",
"j": [
"chips",
"snack",
"fast food"
],
"k": [
7,
33
]
},
"badminton_racquet_and_shuttlecock": {
"a": "Badminton Racquet and Shuttlecock",
"b": "1F3F8",
"k": [
12,
22
],
"o": 8
},
"statue_of_liberty": {
"a": "Statue of Liberty",
"b": "1F5FD",
"j": [
"american",
"newyork"
],
"k": [
30,
21
]
},
"flag-bs": {
"a": "Bahamas Flag",
"b": "1F1E7-1F1F8",
"k": [
1,
11
]
},
"arrow_heading_up": {
"a": "Arrow Pointing Rightwards Then Curving Upwards",
"b": "2934-FE0F",
"c": "2934",
"j": [
"blue-square",
"direction",
"top"
],
"k": [
50,
15
],
"o": 3
},
"hamster": {
"a": "Hamster Face",
"b": "1F439",
"j": [
"animal",
"nature"
],
"k": [
13,
35
]
},
"stuck_out_tongue_closed_eyes": {
"a": "Face with Stuck-out Tongue and Tightly-Closed Eyes",
"b": "1F61D",
"j": [
"face",
"prank",
"playful",
"mischievous",
"smile",
"tongue"
],
"k": [
31,
1
]
},
"pizza": {
"a": "Slice of Pizza",
"b": "1F355",
"j": [
"food",
"party"
],
"k": [
7,
23
]
},
"boxing_glove": {
"a": "Boxing Glove",
"b": "1F94A",
"j": [
"sports",
"fighting"
],
"k": [
41,
45
],
"o": 9
},
"floppy_disk": {
"a": "Floppy Disk",
"b": "1F4BE",
"j": [
"oldschool",
"technology",
"save",
"90s",
"80s"
],
"k": [
25,
41
]
},
"arrow_heading_down": {
"a": "Arrow Pointing Rightwards Then Curving Downwards",
"b": "2935-FE0F",
"c": "2935",
"j": [
"blue-square",
"direction",
"bottom"
],
"k": [
50,
16
],
"o": 3
},
"flag-bt": {
"a": "Bhutan Flag",
"b": "1F1E7-1F1F9",
"k": [
1,
12
]
},
"rabbit": {
"a": "Rabbit Face",
"b": "1F430",
"j": [
"animal",
"nature",
"pet",
"spring",
"magic",
"bunny"
],
"k": [
13,
26
]
},
"church": {
"a": "Church",
"b": "26EA",
"j": [
"building",
"religion",
"christ"
],
"k": [
48,
37
],
"o": 5
},
"drooling_face": {
"a": "Drooling Face",
"b": "1F924",
"j": [
"face"
],
"k": [
38,
27
],
"o": 9
},
"flag-bv": {
"a": "Bouvet Island Flag",
"b": "1F1E7-1F1FB",
"k": [
1,
13
]
},
"mosque": {
"a": "Mosque",
"b": "1F54C",
"j": [
"islam",
"worship",
"minaret"
],
"k": [
28,
15
],
"o": 8
},
"rabbit2": {
"a": "Rabbit",
"b": "1F407",
"j": [
"animal",
"nature",
"pet",
"magic",
"spring"
],
"k": [
12,
37
]
},
"hotdog": {
"a": "Hot Dog",
"b": "1F32D",
"j": [
"food",
"frankfurter"
],
"k": [
6,
35
],
"o": 8
},
"martial_arts_uniform": {
"a": "Martial Arts Uniform",
"b": "1F94B",
"j": [
"judo",
"karate",
"taekwondo"
],
"k": [
41,
46
],
"o": 9
},
"arrows_clockwise": {
"a": "Clockwise Downwards and Upwards Open Circle Arrows",
"b": "1F503",
"j": [
"sync",
"cycle",
"round",
"repeat"
],
"k": [
27,
5
]
},
"cd": {
"a": "Optical Disc",
"b": "1F4BF",
"j": [
"technology",
"dvd",
"disk",
"disc",
"90s"
],
"k": [
25,
42
]
},
"arrows_counterclockwise": {
"a": "Anticlockwise Downwards and Upwards Open Circle Arrows",
"b": "1F504",
"j": [
"blue-square",
"sync",
"cycle"
],
"k": [
27,
6
]
},
"sandwich": {
"a": "Sandwich",
"b": "1F96A",
"j": [
"food",
"lunch",
"bread"
],
"k": [
42,
22
],
"o": 10
},
"chipmunk": {
"a": "Chipmunk",
"b": "1F43F-FE0F",
"c": "1F43F",
"j": [
"animal",
"nature",
"rodent",
"squirrel"
],
"k": [
13,
41
],
"o": 7
},
"synagogue": {
"a": "Synagogue",
"b": "1F54D",
"j": [
"judaism",
"worship",
"temple",
"jewish"
],
"k": [
28,
16
],
"o": 8
},
"unamused": {
"a": "Unamused Face",
"b": "1F612",
"j": [
"indifference",
"bored",
"straight face",
"serious",
"sarcasm"
],
"k": [
30,
42
],
"m": ":("
},
"goal_net": {
"a": "Goal Net",
"b": "1F945",
"j": [
"sports"
],
"k": [
41,
41
],
"o": 9
},
"flag-bw": {
"a": "Botswana Flag",
"b": "1F1E7-1F1FC",
"k": [
1,
14
]
},
"dvd": {
"a": "Dvd",
"b": "1F4C0",
"j": [
"cd",
"disk",
"disc"
],
"k": [
25,
43
]
},
"hedgehog": {
"a": "Hedgehog",
"b": "1F994",
"j": [
"animal",
"nature",
"spiny"
],
"k": [
42,
44
],
"o": 10
},
"dart": {
"a": "Direct Hit",
"b": "1F3AF",
"j": [
"game",
"play",
"bar",
"target",
"bullseye"
],
"k": [
9,
9
]
},
"taco": {
"a": "Taco",
"b": "1F32E",
"j": [
"food",
"mexican"
],
"k": [
6,
36
],
"o": 8
},
"back": {
"a": "Back with Leftwards Arrow Above",
"b": "1F519",
"j": [
"arrow",
"words",
"return"
],
"k": [
27,
27
]
},
"flag-by": {
"a": "Belarus Flag",
"b": "1F1E7-1F1FE",
"k": [
1,
15
]
},
"shinto_shrine": {
"a": "Shinto Shrine",
"b": "26E9-FE0F",
"c": "26E9",
"j": [
"temple",
"japan",
"kyoto"
],
"k": [
48,
36
],
"o": 5
},
"movie_camera": {
"a": "Movie Camera",
"b": "1F3A5",
"j": [
"film",
"record"
],
"k": [
8,
51
]
},
"sweat": {
"a": "Face with Cold Sweat",
"b": "1F613",
"j": [
"face",
"hot",
"sad",
"tired",
"exercise"
],
"k": [
30,
43
]
},
"burrito": {
"a": "Burrito",
"b": "1F32F",
"j": [
"food",
"mexican"
],
"k": [
6,
37
],
"o": 8
},
"flag-bz": {
"a": "Belize Flag",
"b": "1F1E7-1F1FF",
"k": [
1,
16
]
},
"pensive": {
"a": "Pensive Face",
"b": "1F614",
"j": [
"face",
"sad",
"depressed",
"upset"
],
"k": [
30,
44
]
},
"kaaba": {
"a": "Kaaba",
"b": "1F54B",
"j": [
"mecca",
"mosque",
"islam"
],
"k": [
28,
14
],
"o": 8
},
"film_frames": {
"a": "Film Frames",
"b": "1F39E-FE0F",
"c": "1F39E",
"k": [
8,
44
],
"o": 7
},
"bat": {
"a": "Bat",
"b": "1F987",
"j": [
"animal",
"nature",
"blind",
"vampire"
],
"k": [
42,
31
],
"o": 9
},
"golf": {
"a": "Flag in Hole",
"b": "26F3",
"j": [
"sports",
"business",
"flag",
"hole",
"summer"
],
"k": [
48,
41
],
"o": 5
},
"end": {
"a": "End with Leftwards Arrow Above",
"b": "1F51A",
"j": [
"words",
"arrow"
],
"k": [
27,
28
]
},
"film_projector": {
"a": "Film Projector",
"b": "1F4FD-FE0F",
"c": "1F4FD",
"j": [
"video",
"tape",
"record",
"movie"
],
"k": [
27,
0
],
"o": 7
},
"bear": {
"a": "Bear Face",
"b": "1F43B",
"j": [
"animal",
"nature",
"wild"
],
"k": [
13,
37
]
},
"ice_skate": {
"a": "Ice Skate",
"b": "26F8-FE0F",
"c": "26F8",
"j": [
"sports"
],
"k": [
48,
45
],
"o": 5
},
"fountain": {
"a": "Fountain",
"b": "26F2",
"j": [
"photo",
"summer",
"water",
"fresh"
],
"k": [
48,
40
],
"o": 5
},
"confused": {
"a": "Confused Face",
"b": "1F615",
"j": [
"face",
"indifference",
"huh",
"weird",
"hmmm",
":/"
],
"k": [
30,
45
],
"l": [
":\\",
":-\\",
":/",
":-/"
]
},
"flag-ca": {
"a": "Canada Flag",
"b": "1F1E8-1F1E6",
"k": [
1,
17
]
},
"on": {
"a": "On with Exclamation Mark with Left Right Arrow Above",
"b": "1F51B",
"j": [
"arrow",
"words"
],
"k": [
27,
29
]
},
"stuffed_flatbread": {
"a": "Stuffed Flatbread",
"b": "1F959",
"j": [
"food",
"flatbread",
"stuffed",
"gyro"
],
"k": [
42,
5
],
"o": 9
},
"soon": {
"a": "Soon with Rightwards Arrow Above",
"b": "1F51C",
"j": [
"arrow",
"words"
],
"k": [
27,
30
]
},
"upside_down_face": {
"a": "Upside-Down Face",
"b": "1F643",
"j": [
"face",
"flipped",
"silly",
"smile"
],
"k": [
31,
39
],
"o": 8
},
"fishing_pole_and_fish": {
"a": "Fishing Pole and Fish",
"b": "1F3A3",
"j": [
"food",
"hobby",
"summer"
],
"k": [
8,
49
]
},
"tent": {
"a": "Tent",
"b": "26FA",
"j": [
"photo",
"camping",
"outdoors"
],
"k": [
49,
12
],
"o": 5
},
"clapper": {
"a": "Clapper Board",
"b": "1F3AC",
"j": [
"movie",
"film",
"record"
],
"k": [
9,
6
]
},
"egg": {
"a": "Egg",
"b": "1F95A",
"j": [
"food",
"chicken",
"breakfast"
],
"k": [
42,
6
],
"o": 9
},
"flag-cc": {
"a": "Cocos (keeling) Islands Flag",
"b": "1F1E8-1F1E8",
"k": [
1,
18
]
},
"koala": {
"a": "Koala",
"b": "1F428",
"j": [
"animal",
"nature"
],
"k": [
13,
18
]
},
"foggy": {
"a": "Foggy",
"b": "1F301",
"j": [
"photo",
"mountain"
],
"k": [
5,
45
]
},
"tv": {
"a": "Television",
"b": "1F4FA",
"j": [
"technology",
"program",
"oldschool",
"show",
"television"
],
"k": [
26,
49
]
},
"panda_face": {
"a": "Panda Face",
"b": "1F43C",
"j": [
"animal",
"nature",
"panda"
],
"k": [
13,
38
]
},
"fried_egg": {
"a": "Cooking",
"b": "1F373",
"j": [
"food",
"breakfast",
"kitchen",
"egg"
],
"k": [
8,
1
],
"n": [
"cooking"
]
},
"top": {
"a": "Top with Upwards Arrow Above",
"b": "1F51D",
"j": [
"words",
"blue-square"
],
"k": [
27,
31
]
},
"flag-cd": {
"a": "Congo - Kinshasa Flag",
"b": "1F1E8-1F1E9",
"k": [
1,
19
]
},
"money_mouth_face": {
"a": "Money-Mouth Face",
"b": "1F911",
"j": [
"face",
"rich",
"dollar",
"money"
],
"k": [
37,
25
],
"o": 8
},
"running_shirt_with_sash": {
"a": "Running Shirt with Sash",
"b": "1F3BD",
"j": [
"play",
"pageant"
],
"k": [
9,
23
]
},
"astonished": {
"a": "Astonished Face",
"b": "1F632",
"j": [
"face",
"xox",
"surprised",
"poisoned"
],
"k": [
31,
22
]
},
"feet": {
"a": "Paw Prints",
"b": "1F43E",
"k": [
13,
40
],
"n": [
"paw_prints"
]
},
"camera": {
"a": "Camera",
"b": "1F4F7",
"j": [
"gadgets",
"photography"
],
"k": [
26,
46
]
},
"flag-cf": {
"a": "Central African Republic Flag",
"b": "1F1E8-1F1EB",
"k": [
1,
20
]
},
"place_of_worship": {
"a": "Place of Worship",
"b": "1F6D0",
"j": [
"religion",
"church",
"temple",
"prayer"
],
"k": [
37,
5
],
"o": 8
},
"night_with_stars": {
"a": "Night with Stars",
"b": "1F303",
"j": [
"evening",
"city",
"downtown"
],
"k": [
5,
47
]
},
"ski": {
"a": "Ski and Ski Boot",
"b": "1F3BF",
"j": [
"sports",
"winter",
"cold",
"snow"
],
"k": [
9,
25
]
},
"shallow_pan_of_food": {
"a": "Shallow Pan of Food",
"b": "1F958",
"j": [
"food",
"cooking",
"casserole",
"paella"
],
"k": [
42,
4
],
"o": 9
},
"camera_with_flash": {
"a": "Camera with Flash",
"b": "1F4F8",
"k": [
26,
47
],
"o": 7
},
"sunrise_over_mountains": {
"a": "Sunrise over Mountains",
"b": "1F304",
"j": [
"view",
"vacation",
"photo"
],
"k": [
5,
48
]
},
"turkey": {
"a": "Turkey",
"b": "1F983",
"j": [
"animal",
"bird"
],
"k": [
42,
27
],
"o": 8
},
"white_frowning_face": {
"a": "White Frowning Face",
"b": "2639-FE0F",
"c": "2639",
"k": [
47,
40
],
"o": 1
},
"flag-cg": {
"a": "Congo - Brazzaville Flag",
"b": "1F1E8-1F1EC",
"k": [
1,
21
]
},
"stew": {
"a": "Pot of Food",
"b": "1F372",
"j": [
"food",
"meat",
"soup"
],
"k": [
8,
0
]
},
"sled": {
"a": "Sled",
"b": "1F6F7",
"j": [
"sleigh",
"luge",
"toboggan"
],
"k": [
37,
22
],
"o": 10
},
"atom_symbol": {
"a": "Atom Symbol",
"b": "269B-FE0F",
"c": "269B",
"j": [
"science",
"physics",
"chemistry"
],
"k": [
48,
18
],
"o": 4
},
"curling_stone": {
"a": "Curling Stone",
"b": "1F94C",
"j": [
"sports"
],
"k": [
41,
47
],
"o": 10
},
"slightly_frowning_face": {
"a": "Slightly Frowning Face",
"b": "1F641",
"j": [
"face",
"frowning",
"disappointed",
"sad",
"upset"
],
"k": [
31,
37
],
"o": 7
},
"sunrise": {
"a": "Sunrise",
"b": "1F305",
"j": [
"morning",
"view",
"vacation",
"photo"
],
"k": [
5,
49
]
},
"om_symbol": {
"a": "Om Symbol",
"b": "1F549-FE0F",
"c": "1F549",
"k": [
28,
12
],
"o": 7
},
"chicken": {
"a": "Chicken",
"b": "1F414",
"j": [
"animal",
"cluck",
"nature",
"bird"
],
"k": [
12,
50
]
},
"bowl_with_spoon": {
"a": "Bowl with Spoon",
"b": "1F963",
"j": [
"food",
"breakfast",
"cereal",
"oatmeal",
"porridge"
],
"k": [
42,
15
],
"o": 10
},
"flag-ch": {
"a": "Switzerland Flag",
"b": "1F1E8-1F1ED",
"k": [
1,
22
]
},
"video_camera": {
"a": "Video Camera",
"b": "1F4F9",
"j": [
"film",
"record"
],
"k": [
26,
48
]
},
"video_game": {
"a": "Video Game",
"b": "1F3AE",
"j": [
"play",
"console",
"PS4",
"controller"
],
"k": [
9,
8
]
},
"rooster": {
"a": "Rooster",
"b": "1F413",
"j": [
"animal",
"nature",
"chicken"
],
"k": [
12,
49
]
},
"vhs": {
"a": "Videocassette",
"b": "1F4FC",
"j": [
"record",
"video",
"oldschool",
"90s",
"80s"
],
"k": [
26,
51
]
},
"city_sunset": {
"a": "Cityscape at Dusk",
"b": "1F306",
"j": [
"photo",
"evening",
"sky",
"buildings"
],
"k": [
5,
50
]
},
"confounded": {
"a": "Confounded Face",
"b": "1F616",
"j": [
"face",
"confused",
"sick",
"unwell",
"oops",
":S"
],
"k": [
30,
46
]
},
"green_salad": {
"a": "Green Salad",
"b": "1F957",
"j": [
"food",
"healthy",
"lettuce"
],
"k": [
42,
3
],
"o": 9
},
"star_of_david": {
"a": "Star of David",
"b": "2721-FE0F",
"c": "2721",
"j": [
"judaism"
],
"k": [
49,
47
],
"o": 1
},
"flag-ci": {
"a": "Côte D’ivoire Flag",
"b": "1F1E8-1F1EE",
"k": [
1,
23
]
},
"popcorn": {
"a": "Popcorn",
"b": "1F37F",
"j": [
"food",
"movie theater",
"films",
"snack"
],
"k": [
8,
13
],
"o": 8
},
"city_sunrise": {
"a": "Sunset over Buildings",
"b": "1F307",
"j": [
"photo",
"good morning",
"dawn"
],
"k": [
5,
51
]
},
"disappointed": {
"a": "Disappointed Face",
"b": "1F61E",
"j": [
"face",
"sad",
"upset",
"depressed",
":("
],
"k": [
31,
2
],
"l": [
"):",
":(",
":-("
],
"m": ":("
},
"mag": {
"a": "Left-Pointing Magnifying Glass",
"b": "1F50D",
"j": [
"search",
"zoom",
"find",
"detective"
],
"k": [
27,
15
]
},
"hatching_chick": {
"a": "Hatching Chick",
"b": "1F423",
"j": [
"animal",
"chicken",
"egg",
"born",
"baby",
"bird"
],
"k": [
13,
13
]
},
"joystick": {
"a": "Joystick",
"b": "1F579-FE0F",
"c": "1F579",
"j": [
"game",
"play"
],
"k": [
29,
20
],
"o": 7
},
"wheel_of_dharma": {
"a": "Wheel of Dharma",
"b": "2638-FE0F",
"c": "2638",
"j": [
"hinduism",
"buddhism",
"sikhism",
"jainism"
],
"k": [
47,
39
],
"o": 1
},
"flag-ck": {
"a": "Cook Islands Flag",
"b": "1F1E8-1F1F0",
"k": [
1,
24
]
},
"canned_food": {
"a": "Canned Food",
"b": "1F96B",
"j": [
"food",
"soup"
],
"k": [
42,
23
],
"o": 10
},
"worried": {
"a": "Worried Face",
"b": "1F61F",
"j": [
"face",
"concern",
"nervous",
":("
],
"k": [
31,
3
]
},
"baby_chick": {
"a": "Baby Chick",
"b": "1F424",
"j": [
"animal",
"chicken",
"bird"
],
"k": [
13,
14
]
},
"flag-cl": {
"a": "Chile Flag",
"b": "1F1E8-1F1F1",
"k": [
1,
25
]
},
"game_die": {
"a": "Game Die",
"b": "1F3B2",
"j": [
"dice",
"random",
"tabletop",
"play",
"luck"
],
"k": [
9,
12
]
},
"mag_right": {
"a": "Right-Pointing Magnifying Glass",
"b": "1F50E",
"j": [
"search",
"zoom",
"find",
"detective"
],
"k": [
27,
16
]
},
"yin_yang": {
"a": "Yin Yang",
"b": "262F-FE0F",
"c": "262F",
"j": [
"balance"
],
"k": [
47,
38
],
"o": 1
},
"bridge_at_night": {
"a": "Bridge at Night",
"b": "1F309",
"j": [
"photo",
"sanfrancisco"
],
"k": [
6,
1
]
},
"spades": {
"a": "Black Spade Suit",
"b": "2660-FE0F",
"c": "2660",
"j": [
"poker",
"cards",
"suits",
"magic"
],
"k": [
48,
4
],
"o": 1
},
"hatched_chick": {
"a": "Front-Facing Baby Chick",
"b": "1F425",
"j": [
"animal",
"chicken",
"baby",
"bird"
],
"k": [
13,
15
]
},
"flag-cm": {
"a": "Cameroon Flag",
"b": "1F1E8-1F1F2",
"k": [
1,
26
]
},
"latin_cross": {
"a": "Latin Cross",
"b": "271D-FE0F",
"c": "271D",
"j": [
"christianity"
],
"k": [
49,
46
],
"o": 1
},
"triumph": {
"a": "Face with Look of Triumph",
"b": "1F624",
"j": [
"face",
"gas",
"phew",
"proud",
"pride"
],
"k": [
31,
8
]
},
"hotsprings": {
"a": "Hot Springs",
"b": "2668-FE0F",
"c": "2668",
"j": [
"bath",
"warm",
"relax"
],
"k": [
48,
8
],
"o": 1
},
"bento": {
"a": "Bento Box",
"b": "1F371",
"j": [
"food",
"japanese",
"box"
],
"k": [
7,
51
]
},
"microscope": {
"a": "Microscope",
"b": "1F52C",
"j": [
"laboratory",
"experiment",
"zoomin",
"science",
"study"
],
"k": [
27,
46
]
},
"cry": {
"a": "Crying Face",
"b": "1F622",
"j": [
"face",
"tears",
"sad",
"depressed",
"upset",
":'("
],
"k": [
31,
6
],
"l": [
":'("
],
"m": ":'("
},
"bird": {
"a": "Bird",
"b": "1F426",
"j": [
"animal",
"nature",
"fly",
"tweet",
"spring"
],
"k": [
13,
16
]
},
"cn": {
"a": "China Flag",
"b": "1F1E8-1F1F3",
"j": [
"china",
"chinese",
"prc",
"flag",
"country",
"nation",
"banner"
],
"k": [
1,
27
],
"n": [
"flag-cn"
]
},
"telescope": {
"a": "Telescope",
"b": "1F52D",
"j": [
"stars",
"space",
"zoom",
"science",
"astronomy"
],
"k": [
27,
47
]
},
"rice_cracker": {
"a": "Rice Cracker",
"b": "1F358",
"j": [
"food",
"japanese"
],
"k": [
7,
26
]
},
"hearts": {
"a": "Black Heart Suit",
"b": "2665-FE0F",
"c": "2665",
"j": [
"poker",
"cards",
"magic",
"suits"
],
"k": [
48,
6
],
"o": 1
},
"orthodox_cross": {
"a": "Orthodox Cross",
"b": "2626-FE0F",
"c": "2626",
"j": [
"suppedaneum",
"religion"
],
"k": [
47,
35
],
"o": 1
},
"milky_way": {
"a": "Milky Way",
"b": "1F30C",
"j": [
"photo",
"space",
"stars"
],
"k": [
6,
4
]
},
"rice_ball": {
"a": "Rice Ball",
"b": "1F359",
"j": [
"food",
"japanese"
],
"k": [
7,
27
]
},
"satellite_antenna": {
"a": "Satellite Antenna",
"b": "1F4E1",
"k": [
26,
24
]
},
"flag-co": {
"a": "Colombia Flag",
"b": "1F1E8-1F1F4",
"k": [
1,
28
]
},
"carousel_horse": {
"a": "Carousel Horse",
"b": "1F3A0",
"j": [
"photo",
"carnival"
],
"k": [
8,
46
]
},
"sob": {
"a": "Loudly Crying Face",
"b": "1F62D",
"j": [
"face",
"cry",
"tears",
"sad",
"upset",
"depressed"
],
"k": [
31,
17
],
"m": ":'("
},
"diamonds": {
"a": "Black Diamond Suit",
"b": "2666-FE0F",
"c": "2666",
"j": [
"poker",
"cards",
"magic",
"suits"
],
"k": [
48,
7
],
"o": 1
},
"star_and_crescent": {
"a": "Star and Crescent",
"b": "262A-FE0F",
"c": "262A",
"j": [
"islam"
],
"k": [
47,
36
],
"o": 1
},
"penguin": {
"a": "Penguin",
"b": "1F427",
"j": [
"animal",
"nature"
],
"k": [
13,
17
]
},
"dove_of_peace": {
"a": "Dove of Peace",
"b": "1F54A-FE0F",
"c": "1F54A",
"k": [
28,
13
],
"o": 7
},
"flag-cp": {
"a": "Clipperton Island Flag",
"b": "1F1E8-1F1F5",
"k": [
1,
29
]
},
"ferris_wheel": {
"a": "Ferris Wheel",
"b": "1F3A1",
"j": [
"photo",
"carnival",
"londoneye"
],
"k": [
8,
47
]
},
"clubs": {
"a": "Black Club Suit",
"b": "2663-FE0F",
"c": "2663",
"j": [
"poker",
"cards",
"magic",
"suits"
],
"k": [
48,
5
],
"o": 1
},
"peace_symbol": {
"a": "Peace Symbol",
"b": "262E-FE0F",
"c": "262E",
"j": [
"hippie"
],
"k": [
47,
37
],
"o": 1
},
"candle": {
"a": "Candle",
"b": "1F56F-FE0F",
"c": "1F56F",
"j": [
"fire",
"wax"
],
"k": [
28,
42
],
"o": 7
},
"frowning": {
"a": "Frowning Face with Open Mouth",
"b": "1F626",
"j": [
"face",
"aw",
"what"
],
"k": [
31,
10
]
},
"rice": {
"a": "Cooked Rice",
"b": "1F35A",
"j": [
"food",
"china",
"asian"
],
"k": [
7,
28
]
},
"flag-cr": {
"a": "Costa Rica Flag",
"b": "1F1E8-1F1F7",
"k": [
1,
30
]
},
"roller_coaster": {
"a": "Roller Coaster",
"b": "1F3A2",
"j": [
"carnival",
"playground",
"photo",
"fun"
],
"k": [
8,
48
]
},
"menorah_with_nine_branches": {
"a": "Menorah with Nine Branches",
"b": "1F54E",
"k": [
28,
17
],
"o": 8
},
"black_joker": {
"a": "Playing Card Black Joker",
"b": "1F0CF",
"j": [
"poker",
"cards",
"game",
"play",
"magic"
],
"k": [
0,
15
]
},
"eagle": {
"a": "Eagle",
"b": "1F985",
"j": [
"animal",
"nature",
"bird"
],
"k": [
42,
29
],
"o": 9
},
"curry": {
"a": "Curry and Rice",
"b": "1F35B",
"j": [
"food",
"spicy",
"hot",
"indian"
],
"k": [
7,
29
]
},
"bulb": {
"a": "Electric Light Bulb",
"b": "1F4A1",
"j": [
"light",
"electricity",
"idea"
],
"k": [
25,
7
]
},
"anguished": {
"a": "Anguished Face",
"b": "1F627",
"j": [
"face",
"stunned",
"nervous"
],
"k": [
31,
11
],
"l": [
"D:"
]
},
"flag-cu": {
"a": "Cuba Flag",
"b": "1F1E8-1F1FA",
"k": [
1,
31
]
},
"barber": {
"a": "Barber Pole",
"b": "1F488",
"j": [
"hair",
"salon",
"style"
],
"k": [
24,
34
]
},
"duck": {
"a": "Duck",
"b": "1F986",
"j": [
"animal",
"nature",
"bird",
"mallard"
],
"k": [
42,
30
],
"o": 9
},
"six_pointed_star": {
"a": "Six Pointed Star with Middle Dot",
"b": "1F52F",
"j": [
"purple-square",
"religion",
"jewish",
"hexagram"
],
"k": [
27,
49
]
},
"ramen": {
"a": "Steaming Bowl",
"b": "1F35C",
"j": [
"food",
"japanese",
"noodle",
"chopsticks"
],
"k": [
7,
30
]
},
"flashlight": {
"a": "Electric Torch",
"b": "1F526",
"j": [
"dark",
"camping",
"sight",
"night"
],
"k": [
27,
40
]
},
"mahjong": {
"a": "Mahjong Tile Red Dragon",
"b": "1F004",
"j": [
"game",
"play",
"chinese",
"kanji"
],
"k": [
0,
14
],
"o": 5
},
"fearful": {
"a": "Fearful Face",
"b": "1F628",
"j": [
"face",
"scared",
"terrified",
"nervous",
"oops",
"huh"
],
"k": [
31,
12
]
},
"aries": {
"a": "Aries",
"b": "2648",
"j": [
"sign",
"purple-square",
"zodiac",
"astrology"
],
"k": [
47,
44
],
"o": 1
},
"spaghetti": {
"a": "Spaghetti",
"b": "1F35D",
"j": [
"food",
"italian",
"noodle"
],
"k": [
7,
31
]
},
"circus_tent": {
"a": "Circus Tent",
"b": "1F3AA",
"j": [
"festival",
"carnival",
"party"
],
"k": [
9,
4
]
},
"izakaya_lantern": {
"a": "Izakaya Lantern",
"b": "1F3EE",
"j": [
"light",
"paper",
"halloween",
"spooky"
],
"k": [
12,
11
],
"n": [
"lantern"
]
},
"flag-cv": {
"a": "Cape Verde Flag",
"b": "1F1E8-1F1FB",
"k": [
1,
32
]
},
"weary": {
"a": "Weary Face",
"b": "1F629",
"j": [
"face",
"tired",
"sleepy",
"sad",
"frustrated",
"upset"
],
"k": [
31,
13
]
},
"flower_playing_cards": {
"a": "Flower Playing Cards",
"b": "1F3B4",
"j": [
"game",
"sunset",
"red"
],
"k": [
9,
14
]
},
"owl": {
"a": "Owl",
"b": "1F989",
"j": [
"animal",
"nature",
"bird",
"hoot"
],
"k": [
42,
33
],
"o": 9
},
"performing_arts": {
"a": "Performing Arts",
"b": "1F3AD",
"j": [
"acting",
"theater",
"drama"
],
"k": [
9,
7
]
},
"frog": {
"a": "Frog Face",
"b": "1F438",
"j": [
"animal",
"nature",
"croak",
"toad"
],
"k": [
13,
34
]
},
"flag-cw": {
"a": "Curaçao Flag",
"b": "1F1E8-1F1FC",
"k": [
1,
33
]
},
"notebook_with_decorative_cover": {
"a": "Notebook with Decorative Cover",
"b": "1F4D4",
"j": [
"classroom",
"notes",
"record",
"paper",
"study"
],
"k": [
26,
11
]
},
"exploding_head": {
"a": "Shocked Face with Exploding Head",
"b": "1F92F",
"j": [
"face",
"shocked",
"mind",
"blown"
],
"k": [
39,
3
],
"n": [
"shocked_face_with_exploding_head"
],
"o": 10
},
"taurus": {
"a": "Taurus",
"b": "2649",
"j": [
"purple-square",
"sign",
"zodiac",
"astrology"
],
"k": [
47,
45
],
"o": 1
},
"sweet_potato": {
"a": "Roasted Sweet Potato",
"b": "1F360",
"j": [
"food",
"nature"
],
"k": [
7,
34
]
},
"closed_book": {
"a": "Closed Book",
"b": "1F4D5",
"j": [
"read",
"library",
"knowledge",
"textbook",
"learn"
],
"k": [
26,
12
]
},
"gemini": {
"a": "Gemini",
"b": "264A",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology"
],
"k": [
47,
46
],
"o": 1
},
"frame_with_picture": {
"a": "Frame with Picture",
"b": "1F5BC-FE0F",
"c": "1F5BC",
"k": [
30,
3
],
"o": 7
},
"flag-cx": {
"a": "Christmas Island Flag",
"b": "1F1E8-1F1FD",
"k": [
1,
34
]
},
"grimacing": {
"a": "Grimacing Face",
"b": "1F62C",
"j": [
"face",
"grimace",
"teeth"
],
"k": [
31,
16
]
},
"crocodile": {
"a": "Crocodile",
"b": "1F40A",
"j": [
"animal",
"nature",
"reptile",
"lizard",
"alligator"
],
"k": [
12,
40
]
},
"oden": {
"a": "Oden",
"b": "1F362",
"j": [
"food",
"japanese"
],
"k": [
7,
36
]
},
"flag-cy": {
"a": "Cyprus Flag",
"b": "1F1E8-1F1FE",
"k": [
1,
35
]
},
"book": {
"a": "Open Book",
"b": "1F4D6",
"k": [
26,
13
],
"n": [
"open_book"
]
},
"turtle": {
"a": "Turtle",
"b": "1F422",
"j": [
"animal",
"slow",
"nature",
"tortoise"
],
"k": [
13,
12
]
},
"art": {
"a": "Artist Palette",
"b": "1F3A8",
"j": [
"design",
"paint",
"draw",
"colors"
],
"k": [
9,
2
]
},
"sushi": {
"a": "Sushi",
"b": "1F363",
"j": [
"food",
"fish",
"japanese",
"rice"
],
"k": [
7,
37
]
},
"cold_sweat": {
"a": "Face with Open Mouth and Cold Sweat",
"b": "1F630",
"j": [
"face",
"nervous",
"sweat"
],
"k": [
31,
20
]
},
"cancer": {
"a": "Cancer",
"b": "264B",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology"
],
"k": [
47,
47
],
"o": 1
},
"fried_shrimp": {
"a": "Fried Shrimp",
"b": "1F364",
"j": [
"food",
"animal",
"appetizer",
"summer"
],
"k": [
7,
38
]
},
"slot_machine": {
"a": "Slot Machine",
"b": "1F3B0",
"j": [
"bet",
"gamble",
"vegas",
"fruit machine",
"luck",
"casino"
],
"k": [
9,
10
]
},
"scream": {
"a": "Face Screaming in Fear",
"b": "1F631",
"j": [
"face",
"munch",
"scared",
"omg"
],
"k": [
31,
21
]
},
"fear": {
"a": "Face Screaming in Fear",
"b": "1F631",
"j": [
"face",
"munch",
"scared",
"omg"
],
"k": [
31,
21
]
},
"green_book": {
"a": "Green Book",
"b": "1F4D7",
"j": [
"read",
"library",
"knowledge",
"study"
],
"k": [
26,
14
]
},
"leo": {
"a": "Leo",
"b": "264C",
"j": [
"sign",
"purple-square",
"zodiac",
"astrology"
],
"k": [
47,
48
],
"o": 1
},
"flag-cz": {
"a": "Czechia Flag",
"b": "1F1E8-1F1FF",
"k": [
1,
36
]
},
"lizard": {
"a": "Lizard",
"b": "1F98E",
"j": [
"animal",
"nature",
"reptile"
],
"k": [
42,
38
],
"o": 9
},
"virgo": {
"a": "Virgo",
"b": "264D",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology"
],
"k": [
47,
49
],
"o": 1
},
"steam_locomotive": {
"a": "Steam Locomotive",
"b": "1F682",
"j": [
"transportation",
"vehicle",
"train"
],
"k": [
34,
10
]
},
"de": {
"a": "Germany Flag",
"b": "1F1E9-1F1EA",
"j": [
"german",
"nation",
"flag",
"country",
"banner"
],
"k": [
1,
37
],
"n": [
"flag-de"
]
},
"flushed": {
"a": "Flushed Face",
"b": "1F633",
"j": [
"face",
"blush",
"shy",
"flattered"
],
"k": [
31,
23
]
},
"blue_book": {
"a": "Blue Book",
"b": "1F4D8",
"j": [
"read",
"library",
"knowledge",
"learn",
"study"
],
"k": [
26,
15
]
},
"snake": {
"a": "Snake",
"b": "1F40D",
"j": [
"animal",
"evil",
"nature",
"hiss",
"python"
],
"k": [
12,
43
]
},
"fish_cake": {
"a": "Fish Cake with Swirl Design",
"b": "1F365",
"j": [
"food",
"japan",
"sea",
"beach",
"narutomaki",
"pink",
"swirl",
"kamaboko",
"surimi",
"ramen"
],
"k": [
7,
39
]
},
"railway_car": {
"a": "Railway Car",
"b": "1F683",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
11
]
},
"dango": {
"a": "Dango",
"b": "1F361",
"j": [
"food",
"dessert",
"sweet",
"japanese",
"barbecue",
"meat"
],
"k": [
7,
35
]
},
"orange_book": {
"a": "Orange Book",
"b": "1F4D9",
"j": [
"read",
"library",
"knowledge",
"textbook",
"study"
],
"k": [
26,
16
]
},
"libra": {
"a": "Libra",
"b": "264E",
"j": [
"sign",
"purple-square",
"zodiac",
"astrology"
],
"k": [
47,
50
],
"o": 1
},
"dragon_face": {
"a": "Dragon Face",
"b": "1F432",
"j": [
"animal",
"myth",
"nature",
"chinese",
"green"
],
"k": [
13,
28
]
},
"flag-dg": {
"a": "Diego Garcia Flag",
"b": "1F1E9-1F1EC",
"k": [
1,
38
]
},
"zany_face": {
"a": "Grinning Face with One Large and One Small Eye",
"b": "1F92A",
"k": [
38,
50
],
"n": [
"grinning_face_with_one_large_and_one_small_eye"
],
"o": 10
},
"books": {
"a": "Books",
"b": "1F4DA",
"j": [
"literature",
"library",
"study"
],
"k": [
26,
17
]
},
"dragon": {
"a": "Dragon",
"b": "1F409",
"j": [
"animal",
"myth",
"nature",
"chinese",
"green"
],
"k": [
12,
39
]
},
"flag-dj": {
"a": "Djibouti Flag",
"b": "1F1E9-1F1EF",
"k": [
1,
39
]
},
"dumpling": {
"a": "Dumpling",
"b": "1F95F",
"j": [
"food",
"empanada",
"pierogi",
"potsticker"
],
"k": [
42,
11
],
"o": 10
},
"dizzy_face": {
"a": "Dizzy Face",
"b": "1F635",
"j": [
"spent",
"unconscious",
"xox",
"dizzy"
],
"k": [
31,
25
]
},
"scorpius": {
"a": "Scorpius",
"b": "264F",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology",
"scorpio"
],
"k": [
47,
51
],
"o": 1
},
"bullettrain_side": {
"a": "High-Speed Train",
"b": "1F684",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
12
]
},
"bullettrain_front": {
"a": "High-Speed Train with Bullet Nose",
"b": "1F685",
"j": [
"transportation",
"vehicle",
"speed",
"fast",
"public",
"travel"
],
"k": [
34,
13
]
},
"notebook": {
"a": "Notebook",
"b": "1F4D3",
"j": [
"stationery",
"record",
"notes",
"paper",
"study"
],
"k": [
26,
10
]
},
"fortune_cookie": {
"a": "Fortune Cookie",
"b": "1F960",
"j": [
"food",
"prophecy"
],
"k": [
42,
12
],
"o": 10
},
"sagittarius": {
"a": "Sagittarius",
"b": "2650",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology"
],
"k": [
48,
0
],
"o": 1
},
"sauropod": {
"a": "Sauropod",
"b": "1F995",
"j": [
"animal",
"nature",
"dinosaur",
"brachiosaurus",
"brontosaurus",
"diplodocus",
"extinct"
],
"k": [
42,
45
],
"o": 10
},
"flag-dk": {
"a": "Denmark Flag",
"b": "1F1E9-1F1F0",
"k": [
1,
40
]
},
"rage": {
"a": "Pouting Face",
"b": "1F621",
"j": [
"angry",
"mad",
"hate",
"despise"
],
"k": [
31,
5
]
},
"ledger": {
"a": "Ledger",
"b": "1F4D2",
"j": [
"notes",
"paper"
],
"k": [
26,
9
]
},
"angry": {
"a": "Angry Face",
"b": "1F620",
"j": [
"mad",
"face",
"annoyed",
"frustrated"
],
"k": [
31,
4
],
"l": [
">:(",
">:-("
]
},
"t-rex": {
"a": "T-Rex",
"b": "1F996",
"j": [
"animal",
"nature",
"dinosaur",
"tyrannosaurus",
"extinct"
],
"k": [
42,
46
],
"o": 10
},
"capricorn": {
"a": "Capricorn",
"b": "2651",
"j": [
"sign",
"zodiac",
"purple-square",
"astrology"
],
"k": [
48,
1
],
"o": 1
},
"takeout_box": {
"a": "Takeout Box",
"b": "1F961",
"j": [
"food",
"leftovers"
],
"k": [
42,
13
],
"o": 10
},
"flag-dm": {
"a": "Dominica Flag",
"b": "1F1E9-1F1F2",
"k": [
1,
41
]
},
"train2": {
"a": "Train",
"b": "1F686",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
14
]
},
"page_with_curl": {
"a": "Page with Curl",
"b": "1F4C3",
"j": [
"documents",
"office",
"paper"
],
"k": [
25,
46
]
},
"whale": {
"a": "Spouting Whale",
"b": "1F433",
"j": [
"animal",
"nature",
"sea",
"ocean"
],
"k": [
13,
29
]
},
"face_with_symbols_on_mouth": {
"a": "Serious Face with Symbols Covering Mouth",
"b": "1F92C",
"k": [
39,
0
],
"n": [
"serious_face_with_symbols_covering_mouth"
],
"o": 10
},
"flag-do": {
"a": "Dominican Republic Flag",
"b": "1F1E9-1F1F4",
"k": [
1,
42
]
},
"metro": {
"a": "Metro",
"b": "1F687",
"j": [
"transportation",
"blue-square",
"mrt",
"underground",
"tube"
],
"k": [
34,
15
]
},
"icecream": {
"a": "Soft Ice Cream",
"b": "1F366",
"j": [
"food",
"hot",
"dessert",
"summer"
],
"k": [
7,
40
]
},
"aquarius": {
"a": "Aquarius",
"b": "2652",
"j": [
"sign",
"purple-square",
"zodiac",
"astrology"
],
"k": [
48,
2
],
"o": 1
},
"flag-dz": {
"a": "Algeria Flag",
"b": "1F1E9-1F1FF",
"k": [
1,
43
]
},
"whale2": {
"a": "Whale",
"b": "1F40B",
"j": [
"animal",
"nature",
"sea",
"ocean"
],
"k": [
12,
41
]
},
"mask": {
"a": "Face with Medical Mask",
"b": "1F637",
"j": [
"face",
"sick",
"ill",
"disease"
],
"k": [
31,
27
]
},
"ill": {
"a": "Face with Medical Mask",
"b": "1F637",
"j": [
"face",
"sick",
"ill",
"disease"
],
"k": [
31,
27
]
},
"scroll": {
"a": "Scroll",
"b": "1F4DC",
"j": [
"documents",
"ancient",
"history",
"paper"
],
"k": [
26,
19
]
},
"shaved_ice": {
"a": "Shaved Ice",
"b": "1F367",
"j": [
"hot",
"dessert",
"summer"
],
"k": [
7,
41
]
},
"pisces": {
"a": "Pisces",
"b": "2653",
"j": [
"purple-square",
"sign",
"zodiac",
"astrology"
],
"k": [
48,
3
],
"o": 1
},
"light_rail": {
"a": "Light Rail",
"b": "1F688",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
16
]
},
"dolphin": {
"a": "Dolphin",
"b": "1F42C",
"j": [
"animal",
"nature",
"fish",
"sea",
"ocean",
"flipper",
"fins",
"beach"
],
"k": [
13,
22
],
"n": [
"flipper"
]
},
"face_with_thermometer": {
"a": "Face with Thermometer",
"b": "1F912",
"j": [
"sick",
"temperature",
"thermometer",
"cold",
"fever"
],
"k": [
37,
26
],
"o": 8
},
"flag-ea": {
"a": "Ceuta & Melilla Flag",
"b": "1F1EA-1F1E6",
"k": [
1,
44
]
},
"ophiuchus": {
"a": "Ophiuchus",
"b": "26CE",
"j": [
"sign",
"purple-square",
"constellation",
"astrology"
],
"k": [
48,
31
]
},
"station": {
"a": "Station",
"b": "1F689",
"j": [
"transportation",
"vehicle",
"public"
],
"k": [
34,
17
]
},
"ice_cream": {
"a": "Ice Cream",
"b": "1F368",
"j": [
"food",
"hot",
"dessert"
],
"k": [
7,
42
]
},
"page_facing_up": {
"a": "Page Facing Up",
"b": "1F4C4",
"j": [
"documents",
"office",
"paper",
"information"
],
"k": [
25,
47
]
},
"doughnut": {
"a": "Doughnut",
"b": "1F369",
"j": [
"food",
"dessert",
"snack",
"sweet",
"donut"
],
"k": [
7,
43
]
},
"face_with_head_bandage": {
"a": "Face with Head-Bandage",
"b": "1F915",
"j": [
"injured",
"clumsy",
"bandage",
"hurt"
],
"k": [
37,
29
],
"o": 8
},
"fish": {
"a": "Fish",
"b": "1F41F",
"j": [
"animal",
"food",
"nature"
],
"k": [
13,
9
]
},
"newspaper": {
"a": "Newspaper",
"b": "1F4F0",
"j": [
"press",
"headline"
],
"k": [
26,
39
]
},
"tram": {
"a": "Tram",
"b": "1F68A",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
18
]
},
"flag-ec": {
"a": "Ecuador Flag",
"b": "1F1EA-1F1E8",
"k": [
1,
45
]
},
"twisted_rightwards_arrows": {
"a": "Twisted Rightwards Arrows",
"b": "1F500",
"j": [
"blue-square",
"shuffle",
"music",
"random"
],
"k": [
27,
2
]
},
"flag-ee": {
"a": "Estonia Flag",
"b": "1F1EA-1F1EA",
"k": [
1,
46
]
},
"cookie": {
"a": "Cookie",
"b": "1F36A",
"j": [
"food",
"snack",
"oreo",
"chocolate",
"sweet",
"dessert"
],
"k": [
7,
44
]
},
"monorail": {
"a": "Monorail",
"b": "1F69D",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
37
]
},
"tropical_fish": {
"a": "Tropical Fish",
"b": "1F420",
"j": [
"animal",
"swim",
"ocean",
"beach",
"nemo"
],
"k": [
13,
10
]
},
"rolled_up_newspaper": {
"a": "Rolled Up Newspaper",
"b": "1F5DE-FE0F",
"c": "1F5DE",
"k": [
30,
12
],
"o": 7
},
"nauseated_face": {
"a": "Nauseated Face",
"b": "1F922",
"j": [
"face",
"vomit",
"gross",
"green",
"sick",
"throw up",
"ill"
],
"k": [
38,
25
],
"o": 9
},
"repeat": {
"a": "Clockwise Rightwards and Leftwards Open Circle Arrows",
"b": "1F501",
"j": [
"loop",
"record"
],
"k": [
27,
3
]
},
"bookmark_tabs": {
"a": "Bookmark Tabs",
"b": "1F4D1",
"j": [
"favorite",
"save",
"order",
"tidy"
],
"k": [
26,
8
]
},
"repeat_one": {
"a": "Clockwise Rightwards and Leftwards Open Circle Arrows with Circled One Overlay",
"b": "1F502",
"j": [
"blue-square",
"loop"
],
"k": [
27,
4
]
},
"flag-eg": {
"a": "Egypt Flag",
"b": "1F1EA-1F1EC",
"k": [
1,
47
]
},
"mountain_railway": {
"a": "Mountain Railway",
"b": "1F69E",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
38
]
},
"birthday": {
"a": "Birthday Cake",
"b": "1F382",
"j": [
"food",
"dessert",
"cake"
],
"k": [
8,
16
]
},
"blowfish": {
"a": "Blowfish",
"b": "1F421",
"j": [
"animal",
"nature",
"food",
"sea",
"ocean"
],
"k": [
13,
11
]
},
"face_vomiting": {
"a": "Face with Open Mouth Vomiting",
"b": "1F92E",
"k": [
39,
2
],
"n": [
"face_with_open_mouth_vomiting"
],
"o": 10
},
"arrow_forward": {
"a": "Black Right-Pointing Triangle",
"b": "25B6-FE0F",
"c": "25B6",
"j": [
"blue-square",
"right",
"direction",
"play"
],
"k": [
47,
10
],
"o": 1
},
"bookmark": {
"a": "Bookmark",
"b": "1F516",
"j": [
"favorite",
"label",
"save"
],
"k": [
27,
24
]
},
"flag-eh": {
"a": "Western Sahara Flag",
"b": "1F1EA-1F1ED",
"k": [
1,
48
]
},
"shark": {
"a": "Shark",
"b": "1F988",
"j": [
"animal",
"nature",
"fish",
"sea",
"ocean",
"jaws",
"fins",
"beach"
],
"k": [
42,
32
],
"o": 9
},
"train": {
"a": "Tram Car",
"b": "1F68B",
"j": [
"transportation",
"vehicle",
"carriage",
"public",
"travel"
],
"k": [
34,
19
]
},
"sneezing_face": {
"a": "Sneezing Face",
"b": "1F927",
"j": [
"face",
"gesundheit",
"sneeze",
"sick",
"allergy"
],
"k": [
38,
47
],
"o": 9
},
"sneezing": {
"a": "Sneezing Face",
"b": "1F927",
"j": [
"face",
"gesundheit",
"sneeze",
"sick",
"allergy"
],
"k": [
38,
47
],
"o": 9
},
"cake": {
"a": "Shortcake",
"b": "1F370",
"j": [
"food",
"dessert"
],
"k": [
7,
50
]
},
"bus": {
"a": "Bus",
"b": "1F68C",
"j": [
"car",
"vehicle",
"transportation"
],
"k": [
34,
20
]
},
"pie": {
"a": "Pie",
"b": "1F967",
"j": [
"food",
"dessert",
"pastry"
],
"k": [
42,
19
],
"o": 10
},
"innocent": {
"a": "Smiling Face with Halo",
"b": "1F607",
"j": [
"face",
"angel",
"heaven",
"halo"
],
"k": [
30,
31
]
},
"fast_forward": {
"a": "Black Right-Pointing Double Triangle",
"b": "23E9",
"j": [
"blue-square",
"play",
"speed",
"continue"
],
"k": [
46,
45
]
},
"label": {
"a": "Label",
"b": "1F3F7-FE0F",
"c": "1F3F7",
"j": [
"sale",
"tag"
],
"k": [
12,
21
],
"o": 7
},
"octopus": {
"a": "Octopus",
"b": "1F419",
"j": [
"animal",
"creature",
"ocean",
"sea",
"nature",
"beach"
],
"k": [
13,
3
]
},
"flag-er": {
"a": "Eritrea Flag",
"b": "1F1EA-1F1F7",
"k": [
1,
49
]
},
"black_right_pointing_double_triangle_with_vertical_bar": {
"a": "Black Right Pointing Double Triangle with Vertical Bar",
"b": "23ED-FE0F",
"c": "23ED",
"k": [
46,
49
]
},
"chocolate_bar": {
"a": "Chocolate Bar",
"b": "1F36B",
"j": [
"food",
"snack",
"dessert",
"sweet"
],
"k": [
7,
45
]
},
"oncoming_bus": {
"a": "Oncoming Bus",
"b": "1F68D",
"j": [
"vehicle",
"transportation"
],
"k": [
34,
21
]
},
"shell": {
"a": "Spiral Shell",
"b": "1F41A",
"j": [
"nature",
"sea",
"beach"
],
"k": [
13,
4
]
},
"face_with_cowboy_hat": {
"a": "Face with Cowboy Hat",
"b": "1F920",
"k": [
38,
23
],
"o": 9
},
"moneybag": {
"a": "Money Bag",
"b": "1F4B0",
"j": [
"dollar",
"payment",
"coins",
"sale"
],
"k": [
25,
27
]
},
"es": {
"a": "Spain Flag",
"b": "1F1EA-1F1F8",
"j": [
"spain",
"flag",
"nation",
"country",
"banner"
],
"k": [
1,
50
],
"n": [
"flag-es"
]
},
"crab": {
"a": "Crab",
"b": "1F980",
"j": [
"animal",
"crustacean"
],
"k": [
42,
24
],
"o": 8
},
"yen": {
"a": "Banknote with Yen Sign",
"b": "1F4B4",
"j": [
"money",
"sales",
"japanese",
"dollar",
"currency"
],
"k": [
25,
31
]
},
"flag-et": {
"a": "Ethiopia Flag",
"b": "1F1EA-1F1F9",
"k": [
1,
51
]
},
"clown_face": {
"a": "Clown Face",
"b": "1F921",
"j": [
"face"
],
"k": [
38,
24
],
"o": 9
},
"black_right_pointing_triangle_with_double_vertical_bar": {
"a": "Black Right Pointing Triangle with Double Vertical Bar",
"b": "23EF-FE0F",
"c": "23EF",
"k": [
46,
51
]
},
"trolleybus": {
"a": "Trolleybus",
"b": "1F68E",
"j": [
"bart",
"transportation",
"vehicle"
],
"k": [
34,
22
]
},
"candy": {
"a": "Candy",
"b": "1F36C",
"j": [
"snack",
"dessert",
"sweet",
"lolly"
],
"k": [
7,
46
]
},
"lying_face": {
"a": "Lying Face",
"b": "1F925",
"j": [
"face",
"lie",
"pinocchio"
],
"k": [
38,
28
],
"o": 9
},
"arrow_backward": {
"a": "Black Left-Pointing Triangle",
"b": "25C0-FE0F",
"c": "25C0",
"j": [
"blue-square",
"left",
"direction"
],
"k": [
47,
11
],
"o": 1
},
"dollar": {
"a": "Banknote with Dollar Sign",
"b": "1F4B5",
"j": [
"money",
"sales",
"bill",
"currency"
],
"k": [
25,
32
]
},
"shrimp": {
"a": "Shrimp",
"b": "1F990",
"j": [
"animal",
"ocean",
"nature",
"seafood"
],
"k": [
42,
40
],
"o": 9
},
"minibus": {
"a": "Minibus",
"b": "1F690",
"j": [
"vehicle",
"car",
"transportation"
],
"k": [
34,
24
]
},
"flag-eu": {
"a": "European Union Flag",
"b": "1F1EA-1F1FA",
"k": [
2,
0
]
},
"lollipop": {
"a": "Lollipop",
"b": "1F36D",
"j": [
"food",
"snack",
"candy",
"sweet"
],
"k": [
7,
47
]
},
"squid": {
"a": "Squid",
"b": "1F991",
"j": [
"animal",
"nature",
"ocean",
"sea"
],
"k": [
42,
41
],
"o": 9
},
"euro": {
"a": "Banknote with Euro Sign",
"b": "1F4B6",
"j": [
"money",
"sales",
"dollar",
"currency"
],
"k": [
25,
33
]
},
"flag-fi": {
"a": "Finland Flag",
"b": "1F1EB-1F1EE",
"k": [
2,
1
]
},
"ambulance": {
"a": "Ambulance",
"b": "1F691",
"j": [
"health",
"911",
"hospital"
],
"k": [
34,
25
]
},
"custard": {
"a": "Custard",
"b": "1F36E",
"j": [
"dessert",
"food"
],
"k": [
7,
48
]
},
"shushing_face": {
"a": "Face with Finger Covering Closed Lips",
"b": "1F92B",
"k": [
38,
51
],
"n": [
"face_with_finger_covering_closed_lips"
],
"o": 10
},
"rewind": {
"a": "Black Left-Pointing Double Triangle",
"b": "23EA",
"j": [
"play",
"blue-square"
],
"k": [
46,
46
]
},
"black_left_pointing_double_triangle_with_vertical_bar": {
"a": "Black Left Pointing Double Triangle with Vertical Bar",
"b": "23EE-FE0F",
"c": "23EE",
"k": [
46,
50
]
},
"face_with_hand_over_mouth": {
"a": "Smiling Face with Smiling Eyes and Hand Covering Mouth",
"b": "1F92D",
"k": [
39,
1
],
"n": [
"smiling_face_with_smiling_eyes_and_hand_covering_mouth"
],
"o": 10
},
"flag-fj": {
"a": "Fiji Flag",
"b": "1F1EB-1F1EF",
"k": [
2,
2
]
},
"honey_pot": {
"a": "Honey Pot",
"b": "1F36F",
"j": [
"bees",
"sweet",
"kitchen"
],
"k": [
7,
49
]
},
"snail": {
"a": "Snail",
"b": "1F40C",
"j": [
"slow",
"animal",
"shell"
],
"k": [
12,
42
]
},
"pound": {
"a": "Banknote with Pound Sign",
"b": "1F4B7",
"j": [
"british",
"sterling",
"money",
"sales",
"bills",
"uk",
"england",
"currency"
],
"k": [
25,
34
]
},
"fire_engine": {
"a": "Fire Engine",
"b": "1F692",
"j": [
"transportation",
"cars",
"vehicle"
],
"k": [
34,
26
]
},
"baby_bottle": {
"a": "Baby Bottle",
"b": "1F37C",
"j": [
"food",
"container",
"milk"
],
"k": [
8,
10
]
},
"flag-fk": {
"a": "Falkland Islands Flag",
"b": "1F1EB-1F1F0",
"k": [
2,
3
]
},
"butterfly": {
"a": "Butterfly",
"b": "1F98B",
"j": [
"animal",
"insect",
"nature",
"caterpillar"
],
"k": [
42,
35
],
"o": 9
},
"money_with_wings": {
"a": "Money with Wings",
"b": "1F4B8",
"j": [
"dollar",
"bills",
"payment",
"sale"
],
"k": [
25,
35
]
},
"face_with_monocle": {
"a": "Face with Monocle",
"b": "1F9D0",
"k": [
42,
49
],
"o": 10
},
"police_car": {
"a": "Police Car",
"b": "1F693",
"j": [
"vehicle",
"cars",
"transportation",
"law",
"legal",
"enforcement"
],
"k": [
34,
27
]
},
"arrow_up_small": {
"a": "Up-Pointing Small Red Triangle",
"b": "1F53C",
"j": [
"blue-square",
"triangle",
"direction",
"point",
"forward",
"top"
],
"k": [
28,
10
]
},
"flag-fm": {
"a": "Micronesia Flag",
"b": "1F1EB-1F1F2",
"k": [
2,
4
]
},
"glass_of_milk": {
"a": "Glass of Milk",
"b": "1F95B",
"k": [
42,
7
],
"o": 9
},
"credit_card": {
"a": "Credit Card",
"b": "1F4B3",
"j": [
"money",
"sales",
"dollar",
"bill",
"payment",
"shopping"
],
"k": [
25,
30
]
},
"oncoming_police_car": {
"a": "Oncoming Police Car",
"b": "1F694",
"j": [
"vehicle",
"law",
"legal",
"enforcement",
"911"
],
"k": [
34,
28
]
},
"bug": {
"a": "Bug",
"b": "1F41B",
"j": [
"animal",
"insect",
"nature",
"worm"
],
"k": [
13,
5
]
},
"nerd_face": {
"a": "Nerd Face",
"b": "1F913",
"j": [
"face",
"nerdy",
"geek",
"dork"
],
"k": [
37,
27
],
"o": 8
},
"arrow_double_up": {
"a": "Black Up-Pointing Double Triangle",
"b": "23EB",
"j": [
"blue-square",
"direction",
"top"
],
"k": [
46,
47
]
},
"chart": {
"a": "Chart with Upwards Trend and Yen Sign",
"b": "1F4B9",
"j": [
"green-square",
"graph",
"presentation",
"stats"
],
"k": [
25,
36
]
},
"flag-fo": {
"a": "Faroe Islands Flag",
"b": "1F1EB-1F1F4",
"k": [
2,
5
]
},
"ant": {
"a": "Ant",
"b": "1F41C",
"j": [
"animal",
"insect",
"nature",
"bug"
],
"k": [
13,
6
]
},
"arrow_down_small": {
"a": "Down-Pointing Small Red Triangle",
"b": "1F53D",
"j": [
"blue-square",
"direction",
"bottom"
],
"k": [
28,
11
]
},
"smiling_imp": {
"a": "Smiling Face with Horns",
"b": "1F608",
"j": [
"devil",
"horns"
],
"k": [
30,
32
]
},
"taxi": {
"a": "Taxi",
"b": "1F695",
"j": [
"uber",
"vehicle",
"cars",
"transportation"
],
"k": [
34,
29
]
},
"coffee": {
"a": "Hot Beverage",
"b": "2615",
"j": [
"beverage",
"caffeine",
"latte",
"espresso"
],
"k": [
47,
24
],
"o": 4
},
"fr": {
"a": "France Flag",
"b": "1F1EB-1F1F7",
"j": [
"banner",
"flag",
"nation",
"france",
"french",
"country"
],
"k": [
2,
6
],
"n": [
"flag-fr"
]
},
"oncoming_taxi": {
"a": "Oncoming Taxi",
"b": "1F696",
"j": [
"vehicle",
"cars",
"uber"
],
"k": [
34,
30
]
},
"arrow_double_down": {
"a": "Black Down-Pointing Double Triangle",
"b": "23EC",
"j": [
"blue-square",
"direction",
"bottom"
],
"k": [
46,
48
]
},
"imp": {
"a": "Imp",
"b": "1F47F",
"j": [
"devil",
"angry",
"horns"
],
"k": [
22,
51
]
},
"currency_exchange": {
"a": "Currency Exchange",
"b": "1F4B1",
"j": [
"money",
"sales",
"dollar",
"travel"
],
"k": [
25,
28
]
},
"tea": {
"a": "Teacup Without Handle",
"b": "1F375",
"j": [
"drink",
"bowl",
"breakfast",
"green",
"british"
],
"k": [
8,
3
]
},
"bee": {
"a": "Honeybee",
"b": "1F41D",
"k": [
13,
7
],
"n": [
"honeybee"
]
},
"heavy_dollar_sign": {
"a": "Heavy Dollar Sign",
"b": "1F4B2",
"j": [
"money",
"sales",
"payment",
"currency",
"buck"
],
"k": [
25,
29
]
},
"car": {
"a": "Automobile",
"b": "1F697",
"k": [
34,
31
],
"n": [
"red_car"
]
},
"sake": {
"a": "Sake Bottle and Cup",
"b": "1F376",
"j": [
"wine",
"drink",
"drunk",
"beverage",
"japanese",
"alcohol",
"booze"
],
"k": [
8,
4
]
},
"flag-ga": {
"a": "Gabon Flag",
"b": "1F1EC-1F1E6",
"k": [
2,
7
]
},
"beetle": {
"a": "Lady Beetle",
"b": "1F41E",
"j": [
"animal",
"insect",
"nature",
"ladybug"
],
"k": [
13,
8
]
},
"japanese_ogre": {
"a": "Japanese Ogre",
"b": "1F479",
"j": [
"monster",
"red",
"mask",
"halloween",
"scary",
"creepy",
"devil",
"demon",
"japanese",
"ogre"
],
"k": [
22,
40
]
},
"double_vertical_bar": {
"a": "Double Vertical Bar",
"b": "23F8-FE0F",
"c": "23F8",
"k": [
47,
4
],
"o": 7
},
"champagne": {
"a": "Bottle with Popping Cork",
"b": "1F37E",
"j": [
"drink",
"wine",
"bottle",
"celebration"
],
"k": [
8,
12
],
"o": 8
},
"japanese_goblin": {
"a": "Japanese Goblin",
"b": "1F47A",
"j": [
"red",
"evil",
"mask",
"monster",
"scary",
"creepy",
"japanese",
"goblin"
],
"k": [
22,
41
]
},
"black_square_for_stop": {
"a": "Black Square for Stop",
"b": "23F9-FE0F",
"c": "23F9",
"k": [
47,
5
],
"o": 7
},
"oncoming_automobile": {
"a": "Oncoming Automobile",
"b": "1F698",
"j": [
"car",
"vehicle",
"transportation"
],
"k": [
34,
32
]
},
"email": {
"a": "Envelope",
"b": "2709-FE0F",
"c": "2709",
"j": [
"letter",
"postal",
"inbox",
"communication"
],
"k": [
49,
17
],
"n": [
"envelope"
],
"o": 1
},
"cricket": {
"a": "Cricket",
"b": "1F997",
"j": [
"sports"
],
"k": [
42,
47
],
"o": 10
},
"gb": {
"a": "United Kingdom Flag",
"b": "1F1EC-1F1E7",
"k": [
2,
8
],
"n": [
"uk",
"flag-gb"
]
},
"black_circle_for_record": {
"a": "Black Circle for Record",
"b": "23FA-FE0F",
"c": "23FA",
"k": [
47,
6
],
"o": 7
},
"flag-gd": {
"a": "Grenada Flag",
"b": "1F1EC-1F1E9",
"k": [
2,
9
]
},
"spider": {
"a": "Spider",
"b": "1F577-FE0F",
"c": "1F577",
"j": [
"animal",
"arachnid"
],
"k": [
29,
18
],
"o": 7
},
"blue_car": {
"a": "Recreational Vehicle",
"b": "1F699",
"j": [
"transportation",
"vehicle"
],
"k": [
34,
33
]
},
"skull": {
"a": "Skull",
"b": "1F480",
"j": [
"dead",
"skeleton",
"creepy",
"death"
],
"k": [
23,
0
]
},
"e-mail": {
"a": "E-Mail Symbol",
"b": "1F4E7",
"j": [
"communication",
"inbox"
],
"k": [
26,
30
]
},
"wine_glass": {
"a": "Wine Glass",
"b": "1F377",
"j": [
"drink",
"beverage",
"drunk",
"alcohol",
"booze"
],
"k": [
8,
5
]
},
"spider_web": {
"a": "Spider Web",
"b": "1F578-FE0F",
"c": "1F578",
"j": [
"animal",
"insect",
"arachnid",
"silk"
],
"k": [
29,
19
],
"o": 7
},
"cocktail": {
"a": "Cocktail Glass",
"b": "1F378",
"j": [
"drink",
"drunk",
"alcohol",
"beverage",
"booze",
"mojito"
],
"k": [
8,
6
]
},
"skull_and_crossbones": {
"a": "Skull and Crossbones",
"b": "2620-FE0F",
"c": "2620",
"j": [
"poison",
"danger",
"deadly",
"scary",
"death",
"pirate",
"evil"
],
"k": [
47,
32
],
"o": 1
},
"flag-ge": {
"a": "Georgia Flag",
"b": "1F1EC-1F1EA",
"k": [
2,
10
]
},
"eject": {
"a": "Eject",
"b": "23CF-FE0F",
"c": "23CF",
"k": [
46,
44
],
"o": 4
},
"truck": {
"a": "Delivery Truck",
"b": "1F69A",
"j": [
"cars",
"transportation"
],
"k": [
34,
34
]
},
"incoming_envelope": {
"a": "Incoming Envelope",
"b": "1F4E8",
"j": [
"email",
"inbox"
],
"k": [
26,
31
]
},
"tropical_drink": {
"a": "Tropical Drink",
"b": "1F379",
"j": [
"beverage",
"cocktail",
"summer",
"beach",
"alcohol",
"booze",
"mojito"
],
"k": [
8,
7
]
},
"scorpion": {
"a": "Scorpion",
"b": "1F982",
"j": [
"animal",
"arachnid"
],
"k": [
42,
26
],
"o": 8
},
"cinema": {
"a": "Cinema",
"b": "1F3A6",
"j": [
"blue-square",
"record",
"film",
"movie",
"curtain",
"stage",
"theater"
],
"k": [
9,
0
]
},
"articulated_lorry": {
"a": "Articulated Lorry",
"b": "1F69B",
"j": [
"vehicle",
"cars",
"transportation",
"express"
],
"k": [
34,
35
]
},
"envelope_with_arrow": {
"a": "Envelope with Downwards Arrow Above",
"b": "1F4E9",
"j": [
"email",
"communication"
],
"k": [
26,
32
]
},
"ghost": {
"a": "Ghost",
"b": "1F47B",
"j": [
"halloween",
"spooky",
"scary"
],
"k": [
22,
42
]
},
"flag-gf": {
"a": "French Guiana Flag",
"b": "1F1EC-1F1EB",
"k": [
2,
11
]
},
"bouquet": {
"a": "Bouquet",
"b": "1F490",
"j": [
"flowers",
"nature",
"spring"
],
"k": [
24,
42
]
},
"tractor": {
"a": "Tractor",
"b": "1F69C",
"j": [
"vehicle",
"car",
"farming",
"agriculture"
],
"k": [
34,
36
]
},
"beer": {
"a": "Beer Mug",
"b": "1F37A",
"j": [
"relax",
"beverage",
"drink",
"drunk",
"party",
"pub",
"summer",
"alcohol",
"booze"
],
"k": [
8,
8
]
},
"outbox_tray": {
"a": "Outbox Tray",
"b": "1F4E4",
"j": [
"inbox",
"email"
],
"k": [
26,
27
]
},
"low_brightness": {
"a": "Low Brightness Symbol",
"b": "1F505",
"j": [
"sun",
"afternoon",
"warm",
"summer"
],
"k": [
27,
7
]
},
"alien": {
"a": "Extraterrestrial Alien",
"b": "1F47D",
"j": [
"UFO",
"paul",
"weird",
"outer_space"
],
"k": [
22,
49
]
},
"flag-gg": {
"a": "Guernsey Flag",
"b": "1F1EC-1F1EC",
"k": [
2,
12
]
},
"cherry_blossom": {
"a": "Cherry Blossom",
"b": "1F338",
"j": [
"nature",
"plant",
"spring",
"flower"
],
"k": [
6,
46
]
},
"inbox_tray": {
"a": "Inbox Tray",
"b": "1F4E5",
"j": [
"email",
"documents"
],
"k": [
26,
28
]
},
"flag-gh": {
"a": "Ghana Flag",
"b": "1F1EC-1F1ED",
"k": [
2,
13
]
},
"bike": {
"a": "Bicycle",
"b": "1F6B2",
"j": [
"sports",
"bicycle",
"exercise",
"hipster"
],
"k": [
35,
23
]
},
"space_invader": {
"a": "Alien Monster",
"b": "1F47E",
"j": [
"game",
"arcade",
"play"
],
"k": [
22,
50
]
},
"beers": {
"a": "Clinking Beer Mugs",
"b": "1F37B",
"j": [
"relax",
"beverage",
"drink",
"drunk",
"party",
"pub",
"summer",
"alcohol",
"booze"
],
"k": [
8,
9
]
},
"high_brightness": {
"a": "High Brightness Symbol",
"b": "1F506",
"j": [
"sun",
"light"
],
"k": [
27,
8
]
},
"package": {
"a": "Package",
"b": "1F4E6",
"j": [
"mail",
"gift",
"cardboard",
"box",
"moving"
],
"k": [
26,
29
]
},
"scooter": {
"a": "Scooter",
"b": "1F6F4",
"k": [
37,
19
],
"o": 9
},
"white_flower": {
"a": "White Flower",
"b": "1F4AE",
"j": [
"japanese",
"spring"
],
"k": [
25,
25
]
},
"clinking_glasses": {
"a": "Clinking Glasses",
"b": "1F942",
"j": [
"beverage",
"drink",
"party",
"alcohol",
"celebrate",
"cheers"
],
"k": [
41,
38
],
"o": 9
},
"robot_face": {
"a": "Robot Face",
"b": "1F916",
"k": [
37,
30
],
"o": 8
},
"signal_strength": {
"a": "Antenna with Bars",
"b": "1F4F6",
"j": [
"blue-square",
"reception",
"phone",
"internet",
"connection",
"wifi",
"bluetooth",
"bars"
],
"k": [
26,
45
]
},
"flag-gi": {
"a": "Gibraltar Flag",
"b": "1F1EC-1F1EE",
"k": [
2,
14
]
},
"flag-gl": {
"a": "Greenland Flag",
"b": "1F1EC-1F1F1",
"k": [
2,
15
]
},
"motor_scooter": {
"a": "Motor Scooter",
"b": "1F6F5",
"j": [
"vehicle",
"vespa",
"sasha"
],
"k": [
37,
20
],
"o": 9
},
"mailbox": {
"a": "Closed Mailbox with Raised Flag",
"b": "1F4EB",
"j": [
"email",
"inbox",
"communication"
],
"k": [
26,
34
]
},
"vibration_mode": {
"a": "Vibration Mode",
"b": "1F4F3",
"j": [
"orange-square",
"phone"
],
"k": [
26,
42
]
},
"hankey": {
"a": "Pile of Poo",
"b": "1F4A9",
"k": [
25,
15
],
"n": [
"poop",
"shit"
]
},
"rosette": {
"a": "Rosette",
"b": "1F3F5-FE0F",
"c": "1F3F5",
"j": [
"flower",
"decoration",
"military"
],
"k": [
12,
20
],
"o": 7
},
"tumbler_glass": {
"a": "Tumbler Glass",
"b": "1F943",
"j": [
"drink",
"beverage",
"drunk",
"alcohol",
"liquor",
"booze",
"bourbon",
"scotch",
"whisky",
"glass",
"shot"
],
"k": [
41,
39
],
"o": 9
},
"cup_with_straw": {
"a": "Cup with Straw",
"b": "1F964",
"j": [
"drink",
"soda"
],
"k": [
42,
16
],
"o": 10
},
"flag-gm": {
"a": "Gambia Flag",
"b": "1F1EC-1F1F2",
"k": [
2,
16
]
},
"mailbox_closed": {
"a": "Closed Mailbox with Lowered Flag",
"b": "1F4EA",
"j": [
"email",
"communication",
"inbox"
],
"k": [
26,
33
]
},
"mobile_phone_off": {
"a": "Mobile Phone off",
"b": "1F4F4",
"j": [
"mute",
"orange-square",
"silence",
"quiet"
],
"k": [
26,
43
]
},
"busstop": {
"a": "Bus Stop",
"b": "1F68F",
"j": [
"transportation",
"wait"
],
"k": [
34,
23
]
},
"smiley_cat": {
"a": "Smiling Cat Face with Open Mouth",
"b": "1F63A",
"j": [
"animal",
"cats",
"happy",
"smile"
],
"k": [
31,
30
]
},
"rose": {
"a": "Rose",
"b": "1F339",
"j": [
"flowers",
"valentines",
"love",
"spring"
],
"k": [
6,
47
]
},
"motorway": {
"a": "Motorway",
"b": "1F6E3-FE0F",
"c": "1F6E3",
"j": [
"road",
"cupertino",
"interstate",
"highway"
],
"k": [
37,
11
],
"o": 7
},
"smile_cat": {
"a": "Grinning Cat Face with Smiling Eyes",
"b": "1F638",
"j": [
"animal",
"cats",
"smile"
],
"k": [
31,
28
]
},
"flag-gn": {
"a": "Guinea Flag",
"b": "1F1EC-1F1F3",
"k": [
2,
17
]
},
"wilted_flower": {
"a": "Wilted Flower",
"b": "1F940",
"j": [
"plant",
"nature",
"flower"
],
"k": [
41,
36
],
"o": 9
},
"mailbox_with_mail": {
"a": "Open Mailbox with Raised Flag",
"b": "1F4EC",
"j": [
"email",
"inbox",
"communication"
],
"k": [
26,
35
]
},
"chopsticks": {
"a": "Chopsticks",
"b": "1F962",
"j": [
"food"
],
"k": [
42,
14
],
"o": 10
},
"female_sign": {
"a": "Female Sign",
"b": "2640-FE0F",
"c": "2640",
"k": [
47,
42
],
"o": 1
},
"mailbox_with_no_mail": {
"a": "Open Mailbox with Lowered Flag",
"b": "1F4ED",
"j": [
"email",
"inbox"
],
"k": [
26,
36
]
},
"knife_fork_plate": {
"a": "Knife Fork Plate",
"b": "1F37D-FE0F",
"c": "1F37D",
"k": [
8,
11
],
"o": 7
},
"hibiscus": {
"a": "Hibiscus",
"b": "1F33A",
"j": [
"plant",
"vegetable",
"flowers",
"beach"
],
"k": [
6,
48
]
},
"flag-gp": {
"a": "Guadeloupe Flag",
"b": "1F1EC-1F1F5",
"k": [
2,
18
]
},
"railway_track": {
"a": "Railway Track",
"b": "1F6E4-FE0F",
"c": "1F6E4",
"j": [
"train",
"transportation"
],
"k": [
37,
12
],
"o": 7
},
"male_sign": {
"a": "Male Sign",
"b": "2642-FE0F",
"c": "2642",
"k": [
47,
43
],
"o": 1
},
"joy_cat": {
"a": "Cat Face with Tears of Joy",
"b": "1F639",
"j": [
"animal",
"cats",
"haha",
"happy",
"tears"
],
"k": [
31,
29
]
},
"fuelpump": {
"a": "Fuel Pump",
"b": "26FD",
"j": [
"gas station",
"petroleum"
],
"k": [
49,
13
],
"o": 5
},
"sunflower": {
"a": "Sunflower",
"b": "1F33B",
"j": [
"nature",
"plant",
"fall"
],
"k": [
6,
49
]
},
"postbox": {
"a": "Postbox",
"b": "1F4EE",
"j": [
"email",
"letter",
"envelope"
],
"k": [
26,
37
]
},
"flag-gq": {
"a": "Equatorial Guinea Flag",
"b": "1F1EC-1F1F6",
"k": [
2,
19
]
},
"heart_eyes_cat": {
"a": "Smiling Cat Face with Heart-Shaped Eyes",
"b": "1F63B",
"j": [
"animal",
"love",
"like",
"affection",
"cats",
"valentines",
"heart"
],
"k": [
31,
31
]
},
"fork_and_knife": {
"a": "Fork and Knife",
"b": "1F374",
"j": [
"cutlery",
"kitchen"
],
"k": [
8,
2
]
},
"medical_symbol": {
"a": "Medical Symbol",
"b": "2695-FE0F",
"c": "2695",
"k": [
48,
14
],
"n": [
"staff_of_aesculapius"
],
"o": 4
},
"recycle": {
"a": "Black Universal Recycling Symbol",
"b": "267B-FE0F",
"c": "267B",
"j": [
"arrow",
"environment",
"garbage",
"trash"
],
"k": [
48,
9
],
"o": 3
},
"spoon": {
"a": "Spoon",
"b": "1F944",
"j": [
"cutlery",
"kitchen",
"tableware"
],
"k": [
41,
40
],
"o": 9
},
"blossom": {
"a": "Blossom",
"b": "1F33C",
"j": [
"nature",
"flowers",
"yellow"
],
"k": [
6,
50
]
},
"rotating_light": {
"a": "Police Cars Revolving Light",
"b": "1F6A8",
"j": [
"police",
"ambulance",
"911",
"emergency",
"alert",
"error",
"pinged",
"law",
"legal"
],
"k": [
35,
13
]
},
"smirk_cat": {
"a": "Cat Face with Wry Smile",
"b": "1F63C",
"j": [
"animal",
"cats",
"smirk"
],
"k": [
31,
32
]
},
"ballot_box_with_ballot": {
"a": "Ballot Box with Ballot",
"b": "1F5F3-FE0F",
"c": "1F5F3",
"k": [
30,
17
],
"o": 7
},
"flag-gr": {
"a": "Greece Flag",
"b": "1F1EC-1F1F7",
"k": [
2,
20
]
},
"kissing_cat": {
"a": "Kissing Cat Face with Closed Eyes",
"b": "1F63D",
"j": [
"animal",
"cats",
"kiss"
],
"k": [
31,
33
]
},
"pencil2": {
"a": "Pencil",
"b": "270F-FE0F",
"c": "270F",
"j": [
"stationery",
"write",
"paper",
"writing",
"school",
"study"
],
"k": [
49,
42
],
"o": 1
},
"traffic_light": {
"a": "Horizontal Traffic Light",
"b": "1F6A5",
"j": [
"transportation",
"signal"
],
"k": [
35,
10
]
},
"fleur_de_lis": {
"a": "Fleur De Lis",
"b": "269C-FE0F",
"c": "269C",
"j": [
"decorative",
"scout"
],
"k": [
48,
19
],
"o": 4
},
"tulip": {
"a": "Tulip",
"b": "1F337",
"j": [
"flowers",
"plant",
"nature",
"summer",
"spring"
],
"k": [
6,
45
]
},
"hocho": {
"a": "Hocho",
"b": "1F52A",
"j": [
"knife",
"blade",
"cutlery",
"kitchen",
"weapon"
],
"k": [
27,
44
],
"n": [
"knife"
]
},
"flag-gs": {
"a": "South Georgia & South Sandwich Islands Flag",
"b": "1F1EC-1F1F8",
"k": [
2,
21
]
},
"seedling": {
"a": "Seedling",
"b": "1F331",
"j": [
"plant",
"nature",
"grass",
"lawn",
"spring"
],
"k": [
6,
39
]
},
"amphora": {
"a": "Amphora",
"b": "1F3FA",
"j": [
"vase",
"jar"
],
"k": [
12,
24
],
"o": 8
},
"scream_cat": {
"a": "Weary Cat Face",
"b": "1F640",
"j": [
"animal",
"cats",
"munch",
"scared",
"scream"
],
"k": [
31,
36
]
},
"vertical_traffic_light": {
"a": "Vertical Traffic Light",
"b": "1F6A6",
"j": [
"transportation",
"driving"
],
"k": [
35,
11
]
},
"black_nib": {
"a": "Black Nib",
"b": "2712-FE0F",
"c": "2712",
"j": [
"pen",
"stationery",
"writing",
"write"
],
"k": [
49,
43
],
"o": 1
},
"flag-gt": {
"a": "Guatemala Flag",
"b": "1F1EC-1F1F9",
"k": [
2,
22
]
},
"trident": {
"a": "Trident Emblem",
"b": "1F531",
"j": [
"weapon",
"spear"
],
"k": [
27,
51
]
},
"flag-gu": {
"a": "Guam Flag",
"b": "1F1EC-1F1FA",
"k": [
2,
23
]
},
"name_badge": {
"a": "Name Badge",
"b": "1F4DB",
"j": [
"fire",
"forbid"
],
"k": [
26,
18
]
},
"construction": {
"a": "Construction Sign",
"b": "1F6A7",
"j": [
"wip",
"progress",
"caution",
"warning"
],
"k": [
35,
12
]
},
"lower_left_fountain_pen": {
"a": "Lower Left Fountain Pen",
"b": "1F58B-FE0F",
"c": "1F58B",
"k": [
29,
29
],
"o": 7
},
"evergreen_tree": {
"a": "Evergreen Tree",
"b": "1F332",
"j": [
"plant",
"nature"
],
"k": [
6,
40
]
},
"crying_cat_face": {
"a": "Crying Cat Face",
"b": "1F63F",
"j": [
"animal",
"tears",
"weep",
"sad",
"cats",
"upset",
"cry"
],
"k": [
31,
35
]
},
"flag-gw": {
"a": "Guinea-Bissau Flag",
"b": "1F1EC-1F1FC",
"k": [
2,
24
]
},
"lower_left_ballpoint_pen": {
"a": "Lower Left Ballpoint Pen",
"b": "1F58A-FE0F",
"c": "1F58A",
"k": [
29,
28
],
"o": 7
},
"pouting_cat": {
"a": "Pouting Cat Face",
"b": "1F63E",
"j": [
"animal",
"cats"
],
"k": [
31,
34
]
},
"deciduous_tree": {
"a": "Deciduous Tree",
"b": "1F333",
"j": [
"plant",
"nature"
],
"k": [
6,
41
]
},
"octagonal_sign": {
"a": "Octagonal Sign",
"b": "1F6D1",
"k": [
37,
6
],
"o": 9
},
"beginner": {
"a": "Japanese Symbol for Beginner",
"b": "1F530",
"j": [
"badge",
"shield"
],
"k": [
27,
50
]
},
"flag-gy": {
"a": "Guyana Flag",
"b": "1F1EC-1F1FE",
"k": [
2,
25
]
},
"lower_left_paintbrush": {
"a": "Lower Left Paintbrush",
"b": "1F58C-FE0F",
"c": "1F58C",
"k": [
29,
30
],
"o": 7
},
"o": {
"a": "Heavy Large Circle",
"b": "2B55",
"j": [
"circle",
"round"
],
"k": [
50,
23
],
"o": 5
},
"palm_tree": {
"a": "Palm Tree",
"b": "1F334",
"j": [
"plant",
"vegetable",
"nature",
"summer",
"beach",
"mojito",
"tropical"
],
"k": [
6,
42
]
},
"anchor": {
"a": "Anchor",
"b": "2693",
"j": [
"ship",
"ferry",
"sea",
"boat"
],
"k": [
48,
12
],
"o": 4
},
"see_no_evil": {
"a": "See-No-Evil Monkey",
"b": "1F648",
"j": [
"monkey",
"animal",
"nature",
"haha"
],
"k": [
32,
43
]
},
"boat": {
"a": "Sailboat",
"b": "26F5",
"k": [
48,
43
],
"n": [
"sailboat"
],
"o": 5
},
"white_check_mark": {
"a": "White Heavy Check Mark",
"b": "2705",
"j": [
"green-square",
"ok",
"agree",
"vote",
"election",
"answer",
"tick"
],
"k": [
49,
15
]
},
"flag-hk": {
"a": "Hong Kong Sar China Flag",
"b": "1F1ED-1F1F0",
"k": [
2,
26
]
},
"lower_left_crayon": {
"a": "Lower Left Crayon",
"b": "1F58D-FE0F",
"c": "1F58D",
"k": [
29,
31
],
"o": 7
},
"hear_no_evil": {
"a": "Hear-No-Evil Monkey",
"b": "1F649",
"j": [
"animal",
"monkey",
"nature"
],
"k": [
32,
44
]
},
"cactus": {
"a": "Cactus",
"b": "1F335",
"j": [
"vegetable",
"plant",
"nature"
],
"k": [
6,
43
]
},
"ear_of_rice": {
"a": "Ear of Rice",
"b": "1F33E",
"j": [
"nature",
"plant"
],
"k": [
7,
0
]
},
"speak_no_evil": {
"a": "Speak-No-Evil Monkey",
"b": "1F64A",
"j": [
"monkey",
"animal",
"nature",
"omg"
],
"k": [
32,
45
]
},
"flag-hm": {
"a": "Heard & Mcdonald Islands Flag",
"b": "1F1ED-1F1F2",
"k": [
2,
27
]
},
"ballot_box_with_check": {
"a": "Ballot Box with Check",
"b": "2611-FE0F",
"c": "2611",
"j": [
"ok",
"agree",
"confirm",
"black-square",
"vote",
"election",
"yes",
"tick"
],
"k": [
47,
22
],
"o": 1
},
"canoe": {
"a": "Canoe",
"b": "1F6F6",
"j": [
"boat",
"paddle",
"water",
"ship"
],
"k": [
37,
21
],
"o": 9
},
"memo": {
"a": "Memo",
"b": "1F4DD",
"j": [
"write",
"documents",
"stationery",
"pencil",
"paper",
"writing",
"legal",
"exam",
"quiz",
"test",
"study",
"compose"
],
"k": [
26,
20
],
"n": [
"pencil"
]
},
"herb": {
"a": "Herb",
"b": "1F33F",
"j": [
"vegetable",
"plant",
"medicine",
"weed",
"grass",
"lawn"
],
"k": [
7,
1
]
},
"flag-hn": {
"a": "Honduras Flag",
"b": "1F1ED-1F1F3",
"k": [
2,
28
]
},
"heavy_check_mark": {
"a": "Heavy Check Mark",
"b": "2714-FE0F",
"c": "2714",
"j": [
"ok",
"nike",
"answer",
"yes",
"tick"
],
"k": [
49,
44
],
"o": 1
},
"briefcase": {
"a": "Briefcase",
"b": "1F4BC",
"j": [
"business",
"documents",
"work",
"law",
"legal",
"job",
"career"
],
"k": [
25,
39
]
},
"speedboat": {
"a": "Speedboat",
"b": "1F6A4",
"j": [
"ship",
"transportation",
"vehicle",
"summer"
],
"k": [
35,
9
]
},
"baby": {
"skin_variations": {
"1F3FB": {
"unified": "1F476-1F3FB",
"non_qualified": null,
"image": "1f476-1f3fb.png",
"sheet_x": 22,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F476-1F3FC",
"non_qualified": null,
"image": "1f476-1f3fc.png",
"sheet_x": 22,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F476-1F3FD",
"non_qualified": null,
"image": "1f476-1f3fd.png",
"sheet_x": 22,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F476-1F3FE",
"non_qualified": null,
"image": "1f476-1f3fe.png",
"sheet_x": 22,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F476-1F3FF",
"non_qualified": null,
"image": "1f476-1f3ff.png",
"sheet_x": 22,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Baby",
"b": "1F476",
"j": [
"child",
"boy",
"girl",
"toddler"
],
"k": [
22,
10
]
},
"heavy_multiplication_x": {
"a": "Heavy Multiplication X",
"b": "2716-FE0F",
"c": "2716",
"j": [
"math",
"calculation"
],
"k": [
49,
45
],
"o": 1
},
"child": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D2-1F3FB",
"non_qualified": null,
"image": "1f9d2-1f3fb.png",
"sheet_x": 43,
"sheet_y": 5,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D2-1F3FC",
"non_qualified": null,
"image": "1f9d2-1f3fc.png",
"sheet_x": 43,
"sheet_y": 6,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D2-1F3FD",
"non_qualified": null,
"image": "1f9d2-1f3fd.png",
"sheet_x": 43,
"sheet_y": 7,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D2-1F3FE",
"non_qualified": null,
"image": "1f9d2-1f3fe.png",
"sheet_x": 43,
"sheet_y": 8,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D2-1F3FF",
"non_qualified": null,
"image": "1f9d2-1f3ff.png",
"sheet_x": 43,
"sheet_y": 9,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Child",
"b": "1F9D2",
"j": [
"gender-neutral",
"young"
],
"k": [
43,
4
],
"o": 10
},
"shamrock": {
"a": "Shamrock",
"b": "2618-FE0F",
"c": "2618",
"j": [
"vegetable",
"plant",
"nature",
"irish",
"clover"
],
"k": [
47,
25
],
"o": 4
},
"passenger_ship": {
"a": "Passenger Ship",
"b": "1F6F3-FE0F",
"c": "1F6F3",
"j": [
"yacht",
"cruise",
"ferry"
],
"k": [
37,
18
],
"o": 7
},
"flag-hr": {
"a": "Croatia Flag",
"b": "1F1ED-1F1F7",
"k": [
2,
29
]
},
"file_folder": {
"a": "File Folder",
"b": "1F4C1",
"j": [
"documents",
"business",
"office"
],
"k": [
25,
44
]
},
"x": {
"a": "Cross Mark",
"b": "274C",
"j": [
"no",
"delete",
"remove",
"cancel"
],
"k": [
50,
1
]
},
"four_leaf_clover": {
"a": "Four Leaf Clover",
"b": "1F340",
"j": [
"vegetable",
"plant",
"nature",
"lucky",
"irish"
],
"k": [
7,
2
]
},
"open_file_folder": {
"a": "Open File Folder",
"b": "1F4C2",
"j": [
"documents",
"load"
],
"k": [
25,
45
]
},
"boy": {
"skin_variations": {
"1F3FB": {
"unified": "1F466-1F3FB",
"non_qualified": null,
"image": "1f466-1f3fb.png",
"sheet_x": 15,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F466-1F3FC",
"non_qualified": null,
"image": "1f466-1f3fc.png",
"sheet_x": 15,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F466-1F3FD",
"non_qualified": null,
"image": "1f466-1f3fd.png",
"sheet_x": 15,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F466-1F3FE",
"non_qualified": null,
"image": "1f466-1f3fe.png",
"sheet_x": 15,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F466-1F3FF",
"non_qualified": null,
"image": "1f466-1f3ff.png",
"sheet_x": 15,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Boy",
"b": "1F466",
"j": [
"man",
"male",
"guy",
"teenager"
],
"k": [
15,
42
]
},
"ferry": {
"a": "Ferry",
"b": "26F4-FE0F",
"c": "26F4",
"j": [
"boat",
"ship",
"yacht"
],
"k": [
48,
42
],
"o": 5
},
"flag-ht": {
"a": "Haiti Flag",
"b": "1F1ED-1F1F9",
"k": [
2,
30
]
},
"girl": {
"skin_variations": {
"1F3FB": {
"unified": "1F467-1F3FB",
"non_qualified": null,
"image": "1f467-1f3fb.png",
"sheet_x": 15,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F467-1F3FC",
"non_qualified": null,
"image": "1f467-1f3fc.png",
"sheet_x": 15,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F467-1F3FD",
"non_qualified": null,
"image": "1f467-1f3fd.png",
"sheet_x": 15,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F467-1F3FE",
"non_qualified": null,
"image": "1f467-1f3fe.png",
"sheet_x": 16,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F467-1F3FF",
"non_qualified": null,
"image": "1f467-1f3ff.png",
"sheet_x": 16,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Girl",
"b": "1F467",
"j": [
"female",
"woman",
"teenager"
],
"k": [
15,
48
]
},
"negative_squared_cross_mark": {
"a": "Negative Squared Cross Mark",
"b": "274E",
"j": [
"x",
"green-square",
"no",
"deny"
],
"k": [
50,
2
]
},
"flag-hu": {
"a": "Hungary Flag",
"b": "1F1ED-1F1FA",
"k": [
2,
31
]
},
"card_index_dividers": {
"a": "Card Index Dividers",
"b": "1F5C2-FE0F",
"c": "1F5C2",
"j": [
"organizing",
"business",
"stationery"
],
"k": [
30,
4
],
"o": 7
},
"maple_leaf": {
"a": "Maple Leaf",
"b": "1F341",
"j": [
"nature",
"plant",
"vegetable",
"ca",
"fall"
],
"k": [
7,
3
]
},
"motor_boat": {
"a": "Motor Boat",
"b": "1F6E5-FE0F",
"c": "1F6E5",
"j": [
"ship"
],
"k": [
37,
13
],
"o": 7
},
"flag-ic": {
"a": "Canary Islands Flag",
"b": "1F1EE-1F1E8",
"k": [
2,
32
]
},
"fallen_leaf": {
"a": "Fallen Leaf",
"b": "1F342",
"j": [
"nature",
"plant",
"vegetable",
"leaves"
],
"k": [
7,
4
]
},
"adult": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D1-1F3FB",
"non_qualified": null,
"image": "1f9d1-1f3fb.png",
"sheet_x": 42,
"sheet_y": 51,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D1-1F3FC",
"non_qualified": null,
"image": "1f9d1-1f3fc.png",
"sheet_x": 43,
"sheet_y": 0,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D1-1F3FD",
"non_qualified": null,
"image": "1f9d1-1f3fd.png",
"sheet_x": 43,
"sheet_y": 1,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D1-1F3FE",
"non_qualified": null,
"image": "1f9d1-1f3fe.png",
"sheet_x": 43,
"sheet_y": 2,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D1-1F3FF",
"non_qualified": null,
"image": "1f9d1-1f3ff.png",
"sheet_x": 43,
"sheet_y": 3,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Adult",
"b": "1F9D1",
"j": [
"gender-neutral",
"person"
],
"k": [
42,
50
],
"o": 10
},
"ship": {
"a": "Ship",
"b": "1F6A2",
"j": [
"transportation",
"titanic",
"deploy"
],
"k": [
34,
42
]
},
"heavy_plus_sign": {
"a": "Heavy Plus Sign",
"b": "2795",
"j": [
"math",
"calculation",
"addition",
"more",
"increase"
],
"k": [
50,
9
]
},
"date": {
"a": "Calendar",
"b": "1F4C5",
"j": [
"calendar",
"schedule"
],
"k": [
25,
48
]
},
"man": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB",
"non_qualified": null,
"image": "1f468-1f3fb.png",
"sheet_x": 18,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F468-1F3FC",
"non_qualified": null,
"image": "1f468-1f3fc.png",
"sheet_x": 18,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F468-1F3FD",
"non_qualified": null,
"image": "1f468-1f3fd.png",
"sheet_x": 18,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F468-1F3FE",
"non_qualified": null,
"image": "1f468-1f3fe.png",
"sheet_x": 18,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F468-1F3FF",
"non_qualified": null,
"image": "1f468-1f3ff.png",
"sheet_x": 18,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Man",
"b": "1F468",
"j": [
"mustache",
"father",
"dad",
"guy",
"classy",
"sir",
"moustache"
],
"k": [
18,
11
]
},
"flag-id": {
"a": "Indonesia Flag",
"b": "1F1EE-1F1E9",
"k": [
2,
33
]
},
"leaves": {
"a": "Leaf Fluttering in Wind",
"b": "1F343",
"j": [
"nature",
"plant",
"tree",
"vegetable",
"grass",
"lawn",
"spring"
],
"k": [
7,
5
]
},
"heavy_minus_sign": {
"a": "Heavy Minus Sign",
"b": "2796",
"j": [
"math",
"calculation",
"subtract",
"less"
],
"k": [
50,
10
]
},
"calendar": {
"a": "Tear-off Calendar",
"b": "1F4C6",
"j": [
"schedule",
"date",
"planning"
],
"k": [
25,
49
]
},
"airplane": {
"a": "Airplane",
"b": "2708-FE0F",
"c": "2708",
"j": [
"vehicle",
"transportation",
"flight",
"fly"
],
"k": [
49,
16
],
"o": 1
},
"spiral_note_pad": {
"a": "Spiral Note Pad",
"b": "1F5D2-FE0F",
"c": "1F5D2",
"k": [
30,
8
],
"o": 7
},
"heavy_division_sign": {
"a": "Heavy Division Sign",
"b": "2797",
"j": [
"divide",
"math",
"calculation"
],
"k": [
50,
11
]
},
"small_airplane": {
"a": "Small Airplane",
"b": "1F6E9-FE0F",
"c": "1F6E9",
"j": [
"flight",
"transportation",
"fly",
"vehicle"
],
"k": [
37,
14
],
"o": 7
},
"woman": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB",
"non_qualified": null,
"image": "1f469-1f3fb.png",
"sheet_x": 20,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F469-1F3FC",
"non_qualified": null,
"image": "1f469-1f3fc.png",
"sheet_x": 20,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F469-1F3FD",
"non_qualified": null,
"image": "1f469-1f3fd.png",
"sheet_x": 20,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F469-1F3FE",
"non_qualified": null,
"image": "1f469-1f3fe.png",
"sheet_x": 20,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F469-1F3FF",
"non_qualified": null,
"image": "1f469-1f3ff.png",
"sheet_x": 20,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Woman",
"b": "1F469",
"j": [
"female",
"girls",
"lady"
],
"k": [
20,
23
]
},
"flag-ie": {
"a": "Ireland Flag",
"b": "1F1EE-1F1EA",
"k": [
2,
34
]
},
"curly_loop": {
"a": "Curly Loop",
"b": "27B0",
"j": [
"scribble",
"draw",
"shape",
"squiggle"
],
"k": [
50,
13
]
},
"flag-il": {
"a": "Israel Flag",
"b": "1F1EE-1F1F1",
"k": [
2,
35
]
},
"airplane_departure": {
"a": "Airplane Departure",
"b": "1F6EB",
"k": [
37,
15
],
"o": 7
},
"spiral_calendar_pad": {
"a": "Spiral Calendar Pad",
"b": "1F5D3-FE0F",
"c": "1F5D3",
"k": [
30,
9
],
"o": 7
},
"older_adult": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D3-1F3FB",
"non_qualified": null,
"image": "1f9d3-1f3fb.png",
"sheet_x": 43,
"sheet_y": 11,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D3-1F3FC",
"non_qualified": null,
"image": "1f9d3-1f3fc.png",
"sheet_x": 43,
"sheet_y": 12,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D3-1F3FD",
"non_qualified": null,
"image": "1f9d3-1f3fd.png",
"sheet_x": 43,
"sheet_y": 13,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D3-1F3FE",
"non_qualified": null,
"image": "1f9d3-1f3fe.png",
"sheet_x": 43,
"sheet_y": 14,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D3-1F3FF",
"non_qualified": null,
"image": "1f9d3-1f3ff.png",
"sheet_x": 43,
"sheet_y": 15,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Older Adult",
"b": "1F9D3",
"j": [
"human",
"elder",
"senior",
"gender-neutral"
],
"k": [
43,
10
],
"o": 10
},
"airplane_arriving": {
"a": "Airplane Arriving",
"b": "1F6EC",
"k": [
37,
16
],
"o": 7
},
"card_index": {
"a": "Card Index",
"b": "1F4C7",
"j": [
"business",
"stationery"
],
"k": [
25,
50
]
},
"loop": {
"a": "Double Curly Loop",
"b": "27BF",
"j": [
"tape",
"cassette"
],
"k": [
50,
14
]
},
"older_man": {
"skin_variations": {
"1F3FB": {
"unified": "1F474-1F3FB",
"non_qualified": null,
"image": "1f474-1f3fb.png",
"sheet_x": 21,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F474-1F3FC",
"non_qualified": null,
"image": "1f474-1f3fc.png",
"sheet_x": 22,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F474-1F3FD",
"non_qualified": null,
"image": "1f474-1f3fd.png",
"sheet_x": 22,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F474-1F3FE",
"non_qualified": null,
"image": "1f474-1f3fe.png",
"sheet_x": 22,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F474-1F3FF",
"non_qualified": null,
"image": "1f474-1f3ff.png",
"sheet_x": 22,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Older Man",
"b": "1F474",
"j": [
"human",
"male",
"men",
"old",
"elder",
"senior"
],
"k": [
21,
50
]
},
"flag-im": {
"a": "Isle of Man Flag",
"b": "1F1EE-1F1F2",
"k": [
2,
36
]
},
"flag-in": {
"a": "India Flag",
"b": "1F1EE-1F1F3",
"j": [
"india",
"indian",
],
"k": [
2,
37
]
},
"chart_with_upwards_trend": {
"a": "Chart with Upwards Trend",
"b": "1F4C8",
"j": [
"graph",
"presentation",
"stats",
"recovery",
"business",
"economics",
"money",
"sales",
"good",
"success"
],
"k": [
25,
51
]
},
"part_alternation_mark": {
"a": "Part Alternation Mark",
"b": "303D-FE0F",
"c": "303D",
"j": [
"graph",
"presentation",
"stats",
"business",
"economics",
"bad"
],
"k": [
50,
25
],
"o": 3
},
"seat": {
"a": "Seat",
"b": "1F4BA",
"j": [
"sit",
"airplane",
"transport",
"bus",
"flight",
"fly"
],
"k": [
25,
37
]
},
"older_woman": {
"skin_variations": {
"1F3FB": {
"unified": "1F475-1F3FB",
"non_qualified": null,
"image": "1f475-1f3fb.png",
"sheet_x": 22,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F475-1F3FC",
"non_qualified": null,
"image": "1f475-1f3fc.png",
"sheet_x": 22,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F475-1F3FD",
"non_qualified": null,
"image": "1f475-1f3fd.png",
"sheet_x": 22,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F475-1F3FE",
"non_qualified": null,
"image": "1f475-1f3fe.png",
"sheet_x": 22,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F475-1F3FF",
"non_qualified": null,
"image": "1f475-1f3ff.png",
"sheet_x": 22,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Older Woman",
"b": "1F475",
"j": [
"human",
"female",
"women",
"lady",
"old",
"elder",
"senior"
],
"k": [
22,
4
]
},
"eight_spoked_asterisk": {
"a": "Eight Spoked Asterisk",
"b": "2733-FE0F",
"c": "2733",
"j": [
"star",
"sparkle",
"green-square"
],
"k": [
49,
49
],
"o": 1
},
"chart_with_downwards_trend": {
"a": "Chart with Downwards Trend",
"b": "1F4C9",
"j": [
"graph",
"presentation",
"stats",
"recession",
"business",
"economics",
"money",
"sales",
"bad",
"failure"
],
"k": [
26,
0
]
},
"flag-io": {
"a": "British Indian Ocean Territory Flag",
"b": "1F1EE-1F1F4",
"k": [
2,
38
]
},
"male-doctor": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-2695-FE0F",
"non_qualified": "1F468-1F3FB-200D-2695",
"image": "1f468-1f3fb-200d-2695-fe0f.png",
"sheet_x": 17,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-2695-FE0F",
"non_qualified": "1F468-1F3FC-200D-2695",
"image": "1f468-1f3fc-200d-2695-fe0f.png",
"sheet_x": 17,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-2695-FE0F",
"non_qualified": "1F468-1F3FD-200D-2695",
"image": "1f468-1f3fd-200d-2695-fe0f.png",
"sheet_x": 17,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-2695-FE0F",
"non_qualified": "1F468-1F3FE-200D-2695",
"image": "1f468-1f3fe-200d-2695-fe0f.png",
"sheet_x": 17,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-2695-FE0F",
"non_qualified": "1F468-1F3FF-200D-2695",
"image": "1f468-1f3ff-200d-2695-fe0f.png",
"sheet_x": 17,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Doctor",
"b": "1F468-200D-2695-FE0F", // d83d dc68 200d 2695
"c": "1F468-200D-2695",
"j": [
"doctor",
"male",
],
"k": [
17,
43
]
},
"helicopter": {
"a": "Helicopter",
"b": "1F681",
"j": [
"transportation",
"vehicle",
"fly"
],
"k": [
34,
9
]
},
"female-doctor": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-2695-FE0F",
"non_qualified": "1F469-1F3FB-200D-2695",
"image": "1f469-1f3fb-200d-2695-fe0f.png",
"sheet_x": 20,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-2695-FE0F",
"non_qualified": "1F469-1F3FC-200D-2695",
"image": "1f469-1f3fc-200d-2695-fe0f.png",
"sheet_x": 20,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-2695-FE0F",
"non_qualified": "1F469-1F3FD-200D-2695",
"image": "1f469-1f3fd-200d-2695-fe0f.png",
"sheet_x": 20,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-2695-FE0F",
"non_qualified": "1F469-1F3FE-200D-2695",
"image": "1f469-1f3fe-200d-2695-fe0f.png",
"sheet_x": 20,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-2695-FE0F",
"non_qualified": "1F469-1F3FF-200D-2695",
"image": "1f469-1f3ff-200d-2695-fe0f.png",
"sheet_x": 20,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Doctor",
"b": "1F469-200D-2695-FE0F",
"c": "1F469-200D-2695",
"k": [
20,
1
]
},
"suspension_railway": {
"a": "Suspension Railway",
"b": "1F69F",
"j": [
"vehicle",
"transportation"
],
"k": [
34,
39
]
},
"bar_chart": {
"a": "Bar Chart",
"b": "1F4CA",
"j": [
"graph",
"presentation",
"stats"
],
"k": [
26,
1
]
},
"flag-iq": {
"a": "Iraq Flag",
"b": "1F1EE-1F1F6",
"k": [
2,
39
]
},
"eight_pointed_black_star": {
"a": "Eight Pointed Black Star",
"b": "2734-FE0F",
"c": "2734",
"j": [
"orange-square",
"shape",
"polygon"
],
"k": [
49,
50
],
"o": 1
},
"mountain_cableway": {
"a": "Mountain Cableway",
"b": "1F6A0",
"j": [
"transportation",
"vehicle",
"ski"
],
"k": [
34,
40
]
},
"male-student": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F393",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f393.png",
"sheet_x": 16,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F393",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f393.png",
"sheet_x": 16,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F393",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f393.png",
"sheet_x": 16,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F393",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f393.png",
"sheet_x": 16,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F393",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f393.png",
"sheet_x": 16,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Student",
"b": "1F468-200D-1F393",
"k": [
16,
14
]
},
"clipboard": {
"a": "Clipboard",
"b": "1F4CB",
"j": [
"stationery",
"documents"
],
"k": [
26,
2
]
},
"flag-ir": {
"a": "Iran Flag",
"b": "1F1EE-1F1F7",
"k": [
2,
40
]
},
"sparkle": {
"a": "Sparkle",
"b": "2747-FE0F",
"c": "2747",
"j": [
"stars",
"green-square",
"awesome",
"good",
"fireworks"
],
"k": [
50,
0
],
"o": 1
},
"female-student": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F393",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f393.png",
"sheet_x": 18,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F393",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f393.png",
"sheet_x": 18,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F393",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f393.png",
"sheet_x": 18,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F393",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f393.png",
"sheet_x": 18,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F393",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f393.png",
"sheet_x": 18,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Student",
"b": "1F469-200D-1F393",
"k": [
18,
29
]
},
"pushpin": {
"a": "Pushpin",
"b": "1F4CC",
"j": [
"stationery",
"mark",
"here"
],
"k": [
26,
3
]
},
"aerial_tramway": {
"a": "Aerial Tramway",
"b": "1F6A1",
"j": [
"transportation",
"vehicle",
"ski"
],
"k": [
34,
41
]
},
"flag-is": {
"a": "Iceland Flag",
"b": "1F1EE-1F1F8",
"k": [
2,
41
]
},
"bangbang": {
"a": "Double Exclamation Mark",
"b": "203C-FE0F",
"c": "203C",
"j": [
"exclamation",
"surprise"
],
"k": [
46,
29
],
"o": 1
},
"interrobang": {
"a": "Exclamation Question Mark",
"b": "2049-FE0F",
"c": "2049",
"j": [
"wat",
"punctuation",
"surprise"
],
"k": [
46,
30
],
"o": 3
},
"satellite": {
"a": "Satellite",
"b": "1F6F0-FE0F",
"c": "1F6F0",
"j": [
"communication",
"future",
"radio",
"space"
],
"k": [
37,
17
],
"o": 7
},
"it": {
"a": "Italy Flag",
"b": "1F1EE-1F1F9",
"j": [
"italy",
"flag",
"nation",
"country",
"banner"
],
"k": [
2,
42
],
"n": [
"flag-it"
]
},
"male-teacher": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F3EB",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f3eb.png",
"sheet_x": 16,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F3EB",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f3eb.png",
"sheet_x": 16,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F3EB",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f3eb.png",
"sheet_x": 16,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F3EB",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f3eb.png",
"sheet_x": 16,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F3EB",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f3eb.png",
"sheet_x": 16,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Teacher",
"b": "1F468-200D-1F3EB",
"k": [
16,
32
]
},
"round_pushpin": {
"a": "Round Pushpin",
"b": "1F4CD",
"j": [
"stationery",
"location",
"map",
"here"
],
"k": [
26,
4
]
},
"flag-je": {
"a": "Jersey Flag",
"b": "1F1EF-1F1EA",
"k": [
2,
43
]
},
"question": {
"a": "Black Question Mark Ornament",
"b": "2753",
"j": [
"doubt",
"confused"
],
"k": [
50,
3
]
},
"rocket": {
"a": "Rocket",
"b": "1F680",
"j": [
"launch",
"ship",
"staffmode",
"NASA",
"outer space",
"outer_space",
"fly"
],
"k": [
34,
8
]
},
"female-teacher": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F3EB",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f3eb.png",
"sheet_x": 18,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F3EB",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f3eb.png",
"sheet_x": 18,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F3EB",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f3eb.png",
"sheet_x": 18,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F3EB",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f3eb.png",
"sheet_x": 18,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F3EB",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f3eb.png",
"sheet_x": 19,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Teacher",
"b": "1F469-200D-1F3EB",
"k": [
18,
47
]
},
"paperclip": {
"a": "Paperclip",
"b": "1F4CE",
"j": [
"documents",
"stationery"
],
"k": [
26,
5
]
},
"linked_paperclips": {
"a": "Linked Paperclips",
"b": "1F587-FE0F",
"c": "1F587",
"k": [
29,
27
],
"o": 7
},
"flying_saucer": {
"a": "Flying Saucer",
"b": "1F6F8",
"j": [
"transportation",
"vehicle",
"ufo"
],
"k": [
37,
23
],
"o": 10
},
"male-judge": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-2696-FE0F",
"non_qualified": "1F468-1F3FB-200D-2696",
"image": "1f468-1f3fb-200d-2696-fe0f.png",
"sheet_x": 17,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-2696-FE0F",
"non_qualified": "1F468-1F3FC-200D-2696",
"image": "1f468-1f3fc-200d-2696-fe0f.png",
"sheet_x": 17,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-2696-FE0F",
"non_qualified": "1F468-1F3FD-200D-2696",
"image": "1f468-1f3fd-200d-2696-fe0f.png",
"sheet_x": 18,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-2696-FE0F",
"non_qualified": "1F468-1F3FE-200D-2696",
"image": "1f468-1f3fe-200d-2696-fe0f.png",
"sheet_x": 18,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-2696-FE0F",
"non_qualified": "1F468-1F3FF-200D-2696",
"image": "1f468-1f3ff-200d-2696-fe0f.png",
"sheet_x": 18,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Judge",
"b": "1F468-200D-2696-FE0F",
"c": "1F468-200D-2696",
"k": [
17,
49
]
},
"grey_question": {
"a": "White Question Mark Ornament",
"b": "2754",
"j": [
"doubts",
"gray",
"huh",
"confused"
],
"k": [
50,
4
]
},
"flag-jm": {
"a": "Jamaica Flag",
"b": "1F1EF-1F1F2",
"k": [
2,
44
]
},
"bellhop_bell": {
"a": "Bellhop Bell",
"b": "1F6CE-FE0F",
"c": "1F6CE",
"j": [
"service"
],
"k": [
37,
3
],
"o": 7
},
"straight_ruler": {
"a": "Straight Ruler",
"b": "1F4CF",
"j": [
"stationery",
"calculate",
"length",
"math",
"school",
"drawing",
"architect",
"sketch"
],
"k": [
26,
6
]
},
"flag-jo": {
"a": "Jordan Flag",
"b": "1F1EF-1F1F4",
"k": [
2,
45
]
},
"female-judge": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-2696-FE0F",
"non_qualified": "1F469-1F3FB-200D-2696",
"image": "1f469-1f3fb-200d-2696-fe0f.png",
"sheet_x": 20,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-2696-FE0F",
"non_qualified": "1F469-1F3FC-200D-2696",
"image": "1f469-1f3fc-200d-2696-fe0f.png",
"sheet_x": 20,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-2696-FE0F",
"non_qualified": "1F469-1F3FD-200D-2696",
"image": "1f469-1f3fd-200d-2696-fe0f.png",
"sheet_x": 20,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-2696-FE0F",
"non_qualified": "1F469-1F3FE-200D-2696",
"image": "1f469-1f3fe-200d-2696-fe0f.png",
"sheet_x": 20,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-2696-FE0F",
"non_qualified": "1F469-1F3FF-200D-2696",
"image": "1f469-1f3ff-200d-2696-fe0f.png",
"sheet_x": 20,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Judge",
"b": "1F469-200D-2696-FE0F",
"c": "1F469-200D-2696",
"k": [
20,
7
]
},
"grey_exclamation": {
"a": "White Exclamation Mark Ornament",
"b": "2755",
"j": [
"surprise",
"punctuation",
"gray",
"wow",
"warning"
],
"k": [
50,
5
]
},
"door": {
"a": "Door",
"b": "1F6AA",
"j": [
"house",
"entry",
"exit"
],
"k": [
35,
15
]
},
"male-farmer": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F33E",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f33e.png",
"sheet_x": 16,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F33E",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f33e.png",
"sheet_x": 16,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F33E",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f33e.png",
"sheet_x": 16,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F33E",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f33e.png",
"sheet_x": 16,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F33E",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f33e.png",
"sheet_x": 16,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Farmer",
"b": "1F468-200D-1F33E",
"k": [
16,
2
]
},
"jp": {
"a": "Japan Flag",
"b": "1F1EF-1F1F5",
"j": [
"japanese",
"nation",
"flag",
"country",
"banner"
],
"k": [
2,
46
],
"n": [
"flag-jp"
]
},
"triangular_ruler": {
"a": "Triangular Ruler",
"b": "1F4D0",
"j": [
"stationery",
"math",
"architect",
"sketch"
],
"k": [
26,
7
]
},
"exclamation": {
"a": "Heavy Exclamation Mark Symbol",
"b": "2757",
"j": [
"heavy_exclamation_mark",
"danger",
"surprise",
"punctuation",
"wow",
"warning"
],
"k": [
50,
6
],
"n": [
"heavy_exclamation_mark"
],
"o": 5
},
"bed": {
"a": "Bed",
"b": "1F6CF-FE0F",
"c": "1F6CF",
"j": [
"sleep",
"rest"
],
"k": [
37,
4
],
"o": 7
},
"female-farmer": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F33E",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f33e.png",
"sheet_x": 18,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F33E",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f33e.png",
"sheet_x": 18,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F33E",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f33e.png",
"sheet_x": 18,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F33E",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f33e.png",
"sheet_x": 18,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F33E",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f33e.png",
"sheet_x": 18,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Farmer",
"b": "1F469-200D-1F33E",
"k": [
18,
17
]
},
"scissors": {
"a": "Black Scissors",
"b": "2702-FE0F",
"c": "2702",
"j": [
"stationery",
"cut"
],
"k": [
49,
14
],
"o": 1
},
"wavy_dash": {
"a": "Wavy Dash",
"b": "3030-FE0F",
"c": "3030",
"j": [
"draw",
"line",
"moustache",
"mustache",
"squiggle",
"scribble"
],
"k": [
50,
24
],
"o": 1
},
"flag-ke": {
"a": "Kenya Flag",
"b": "1F1F0-1F1EA",
"k": [
2,
47
]
},
"flag-kg": {
"a": "Kyrgyzstan Flag",
"b": "1F1F0-1F1EC",
"k": [
2,
48
]
},
"couch_and_lamp": {
"a": "Couch and Lamp",
"b": "1F6CB-FE0F",
"c": "1F6CB",
"j": [
"read",
"chill"
],
"k": [
36,
47
],
"o": 7
},
"male-cook": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F373",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f373.png",
"sheet_x": 16,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F373",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f373.png",
"sheet_x": 16,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F373",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f373.png",
"sheet_x": 16,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F373",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f373.png",
"sheet_x": 16,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F373",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f373.png",
"sheet_x": 16,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Cook",
"b": "1F468-200D-1F373",
"k": [
16,
8
]
},
"card_file_box": {
"a": "Card File Box",
"b": "1F5C3-FE0F",
"c": "1F5C3",
"j": [
"business",
"stationery"
],
"k": [
30,
5
],
"o": 7
},
"file_cabinet": {
"a": "File Cabinet",
"b": "1F5C4-FE0F",
"c": "1F5C4",
"j": [
"filing",
"organizing"
],
"k": [
30,
6
],
"o": 7
},
"flag-kh": {
"a": "Cambodia Flag",
"b": "1F1F0-1F1ED",
"k": [
2,
49
]
},
"female-cook": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F373",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f373.png",
"sheet_x": 18,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F373",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f373.png",
"sheet_x": 18,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F373",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f373.png",
"sheet_x": 18,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F373",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f373.png",
"sheet_x": 18,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F373",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f373.png",
"sheet_x": 18,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Cook",
"b": "1F469-200D-1F373",
"k": [
18,
23
]
},
"toilet": {
"a": "Toilet",
"b": "1F6BD",
"j": [
"restroom",
"wc",
"washroom",
"bathroom",
"potty"
],
"k": [
36,
33
]
},
"wastebasket": {
"a": "Wastebasket",
"b": "1F5D1-FE0F",
"c": "1F5D1",
"j": [
"bin",
"trash",
"rubbish",
"garbage",
"toss"
],
"k": [
30,
7
],
"o": 7
},
"flag-ki": {
"a": "Kiribati Flag",
"b": "1F1F0-1F1EE",
"k": [
2,
50
]
},
"shower": {
"a": "Shower",
"b": "1F6BF",
"j": [
"clean",
"water",
"bathroom"
],
"k": [
36,
35
]
},
"male-mechanic": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F527",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f527.png",
"sheet_x": 17,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F527",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f527.png",
"sheet_x": 17,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F527",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f527.png",
"sheet_x": 17,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F527",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f527.png",
"sheet_x": 17,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F527",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f527.png",
"sheet_x": 17,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Mechanic",
"b": "1F468-200D-1F527",
"k": [
17,
19
]
},
"tm": {
"a": "Trade Mark Sign",
"b": "2122-FE0F",
"c": "2122",
"j": [
"trademark",
"brand",
"law",
"legal"
],
"k": [
46,
31
],
"o": 1
},
"hash": {
"a": "Hash Key",
"b": "0023-FE0F-20E3",
"c": "0023-20E3",
"j": [
"symbol",
"blue-square",
"twitter"
],
"k": [
0,
0
],
"o": 3
},
"flag-km": {
"a": "Comoros Flag",
"b": "1F1F0-1F1F2",
"k": [
2,
51
]
},
"bathtub": {
"a": "Bathtub",
"b": "1F6C1",
"j": [
"clean",
"shower",
"bathroom"
],
"k": [
36,
42
]
},
"female-mechanic": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F527",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f527.png",
"sheet_x": 19,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F527",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f527.png",
"sheet_x": 19,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F527",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f527.png",
"sheet_x": 19,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F527",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f527.png",
"sheet_x": 19,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F527",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f527.png",
"sheet_x": 19,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Mechanic",
"b": "1F469-200D-1F527",
"k": [
19,
29
]
},
"lock": {
"a": "Lock",
"b": "1F512",
"j": [
"security",
"password",
"padlock"
],
"k": [
27,
20
]
},
"male-factory-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F3ED",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f3ed.png",
"sheet_x": 16,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F3ED",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f3ed.png",
"sheet_x": 16,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F3ED",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f3ed.png",
"sheet_x": 16,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F3ED",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f3ed.png",
"sheet_x": 16,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F3ED",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f3ed.png",
"sheet_x": 16,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Factory Worker",
"b": "1F468-200D-1F3ED",
"k": [
16,
38
]
},
"flag-kn": {
"a": "St. Kitts & Nevis Flag",
"b": "1F1F0-1F1F3",
"k": [
3,
0
]
},
"hourglass": {
"a": "Hourglass",
"b": "231B",
"j": [
"time",
"clock",
"oldschool",
"limit",
"exam",
"quiz",
"test"
],
"k": [
46,
42
],
"o": 1
},
"keycap_star": {
"a": "Keycap Star",
"b": "002A-FE0F-20E3",
"c": "002A-20E3",
"k": [
0,
1
],
"o": 3
},
"unlock": {
"a": "Open Lock",
"b": "1F513",
"j": [
"privacy",
"security"
],
"k": [
27,
21
]
},
"flag-kp": {
"a": "North Korea Flag",
"b": "1F1F0-1F1F5",
"k": [
3,
1
]
},
"female-factory-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F3ED",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f3ed.png",
"sheet_x": 19,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F3ED",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f3ed.png",
"sheet_x": 19,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F3ED",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f3ed.png",
"sheet_x": 19,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F3ED",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f3ed.png",
"sheet_x": 19,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F3ED",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f3ed.png",
"sheet_x": 19,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Factory Worker",
"b": "1F469-200D-1F3ED",
"k": [
19,
1
]
},
"zero": {
"a": "Keycap 0",
"b": "0030-FE0F-20E3",
"c": "0030-20E3",
"j": [
"0",
"numbers",
"blue-square",
"null"
],
"k": [
0,
2
],
"o": 3
},
"lock_with_ink_pen": {
"a": "Lock with Ink Pen",
"b": "1F50F",
"j": [
"security",
"secret"
],
"k": [
27,
17
]
},
"hourglass_flowing_sand": {
"a": "Hourglass with Flowing Sand",
"b": "23F3",
"j": [
"oldschool",
"time",
"countdown"
],
"k": [
47,
3
]
},
"one": {
"a": "Keycap 1",
"b": "0031-FE0F-20E3",
"c": "0031-20E3",
"j": [
"blue-square",
"numbers",
"1"
],
"k": [
0,
3
],
"o": 3
},
"kr": {
"a": "South Korea Flag",
"b": "1F1F0-1F1F7",
"j": [
"south",
"korea",
"nation",
"flag",
"country",
"banner"
],
"k": [
3,
2
],
"n": [
"flag-kr"
]
},
"watch": {
"a": "Watch",
"b": "231A",
"j": [
"time",
"accessories"
],
"k": [
46,
41
],
"o": 1
},
"male-office-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F4BC",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f4bc.png",
"sheet_x": 17,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F4BC",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f4bc.png",
"sheet_x": 17,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F4BC",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f4bc.png",
"sheet_x": 17,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F4BC",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f4bc.png",
"sheet_x": 17,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F4BC",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f4bc.png",
"sheet_x": 17,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Office Worker",
"b": "1F468-200D-1F4BC",
"k": [
17,
13
]
},
"closed_lock_with_key": {
"a": "Closed Lock with Key",
"b": "1F510",
"j": [
"security",
"privacy"
],
"k": [
27,
18
]
},
"female-office-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F4BC",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f4bc.png",
"sheet_x": 19,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F4BC",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f4bc.png",
"sheet_x": 19,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F4BC",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f4bc.png",
"sheet_x": 19,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F4BC",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f4bc.png",
"sheet_x": 19,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F4BC",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f4bc.png",
"sheet_x": 19,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Office Worker",
"b": "1F469-200D-1F4BC",
"k": [
19,
23
]
},
"two": {
"a": "Keycap 2",
"b": "0032-FE0F-20E3",
"c": "0032-20E3",
"j": [
"numbers",
"2",
"prime",
"blue-square"
],
"k": [
0,
4
],
"o": 3
},
"alarm_clock": {
"a": "Alarm Clock",
"b": "23F0",
"j": [
"time",
"wake"
],
"k": [
47,
0
]
},
"key": {
"a": "Key",
"b": "1F511",
"j": [
"lock",
"door",
"password"
],
"k": [
27,
19
]
},
"flag-kw": {
"a": "Kuwait Flag",
"b": "1F1F0-1F1FC",
"k": [
3,
3
]
},
"stopwatch": {
"a": "Stopwatch",
"b": "23F1-FE0F",
"c": "23F1",
"j": [
"time",
"deadline"
],
"k": [
47,
1
]
},
"male-scientist": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F52C",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f52c.png",
"sheet_x": 17,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F52C",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f52c.png",
"sheet_x": 17,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F52C",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f52c.png",
"sheet_x": 17,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F52C",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f52c.png",
"sheet_x": 17,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F52C",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f52c.png",
"sheet_x": 17,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Scientist",
"b": "1F468-200D-1F52C",
"k": [
17,
25
]
},
"three": {
"a": "Keycap 3",
"b": "0033-FE0F-20E3",
"c": "0033-20E3",
"j": [
"3",
"numbers",
"prime",
"blue-square"
],
"k": [
0,
5
],
"o": 3
},
"flag-ky": {
"a": "Cayman Islands Flag",
"b": "1F1F0-1F1FE",
"k": [
3,
4
]
},
"old_key": {
"a": "Old Key",
"b": "1F5DD-FE0F",
"c": "1F5DD",
"j": [
"lock",
"door",
"password"
],
"k": [
30,
11
],
"o": 7
},
"flag-kz": {
"a": "Kazakhstan Flag",
"b": "1F1F0-1F1FF",
"k": [
3,
5
]
},
"hammer": {
"a": "Hammer",
"b": "1F528",
"j": [
"tools",
"build",
"create"
],
"k": [
27,
42
]
},
"female-scientist": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F52C",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f52c.png",
"sheet_x": 19,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F52C",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f52c.png",
"sheet_x": 19,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F52C",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f52c.png",
"sheet_x": 19,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F52C",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f52c.png",
"sheet_x": 19,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F52C",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f52c.png",
"sheet_x": 19,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Scientist",
"b": "1F469-200D-1F52C",
"k": [
19,
35
]
},
"timer_clock": {
"a": "Timer Clock",
"b": "23F2-FE0F",
"c": "23F2",
"j": [
"alarm"
],
"k": [
47,
2
]
},
"four": {
"a": "Keycap 4",
"b": "0034-FE0F-20E3",
"c": "0034-20E3",
"j": [
"4",
"numbers",
"blue-square"
],
"k": [
0,
6
],
"o": 3
},
"male-technologist": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F4BB",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f4bb.png",
"sheet_x": 17,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F4BB",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f4bb.png",
"sheet_x": 17,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F4BB",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f4bb.png",
"sheet_x": 17,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F4BB",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f4bb.png",
"sheet_x": 17,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F4BB",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f4bb.png",
"sheet_x": 17,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Technologist",
"b": "1F468-200D-1F4BB",
"k": [
17,
7
]
},
"mantelpiece_clock": {
"a": "Mantelpiece Clock",
"b": "1F570-FE0F",
"c": "1F570",
"j": [
"time"
],
"k": [
28,
43
],
"o": 7
},
"five": {
"a": "Keycap 5",
"b": "0035-FE0F-20E3",
"c": "0035-20E3",
"j": [
"5",
"numbers",
"blue-square",
"prime"
],
"k": [
0,
7
],
"o": 3
},
"flag-la": {
"a": "Laos Flag",
"b": "1F1F1-1F1E6",
"k": [
3,
6
]
},
"pick": {
"a": "Pick",
"b": "26CF-FE0F",
"c": "26CF",
"j": [
"tools",
"dig"
],
"k": [
48,
32
],
"o": 5
},
"flag-lb": {
"a": "Lebanon Flag",
"b": "1F1F1-1F1E7",
"k": [
3,
7
]
},
"clock12": {
"a": "Clock Face Twelve Oclock",
"b": "1F55B",
"j": [
"time",
"noon",
"midnight",
"midday",
"late",
"early",
"schedule"
],
"k": [
28,
29
]
},
"hammer_and_pick": {
"a": "Hammer and Pick",
"b": "2692-FE0F",
"c": "2692",
"j": [
"tools",
"build",
"create"
],
"k": [
48,
11
],
"o": 4
},
"six": {
"a": "Keycap 6",
"b": "0036-FE0F-20E3",
"c": "0036-20E3",
"j": [
"6",
"numbers",
"blue-square"
],
"k": [
0,
8
],
"o": 3
},
"female-technologist": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F4BB",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f4bb.png",
"sheet_x": 19,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F4BB",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f4bb.png",
"sheet_x": 19,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F4BB",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f4bb.png",
"sheet_x": 19,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F4BB",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f4bb.png",
"sheet_x": 19,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F4BB",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f4bb.png",
"sheet_x": 19,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Technologist",
"b": "1F469-200D-1F4BB",
"k": [
19,
17
]
},
"hammer_and_wrench": {
"a": "Hammer and Wrench",
"b": "1F6E0-FE0F",
"c": "1F6E0",
"j": [
"tools",
"build",
"create"
],
"k": [
37,
8
],
"o": 7
},
"flag-lc": {
"a": "St. Lucia Flag",
"b": "1F1F1-1F1E8",
"k": [
3,
8
]
},
"clock1230": {
"a": "Clock Face Twelve-Thirty",
"b": "1F567",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
41
]
},
"seven": {
"a": "Keycap 7",
"b": "0037-FE0F-20E3",
"c": "0037-20E3",
"j": [
"7",
"numbers",
"blue-square",
"prime"
],
"k": [
0,
9
],
"o": 3
},
"male-singer": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F3A4",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f3a4.png",
"sheet_x": 16,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F3A4",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f3a4.png",
"sheet_x": 16,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F3A4",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f3a4.png",
"sheet_x": 16,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F3A4",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f3a4.png",
"sheet_x": 16,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F3A4",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f3a4.png",
"sheet_x": 16,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Singer",
"b": "1F468-200D-1F3A4",
"k": [
16,
20
]
},
"eight": {
"a": "Keycap 8",
"b": "0038-FE0F-20E3",
"c": "0038-20E3",
"j": [
"8",
"blue-square",
"numbers"
],
"k": [
0,
10
],
"o": 3
},
"flag-li": {
"a": "Liechtenstein Flag",
"b": "1F1F1-1F1EE",
"k": [
3,
9
]
},
"dagger_knife": {
"a": "Dagger Knife",
"b": "1F5E1-FE0F",
"c": "1F5E1",
"k": [
30,
13
],
"o": 7
},
"clock1": {
"a": "Clock Face One Oclock",
"b": "1F550",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
18
]
},
"female-singer": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F3A4",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f3a4.png",
"sheet_x": 18,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F3A4",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f3a4.png",
"sheet_x": 18,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F3A4",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f3a4.png",
"sheet_x": 18,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F3A4",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f3a4.png",
"sheet_x": 18,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F3A4",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f3a4.png",
"sheet_x": 18,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Singer",
"b": "1F469-200D-1F3A4",
"k": [
18,
35
]
},
"male-artist": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F3A8",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f3a8.png",
"sheet_x": 16,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F3A8",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f3a8.png",
"sheet_x": 16,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F3A8",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f3a8.png",
"sheet_x": 16,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F3A8",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f3a8.png",
"sheet_x": 16,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F3A8",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f3a8.png",
"sheet_x": 16,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Artist",
"b": "1F468-200D-1F3A8",
"k": [
16,
26
]
},
"crossed_swords": {
"a": "Crossed Swords",
"b": "2694-FE0F",
"c": "2694",
"j": [
"weapon"
],
"k": [
48,
13
],
"o": 4
},
"nine": {
"a": "Keycap 9",
"b": "0039-FE0F-20E3",
"c": "0039-20E3",
"j": [
"blue-square",
"numbers",
"9"
],
"k": [
0,
11
],
"o": 3
},
"flag-lk": {
"a": "Sri Lanka Flag",
"b": "1F1F1-1F1F0",
"k": [
3,
10
]
},
"clock130": {
"a": "Clock Face One-Thirty",
"b": "1F55C",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
30
]
},
"clock2": {
"a": "Clock Face Two Oclock",
"b": "1F551",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
19
]
},
"gun": {
"a": "Pistol",
"b": "1F52B",
"j": [
"violence",
"weapon",
"pistol",
"revolver"
],
"k": [
27,
45
]
},
"keycap_ten": {
"a": "Keycap Ten",
"b": "1F51F",
"j": [
"numbers",
"10",
"blue-square"
],
"k": [
27,
33
]
},
"female-artist": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F3A8",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f3a8.png",
"sheet_x": 18,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F3A8",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f3a8.png",
"sheet_x": 18,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F3A8",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f3a8.png",
"sheet_x": 18,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F3A8",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f3a8.png",
"sheet_x": 18,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F3A8",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f3a8.png",
"sheet_x": 18,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Artist",
"b": "1F469-200D-1F3A8",
"k": [
18,
41
]
},
"flag-lr": {
"a": "Liberia Flag",
"b": "1F1F1-1F1F7",
"k": [
3,
11
]
},
"clock230": {
"a": "Clock Face Two-Thirty",
"b": "1F55D",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
31
]
},
"bow_and_arrow": {
"a": "Bow and Arrow",
"b": "1F3F9",
"j": [
"sports"
],
"k": [
12,
23
],
"o": 8
},
"male-pilot": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-2708-FE0F",
"non_qualified": "1F468-1F3FB-200D-2708",
"image": "1f468-1f3fb-200d-2708-fe0f.png",
"sheet_x": 18,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-2708-FE0F",
"non_qualified": "1F468-1F3FC-200D-2708",
"image": "1f468-1f3fc-200d-2708-fe0f.png",
"sheet_x": 18,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-2708-FE0F",
"non_qualified": "1F468-1F3FD-200D-2708",
"image": "1f468-1f3fd-200d-2708-fe0f.png",
"sheet_x": 18,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-2708-FE0F",
"non_qualified": "1F468-1F3FE-200D-2708",
"image": "1f468-1f3fe-200d-2708-fe0f.png",
"sheet_x": 18,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-2708-FE0F",
"non_qualified": "1F468-1F3FF-200D-2708",
"image": "1f468-1f3ff-200d-2708-fe0f.png",
"sheet_x": 18,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Pilot",
"b": "1F468-200D-2708-FE0F",
"c": "1F468-200D-2708",
"k": [
18,
3
]
},
"flag-ls": {
"a": "Lesotho Flag",
"b": "1F1F1-1F1F8",
"k": [
3,
12
]
},
"flag-lt": {
"a": "Lithuania Flag",
"b": "1F1F1-1F1F9",
"k": [
3,
13
]
},
"capital_abcd": {
"a": "Input Symbol for Latin Capital Letters",
"b": "1F520",
"j": [
"alphabet",
"words",
"blue-square"
],
"k": [
27,
34
]
},
"female-pilot": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-2708-FE0F",
"non_qualified": "1F469-1F3FB-200D-2708",
"image": "1f469-1f3fb-200d-2708-fe0f.png",
"sheet_x": 20,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-2708-FE0F",
"non_qualified": "1F469-1F3FC-200D-2708",
"image": "1f469-1f3fc-200d-2708-fe0f.png",
"sheet_x": 20,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-2708-FE0F",
"non_qualified": "1F469-1F3FD-200D-2708",
"image": "1f469-1f3fd-200d-2708-fe0f.png",
"sheet_x": 20,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-2708-FE0F",
"non_qualified": "1F469-1F3FE-200D-2708",
"image": "1f469-1f3fe-200d-2708-fe0f.png",
"sheet_x": 20,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-2708-FE0F",
"non_qualified": "1F469-1F3FF-200D-2708",
"image": "1f469-1f3ff-200d-2708-fe0f.png",
"sheet_x": 20,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Pilot",
"b": "1F469-200D-2708-FE0F",
"c": "1F469-200D-2708",
"k": [
20,
13
]
},
"clock3": {
"a": "Clock Face Three Oclock",
"b": "1F552",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
20
]
},
"shield": {
"a": "Shield",
"b": "1F6E1-FE0F",
"c": "1F6E1",
"j": [
"protection",
"security"
],
"k": [
37,
9
],
"o": 7
},
"male-astronaut": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F680",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f680.png",
"sheet_x": 17,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F680",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f680.png",
"sheet_x": 17,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F680",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f680.png",
"sheet_x": 17,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F680",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f680.png",
"sheet_x": 17,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F680",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f680.png",
"sheet_x": 17,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Astronaut",
"b": "1F468-200D-1F680",
"k": [
17,
31
]
},
"abcd": {
"a": "Input Symbol for Latin Small Letters",
"b": "1F521",
"j": [
"blue-square",
"alphabet"
],
"k": [
27,
35
]
},
"clock330": {
"a": "Clock Face Three-Thirty",
"b": "1F55E",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
32
]
},
"flag-lu": {
"a": "Luxembourg Flag",
"b": "1F1F1-1F1FA",
"k": [
3,
14
]
},
"wrench": {
"a": "Wrench",
"b": "1F527",
"j": [
"tools",
"diy",
"ikea",
"fix",
"maintainer"
],
"k": [
27,
41
]
},
"nut_and_bolt": {
"a": "Nut and Bolt",
"b": "1F529",
"j": [
"handy",
"tools",
"fix"
],
"k": [
27,
43
]
},
"clock4": {
"a": "Clock Face Four Oclock",
"b": "1F553",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
21
]
},
"female-astronaut": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F680",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f680.png",
"sheet_x": 19,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F680",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f680.png",
"sheet_x": 19,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F680",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f680.png",
"sheet_x": 19,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F680",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f680.png",
"sheet_x": 19,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F680",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f680.png",
"sheet_x": 19,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Astronaut",
"b": "1F469-200D-1F680",
"k": [
19,
41
]
},
"flag-lv": {
"a": "Latvia Flag",
"b": "1F1F1-1F1FB",
"k": [
3,
15
]
},
"gear": {
"a": "Gear",
"b": "2699-FE0F",
"c": "2699",
"j": [
"cog"
],
"k": [
48,
17
],
"o": 4
},
"male-firefighter": {
"skin_variations": {
"1F3FB": {
"unified": "1F468-1F3FB-200D-1F692",
"non_qualified": null,
"image": "1f468-1f3fb-200d-1f692.png",
"sheet_x": 17,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F468-1F3FC-200D-1F692",
"non_qualified": null,
"image": "1f468-1f3fc-200d-1f692.png",
"sheet_x": 17,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F468-1F3FD-200D-1F692",
"non_qualified": null,
"image": "1f468-1f3fd-200d-1f692.png",
"sheet_x": 17,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F468-1F3FE-200D-1F692",
"non_qualified": null,
"image": "1f468-1f3fe-200d-1f692.png",
"sheet_x": 17,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F468-1F3FF-200D-1F692",
"non_qualified": null,
"image": "1f468-1f3ff-200d-1f692.png",
"sheet_x": 17,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Male Firefighter",
"b": "1F468-200D-1F692",
"k": [
17,
37
]
},
"flag-ly": {
"a": "Libya Flag",
"b": "1F1F1-1F1FE",
"k": [
3,
16
]
},
"symbols": {
"a": "Input Symbol for Symbols",
"b": "1F523",
"j": [
"blue-square",
"music",
"note",
"ampersand",
"percent",
"glyphs",
"characters"
],
"k": [
27,
37
]
},
"clock430": {
"a": "Clock Face Four-Thirty",
"b": "1F55F",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
33
]
},
"flag-ma": {
"a": "Morocco Flag",
"b": "1F1F2-1F1E6",
"k": [
3,
17
]
},
"compression": {
"a": "Compression",
"b": "1F5DC-FE0F",
"c": "1F5DC",
"k": [
30,
10
],
"o": 7
},
"female-firefighter": {
"skin_variations": {
"1F3FB": {
"unified": "1F469-1F3FB-200D-1F692",
"non_qualified": null,
"image": "1f469-1f3fb-200d-1f692.png",
"sheet_x": 19,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F469-1F3FC-200D-1F692",
"non_qualified": null,
"image": "1f469-1f3fc-200d-1f692.png",
"sheet_x": 19,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F469-1F3FD-200D-1F692",
"non_qualified": null,
"image": "1f469-1f3fd-200d-1f692.png",
"sheet_x": 19,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F469-1F3FE-200D-1F692",
"non_qualified": null,
"image": "1f469-1f3fe-200d-1f692.png",
"sheet_x": 19,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F469-1F3FF-200D-1F692",
"non_qualified": null,
"image": "1f469-1f3ff-200d-1f692.png",
"sheet_x": 20,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Female Firefighter",
"b": "1F469-200D-1F692",
"k": [
19,
47
]
},
"abc": {
"a": "Input Symbol for Latin Letters",
"b": "1F524",
"j": [
"blue-square",
"alphabet"
],
"k": [
27,
38
]
},
"clock5": {
"a": "Clock Face Five Oclock",
"b": "1F554",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
22
]
},
"clock530": {
"a": "Clock Face Five-Thirty",
"b": "1F560",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
34
]
},
"a": {
"a": "Negative Squared Latin Capital Letter a",
"b": "1F170-FE0F",
"c": "1F170",
"j": [
"red-square",
"alphabet",
"letter"
],
"k": [
0,
16
]
},
"alembic": {
"a": "Alembic",
"b": "2697-FE0F",
"c": "2697",
"j": [
"distilling",
"science",
"experiment",
"chemistry"
],
"k": [
48,
16
],
"o": 4
},
"flag-mc": {
"a": "Monaco Flag",
"b": "1F1F2-1F1E8",
"k": [
3,
18
]
},
"cop": {
"skin_variations": {
"1F3FB": {
"unified": "1F46E-1F3FB",
"non_qualified": null,
"image": "1f46e-1f3fb.png",
"sheet_x": 20,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F46E-1F3FC",
"non_qualified": null,
"image": "1f46e-1f3fc.png",
"sheet_x": 20,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F46E-1F3FD",
"non_qualified": null,
"image": "1f46e-1f3fd.png",
"sheet_x": 20,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F46E-1F3FE",
"non_qualified": null,
"image": "1f46e-1f3fe.png",
"sheet_x": 20,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F46E-1F3FF",
"non_qualified": null,
"image": "1f46e-1f3ff.png",
"sheet_x": 20,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F46E-200D-2642-FE0F",
"a": "Police Officer",
"b": "1F46E",
"k": [
20,
45
]
},
"scales": {
"a": "Scales",
"b": "2696-FE0F",
"c": "2696",
"k": [
48,
15
],
"o": 4
},
"clock6": {
"a": "Clock Face Six Oclock",
"b": "1F555",
"j": [
"time",
"late",
"early",
"schedule",
"dawn",
"dusk"
],
"k": [
28,
23
]
},
"flag-md": {
"a": "Moldova Flag",
"b": "1F1F2-1F1E9",
"k": [
3,
19
]
},
"ab": {
"a": "Negative Squared Ab",
"b": "1F18E",
"j": [
"red-square",
"alphabet"
],
"k": [
0,
20
]
},
"male-police-officer": {
"skin_variations": {
"1F3FB": {
"unified": "1F46E-1F3FB-200D-2642-FE0F",
"non_qualified": "1F46E-1F3FB-200D-2642",
"image": "1f46e-1f3fb-200d-2642-fe0f.png",
"sheet_x": 20,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F46E-1F3FC-200D-2642-FE0F",
"non_qualified": "1F46E-1F3FC-200D-2642",
"image": "1f46e-1f3fc-200d-2642-fe0f.png",
"sheet_x": 20,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F46E-1F3FD-200D-2642-FE0F",
"non_qualified": "1F46E-1F3FD-200D-2642",
"image": "1f46e-1f3fd-200d-2642-fe0f.png",
"sheet_x": 20,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F46E-1F3FE-200D-2642-FE0F",
"non_qualified": "1F46E-1F3FE-200D-2642",
"image": "1f46e-1f3fe-200d-2642-fe0f.png",
"sheet_x": 20,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F46E-1F3FF-200D-2642-FE0F",
"non_qualified": "1F46E-1F3FF-200D-2642",
"image": "1f46e-1f3ff-200d-2642-fe0f.png",
"sheet_x": 20,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F46E",
"a": "Male Police Officer",
"b": "1F46E-200D-2642-FE0F",
"c": "1F46E-200D-2642",
"k": [
20,
39
]
},
"link": {
"a": "Link Symbol",
"b": "1F517",
"j": [
"rings",
"url"
],
"k": [
27,
25
]
},
"flag-me": {
"a": "Montenegro Flag",
"b": "1F1F2-1F1EA",
"k": [
3,
20
]
},
"clock630": {
"a": "Clock Face Six-Thirty",
"b": "1F561",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
35
]
},
"b": {
"a": "Negative Squared Latin Capital Letter B",
"b": "1F171-FE0F",
"c": "1F171",
"j": [
"red-square",
"alphabet",
"letter"
],
"k": [
0,
17
]
},
"female-police-officer": {
"skin_variations": {
"1F3FB": {
"unified": "1F46E-1F3FB-200D-2640-FE0F",
"non_qualified": "1F46E-1F3FB-200D-2640",
"image": "1f46e-1f3fb-200d-2640-fe0f.png",
"sheet_x": 20,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F46E-1F3FC-200D-2640-FE0F",
"non_qualified": "1F46E-1F3FC-200D-2640",
"image": "1f46e-1f3fc-200d-2640-fe0f.png",
"sheet_x": 20,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F46E-1F3FD-200D-2640-FE0F",
"non_qualified": "1F46E-1F3FD-200D-2640",
"image": "1f46e-1f3fd-200d-2640-fe0f.png",
"sheet_x": 20,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F46E-1F3FE-200D-2640-FE0F",
"non_qualified": "1F46E-1F3FE-200D-2640",
"image": "1f46e-1f3fe-200d-2640-fe0f.png",
"sheet_x": 20,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F46E-1F3FF-200D-2640-FE0F",
"non_qualified": "1F46E-1F3FF-200D-2640",
"image": "1f46e-1f3ff-200d-2640-fe0f.png",
"sheet_x": 20,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Police Officer",
"b": "1F46E-200D-2640-FE0F",
"c": "1F46E-200D-2640",
"k": [
20,
33
]
},
"clock7": {
"a": "Clock Face Seven Oclock",
"b": "1F556",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
24
]
},
"cl": {
"a": "Squared Cl",
"b": "1F191",
"j": [
"alphabet",
"words",
"red-square"
],
"k": [
0,
21
]
},
"sleuth_or_spy": {
"skin_variations": {
"1F3FB": {
"unified": "1F575-1F3FB",
"non_qualified": null,
"image": "1f575-1f3fb.png",
"sheet_x": 29,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F575-1F3FC",
"non_qualified": null,
"image": "1f575-1f3fc.png",
"sheet_x": 29,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F575-1F3FD",
"non_qualified": null,
"image": "1f575-1f3fd.png",
"sheet_x": 29,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F575-1F3FE",
"non_qualified": null,
"image": "1f575-1f3fe.png",
"sheet_x": 29,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F575-1F3FF",
"non_qualified": null,
"image": "1f575-1f3ff.png",
"sheet_x": 29,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoleted_by": "1F575-FE0F-200D-2642-FE0F",
"a": "Sleuth or Spy",
"b": "1F575-FE0F",
"c": "1F575",
"k": [
29,
11
],
"o": 7
},
"flag-mf": {
"a": "St. Martin Flag",
"b": "1F1F2-1F1EB",
"k": [
3,
21
]
},
"chains": {
"a": "Chains",
"b": "26D3-FE0F",
"c": "26D3",
"j": [
"lock",
"arrest"
],
"k": [
48,
34
],
"o": 5
},
"syringe": {
"a": "Syringe",
"b": "1F489",
"j": [
"health",
"hospital",
"drugs",
"blood",
"medicine",
"needle",
"doctor",
"nurse"
],
"k": [
24,
35
]
},
"male-detective": {
"skin_variations": {
"1F3FB": {
"unified": "1F575-1F3FB-200D-2642-FE0F",
"non_qualified": "1F575-1F3FB-200D-2642",
"image": "1f575-1f3fb-200d-2642-fe0f.png",
"sheet_x": 29,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F575-1F3FC-200D-2642-FE0F",
"non_qualified": "1F575-1F3FC-200D-2642",
"image": "1f575-1f3fc-200d-2642-fe0f.png",
"sheet_x": 29,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F575-1F3FD-200D-2642-FE0F",
"non_qualified": "1F575-1F3FD-200D-2642",
"image": "1f575-1f3fd-200d-2642-fe0f.png",
"sheet_x": 29,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F575-1F3FE-200D-2642-FE0F",
"non_qualified": "1F575-1F3FE-200D-2642",
"image": "1f575-1f3fe-200d-2642-fe0f.png",
"sheet_x": 29,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F575-1F3FF-200D-2642-FE0F",
"non_qualified": "1F575-1F3FF-200D-2642",
"image": "1f575-1f3ff-200d-2642-fe0f.png",
"sheet_x": 29,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F575-FE0F",
"a": "Male Detective",
"b": "1F575-FE0F-200D-2642-FE0F",
"k": [
29,
5
],
"o": 7
},
"cool": {
"a": "Squared Cool",
"b": "1F192",
"j": [
"words",
"blue-square"
],
"k": [
0,
22
]
},
"clock730": {
"a": "Clock Face Seven-Thirty",
"b": "1F562",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
36
]
},
"flag-mg": {
"a": "Madagascar Flag",
"b": "1F1F2-1F1EC",
"k": [
3,
22
]
},
"free": {
"a": "Squared Free",
"b": "1F193",
"j": [
"blue-square",
"words"
],
"k": [
0,
23
]
},
"flag-mh": {
"a": "Marshall Islands Flag",
"b": "1F1F2-1F1ED",
"k": [
3,
23
]
},
"clock8": {
"a": "Clock Face Eight Oclock",
"b": "1F557",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
25
]
},
"pill": {
"a": "Pill",
"b": "1F48A",
"j": [
"health",
"medicine",
"doctor",
"pharmacy",
"drug"
],
"k": [
24,
36
]
},
"female-detective": {
"skin_variations": {
"1F3FB": {
"unified": "1F575-1F3FB-200D-2640-FE0F",
"non_qualified": "1F575-1F3FB-200D-2640",
"image": "1f575-1f3fb-200d-2640-fe0f.png",
"sheet_x": 29,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F575-1F3FC-200D-2640-FE0F",
"non_qualified": "1F575-1F3FC-200D-2640",
"image": "1f575-1f3fc-200d-2640-fe0f.png",
"sheet_x": 29,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F575-1F3FD-200D-2640-FE0F",
"non_qualified": "1F575-1F3FD-200D-2640",
"image": "1f575-1f3fd-200d-2640-fe0f.png",
"sheet_x": 29,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F575-1F3FE-200D-2640-FE0F",
"non_qualified": "1F575-1F3FE-200D-2640",
"image": "1f575-1f3fe-200d-2640-fe0f.png",
"sheet_x": 29,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F575-1F3FF-200D-2640-FE0F",
"non_qualified": "1F575-1F3FF-200D-2640",
"image": "1f575-1f3ff-200d-2640-fe0f.png",
"sheet_x": 29,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Detective",
"b": "1F575-FE0F-200D-2640-FE0F",
"k": [
28,
51
],
"o": 7
},
"clock830": {
"a": "Clock Face Eight-Thirty",
"b": "1F563",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
37
]
},
"guardsman": {
"skin_variations": {
"1F3FB": {
"unified": "1F482-1F3FB",
"non_qualified": null,
"image": "1f482-1f3fb.png",
"sheet_x": 23,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F482-1F3FC",
"non_qualified": null,
"image": "1f482-1f3fc.png",
"sheet_x": 23,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F482-1F3FD",
"non_qualified": null,
"image": "1f482-1f3fd.png",
"sheet_x": 23,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F482-1F3FE",
"non_qualified": null,
"image": "1f482-1f3fe.png",
"sheet_x": 23,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F482-1F3FF",
"non_qualified": null,
"image": "1f482-1f3ff.png",
"sheet_x": 23,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F482-200D-2642-FE0F",
"a": "Guardsman",
"b": "1F482",
"j": [
"uk",
"gb",
"british",
"male",
"guy",
"royal"
],
"k": [
23,
31
]
},
"information_source": {
"a": "Information Source",
"b": "2139-FE0F",
"c": "2139",
"j": [
"blue-square",
"alphabet",
"letter"
],
"k": [
46,
32
],
"o": 3
},
"flag-mk": {
"a": "Macedonia Flag",
"b": "1F1F2-1F1F0",
"k": [
3,
24
]
},
"smoking": {
"a": "Smoking Symbol",
"b": "1F6AC",
"j": [
"kills",
"tobacco",
"cigarette",
"joint",
"smoke"
],
"k": [
35,
17
]
},
"id": {
"a": "Squared Id",
"b": "1F194",
"j": [
"purple-square",
"words"
],
"k": [
0,
24
]
},
"clock9": {
"a": "Clock Face Nine Oclock",
"b": "1F558",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
26
]
},
"flag-ml": {
"a": "Mali Flag",
"b": "1F1F2-1F1F1",
"k": [
3,
25
]
},
"coffin": {
"a": "Coffin",
"b": "26B0-FE0F",
"c": "26B0",
"j": [
"vampire",
"dead",
"die",
"death",
"rip",
"graveyard",
"cemetery",
"casket",
"funeral",
"box"
],
"k": [
48,
24
],
"o": 4
},
"male-guard": {
"skin_variations": {
"1F3FB": {
"unified": "1F482-1F3FB-200D-2642-FE0F",
"non_qualified": "1F482-1F3FB-200D-2642",
"image": "1f482-1f3fb-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F482-1F3FC-200D-2642-FE0F",
"non_qualified": "1F482-1F3FC-200D-2642",
"image": "1f482-1f3fc-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F482-1F3FD-200D-2642-FE0F",
"non_qualified": "1F482-1F3FD-200D-2642",
"image": "1f482-1f3fd-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F482-1F3FE-200D-2642-FE0F",
"non_qualified": "1F482-1F3FE-200D-2642",
"image": "1f482-1f3fe-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F482-1F3FF-200D-2642-FE0F",
"non_qualified": "1F482-1F3FF-200D-2642",
"image": "1f482-1f3ff-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F482",
"a": "Male Guard",
"b": "1F482-200D-2642-FE0F",
"c": "1F482-200D-2642",
"k": [
23,
25
]
},
"m": {
"a": "Circled Latin Capital Letter M",
"b": "24C2-FE0F",
"c": "24C2",
"j": [
"alphabet",
"blue-circle",
"letter"
],
"k": [
47,
7
],
"o": 1
},
"funeral_urn": {
"a": "Funeral Urn",
"b": "26B1-FE0F",
"c": "26B1",
"j": [
"dead",
"die",
"death",
"rip",
"ashes"
],
"k": [
48,
25
],
"o": 4
},
"female-guard": {
"skin_variations": {
"1F3FB": {
"unified": "1F482-1F3FB-200D-2640-FE0F",
"non_qualified": "1F482-1F3FB-200D-2640",
"image": "1f482-1f3fb-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F482-1F3FC-200D-2640-FE0F",
"non_qualified": "1F482-1F3FC-200D-2640",
"image": "1f482-1f3fc-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F482-1F3FD-200D-2640-FE0F",
"non_qualified": "1F482-1F3FD-200D-2640",
"image": "1f482-1f3fd-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F482-1F3FE-200D-2640-FE0F",
"non_qualified": "1F482-1F3FE-200D-2640",
"image": "1f482-1f3fe-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F482-1F3FF-200D-2640-FE0F",
"non_qualified": "1F482-1F3FF-200D-2640",
"image": "1f482-1f3ff-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Guard",
"b": "1F482-200D-2640-FE0F",
"c": "1F482-200D-2640",
"k": [
23,
19
]
},
"flag-mm": {
"a": "Myanmar (burma) Flag",
"b": "1F1F2-1F1F2",
"k": [
3,
26
]
},
"clock930": {
"a": "Clock Face Nine-Thirty",
"b": "1F564",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
38
]
},
"moyai": {
"a": "Moyai",
"b": "1F5FF",
"j": [
"rock",
"easter island",
"moai"
],
"k": [
30,
23
]
},
"new": {
"a": "Squared New",
"b": "1F195",
"j": [
"blue-square",
"words",
"start"
],
"k": [
0,
25
]
},
"flag-mn": {
"a": "Mongolia Flag",
"b": "1F1F2-1F1F3",
"k": [
3,
27
]
},
"construction_worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F477-1F3FB",
"non_qualified": null,
"image": "1f477-1f3fb.png",
"sheet_x": 22,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F477-1F3FC",
"non_qualified": null,
"image": "1f477-1f3fc.png",
"sheet_x": 22,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F477-1F3FD",
"non_qualified": null,
"image": "1f477-1f3fd.png",
"sheet_x": 22,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F477-1F3FE",
"non_qualified": null,
"image": "1f477-1f3fe.png",
"sheet_x": 22,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F477-1F3FF",
"non_qualified": null,
"image": "1f477-1f3ff.png",
"sheet_x": 22,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F477-200D-2642-FE0F",
"a": "Construction Worker",
"b": "1F477",
"k": [
22,
28
]
},
"clock10": {
"a": "Clock Face Ten Oclock",
"b": "1F559",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
27
]
},
"clock1030": {
"a": "Clock Face Ten-Thirty",
"b": "1F565",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
39
]
},
"ng": {
"a": "Squared Ng",
"b": "1F196",
"j": [
"blue-square",
"words",
"shape",
"icon"
],
"k": [
0,
26
]
},
"male-construction-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F477-1F3FB-200D-2642-FE0F",
"non_qualified": "1F477-1F3FB-200D-2642",
"image": "1f477-1f3fb-200d-2642-fe0f.png",
"sheet_x": 22,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F477-1F3FC-200D-2642-FE0F",
"non_qualified": "1F477-1F3FC-200D-2642",
"image": "1f477-1f3fc-200d-2642-fe0f.png",
"sheet_x": 22,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F477-1F3FD-200D-2642-FE0F",
"non_qualified": "1F477-1F3FD-200D-2642",
"image": "1f477-1f3fd-200d-2642-fe0f.png",
"sheet_x": 22,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F477-1F3FE-200D-2642-FE0F",
"non_qualified": "1F477-1F3FE-200D-2642",
"image": "1f477-1f3fe-200d-2642-fe0f.png",
"sheet_x": 22,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F477-1F3FF-200D-2642-FE0F",
"non_qualified": "1F477-1F3FF-200D-2642",
"image": "1f477-1f3ff-200d-2642-fe0f.png",
"sheet_x": 22,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F477",
"a": "Male Construction Worker",
"b": "1F477-200D-2642-FE0F",
"c": "1F477-200D-2642",
"k": [
22,
22
]
},
"flag-mo": {
"a": "Macau Sar China Flag",
"b": "1F1F2-1F1F4",
"k": [
3,
28
]
},
"oil_drum": {
"a": "Oil Drum",
"b": "1F6E2-FE0F",
"c": "1F6E2",
"j": [
"barrell"
],
"k": [
37,
10
],
"o": 7
},
"o2": {
"a": "Negative Squared Latin Capital Letter O",
"b": "1F17E-FE0F",
"c": "1F17E",
"j": [
"alphabet",
"red-square",
"letter"
],
"k": [
0,
18
]
},
"female-construction-worker": {
"skin_variations": {
"1F3FB": {
"unified": "1F477-1F3FB-200D-2640-FE0F",
"non_qualified": "1F477-1F3FB-200D-2640",
"image": "1f477-1f3fb-200d-2640-fe0f.png",
"sheet_x": 22,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F477-1F3FC-200D-2640-FE0F",
"non_qualified": "1F477-1F3FC-200D-2640",
"image": "1f477-1f3fc-200d-2640-fe0f.png",
"sheet_x": 22,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F477-1F3FD-200D-2640-FE0F",
"non_qualified": "1F477-1F3FD-200D-2640",
"image": "1f477-1f3fd-200d-2640-fe0f.png",
"sheet_x": 22,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F477-1F3FE-200D-2640-FE0F",
"non_qualified": "1F477-1F3FE-200D-2640",
"image": "1f477-1f3fe-200d-2640-fe0f.png",
"sheet_x": 22,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F477-1F3FF-200D-2640-FE0F",
"non_qualified": "1F477-1F3FF-200D-2640",
"image": "1f477-1f3ff-200d-2640-fe0f.png",
"sheet_x": 22,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Construction Worker",
"b": "1F477-200D-2640-FE0F",
"c": "1F477-200D-2640",
"k": [
22,
16
]
},
"clock11": {
"a": "Clock Face Eleven Oclock",
"b": "1F55A",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
28
]
},
"crystal_ball": {
"a": "Crystal Ball",
"b": "1F52E",
"j": [
"disco",
"party",
"magic",
"circus",
"fortune_teller"
],
"k": [
27,
48
]
},
"flag-mp": {
"a": "Northern Mariana Islands Flag",
"b": "1F1F2-1F1F5",
"k": [
3,
29
]
},
"flag-mq": {
"a": "Martinique Flag",
"b": "1F1F2-1F1F6",
"k": [
3,
30
]
},
"prince": {
"skin_variations": {
"1F3FB": {
"unified": "1F934-1F3FB",
"non_qualified": null,
"image": "1f934-1f3fb.png",
"sheet_x": 39,
"sheet_y": 29,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F934-1F3FC",
"non_qualified": null,
"image": "1f934-1f3fc.png",
"sheet_x": 39,
"sheet_y": 30,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F934-1F3FD",
"non_qualified": null,
"image": "1f934-1f3fd.png",
"sheet_x": 39,
"sheet_y": 31,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F934-1F3FE",
"non_qualified": null,
"image": "1f934-1f3fe.png",
"sheet_x": 39,
"sheet_y": 32,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F934-1F3FF",
"non_qualified": null,
"image": "1f934-1f3ff.png",
"sheet_x": 39,
"sheet_y": 33,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Prince",
"b": "1F934",
"j": [
"boy",
"man",
"male",
"crown",
"royal",
"king"
],
"k": [
39,
28
],
"o": 9
},
"ok": {
"a": "Squared Ok",
"b": "1F197",
"j": [
"good",
"agree",
"yes",
"blue-square"
],
"k": [
0,
27
]
},
"clock1130": {
"a": "Clock Face Eleven-Thirty",
"b": "1F566",
"j": [
"time",
"late",
"early",
"schedule"
],
"k": [
28,
40
]
},
"shopping_trolley": {
"a": "Shopping Trolley",
"b": "1F6D2",
"k": [
37,
7
],
"o": 9
},
"flag-mr": {
"a": "Mauritania Flag",
"b": "1F1F2-1F1F7",
"k": [
3,
31
]
},
"princess": {
"skin_variations": {
"1F3FB": {
"unified": "1F478-1F3FB",
"non_qualified": null,
"image": "1f478-1f3fb.png",
"sheet_x": 22,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F478-1F3FC",
"non_qualified": null,
"image": "1f478-1f3fc.png",
"sheet_x": 22,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F478-1F3FD",
"non_qualified": null,
"image": "1f478-1f3fd.png",
"sheet_x": 22,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F478-1F3FE",
"non_qualified": null,
"image": "1f478-1f3fe.png",
"sheet_x": 22,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F478-1F3FF",
"non_qualified": null,
"image": "1f478-1f3ff.png",
"sheet_x": 22,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Princess",
"b": "1F478",
"j": [
"girl",
"woman",
"female",
"blond",
"crown",
"royal",
"queen"
],
"k": [
22,
34
]
},
"new_moon": {
"a": "New Moon Symbol",
"b": "1F311",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
9
]
},
"parking": {
"a": "Negative Squared Latin Capital Letter P",
"b": "1F17F-FE0F",
"c": "1F17F",
"j": [
"cars",
"blue-square",
"alphabet",
"letter"
],
"k": [
0,
19
],
"o": 5
},
"sos": {
"a": "Squared Sos",
"b": "1F198",
"j": [
"help",
"red-square",
"words",
"emergency",
"911"
],
"k": [
0,
28
]
},
"man_with_turban": {
"skin_variations": {
"1F3FB": {
"unified": "1F473-1F3FB",
"non_qualified": null,
"image": "1f473-1f3fb.png",
"sheet_x": 21,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F473-1F3FC",
"non_qualified": null,
"image": "1f473-1f3fc.png",
"sheet_x": 21,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F473-1F3FD",
"non_qualified": null,
"image": "1f473-1f3fd.png",
"sheet_x": 21,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F473-1F3FE",
"non_qualified": null,
"image": "1f473-1f3fe.png",
"sheet_x": 21,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F473-1F3FF",
"non_qualified": null,
"image": "1f473-1f3ff.png",
"sheet_x": 21,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F473-200D-2642-FE0F",
"a": "Man with Turban",
"b": "1F473",
"j": [
"male",
"indian",
"hinduism",
"arabs"
],
"k": [
21,
44
]
},
"flag-ms": {
"a": "Montserrat Flag",
"b": "1F1F2-1F1F8",
"k": [
3,
32
]
},
"waxing_crescent_moon": {
"a": "Waxing Crescent Moon Symbol",
"b": "1F312",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
10
]
},
"up": {
"a": "Squared Up with Exclamation Mark",
"b": "1F199",
"j": [
"blue-square",
"above",
"high"
],
"k": [
0,
29
]
},
"first_quarter_moon": {
"a": "First Quarter Moon Symbol",
"b": "1F313",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
11
]
},
"flag-mt": {
"a": "Malta Flag",
"b": "1F1F2-1F1F9",
"k": [
3,
33
]
},
"man-wearing-turban": {
"skin_variations": {
"1F3FB": {
"unified": "1F473-1F3FB-200D-2642-FE0F",
"non_qualified": "1F473-1F3FB-200D-2642",
"image": "1f473-1f3fb-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F473-1F3FC-200D-2642-FE0F",
"non_qualified": "1F473-1F3FC-200D-2642",
"image": "1f473-1f3fc-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F473-1F3FD-200D-2642-FE0F",
"non_qualified": "1F473-1F3FD-200D-2642",
"image": "1f473-1f3fd-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F473-1F3FE-200D-2642-FE0F",
"non_qualified": "1F473-1F3FE-200D-2642",
"image": "1f473-1f3fe-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F473-1F3FF-200D-2642-FE0F",
"non_qualified": "1F473-1F3FF-200D-2642",
"image": "1f473-1f3ff-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F473",
"a": "Man Wearing Turban",
"b": "1F473-200D-2642-FE0F",
"c": "1F473-200D-2642",
"k": [
21,
38
]
},
"moon": {
"a": "Waxing Gibbous Moon Symbol",
"b": "1F314",
"k": [
6,
12
],
"n": [
"waxing_gibbous_moon"
]
},
"woman-wearing-turban": {
"skin_variations": {
"1F3FB": {
"unified": "1F473-1F3FB-200D-2640-FE0F",
"non_qualified": "1F473-1F3FB-200D-2640",
"image": "1f473-1f3fb-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F473-1F3FC-200D-2640-FE0F",
"non_qualified": "1F473-1F3FC-200D-2640",
"image": "1f473-1f3fc-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F473-1F3FD-200D-2640-FE0F",
"non_qualified": "1F473-1F3FD-200D-2640",
"image": "1f473-1f3fd-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F473-1F3FE-200D-2640-FE0F",
"non_qualified": "1F473-1F3FE-200D-2640",
"image": "1f473-1f3fe-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F473-1F3FF-200D-2640-FE0F",
"non_qualified": "1F473-1F3FF-200D-2640",
"image": "1f473-1f3ff-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Wearing Turban",
"b": "1F473-200D-2640-FE0F",
"c": "1F473-200D-2640",
"k": [
21,
32
]
},
"vs": {
"a": "Squared Vs",
"b": "1F19A",
"j": [
"words",
"orange-square"
],
"k": [
0,
30
]
},
"flag-mu": {
"a": "Mauritius Flag",
"b": "1F1F2-1F1FA",
"k": [
3,
34
]
},
"man_with_gua_pi_mao": {
"skin_variations": {
"1F3FB": {
"unified": "1F472-1F3FB",
"non_qualified": null,
"image": "1f472-1f3fb.png",
"sheet_x": 21,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F472-1F3FC",
"non_qualified": null,
"image": "1f472-1f3fc.png",
"sheet_x": 21,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F472-1F3FD",
"non_qualified": null,
"image": "1f472-1f3fd.png",
"sheet_x": 21,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F472-1F3FE",
"non_qualified": null,
"image": "1f472-1f3fe.png",
"sheet_x": 21,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F472-1F3FF",
"non_qualified": null,
"image": "1f472-1f3ff.png",
"sheet_x": 21,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Man with Gua Pi Mao",
"b": "1F472",
"j": [
"male",
"boy",
"chinese"
],
"k": [
21,
26
]
},
"koko": {
"a": "Squared Katakana Koko",
"b": "1F201",
"j": [
"blue-square",
"here",
"katakana",
"japanese",
"destination"
],
"k": [
5,
29
]
},
"full_moon": {
"a": "Full Moon Symbol",
"b": "1F315",
"j": [
"nature",
"yellow",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
13
]
},
"flag-mv": {
"a": "Maldives Flag",
"b": "1F1F2-1F1FB",
"k": [
3,
35
]
},
"person_with_headscarf": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D5-1F3FB",
"non_qualified": null,
"image": "1f9d5-1f3fb.png",
"sheet_x": 43,
"sheet_y": 23,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D5-1F3FC",
"non_qualified": null,
"image": "1f9d5-1f3fc.png",
"sheet_x": 43,
"sheet_y": 24,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D5-1F3FD",
"non_qualified": null,
"image": "1f9d5-1f3fd.png",
"sheet_x": 43,
"sheet_y": 25,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D5-1F3FE",
"non_qualified": null,
"image": "1f9d5-1f3fe.png",
"sheet_x": 43,
"sheet_y": 26,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D5-1F3FF",
"non_qualified": null,
"image": "1f9d5-1f3ff.png",
"sheet_x": 43,
"sheet_y": 27,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Person with Headscarf",
"b": "1F9D5",
"k": [
43,
22
],
"o": 10
},
"waning_gibbous_moon": {
"a": "Waning Gibbous Moon Symbol",
"b": "1F316",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep",
"waxing_gibbous_moon"
],
"k": [
6,
14
]
},
"sa": {
"a": "Squared Katakana Sa",
"b": "1F202-FE0F",
"c": "1F202",
"j": [
"japanese",
"blue-square",
"katakana"
],
"k": [
5,
30
]
},
"flag-mw": {
"a": "Malawi Flag",
"b": "1F1F2-1F1FC",
"k": [
3,
36
]
},
"last_quarter_moon": {
"a": "Last Quarter Moon Symbol",
"b": "1F317",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
15
]
},
"u6708": {
"a": "Squared Cjk Unified Ideograph-6708",
"b": "1F237-FE0F",
"c": "1F237",
"j": [
"chinese",
"month",
"moon",
"japanese",
"orange-square",
"kanji"
],
"k": [
5,
38
]
},
"bearded_person": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D4-1F3FB",
"non_qualified": null,
"image": "1f9d4-1f3fb.png",
"sheet_x": 43,
"sheet_y": 17,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D4-1F3FC",
"non_qualified": null,
"image": "1f9d4-1f3fc.png",
"sheet_x": 43,
"sheet_y": 18,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D4-1F3FD",
"non_qualified": null,
"image": "1f9d4-1f3fd.png",
"sheet_x": 43,
"sheet_y": 19,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D4-1F3FE",
"non_qualified": null,
"image": "1f9d4-1f3fe.png",
"sheet_x": 43,
"sheet_y": 20,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D4-1F3FF",
"non_qualified": null,
"image": "1f9d4-1f3ff.png",
"sheet_x": 43,
"sheet_y": 21,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Bearded Person",
"b": "1F9D4",
"j": [
"person",
"bewhiskered"
],
"k": [
43,
16
],
"o": 10
},
"flag-mx": {
"a": "Mexico Flag",
"b": "1F1F2-1F1FD",
"k": [
3,
37
]
},
"u6709": {
"a": "Squared Cjk Unified Ideograph-6709",
"b": "1F236",
"j": [
"orange-square",
"chinese",
"have",
"kanji"
],
"k": [
5,
37
]
},
"person_with_blond_hair": {
"skin_variations": {
"1F3FB": {
"unified": "1F471-1F3FB",
"non_qualified": null,
"image": "1f471-1f3fb.png",
"sheet_x": 21,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F471-1F3FC",
"non_qualified": null,
"image": "1f471-1f3fc.png",
"sheet_x": 21,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F471-1F3FD",
"non_qualified": null,
"image": "1f471-1f3fd.png",
"sheet_x": 21,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F471-1F3FE",
"non_qualified": null,
"image": "1f471-1f3fe.png",
"sheet_x": 21,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F471-1F3FF",
"non_qualified": null,
"image": "1f471-1f3ff.png",
"sheet_x": 21,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F471-200D-2642-FE0F",
"a": "Person with Blond Hair",
"b": "1F471",
"k": [
21,
20
]
},
"waning_crescent_moon": {
"a": "Waning Crescent Moon Symbol",
"b": "1F318",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
16
]
},
"flag-my": {
"a": "Malaysia Flag",
"b": "1F1F2-1F1FE",
"k": [
3,
38
]
},
"u6307": {
"a": "Squared Cjk Unified Ideograph-6307",
"b": "1F22F",
"j": [
"chinese",
"point",
"green-square",
"kanji"
],
"k": [
5,
32
],
"o": 5
},
"blond-haired-man": {
"skin_variations": {
"1F3FB": {
"unified": "1F471-1F3FB-200D-2642-FE0F",
"non_qualified": "1F471-1F3FB-200D-2642",
"image": "1f471-1f3fb-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F471-1F3FC-200D-2642-FE0F",
"non_qualified": "1F471-1F3FC-200D-2642",
"image": "1f471-1f3fc-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F471-1F3FD-200D-2642-FE0F",
"non_qualified": "1F471-1F3FD-200D-2642",
"image": "1f471-1f3fd-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F471-1F3FE-200D-2642-FE0F",
"non_qualified": "1F471-1F3FE-200D-2642",
"image": "1f471-1f3fe-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F471-1F3FF-200D-2642-FE0F",
"non_qualified": "1F471-1F3FF-200D-2642",
"image": "1f471-1f3ff-200d-2642-fe0f.png",
"sheet_x": 21,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F471",
"a": "Blond Haired Man",
"b": "1F471-200D-2642-FE0F",
"c": "1F471-200D-2642",
"k": [
21,
14
]
},
"crescent_moon": {
"a": "Crescent Moon",
"b": "1F319",
"j": [
"night",
"sleep",
"sky",
"evening",
"magic"
],
"k": [
6,
17
]
},
"flag-mz": {
"a": "Mozambique Flag",
"b": "1F1F2-1F1FF",
"k": [
3,
39
]
},
"new_moon_with_face": {
"a": "New Moon with Face",
"b": "1F31A",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
18
]
},
"flag-na": {
"a": "Namibia Flag",
"b": "1F1F3-1F1E6",
"k": [
3,
40
]
},
"blond-haired-woman": {
"skin_variations": {
"1F3FB": {
"unified": "1F471-1F3FB-200D-2640-FE0F",
"non_qualified": "1F471-1F3FB-200D-2640",
"image": "1f471-1f3fb-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F471-1F3FC-200D-2640-FE0F",
"non_qualified": "1F471-1F3FC-200D-2640",
"image": "1f471-1f3fc-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F471-1F3FD-200D-2640-FE0F",
"non_qualified": "1F471-1F3FD-200D-2640",
"image": "1f471-1f3fd-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F471-1F3FE-200D-2640-FE0F",
"non_qualified": "1F471-1F3FE-200D-2640",
"image": "1f471-1f3fe-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F471-1F3FF-200D-2640-FE0F",
"non_qualified": "1F471-1F3FF-200D-2640",
"image": "1f471-1f3ff-200d-2640-fe0f.png",
"sheet_x": 21,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Blond Haired Woman",
"b": "1F471-200D-2640-FE0F",
"c": "1F471-200D-2640",
"k": [
21,
8
]
},
"ideograph_advantage": {
"a": "Circled Ideograph Advantage",
"b": "1F250",
"j": [
"chinese",
"kanji",
"obtain",
"get",
"circle"
],
"k": [
5,
42
]
},
"first_quarter_moon_with_face": {
"a": "First Quarter Moon with Face",
"b": "1F31B",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
19
]
},
"man_in_tuxedo": {
"skin_variations": {
"1F3FB": {
"unified": "1F935-1F3FB",
"non_qualified": null,
"image": "1f935-1f3fb.png",
"sheet_x": 39,
"sheet_y": 35,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F935-1F3FC",
"non_qualified": null,
"image": "1f935-1f3fc.png",
"sheet_x": 39,
"sheet_y": 36,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F935-1F3FD",
"non_qualified": null,
"image": "1f935-1f3fd.png",
"sheet_x": 39,
"sheet_y": 37,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F935-1F3FE",
"non_qualified": null,
"image": "1f935-1f3fe.png",
"sheet_x": 39,
"sheet_y": 38,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F935-1F3FF",
"non_qualified": null,
"image": "1f935-1f3ff.png",
"sheet_x": 39,
"sheet_y": 39,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Man in Tuxedo",
"b": "1F935",
"j": [
"couple",
"marriage",
"wedding",
"groom"
],
"k": [
39,
34
],
"o": 9
},
"flag-nc": {
"a": "New Caledonia Flag",
"b": "1F1F3-1F1E8",
"k": [
3,
41
]
},
"u5272": {
"a": "Squared Cjk Unified Ideograph-5272",
"b": "1F239",
"j": [
"cut",
"divide",
"chinese",
"kanji",
"pink-square"
],
"k": [
5,
40
]
},
"flag-ne": {
"a": "Niger Flag",
"b": "1F1F3-1F1EA",
"k": [
3,
42
]
},
"last_quarter_moon_with_face": {
"a": "Last Quarter Moon with Face",
"b": "1F31C",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
20
]
},
"u7121": {
"a": "Squared Cjk Unified Ideograph-7121",
"b": "1F21A",
"j": [
"nothing",
"chinese",
"kanji",
"japanese",
"orange-square"
],
"k": [
5,
31
],
"o": 5
},
"bride_with_veil": {
"skin_variations": {
"1F3FB": {
"unified": "1F470-1F3FB",
"non_qualified": null,
"image": "1f470-1f3fb.png",
"sheet_x": 21,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F470-1F3FC",
"non_qualified": null,
"image": "1f470-1f3fc.png",
"sheet_x": 21,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F470-1F3FD",
"non_qualified": null,
"image": "1f470-1f3fd.png",
"sheet_x": 21,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F470-1F3FE",
"non_qualified": null,
"image": "1f470-1f3fe.png",
"sheet_x": 21,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F470-1F3FF",
"non_qualified": null,
"image": "1f470-1f3ff.png",
"sheet_x": 21,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Bride with Veil",
"b": "1F470",
"j": [
"couple",
"marriage",
"wedding",
"woman",
"bride"
],
"k": [
21,
2
]
},
"u7981": {
"a": "Squared Cjk Unified Ideograph-7981",
"b": "1F232",
"j": [
"kanji",
"japanese",
"chinese",
"forbidden",
"limit",
"restricted",
"red-square"
],
"k": [
5,
33
]
},
"pregnant_woman": {
"skin_variations": {
"1F3FB": {
"unified": "1F930-1F3FB",
"non_qualified": null,
"image": "1f930-1f3fb.png",
"sheet_x": 39,
"sheet_y": 5,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F930-1F3FC",
"non_qualified": null,
"image": "1f930-1f3fc.png",
"sheet_x": 39,
"sheet_y": 6,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F930-1F3FD",
"non_qualified": null,
"image": "1f930-1f3fd.png",
"sheet_x": 39,
"sheet_y": 7,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F930-1F3FE",
"non_qualified": null,
"image": "1f930-1f3fe.png",
"sheet_x": 39,
"sheet_y": 8,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F930-1F3FF",
"non_qualified": null,
"image": "1f930-1f3ff.png",
"sheet_x": 39,
"sheet_y": 9,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Pregnant Woman",
"b": "1F930",
"j": [
"baby"
],
"k": [
39,
4
],
"o": 9
},
"thermometer": {
"a": "Thermometer",
"b": "1F321-FE0F",
"c": "1F321",
"j": [
"weather",
"temperature",
"hot",
"cold"
],
"k": [
6,
25
],
"o": 7
},
"flag-nf": {
"a": "Norfolk Island Flag",
"b": "1F1F3-1F1EB",
"k": [
3,
43
]
},
"sunny": {
"a": "Black Sun with Rays",
"b": "2600-FE0F",
"c": "2600",
"j": [
"weather",
"nature",
"brightness",
"summer",
"beach",
"spring"
],
"k": [
47,
16
],
"o": 1
},
"accept": {
"a": "Circled Ideograph Accept",
"b": "1F251",
"j": [
"ok",
"good",
"chinese",
"kanji",
"agree",
"yes",
"orange-circle"
],
"k": [
5,
43
]
},
"flag-ng": {
"a": "Nigeria Flag",
"b": "1F1F3-1F1EC",
"k": [
3,
44
]
},
"breast-feeding": {
"skin_variations": {
"1F3FB": {
"unified": "1F931-1F3FB",
"non_qualified": null,
"image": "1f931-1f3fb.png",
"sheet_x": 39,
"sheet_y": 11,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F931-1F3FC",
"non_qualified": null,
"image": "1f931-1f3fc.png",
"sheet_x": 39,
"sheet_y": 12,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F931-1F3FD",
"non_qualified": null,
"image": "1f931-1f3fd.png",
"sheet_x": 39,
"sheet_y": 13,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F931-1F3FE",
"non_qualified": null,
"image": "1f931-1f3fe.png",
"sheet_x": 39,
"sheet_y": 14,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F931-1F3FF",
"non_qualified": null,
"image": "1f931-1f3ff.png",
"sheet_x": 39,
"sheet_y": 15,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Breast-Feeding",
"b": "1F931",
"k": [
39,
10
],
"o": 10
},
"full_moon_with_face": {
"a": "Full Moon with Face",
"b": "1F31D",
"j": [
"nature",
"twilight",
"planet",
"space",
"night",
"evening",
"sleep"
],
"k": [
6,
21
]
},
"flag-ni": {
"a": "Nicaragua Flag",
"b": "1F1F3-1F1EE",
"k": [
3,
45
]
},
"u7533": {
"a": "Squared Cjk Unified Ideograph-7533",
"b": "1F238",
"j": [
"chinese",
"japanese",
"kanji",
"orange-square"
],
"k": [
5,
39
]
},
"angel": {
"skin_variations": {
"1F3FB": {
"unified": "1F47C-1F3FB",
"non_qualified": null,
"image": "1f47c-1f3fb.png",
"sheet_x": 22,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F47C-1F3FC",
"non_qualified": null,
"image": "1f47c-1f3fc.png",
"sheet_x": 22,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F47C-1F3FD",
"non_qualified": null,
"image": "1f47c-1f3fd.png",
"sheet_x": 22,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F47C-1F3FE",
"non_qualified": null,
"image": "1f47c-1f3fe.png",
"sheet_x": 22,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F47C-1F3FF",
"non_qualified": null,
"image": "1f47c-1f3ff.png",
"sheet_x": 22,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Baby Angel",
"b": "1F47C",
"j": [
"heaven",
"wings",
"halo"
],
"k": [
22,
43
]
},
"sun_with_face": {
"a": "Sun with Face",
"b": "1F31E",
"j": [
"nature",
"morning",
"sky"
],
"k": [
6,
22
]
},
"santa": {
"skin_variations": {
"1F3FB": {
"unified": "1F385-1F3FB",
"non_qualified": null,
"image": "1f385-1f3fb.png",
"sheet_x": 8,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F385-1F3FC",
"non_qualified": null,
"image": "1f385-1f3fc.png",
"sheet_x": 8,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F385-1F3FD",
"non_qualified": null,
"image": "1f385-1f3fd.png",
"sheet_x": 8,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F385-1F3FE",
"non_qualified": null,
"image": "1f385-1f3fe.png",
"sheet_x": 8,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F385-1F3FF",
"non_qualified": null,
"image": "1f385-1f3ff.png",
"sheet_x": 8,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Father Christmas",
"b": "1F385",
"j": [
"festival",
"man",
"male",
"xmas",
"father christmas"
],
"k": [
8,
19
]
},
"u5408": {
"a": "Squared Cjk Unified Ideograph-5408",
"b": "1F234",
"j": [
"japanese",
"chinese",
"join",
"kanji",
"red-square"
],
"k": [
5,
35
]
},
"flag-nl": {
"a": "Netherlands Flag",
"b": "1F1F3-1F1F1",
"k": [
3,
46
]
},
"mrs_claus": {
"skin_variations": {
"1F3FB": {
"unified": "1F936-1F3FB",
"non_qualified": null,
"image": "1f936-1f3fb.png",
"sheet_x": 39,
"sheet_y": 41,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F936-1F3FC",
"non_qualified": null,
"image": "1f936-1f3fc.png",
"sheet_x": 39,
"sheet_y": 42,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F936-1F3FD",
"non_qualified": null,
"image": "1f936-1f3fd.png",
"sheet_x": 39,
"sheet_y": 43,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F936-1F3FE",
"non_qualified": null,
"image": "1f936-1f3fe.png",
"sheet_x": 39,
"sheet_y": 44,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F936-1F3FF",
"non_qualified": null,
"image": "1f936-1f3ff.png",
"sheet_x": 39,
"sheet_y": 45,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Mother Christmas",
"b": "1F936",
"j": [
"woman",
"female",
"xmas",
"mother christmas"
],
"k": [
39,
40
],
"n": [
"mother_christmas"
],
"o": 9
},
"u7a7a": {
"a": "Squared Cjk Unified Ideograph-7a7a",
"b": "1F233",
"j": [
"kanji",
"japanese",
"chinese",
"empty",
"sky",
"blue-square"
],
"k": [
5,
34
]
},
"star": {
"a": "White Medium Star",
"b": "2B50",
"j": [
"night",
"yellow"
],
"k": [
50,
22
],
"o": 5
},
"flag-no": {
"a": "Norway Flag",
"b": "1F1F3-1F1F4",
"k": [
3,
47
]
},
"mage": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D9-1F3FB",
"non_qualified": null,
"image": "1f9d9-1f3fb.png",
"sheet_x": 44,
"sheet_y": 43,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D9-1F3FB-200D-2640-FE0F"
},
"1F3FC": {
"unified": "1F9D9-1F3FC",
"non_qualified": null,
"image": "1f9d9-1f3fc.png",
"sheet_x": 44,
"sheet_y": 44,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D9-1F3FC-200D-2640-FE0F"
},
"1F3FD": {
"unified": "1F9D9-1F3FD",
"non_qualified": null,
"image": "1f9d9-1f3fd.png",
"sheet_x": 44,
"sheet_y": 45,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D9-1F3FD-200D-2640-FE0F"
},
"1F3FE": {
"unified": "1F9D9-1F3FE",
"non_qualified": null,
"image": "1f9d9-1f3fe.png",
"sheet_x": 44,
"sheet_y": 46,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D9-1F3FE-200D-2640-FE0F"
},
"1F3FF": {
"unified": "1F9D9-1F3FF",
"non_qualified": null,
"image": "1f9d9-1f3ff.png",
"sheet_x": 44,
"sheet_y": 47,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D9-1F3FF-200D-2640-FE0F"
}
},
"obsoleted_by": "1F9D9-200D-2640-FE0F",
"a": "Mage",
"b": "1F9D9",
"k": [
44,
42
],
"o": 10
},
"star2": {
"a": "Glowing Star",
"b": "1F31F",
"j": [
"night",
"sparkle",
"awesome",
"good",
"magic"
],
"k": [
6,
23
]
},
"flag-np": {
"a": "Nepal Flag",
"b": "1F1F3-1F1F5",
"k": [
3,
48
]
},
"congratulations": {
"a": "Circled Ideograph Congratulation",
"b": "3297-FE0F",
"c": "3297",
"j": [
"chinese",
"kanji",
"japanese",
"red-circle"
],
"k": [
50,
26
],
"o": 1
},
"flag-nr": {
"a": "Nauru Flag",
"b": "1F1F3-1F1F7",
"k": [
3,
49
]
},
"stars": {
"a": "Shooting Star",
"b": "1F320",
"j": [
"night",
"photo"
],
"k": [
6,
24
]
},
"female_mage": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D9-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9D9-1F3FB-200D-2640",
"image": "1f9d9-1f3fb-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 31,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D9-1F3FB"
},
"1F3FC": {
"unified": "1F9D9-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9D9-1F3FC-200D-2640",
"image": "1f9d9-1f3fc-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 32,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D9-1F3FC"
},
"1F3FD": {
"unified": "1F9D9-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9D9-1F3FD-200D-2640",
"image": "1f9d9-1f3fd-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 33,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D9-1F3FD"
},
"1F3FE": {
"unified": "1F9D9-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9D9-1F3FE-200D-2640",
"image": "1f9d9-1f3fe-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 34,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D9-1F3FE"
},
"1F3FF": {
"unified": "1F9D9-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9D9-1F3FF-200D-2640",
"image": "1f9d9-1f3ff-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 35,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D9-1F3FF"
}
},
"obsoletes": "1F9D9",
"a": "Female Mage",
"b": "1F9D9-200D-2640-FE0F",
"c": "1F9D9-200D-2640",
"k": [
44,
30
],
"o": 10
},
"secret": {
"a": "Circled Ideograph Secret",
"b": "3299-FE0F",
"c": "3299",
"j": [
"privacy",
"chinese",
"sshh",
"kanji",
"red-circle"
],
"k": [
50,
27
],
"o": 1
},
"flag-nu": {
"a": "Niue Flag",
"b": "1F1F3-1F1FA",
"k": [
3,
50
]
},
"u55b6": {
"a": "Squared Cjk Unified Ideograph-55b6",
"b": "1F23A",
"j": [
"japanese",
"opening hours",
"orange-square"
],
"k": [
5,
41
]
},
"male_mage": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D9-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9D9-1F3FB-200D-2642",
"image": "1f9d9-1f3fb-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 37,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D9-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9D9-1F3FC-200D-2642",
"image": "1f9d9-1f3fc-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 38,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D9-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9D9-1F3FD-200D-2642",
"image": "1f9d9-1f3fd-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 39,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D9-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9D9-1F3FE-200D-2642",
"image": "1f9d9-1f3fe-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 40,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D9-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9D9-1F3FF-200D-2642",
"image": "1f9d9-1f3ff-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 41,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Mage",
"b": "1F9D9-200D-2642-FE0F",
"c": "1F9D9-200D-2642",
"k": [
44,
36
],
"o": 10
},
"cloud": {
"a": "Cloud",
"b": "2601-FE0F",
"c": "2601",
"j": [
"weather",
"sky"
],
"k": [
47,
17
],
"o": 1
},
"flag-nz": {
"a": "New Zealand Flag",
"b": "1F1F3-1F1FF",
"k": [
3,
51
]
},
"partly_sunny": {
"a": "Sun Behind Cloud",
"b": "26C5",
"j": [
"weather",
"nature",
"cloudy",
"morning",
"fall",
"spring"
],
"k": [
48,
29
],
"o": 5
},
"fairy": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DA-1F3FB",
"non_qualified": null,
"image": "1f9da-1f3fb.png",
"sheet_x": 45,
"sheet_y": 9,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DA-1F3FB-200D-2640-FE0F"
},
"1F3FC": {
"unified": "1F9DA-1F3FC",
"non_qualified": null,
"image": "1f9da-1f3fc.png",
"sheet_x": 45,
"sheet_y": 10,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DA-1F3FC-200D-2640-FE0F"
},
"1F3FD": {
"unified": "1F9DA-1F3FD",
"non_qualified": null,
"image": "1f9da-1f3fd.png",
"sheet_x": 45,
"sheet_y": 11,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DA-1F3FD-200D-2640-FE0F"
},
"1F3FE": {
"unified": "1F9DA-1F3FE",
"non_qualified": null,
"image": "1f9da-1f3fe.png",
"sheet_x": 45,
"sheet_y": 12,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DA-1F3FE-200D-2640-FE0F"
},
"1F3FF": {
"unified": "1F9DA-1F3FF",
"non_qualified": null,
"image": "1f9da-1f3ff.png",
"sheet_x": 45,
"sheet_y": 13,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DA-1F3FF-200D-2640-FE0F"
}
},
"obsoleted_by": "1F9DA-200D-2640-FE0F",
"a": "Fairy",
"b": "1F9DA",
"k": [
45,
8
],
"o": 10
},
"u6e80": {
"a": "Squared Cjk Unified Ideograph-6e80",
"b": "1F235",
"j": [
"full",
"chinese",
"japanese",
"red-square",
"kanji"
],
"k": [
5,
36
]
},
"black_small_square": {
"a": "Black Small Square",
"b": "25AA-FE0F",
"c": "25AA",
"j": [
"shape",
"icon"
],
"k": [
47,
8
],
"o": 1
},
"thunder_cloud_and_rain": {
"a": "Thunder Cloud and Rain",
"b": "26C8-FE0F",
"c": "26C8",
"k": [
48,
30
],
"o": 5
},
"female_fairy": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DA-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9DA-1F3FB-200D-2640",
"image": "1f9da-1f3fb-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 49,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DA-1F3FB"
},
"1F3FC": {
"unified": "1F9DA-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9DA-1F3FC-200D-2640",
"image": "1f9da-1f3fc-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 50,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DA-1F3FC"
},
"1F3FD": {
"unified": "1F9DA-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9DA-1F3FD-200D-2640",
"image": "1f9da-1f3fd-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 51,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DA-1F3FD"
},
"1F3FE": {
"unified": "1F9DA-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9DA-1F3FE-200D-2640",
"image": "1f9da-1f3fe-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 0,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DA-1F3FE"
},
"1F3FF": {
"unified": "1F9DA-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9DA-1F3FF-200D-2640",
"image": "1f9da-1f3ff-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 1,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DA-1F3FF"
}
},
"obsoletes": "1F9DA",
"a": "Female Fairy",
"b": "1F9DA-200D-2640-FE0F",
"c": "1F9DA-200D-2640",
"k": [
44,
48
],
"o": 10
},
"flag-om": {
"a": "Oman Flag",
"b": "1F1F4-1F1F2",
"k": [
4,
0
]
},
"white_small_square": {
"a": "White Small Square",
"b": "25AB-FE0F",
"c": "25AB",
"j": [
"shape",
"icon"
],
"k": [
47,
9
],
"o": 1
},
"flag-pa": {
"a": "Panama Flag",
"b": "1F1F5-1F1E6",
"k": [
4,
1
]
},
"mostly_sunny": {
"a": "Mostly Sunny",
"b": "1F324-FE0F",
"c": "1F324",
"k": [
6,
26
],
"n": [
"sun_small_cloud"
],
"o": 7
},
"male_fairy": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DA-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9DA-1F3FB-200D-2642",
"image": "1f9da-1f3fb-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 3,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9DA-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9DA-1F3FC-200D-2642",
"image": "1f9da-1f3fc-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 4,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9DA-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9DA-1F3FD-200D-2642",
"image": "1f9da-1f3fd-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 5,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9DA-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9DA-1F3FE-200D-2642",
"image": "1f9da-1f3fe-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 6,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9DA-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9DA-1F3FF-200D-2642",
"image": "1f9da-1f3ff-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 7,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Fairy",
"b": "1F9DA-200D-2642-FE0F",
"c": "1F9DA-200D-2642",
"k": [
45,
2
],
"o": 10
},
"barely_sunny": {
"a": "Barely Sunny",
"b": "1F325-FE0F",
"c": "1F325",
"k": [
6,
27
],
"n": [
"sun_behind_cloud"
],
"o": 7
},
"white_medium_square": {
"a": "White Medium Square",
"b": "25FB-FE0F",
"c": "25FB",
"j": [
"shape",
"stone",
"icon"
],
"k": [
47,
12
],
"o": 3
},
"flag-pe": {
"a": "Peru Flag",
"b": "1F1F5-1F1EA",
"k": [
4,
2
]
},
"vampire": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DB-1F3FB",
"non_qualified": null,
"image": "1f9db-1f3fb.png",
"sheet_x": 45,
"sheet_y": 27,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DB-1F3FB-200D-2640-FE0F"
},
"1F3FC": {
"unified": "1F9DB-1F3FC",
"non_qualified": null,
"image": "1f9db-1f3fc.png",
"sheet_x": 45,
"sheet_y": 28,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DB-1F3FC-200D-2640-FE0F"
},
"1F3FD": {
"unified": "1F9DB-1F3FD",
"non_qualified": null,
"image": "1f9db-1f3fd.png",
"sheet_x": 45,
"sheet_y": 29,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DB-1F3FD-200D-2640-FE0F"
},
"1F3FE": {
"unified": "1F9DB-1F3FE",
"non_qualified": null,
"image": "1f9db-1f3fe.png",
"sheet_x": 45,
"sheet_y": 30,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DB-1F3FE-200D-2640-FE0F"
},
"1F3FF": {
"unified": "1F9DB-1F3FF",
"non_qualified": null,
"image": "1f9db-1f3ff.png",
"sheet_x": 45,
"sheet_y": 31,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoleted_by": "1F9DB-1F3FF-200D-2640-FE0F"
}
},
"obsoleted_by": "1F9DB-200D-2640-FE0F",
"a": "Vampire",
"b": "1F9DB",
"k": [
45,
26
],
"o": 10
},
"female_vampire": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DB-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9DB-1F3FB-200D-2640",
"image": "1f9db-1f3fb-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 15,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DB-1F3FB"
},
"1F3FC": {
"unified": "1F9DB-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9DB-1F3FC-200D-2640",
"image": "1f9db-1f3fc-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 16,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DB-1F3FC"
},
"1F3FD": {
"unified": "1F9DB-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9DB-1F3FD-200D-2640",
"image": "1f9db-1f3fd-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 17,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DB-1F3FD"
},
"1F3FE": {
"unified": "1F9DB-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9DB-1F3FE-200D-2640",
"image": "1f9db-1f3fe-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 18,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DB-1F3FE"
},
"1F3FF": {
"unified": "1F9DB-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9DB-1F3FF-200D-2640",
"image": "1f9db-1f3ff-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 19,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DB-1F3FF"
}
},
"obsoletes": "1F9DB",
"a": "Female Vampire",
"b": "1F9DB-200D-2640-FE0F",
"c": "1F9DB-200D-2640",
"k": [
45,
14
],
"o": 10
},
"partly_sunny_rain": {
"a": "Partly Sunny Rain",
"b": "1F326-FE0F",
"c": "1F326",
"k": [
6,
28
],
"n": [
"sun_behind_rain_cloud"
],
"o": 7
},
"flag-pf": {
"a": "French Polynesia Flag",
"b": "1F1F5-1F1EB",
"k": [
4,
3
]
},
"black_medium_square": {
"a": "Black Medium Square",
"b": "25FC-FE0F",
"c": "25FC",
"j": [
"shape",
"button",
"icon"
],
"k": [
47,
13
],
"o": 3
},
"white_medium_small_square": {
"a": "White Medium Small Square",
"b": "25FD",
"j": [
"shape",
"stone",
"icon",
"button"
],
"k": [
47,
14
],
"o": 3
},
"rain_cloud": {
"a": "Rain Cloud",
"b": "1F327-FE0F",
"c": "1F327",
"k": [
6,
29
],
"o": 7
},
"flag-pg": {
"a": "Papua New Guinea Flag",
"b": "1F1F5-1F1EC",
"k": [
4,
4
]
},
"male_vampire": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DB-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9DB-1F3FB-200D-2642",
"image": "1f9db-1f3fb-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 21,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9DB-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9DB-1F3FC-200D-2642",
"image": "1f9db-1f3fc-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 22,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9DB-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9DB-1F3FD-200D-2642",
"image": "1f9db-1f3fd-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 23,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9DB-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9DB-1F3FE-200D-2642",
"image": "1f9db-1f3fe-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 24,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9DB-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9DB-1F3FF-200D-2642",
"image": "1f9db-1f3ff-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 25,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Male Vampire",
"b": "1F9DB-200D-2642-FE0F",
"c": "1F9DB-200D-2642",
"k": [
45,
20
],
"o": 10
},
"flag-ph": {
"a": "Philippines Flag",
"b": "1F1F5-1F1ED",
"k": [
4,
5
]
},
"merperson": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DC-1F3FB",
"non_qualified": null,
"image": "1f9dc-1f3fb.png",
"sheet_x": 45,
"sheet_y": 45,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DC-1F3FB-200D-2642-FE0F"
},
"1F3FC": {
"unified": "1F9DC-1F3FC",
"non_qualified": null,
"image": "1f9dc-1f3fc.png",
"sheet_x": 45,
"sheet_y": 46,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DC-1F3FC-200D-2642-FE0F"
},
"1F3FD": {
"unified": "1F9DC-1F3FD",
"non_qualified": null,
"image": "1f9dc-1f3fd.png",
"sheet_x": 45,
"sheet_y": 47,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DC-1F3FD-200D-2642-FE0F"
},
"1F3FE": {
"unified": "1F9DC-1F3FE",
"non_qualified": null,
"image": "1f9dc-1f3fe.png",
"sheet_x": 45,
"sheet_y": 48,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DC-1F3FE-200D-2642-FE0F"
},
"1F3FF": {
"unified": "1F9DC-1F3FF",
"non_qualified": null,
"image": "1f9dc-1f3ff.png",
"sheet_x": 45,
"sheet_y": 49,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DC-1F3FF-200D-2642-FE0F"
}
},
"obsoleted_by": "1F9DC-200D-2642-FE0F",
"a": "Merperson",
"b": "1F9DC",
"k": [
45,
44
],
"o": 10
},
"black_medium_small_square": {
"a": "Black Medium Small Square",
"b": "25FE",
"j": [
"icon",
"shape",
"button"
],
"k": [
47,
15
],
"o": 3
},
"snow_cloud": {
"a": "Snow Cloud",
"b": "1F328-FE0F",
"c": "1F328",
"k": [
6,
30
],
"o": 7
},
"lightning": {
"a": "Lightning",
"b": "1F329-FE0F",
"c": "1F329",
"k": [
6,
31
],
"n": [
"lightning_cloud"
],
"o": 7
},
"black_large_square": {
"a": "Black Large Square",
"b": "2B1B",
"j": [
"shape",
"icon",
"button"
],
"k": [
50,
20
],
"o": 5
},
"mermaid": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DC-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9DC-1F3FB-200D-2640",
"image": "1f9dc-1f3fb-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 33,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9DC-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9DC-1F3FC-200D-2640",
"image": "1f9dc-1f3fc-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 34,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9DC-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9DC-1F3FD-200D-2640",
"image": "1f9dc-1f3fd-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 35,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9DC-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9DC-1F3FE-200D-2640",
"image": "1f9dc-1f3fe-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 36,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9DC-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9DC-1F3FF-200D-2640",
"image": "1f9dc-1f3ff-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 37,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Mermaid",
"b": "1F9DC-200D-2640-FE0F",
"c": "1F9DC-200D-2640",
"j": [
"woman",
"female",
"merwoman",
"ariel"
],
"k": [
45,
32
],
"o": 10
},
"flag-pk": {
"a": "Pakistan Flag",
"b": "1F1F5-1F1F0",
"k": [
4,
6
]
},
"merman": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DC-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9DC-1F3FB-200D-2642",
"image": "1f9dc-1f3fb-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 39,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DC-1F3FB"
},
"1F3FC": {
"unified": "1F9DC-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9DC-1F3FC-200D-2642",
"image": "1f9dc-1f3fc-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 40,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DC-1F3FC"
},
"1F3FD": {
"unified": "1F9DC-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9DC-1F3FD-200D-2642",
"image": "1f9dc-1f3fd-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 41,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DC-1F3FD"
},
"1F3FE": {
"unified": "1F9DC-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9DC-1F3FE-200D-2642",
"image": "1f9dc-1f3fe-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 42,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DC-1F3FE"
},
"1F3FF": {
"unified": "1F9DC-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9DC-1F3FF-200D-2642",
"image": "1f9dc-1f3ff-200d-2642-fe0f.png",
"sheet_x": 45,
"sheet_y": 43,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DC-1F3FF"
}
},
"obsoletes": "1F9DC",
"a": "Merman",
"b": "1F9DC-200D-2642-FE0F",
"c": "1F9DC-200D-2642",
"j": [
"man",
"male",
"triton"
],
"k": [
45,
38
],
"o": 10
},
"white_large_square": {
"a": "White Large Square",
"b": "2B1C",
"j": [
"shape",
"icon",
"stone",
"button"
],
"k": [
50,
21
],
"o": 5
},
"tornado": {
"a": "Tornado",
"b": "1F32A-FE0F",
"c": "1F32A",
"j": [
"weather",
"cyclone",
"twister"
],
"k": [
6,
32
],
"n": [
"tornado_cloud"
],
"o": 7
},
"flag-pl": {
"a": "Poland Flag",
"b": "1F1F5-1F1F1",
"k": [
4,
7
]
},
"elf": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DD-1F3FB",
"non_qualified": null,
"image": "1f9dd-1f3fb.png",
"sheet_x": 46,
"sheet_y": 11,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DD-1F3FB-200D-2642-FE0F"
},
"1F3FC": {
"unified": "1F9DD-1F3FC",
"non_qualified": null,
"image": "1f9dd-1f3fc.png",
"sheet_x": 46,
"sheet_y": 12,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DD-1F3FC-200D-2642-FE0F"
},
"1F3FD": {
"unified": "1F9DD-1F3FD",
"non_qualified": null,
"image": "1f9dd-1f3fd.png",
"sheet_x": 46,
"sheet_y": 13,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DD-1F3FD-200D-2642-FE0F"
},
"1F3FE": {
"unified": "1F9DD-1F3FE",
"non_qualified": null,
"image": "1f9dd-1f3fe.png",
"sheet_x": 46,
"sheet_y": 14,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DD-1F3FE-200D-2642-FE0F"
},
"1F3FF": {
"unified": "1F9DD-1F3FF",
"non_qualified": null,
"image": "1f9dd-1f3ff.png",
"sheet_x": 46,
"sheet_y": 15,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9DD-1F3FF-200D-2642-FE0F"
}
},
"obsoleted_by": "1F9DD-200D-2642-FE0F",
"a": "Elf",
"b": "1F9DD",
"k": [
46,
10
],
"o": 10
},
"fog": {
"a": "Fog",
"b": "1F32B-FE0F",
"c": "1F32B",
"j": [
"weather"
],
"k": [
6,
33
],
"o": 7
},
"large_orange_diamond": {
"a": "Large Orange Diamond",
"b": "1F536",
"j": [
"shape",
"jewel",
"gem"
],
"k": [
28,
4
]
},
"flag-pm": {
"a": "St. Pierre & Miquelon Flag",
"b": "1F1F5-1F1F2",
"k": [
4,
8
]
},
"flag-pn": {
"a": "Pitcairn Islands Flag",
"b": "1F1F5-1F1F3",
"k": [
4,
9
]
},
"wind_blowing_face": {
"a": "Wind Blowing Face",
"b": "1F32C-FE0F",
"c": "1F32C",
"k": [
6,
34
],
"o": 7
},
"female_elf": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DD-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9DD-1F3FB-200D-2640",
"image": "1f9dd-1f3fb-200d-2640-fe0f.png",
"sheet_x": 45,
"sheet_y": 51,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9DD-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9DD-1F3FC-200D-2640",
"image": "1f9dd-1f3fc-200d-2640-fe0f.png",
"sheet_x": 46,
"sheet_y": 0,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9DD-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9DD-1F3FD-200D-2640",
"image": "1f9dd-1f3fd-200d-2640-fe0f.png",
"sheet_x": 46,
"sheet_y": 1,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9DD-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9DD-1F3FE-200D-2640",
"image": "1f9dd-1f3fe-200d-2640-fe0f.png",
"sheet_x": 46,
"sheet_y": 2,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9DD-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9DD-1F3FF-200D-2640",
"image": "1f9dd-1f3ff-200d-2640-fe0f.png",
"sheet_x": 46,
"sheet_y": 3,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Female Elf",
"b": "1F9DD-200D-2640-FE0F",
"c": "1F9DD-200D-2640",
"k": [
45,
50
],
"o": 10
},
"large_blue_diamond": {
"a": "Large Blue Diamond",
"b": "1F537",
"j": [
"shape",
"jewel",
"gem"
],
"k": [
28,
5
]
},
"male_elf": {
"skin_variations": {
"1F3FB": {
"unified": "1F9DD-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9DD-1F3FB-200D-2642",
"image": "1f9dd-1f3fb-200d-2642-fe0f.png",
"sheet_x": 46,
"sheet_y": 5,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DD-1F3FB"
},
"1F3FC": {
"unified": "1F9DD-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9DD-1F3FC-200D-2642",
"image": "1f9dd-1f3fc-200d-2642-fe0f.png",
"sheet_x": 46,
"sheet_y": 6,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DD-1F3FC"
},
"1F3FD": {
"unified": "1F9DD-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9DD-1F3FD-200D-2642",
"image": "1f9dd-1f3fd-200d-2642-fe0f.png",
"sheet_x": 46,
"sheet_y": 7,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DD-1F3FD"
},
"1F3FE": {
"unified": "1F9DD-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9DD-1F3FE-200D-2642",
"image": "1f9dd-1f3fe-200d-2642-fe0f.png",
"sheet_x": 46,
"sheet_y": 8,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DD-1F3FE"
},
"1F3FF": {
"unified": "1F9DD-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9DD-1F3FF-200D-2642",
"image": "1f9dd-1f3ff-200d-2642-fe0f.png",
"sheet_x": 46,
"sheet_y": 9,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9DD-1F3FF"
}
},
"obsoletes": "1F9DD",
"a": "Male Elf",
"b": "1F9DD-200D-2642-FE0F",
"c": "1F9DD-200D-2642",
"k": [
46,
4
],
"o": 10
},
"small_orange_diamond": {
"a": "Small Orange Diamond",
"b": "1F538",
"j": [
"shape",
"jewel",
"gem"
],
"k": [
28,
6
]
},
"flag-pr": {
"a": "Puerto Rico Flag",
"b": "1F1F5-1F1F7",
"k": [
4,
10
]
},
"cyclone": {
"a": "Cyclone",
"b": "1F300",
"j": [
"weather",
"swirl",
"blue",
"cloud",
"vortex",
"spiral",
"whirlpool",
"spin",
"tornado",
"hurricane",
"typhoon"
],
"k": [
5,
44
]
},
"rainbow": {
"a": "Rainbow",
"b": "1F308",
"j": [
"nature",
"happy",
"unicorn_face",
"photo",
"sky",
"spring"
],
"k": [
6,
0
]
},
"small_blue_diamond": {
"a": "Small Blue Diamond",
"b": "1F539",
"j": [
"shape",
"jewel",
"gem"
],
"k": [
28,
7
]
},
"genie": {
"obsoleted_by": "1F9DE-200D-2642-FE0F",
"a": "Genie",
"b": "1F9DE",
"k": [
46,
18
],
"o": 10
},
"flag-ps": {
"a": "Palestinian Territories Flag",
"b": "1F1F5-1F1F8",
"k": [
4,
11
]
},
"small_red_triangle": {
"a": "Up-Pointing Red Triangle",
"b": "1F53A",
"j": [
"shape",
"direction",
"up",
"top"
],
"k": [
28,
8
]
},
"closed_umbrella": {
"a": "Closed Umbrella",
"b": "1F302",
"j": [
"weather",
"rain",
"drizzle"
],
"k": [
5,
46
]
},
"female_genie": {
"a": "Female Genie",
"b": "1F9DE-200D-2640-FE0F",
"c": "1F9DE-200D-2640",
"k": [
46,
16
],
"o": 10
},
"flag-pt": {
"a": "Portugal Flag",
"b": "1F1F5-1F1F9",
"k": [
4,
12
]
},
"flag-pw": {
"a": "Palau Flag",
"b": "1F1F5-1F1FC",
"k": [
4,
13
]
},
"small_red_triangle_down": {
"a": "Down-Pointing Red Triangle",
"b": "1F53B",
"j": [
"shape",
"direction",
"bottom"
],
"k": [
28,
9
]
},
"umbrella": {
"a": "Umbrella",
"b": "2602-FE0F",
"c": "2602",
"j": [
"rainy",
"weather",
"spring"
],
"k": [
47,
18
],
"o": 1
},
"male_genie": {
"obsoletes": "1F9DE",
"a": "Male Genie",
"b": "1F9DE-200D-2642-FE0F",
"c": "1F9DE-200D-2642",
"k": [
46,
17
],
"o": 10
},
"zombie": {
"obsoleted_by": "1F9DF-200D-2642-FE0F",
"a": "Zombie",
"b": "1F9DF",
"k": [
46,
21
],
"o": 10
},
"flag-py": {
"a": "Paraguay Flag",
"b": "1F1F5-1F1FE",
"k": [
4,
14
]
},
"diamond_shape_with_a_dot_inside": {
"a": "Diamond Shape with a Dot Inside",
"b": "1F4A0",
"j": [
"jewel",
"blue",
"gem",
"crystal",
"fancy"
],
"k": [
25,
6
]
},
"umbrella_with_rain_drops": {
"a": "Umbrella with Rain Drops",
"b": "2614",
"k": [
47,
23
],
"o": 4
},
"radio_button": {
"a": "Radio Button",
"b": "1F518",
"j": [
"input",
"old",
"music",
"circle"
],
"k": [
27,
26
]
},
"female_zombie": {
"a": "Female Zombie",
"b": "1F9DF-200D-2640-FE0F",
"c": "1F9DF-200D-2640",
"k": [
46,
19
],
"o": 10
},
"flag-qa": {
"a": "Qatar Flag",
"b": "1F1F6-1F1E6",
"k": [
4,
15
]
},
"umbrella_on_ground": {
"a": "Umbrella on Ground",
"b": "26F1-FE0F",
"c": "26F1",
"k": [
48,
39
],
"o": 5
},
"black_square_button": {
"a": "Black Square Button",
"b": "1F532",
"j": [
"shape",
"input",
"frame"
],
"k": [
28,
0
]
},
"zap": {
"a": "High Voltage Sign",
"b": "26A1",
"j": [
"thunder",
"weather",
"lightning bolt",
"fast"
],
"k": [
48,
21
],
"o": 4
},
"male_zombie": {
"obsoletes": "1F9DF",
"a": "Male Zombie",
"b": "1F9DF-200D-2642-FE0F",
"c": "1F9DF-200D-2642",
"k": [
46,
20
],
"o": 10
},
"flag-re": {
"a": "Réunion Flag",
"b": "1F1F7-1F1EA",
"k": [
4,
16
]
},
"flag-ro": {
"a": "Romania Flag",
"b": "1F1F7-1F1F4",
"k": [
4,
17
]
},
"snowflake": {
"a": "Snowflake",
"b": "2744-FE0F",
"c": "2744",
"j": [
"winter",
"season",
"cold",
"weather",
"christmas",
"xmas"
],
"k": [
49,
51
],
"o": 1
},
"white_square_button": {
"a": "White Square Button",
"b": "1F533",
"j": [
"shape",
"input"
],
"k": [
28,
1
]
},
"person_frowning": {
"skin_variations": {
"1F3FB": {
"unified": "1F64D-1F3FB",
"non_qualified": null,
"image": "1f64d-1f3fb.png",
"sheet_x": 33,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F64D-1F3FC",
"non_qualified": null,
"image": "1f64d-1f3fc.png",
"sheet_x": 33,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F64D-1F3FD",
"non_qualified": null,
"image": "1f64d-1f3fd.png",
"sheet_x": 33,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F64D-1F3FE",
"non_qualified": null,
"image": "1f64d-1f3fe.png",
"sheet_x": 33,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F64D-1F3FF",
"non_qualified": null,
"image": "1f64d-1f3ff.png",
"sheet_x": 33,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F64D-200D-2640-FE0F",
"a": "Person Frowning",
"b": "1F64D",
"k": [
33,
30
]
},
"flag-rs": {
"a": "Serbia Flag",
"b": "1F1F7-1F1F8",
"k": [
4,
18
]
},
"man-frowning": {
"skin_variations": {
"1F3FB": {
"unified": "1F64D-1F3FB-200D-2642-FE0F",
"non_qualified": "1F64D-1F3FB-200D-2642",
"image": "1f64d-1f3fb-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64D-1F3FC-200D-2642-FE0F",
"non_qualified": "1F64D-1F3FC-200D-2642",
"image": "1f64d-1f3fc-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64D-1F3FD-200D-2642-FE0F",
"non_qualified": "1F64D-1F3FD-200D-2642",
"image": "1f64d-1f3fd-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64D-1F3FE-200D-2642-FE0F",
"non_qualified": "1F64D-1F3FE-200D-2642",
"image": "1f64d-1f3fe-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64D-1F3FF-200D-2642-FE0F",
"non_qualified": "1F64D-1F3FF-200D-2642",
"image": "1f64d-1f3ff-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Frowning",
"b": "1F64D-200D-2642-FE0F",
"c": "1F64D-200D-2642",
"k": [
33,
24
]
},
"white_circle": {
"a": "Medium White Circle",
"b": "26AA",
"j": [
"shape",
"round"
],
"k": [
48,
22
],
"o": 4
},
"snowman": {
"a": "Snowman",
"b": "2603-FE0F",
"c": "2603",
"j": [
"winter",
"season",
"cold",
"weather",
"christmas",
"xmas",
"frozen",
"without_snow"
],
"k": [
47,
19
],
"o": 1
},
"snowman_without_snow": {
"a": "Snowman Without Snow",
"b": "26C4",
"k": [
48,
28
],
"o": 5
},
"ru": {
"a": "Russia Flag",
"b": "1F1F7-1F1FA",
"j": [
"russian",
"federation",
"flag",
"nation",
"country",
"banner"
],
"k": [
4,
19
],
"n": [
"flag-ru"
]
},
"black_circle": {
"a": "Medium Black Circle",
"b": "26AB",
"j": [
"shape",
"button",
"round"
],
"k": [
48,
23
],
"o": 4
},
"woman-frowning": {
"skin_variations": {
"1F3FB": {
"unified": "1F64D-1F3FB-200D-2640-FE0F",
"non_qualified": "1F64D-1F3FB-200D-2640",
"image": "1f64d-1f3fb-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64D-1F3FC-200D-2640-FE0F",
"non_qualified": "1F64D-1F3FC-200D-2640",
"image": "1f64d-1f3fc-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64D-1F3FD-200D-2640-FE0F",
"non_qualified": "1F64D-1F3FD-200D-2640",
"image": "1f64d-1f3fd-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64D-1F3FE-200D-2640-FE0F",
"non_qualified": "1F64D-1F3FE-200D-2640",
"image": "1f64d-1f3fe-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64D-1F3FF-200D-2640-FE0F",
"non_qualified": "1F64D-1F3FF-200D-2640",
"image": "1f64d-1f3ff-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F64D",
"a": "Woman Frowning",
"b": "1F64D-200D-2640-FE0F",
"c": "1F64D-200D-2640",
"k": [
33,
18
]
},
"flag-rw": {
"a": "Rwanda Flag",
"b": "1F1F7-1F1FC",
"k": [
4,
20
]
},
"comet": {
"a": "Comet",
"b": "2604-FE0F",
"c": "2604",
"j": [
"space"
],
"k": [
47,
20
],
"o": 1
},
"person_with_pouting_face": {
"skin_variations": {
"1F3FB": {
"unified": "1F64E-1F3FB",
"non_qualified": null,
"image": "1f64e-1f3fb.png",
"sheet_x": 33,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F64E-1F3FC",
"non_qualified": null,
"image": "1f64e-1f3fc.png",
"sheet_x": 33,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F64E-1F3FD",
"non_qualified": null,
"image": "1f64e-1f3fd.png",
"sheet_x": 33,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F64E-1F3FE",
"non_qualified": null,
"image": "1f64e-1f3fe.png",
"sheet_x": 34,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F64E-1F3FF",
"non_qualified": null,
"image": "1f64e-1f3ff.png",
"sheet_x": 34,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F64E-200D-2640-FE0F",
"a": "Person with Pouting Face",
"b": "1F64E",
"k": [
33,
48
]
},
"red_circle": {
"a": "Large Red Circle",
"b": "1F534",
"j": [
"shape",
"error",
"danger"
],
"k": [
28,
2
]
},
"large_blue_circle": {
"a": "Large Blue Circle",
"b": "1F535",
"j": [
"shape",
"icon",
"button"
],
"k": [
28,
3
]
},
"man-pouting": {
"skin_variations": {
"1F3FB": {
"unified": "1F64E-1F3FB-200D-2642-FE0F",
"non_qualified": "1F64E-1F3FB-200D-2642",
"image": "1f64e-1f3fb-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64E-1F3FC-200D-2642-FE0F",
"non_qualified": "1F64E-1F3FC-200D-2642",
"image": "1f64e-1f3fc-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64E-1F3FD-200D-2642-FE0F",
"non_qualified": "1F64E-1F3FD-200D-2642",
"image": "1f64e-1f3fd-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64E-1F3FE-200D-2642-FE0F",
"non_qualified": "1F64E-1F3FE-200D-2642",
"image": "1f64e-1f3fe-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64E-1F3FF-200D-2642-FE0F",
"non_qualified": "1F64E-1F3FF-200D-2642",
"image": "1f64e-1f3ff-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Pouting",
"b": "1F64E-200D-2642-FE0F",
"c": "1F64E-200D-2642",
"k": [
33,
42
]
},
"flag-sa": {
"a": "Saudi Arabia Flag",
"b": "1F1F8-1F1E6",
"k": [
4,
21
]
},
"fire": {
"a": "Fire",
"b": "1F525",
"j": [
"hot",
"cook",
"flame"
],
"k": [
27,
39
]
},
"woman-pouting": {
"skin_variations": {
"1F3FB": {
"unified": "1F64E-1F3FB-200D-2640-FE0F",
"non_qualified": "1F64E-1F3FB-200D-2640",
"image": "1f64e-1f3fb-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64E-1F3FC-200D-2640-FE0F",
"non_qualified": "1F64E-1F3FC-200D-2640",
"image": "1f64e-1f3fc-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64E-1F3FD-200D-2640-FE0F",
"non_qualified": "1F64E-1F3FD-200D-2640",
"image": "1f64e-1f3fd-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64E-1F3FE-200D-2640-FE0F",
"non_qualified": "1F64E-1F3FE-200D-2640",
"image": "1f64e-1f3fe-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64E-1F3FF-200D-2640-FE0F",
"non_qualified": "1F64E-1F3FF-200D-2640",
"image": "1f64e-1f3ff-200d-2640-fe0f.png",
"sheet_x": 33,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F64E",
"a": "Woman Pouting",
"b": "1F64E-200D-2640-FE0F",
"c": "1F64E-200D-2640",
"k": [
33,
36
]
},
"flag-sb": {
"a": "Solomon Islands Flag",
"b": "1F1F8-1F1E7",
"k": [
4,
22
]
},
"droplet": {
"a": "Droplet",
"b": "1F4A7",
"j": [
"water",
"drip",
"faucet",
"spring"
],
"k": [
25,
13
]
},
"no_good": {
"skin_variations": {
"1F3FB": {
"unified": "1F645-1F3FB",
"non_qualified": null,
"image": "1f645-1f3fb.png",
"sheet_x": 32,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F645-1F3FC",
"non_qualified": null,
"image": "1f645-1f3fc.png",
"sheet_x": 32,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F645-1F3FD",
"non_qualified": null,
"image": "1f645-1f3fd.png",
"sheet_x": 32,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F645-1F3FE",
"non_qualified": null,
"image": "1f645-1f3fe.png",
"sheet_x": 32,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F645-1F3FF",
"non_qualified": null,
"image": "1f645-1f3ff.png",
"sheet_x": 32,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F645-200D-2640-FE0F",
"a": "Face with No Good Gesture",
"b": "1F645",
"k": [
32,
1
]
},
"flag-sc": {
"a": "Seychelles Flag",
"b": "1F1F8-1F1E8",
"k": [
4,
23
]
},
"ocean": {
"a": "Water Wave",
"b": "1F30A",
"j": [
"sea",
"water",
"wave",
"nature",
"tsunami",
"disaster"
],
"k": [
6,
2
]
},
"man-gesturing-no": {
"skin_variations": {
"1F3FB": {
"unified": "1F645-1F3FB-200D-2642-FE0F",
"non_qualified": "1F645-1F3FB-200D-2642",
"image": "1f645-1f3fb-200d-2642-fe0f.png",
"sheet_x": 31,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F645-1F3FC-200D-2642-FE0F",
"non_qualified": "1F645-1F3FC-200D-2642",
"image": "1f645-1f3fc-200d-2642-fe0f.png",
"sheet_x": 31,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F645-1F3FD-200D-2642-FE0F",
"non_qualified": "1F645-1F3FD-200D-2642",
"image": "1f645-1f3fd-200d-2642-fe0f.png",
"sheet_x": 31,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F645-1F3FE-200D-2642-FE0F",
"non_qualified": "1F645-1F3FE-200D-2642",
"image": "1f645-1f3fe-200d-2642-fe0f.png",
"sheet_x": 31,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F645-1F3FF-200D-2642-FE0F",
"non_qualified": "1F645-1F3FF-200D-2642",
"image": "1f645-1f3ff-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Gesturing No",
"b": "1F645-200D-2642-FE0F",
"c": "1F645-200D-2642",
"k": [
31,
47
]
},
"flag-sd": {
"a": "Sudan Flag",
"b": "1F1F8-1F1E9",
"k": [
4,
24
]
},
"woman-gesturing-no": {
"skin_variations": {
"1F3FB": {
"unified": "1F645-1F3FB-200D-2640-FE0F",
"non_qualified": "1F645-1F3FB-200D-2640",
"image": "1f645-1f3fb-200d-2640-fe0f.png",
"sheet_x": 31,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F645-1F3FC-200D-2640-FE0F",
"non_qualified": "1F645-1F3FC-200D-2640",
"image": "1f645-1f3fc-200d-2640-fe0f.png",
"sheet_x": 31,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F645-1F3FD-200D-2640-FE0F",
"non_qualified": "1F645-1F3FD-200D-2640",
"image": "1f645-1f3fd-200d-2640-fe0f.png",
"sheet_x": 31,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F645-1F3FE-200D-2640-FE0F",
"non_qualified": "1F645-1F3FE-200D-2640",
"image": "1f645-1f3fe-200d-2640-fe0f.png",
"sheet_x": 31,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F645-1F3FF-200D-2640-FE0F",
"non_qualified": "1F645-1F3FF-200D-2640",
"image": "1f645-1f3ff-200d-2640-fe0f.png",
"sheet_x": 31,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F645",
"a": "Woman Gesturing No",
"b": "1F645-200D-2640-FE0F",
"c": "1F645-200D-2640",
"k": [
31,
41
]
},
"flag-se": {
"a": "Sweden Flag",
"b": "1F1F8-1F1EA",
"k": [
4,
25
]
},
"flag-sg": {
"a": "Singapore Flag",
"b": "1F1F8-1F1EC",
"k": [
4,
26
]
},
"ok_woman": {
"skin_variations": {
"1F3FB": {
"unified": "1F646-1F3FB",
"non_qualified": null,
"image": "1f646-1f3fb.png",
"sheet_x": 32,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F646-1F3FC",
"non_qualified": null,
"image": "1f646-1f3fc.png",
"sheet_x": 32,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F646-1F3FD",
"non_qualified": null,
"image": "1f646-1f3fd.png",
"sheet_x": 32,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F646-1F3FE",
"non_qualified": null,
"image": "1f646-1f3fe.png",
"sheet_x": 32,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F646-1F3FF",
"non_qualified": null,
"image": "1f646-1f3ff.png",
"sheet_x": 32,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F646-200D-2640-FE0F",
"a": "Face with Ok Gesture",
"b": "1F646",
"j": [
"women",
"girl",
"female",
"pink",
"human",
"woman"
],
"k": [
32,
19
]
},
"flag-sh": {
"a": "St. Helena Flag",
"b": "1F1F8-1F1ED",
"k": [
4,
27
]
},
"man-gesturing-ok": {
"skin_variations": {
"1F3FB": {
"unified": "1F646-1F3FB-200D-2642-FE0F",
"non_qualified": "1F646-1F3FB-200D-2642",
"image": "1f646-1f3fb-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F646-1F3FC-200D-2642-FE0F",
"non_qualified": "1F646-1F3FC-200D-2642",
"image": "1f646-1f3fc-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F646-1F3FD-200D-2642-FE0F",
"non_qualified": "1F646-1F3FD-200D-2642",
"image": "1f646-1f3fd-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F646-1F3FE-200D-2642-FE0F",
"non_qualified": "1F646-1F3FE-200D-2642",
"image": "1f646-1f3fe-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F646-1F3FF-200D-2642-FE0F",
"non_qualified": "1F646-1F3FF-200D-2642",
"image": "1f646-1f3ff-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Gesturing Ok",
"b": "1F646-200D-2642-FE0F",
"c": "1F646-200D-2642",
"k": [
32,
13
]
},
"flag-si": {
"a": "Slovenia Flag",
"b": "1F1F8-1F1EE",
"k": [
4,
28
]
},
"woman-gesturing-ok": {
"skin_variations": {
"1F3FB": {
"unified": "1F646-1F3FB-200D-2640-FE0F",
"non_qualified": "1F646-1F3FB-200D-2640",
"image": "1f646-1f3fb-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F646-1F3FC-200D-2640-FE0F",
"non_qualified": "1F646-1F3FC-200D-2640",
"image": "1f646-1f3fc-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F646-1F3FD-200D-2640-FE0F",
"non_qualified": "1F646-1F3FD-200D-2640",
"image": "1f646-1f3fd-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F646-1F3FE-200D-2640-FE0F",
"non_qualified": "1F646-1F3FE-200D-2640",
"image": "1f646-1f3fe-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F646-1F3FF-200D-2640-FE0F",
"non_qualified": "1F646-1F3FF-200D-2640",
"image": "1f646-1f3ff-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F646",
"a": "Woman Gesturing Ok",
"b": "1F646-200D-2640-FE0F",
"c": "1F646-200D-2640",
"k": [
32,
7
]
},
"information_desk_person": {
"skin_variations": {
"1F3FB": {
"unified": "1F481-1F3FB",
"non_qualified": null,
"image": "1f481-1f3fb.png",
"sheet_x": 23,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F481-1F3FC",
"non_qualified": null,
"image": "1f481-1f3fc.png",
"sheet_x": 23,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F481-1F3FD",
"non_qualified": null,
"image": "1f481-1f3fd.png",
"sheet_x": 23,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F481-1F3FE",
"non_qualified": null,
"image": "1f481-1f3fe.png",
"sheet_x": 23,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F481-1F3FF",
"non_qualified": null,
"image": "1f481-1f3ff.png",
"sheet_x": 23,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F481-200D-2640-FE0F",
"a": "Information Desk Person",
"b": "1F481",
"k": [
23,
13
]
},
"flag-sj": {
"a": "Svalbard & Jan Mayen Flag",
"b": "1F1F8-1F1EF",
"k": [
4,
29
]
},
"man-tipping-hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F481-1F3FB-200D-2642-FE0F",
"non_qualified": "1F481-1F3FB-200D-2642",
"image": "1f481-1f3fb-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F481-1F3FC-200D-2642-FE0F",
"non_qualified": "1F481-1F3FC-200D-2642",
"image": "1f481-1f3fc-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F481-1F3FD-200D-2642-FE0F",
"non_qualified": "1F481-1F3FD-200D-2642",
"image": "1f481-1f3fd-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F481-1F3FE-200D-2642-FE0F",
"non_qualified": "1F481-1F3FE-200D-2642",
"image": "1f481-1f3fe-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F481-1F3FF-200D-2642-FE0F",
"non_qualified": "1F481-1F3FF-200D-2642",
"image": "1f481-1f3ff-200d-2642-fe0f.png",
"sheet_x": 23,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Tipping Hand",
"b": "1F481-200D-2642-FE0F",
"c": "1F481-200D-2642",
"k": [
23,
7
]
},
"flag-sk": {
"a": "Slovakia Flag",
"b": "1F1F8-1F1F0",
"k": [
4,
30
]
},
"flag-sl": {
"a": "Sierra Leone Flag",
"b": "1F1F8-1F1F1",
"k": [
4,
31
]
},
"woman-tipping-hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F481-1F3FB-200D-2640-FE0F",
"non_qualified": "1F481-1F3FB-200D-2640",
"image": "1f481-1f3fb-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F481-1F3FC-200D-2640-FE0F",
"non_qualified": "1F481-1F3FC-200D-2640",
"image": "1f481-1f3fc-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F481-1F3FD-200D-2640-FE0F",
"non_qualified": "1F481-1F3FD-200D-2640",
"image": "1f481-1f3fd-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F481-1F3FE-200D-2640-FE0F",
"non_qualified": "1F481-1F3FE-200D-2640",
"image": "1f481-1f3fe-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F481-1F3FF-200D-2640-FE0F",
"non_qualified": "1F481-1F3FF-200D-2640",
"image": "1f481-1f3ff-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F481",
"a": "Woman Tipping Hand",
"b": "1F481-200D-2640-FE0F",
"c": "1F481-200D-2640",
"k": [
23,
1
]
},
"flag-sm": {
"a": "San Marino Flag",
"b": "1F1F8-1F1F2",
"k": [
4,
32
]
},
"raising_hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F64B-1F3FB",
"non_qualified": null,
"image": "1f64b-1f3fb.png",
"sheet_x": 33,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F64B-1F3FC",
"non_qualified": null,
"image": "1f64b-1f3fc.png",
"sheet_x": 33,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F64B-1F3FD",
"non_qualified": null,
"image": "1f64b-1f3fd.png",
"sheet_x": 33,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F64B-1F3FE",
"non_qualified": null,
"image": "1f64b-1f3fe.png",
"sheet_x": 33,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F64B-1F3FF",
"non_qualified": null,
"image": "1f64b-1f3ff.png",
"sheet_x": 33,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F64B-200D-2640-FE0F",
"a": "Happy Person Raising One Hand",
"b": "1F64B",
"k": [
33,
6
]
},
"flag-sn": {
"a": "Senegal Flag",
"b": "1F1F8-1F1F3",
"k": [
4,
33
]
},
"man-raising-hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F64B-1F3FB-200D-2642-FE0F",
"non_qualified": "1F64B-1F3FB-200D-2642",
"image": "1f64b-1f3fb-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64B-1F3FC-200D-2642-FE0F",
"non_qualified": "1F64B-1F3FC-200D-2642",
"image": "1f64b-1f3fc-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64B-1F3FD-200D-2642-FE0F",
"non_qualified": "1F64B-1F3FD-200D-2642",
"image": "1f64b-1f3fd-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64B-1F3FE-200D-2642-FE0F",
"non_qualified": "1F64B-1F3FE-200D-2642",
"image": "1f64b-1f3fe-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64B-1F3FF-200D-2642-FE0F",
"non_qualified": "1F64B-1F3FF-200D-2642",
"image": "1f64b-1f3ff-200d-2642-fe0f.png",
"sheet_x": 33,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Raising Hand",
"b": "1F64B-200D-2642-FE0F",
"c": "1F64B-200D-2642",
"k": [
33,
0
]
},
"flag-so": {
"a": "Somalia Flag",
"b": "1F1F8-1F1F4",
"k": [
4,
34
]
},
"woman-raising-hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F64B-1F3FB-200D-2640-FE0F",
"non_qualified": "1F64B-1F3FB-200D-2640",
"image": "1f64b-1f3fb-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F64B-1F3FC-200D-2640-FE0F",
"non_qualified": "1F64B-1F3FC-200D-2640",
"image": "1f64b-1f3fc-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F64B-1F3FD-200D-2640-FE0F",
"non_qualified": "1F64B-1F3FD-200D-2640",
"image": "1f64b-1f3fd-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F64B-1F3FE-200D-2640-FE0F",
"non_qualified": "1F64B-1F3FE-200D-2640",
"image": "1f64b-1f3fe-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F64B-1F3FF-200D-2640-FE0F",
"non_qualified": "1F64B-1F3FF-200D-2640",
"image": "1f64b-1f3ff-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F64B",
"a": "Woman Raising Hand",
"b": "1F64B-200D-2640-FE0F",
"c": "1F64B-200D-2640",
"k": [
32,
46
]
},
"flag-sr": {
"a": "Suriname Flag",
"b": "1F1F8-1F1F7",
"k": [
4,
35
]
},
"bow": {
"skin_variations": {
"1F3FB": {
"unified": "1F647-1F3FB",
"non_qualified": null,
"image": "1f647-1f3fb.png",
"sheet_x": 32,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F647-1F3FC",
"non_qualified": null,
"image": "1f647-1f3fc.png",
"sheet_x": 32,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F647-1F3FD",
"non_qualified": null,
"image": "1f647-1f3fd.png",
"sheet_x": 32,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F647-1F3FE",
"non_qualified": null,
"image": "1f647-1f3fe.png",
"sheet_x": 32,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F647-1F3FF",
"non_qualified": null,
"image": "1f647-1f3ff.png",
"sheet_x": 32,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F647-200D-2642-FE0F",
"a": "Person Bowing Deeply",
"b": "1F647",
"k": [
32,
37
]
},
"man-bowing": {
"skin_variations": {
"1F3FB": {
"unified": "1F647-1F3FB-200D-2642-FE0F",
"non_qualified": "1F647-1F3FB-200D-2642",
"image": "1f647-1f3fb-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F647-1F3FC-200D-2642-FE0F",
"non_qualified": "1F647-1F3FC-200D-2642",
"image": "1f647-1f3fc-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F647-1F3FD-200D-2642-FE0F",
"non_qualified": "1F647-1F3FD-200D-2642",
"image": "1f647-1f3fd-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F647-1F3FE-200D-2642-FE0F",
"non_qualified": "1F647-1F3FE-200D-2642",
"image": "1f647-1f3fe-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F647-1F3FF-200D-2642-FE0F",
"non_qualified": "1F647-1F3FF-200D-2642",
"image": "1f647-1f3ff-200d-2642-fe0f.png",
"sheet_x": 32,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F647",
"a": "Man Bowing",
"b": "1F647-200D-2642-FE0F",
"c": "1F647-200D-2642",
"k": [
32,
31
]
},
"flag-ss": {
"a": "South Sudan Flag",
"b": "1F1F8-1F1F8",
"k": [
4,
36
]
},
"woman-bowing": {
"skin_variations": {
"1F3FB": {
"unified": "1F647-1F3FB-200D-2640-FE0F",
"non_qualified": "1F647-1F3FB-200D-2640",
"image": "1f647-1f3fb-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F647-1F3FC-200D-2640-FE0F",
"non_qualified": "1F647-1F3FC-200D-2640",
"image": "1f647-1f3fc-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F647-1F3FD-200D-2640-FE0F",
"non_qualified": "1F647-1F3FD-200D-2640",
"image": "1f647-1f3fd-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F647-1F3FE-200D-2640-FE0F",
"non_qualified": "1F647-1F3FE-200D-2640",
"image": "1f647-1f3fe-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F647-1F3FF-200D-2640-FE0F",
"non_qualified": "1F647-1F3FF-200D-2640",
"image": "1f647-1f3ff-200d-2640-fe0f.png",
"sheet_x": 32,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Bowing",
"b": "1F647-200D-2640-FE0F",
"c": "1F647-200D-2640",
"k": [
32,
25
]
},
"flag-st": {
"a": "São Tomé & Príncipe Flag",
"b": "1F1F8-1F1F9",
"k": [
4,
37
]
},
"face_palm": {
"skin_variations": {
"1F3FB": {
"unified": "1F926-1F3FB",
"non_qualified": null,
"image": "1f926-1f3fb.png",
"sheet_x": 38,
"sheet_y": 42,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F926-1F3FC",
"non_qualified": null,
"image": "1f926-1f3fc.png",
"sheet_x": 38,
"sheet_y": 43,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F926-1F3FD",
"non_qualified": null,
"image": "1f926-1f3fd.png",
"sheet_x": 38,
"sheet_y": 44,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F926-1F3FE",
"non_qualified": null,
"image": "1f926-1f3fe.png",
"sheet_x": 38,
"sheet_y": 45,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F926-1F3FF",
"non_qualified": null,
"image": "1f926-1f3ff.png",
"sheet_x": 38,
"sheet_y": 46,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Face Palm",
"b": "1F926",
"k": [
38,
41
],
"o": 9
},
"flag-sv": {
"a": "El Salvador Flag",
"b": "1F1F8-1F1FB",
"k": [
4,
38
]
},
"man-facepalming": {
"skin_variations": {
"1F3FB": {
"unified": "1F926-1F3FB-200D-2642-FE0F",
"non_qualified": "1F926-1F3FB-200D-2642",
"image": "1f926-1f3fb-200d-2642-fe0f.png",
"sheet_x": 38,
"sheet_y": 36,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F926-1F3FC-200D-2642-FE0F",
"non_qualified": "1F926-1F3FC-200D-2642",
"image": "1f926-1f3fc-200d-2642-fe0f.png",
"sheet_x": 38,
"sheet_y": 37,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F926-1F3FD-200D-2642-FE0F",
"non_qualified": "1F926-1F3FD-200D-2642",
"image": "1f926-1f3fd-200d-2642-fe0f.png",
"sheet_x": 38,
"sheet_y": 38,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F926-1F3FE-200D-2642-FE0F",
"non_qualified": "1F926-1F3FE-200D-2642",
"image": "1f926-1f3fe-200d-2642-fe0f.png",
"sheet_x": 38,
"sheet_y": 39,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F926-1F3FF-200D-2642-FE0F",
"non_qualified": "1F926-1F3FF-200D-2642",
"image": "1f926-1f3ff-200d-2642-fe0f.png",
"sheet_x": 38,
"sheet_y": 40,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Facepalming",
"b": "1F926-200D-2642-FE0F",
"c": "1F926-200D-2642",
"k": [
38,
35
],
"o": 9
},
"flag-sx": {
"a": "Sint Maarten Flag",
"b": "1F1F8-1F1FD",
"k": [
4,
39
]
},
"flag-sy": {
"a": "Syria Flag",
"b": "1F1F8-1F1FE",
"k": [
4,
40
]
},
"woman-facepalming": {
"skin_variations": {
"1F3FB": {
"unified": "1F926-1F3FB-200D-2640-FE0F",
"non_qualified": "1F926-1F3FB-200D-2640",
"image": "1f926-1f3fb-200d-2640-fe0f.png",
"sheet_x": 38,
"sheet_y": 30,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F926-1F3FC-200D-2640-FE0F",
"non_qualified": "1F926-1F3FC-200D-2640",
"image": "1f926-1f3fc-200d-2640-fe0f.png",
"sheet_x": 38,
"sheet_y": 31,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F926-1F3FD-200D-2640-FE0F",
"non_qualified": "1F926-1F3FD-200D-2640",
"image": "1f926-1f3fd-200d-2640-fe0f.png",
"sheet_x": 38,
"sheet_y": 32,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F926-1F3FE-200D-2640-FE0F",
"non_qualified": "1F926-1F3FE-200D-2640",
"image": "1f926-1f3fe-200d-2640-fe0f.png",
"sheet_x": 38,
"sheet_y": 33,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F926-1F3FF-200D-2640-FE0F",
"non_qualified": "1F926-1F3FF-200D-2640",
"image": "1f926-1f3ff-200d-2640-fe0f.png",
"sheet_x": 38,
"sheet_y": 34,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Facepalming",
"b": "1F926-200D-2640-FE0F",
"c": "1F926-200D-2640",
"k": [
38,
29
],
"o": 9
},
"shrug": {
"skin_variations": {
"1F3FB": {
"unified": "1F937-1F3FB",
"non_qualified": null,
"image": "1f937-1f3fb.png",
"sheet_x": 40,
"sheet_y": 7,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F937-1F3FC",
"non_qualified": null,
"image": "1f937-1f3fc.png",
"sheet_x": 40,
"sheet_y": 8,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F937-1F3FD",
"non_qualified": null,
"image": "1f937-1f3fd.png",
"sheet_x": 40,
"sheet_y": 9,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F937-1F3FE",
"non_qualified": null,
"image": "1f937-1f3fe.png",
"sheet_x": 40,
"sheet_y": 10,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F937-1F3FF",
"non_qualified": null,
"image": "1f937-1f3ff.png",
"sheet_x": 40,
"sheet_y": 11,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Shrug",
"b": "1F937",
"k": [
40,
6
],
"o": 9
},
"flag-sz": {
"a": "Swaziland Flag",
"b": "1F1F8-1F1FF",
"k": [
4,
41
]
},
"flag-ta": {
"a": "Tristan Da Cunha Flag",
"b": "1F1F9-1F1E6",
"k": [
4,
42
]
},
"man-shrugging": {
"skin_variations": {
"1F3FB": {
"unified": "1F937-1F3FB-200D-2642-FE0F",
"non_qualified": "1F937-1F3FB-200D-2642",
"image": "1f937-1f3fb-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 1,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F937-1F3FC-200D-2642-FE0F",
"non_qualified": "1F937-1F3FC-200D-2642",
"image": "1f937-1f3fc-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 2,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F937-1F3FD-200D-2642-FE0F",
"non_qualified": "1F937-1F3FD-200D-2642",
"image": "1f937-1f3fd-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 3,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F937-1F3FE-200D-2642-FE0F",
"non_qualified": "1F937-1F3FE-200D-2642",
"image": "1f937-1f3fe-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 4,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F937-1F3FF-200D-2642-FE0F",
"non_qualified": "1F937-1F3FF-200D-2642",
"image": "1f937-1f3ff-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 5,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Shrugging",
"b": "1F937-200D-2642-FE0F",
"c": "1F937-200D-2642",
"k": [
40,
0
],
"o": 9
},
"woman-shrugging": {
"skin_variations": {
"1F3FB": {
"unified": "1F937-1F3FB-200D-2640-FE0F",
"non_qualified": "1F937-1F3FB-200D-2640",
"image": "1f937-1f3fb-200d-2640-fe0f.png",
"sheet_x": 39,
"sheet_y": 47,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F937-1F3FC-200D-2640-FE0F",
"non_qualified": "1F937-1F3FC-200D-2640",
"image": "1f937-1f3fc-200d-2640-fe0f.png",
"sheet_x": 39,
"sheet_y": 48,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F937-1F3FD-200D-2640-FE0F",
"non_qualified": "1F937-1F3FD-200D-2640",
"image": "1f937-1f3fd-200d-2640-fe0f.png",
"sheet_x": 39,
"sheet_y": 49,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F937-1F3FE-200D-2640-FE0F",
"non_qualified": "1F937-1F3FE-200D-2640",
"image": "1f937-1f3fe-200d-2640-fe0f.png",
"sheet_x": 39,
"sheet_y": 50,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F937-1F3FF-200D-2640-FE0F",
"non_qualified": "1F937-1F3FF-200D-2640",
"image": "1f937-1f3ff-200d-2640-fe0f.png",
"sheet_x": 39,
"sheet_y": 51,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Shrugging",
"b": "1F937-200D-2640-FE0F",
"c": "1F937-200D-2640",
"k": [
39,
46
],
"o": 9
},
"flag-tc": {
"a": "Turks & Caicos Islands Flag",
"b": "1F1F9-1F1E8",
"k": [
4,
43
]
},
"massage": {
"skin_variations": {
"1F3FB": {
"unified": "1F486-1F3FB",
"non_qualified": null,
"image": "1f486-1f3fb.png",
"sheet_x": 24,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F486-1F3FC",
"non_qualified": null,
"image": "1f486-1f3fc.png",
"sheet_x": 24,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F486-1F3FD",
"non_qualified": null,
"image": "1f486-1f3fd.png",
"sheet_x": 24,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F486-1F3FE",
"non_qualified": null,
"image": "1f486-1f3fe.png",
"sheet_x": 24,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F486-1F3FF",
"non_qualified": null,
"image": "1f486-1f3ff.png",
"sheet_x": 24,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F486-200D-2640-FE0F",
"a": "Face Massage",
"b": "1F486",
"k": [
24,
10
]
},
"flag-td": {
"a": "Chad Flag",
"b": "1F1F9-1F1E9",
"k": [
4,
44
]
},
"man-getting-massage": {
"skin_variations": {
"1F3FB": {
"unified": "1F486-1F3FB-200D-2642-FE0F",
"non_qualified": "1F486-1F3FB-200D-2642",
"image": "1f486-1f3fb-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F486-1F3FC-200D-2642-FE0F",
"non_qualified": "1F486-1F3FC-200D-2642",
"image": "1f486-1f3fc-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F486-1F3FD-200D-2642-FE0F",
"non_qualified": "1F486-1F3FD-200D-2642",
"image": "1f486-1f3fd-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F486-1F3FE-200D-2642-FE0F",
"non_qualified": "1F486-1F3FE-200D-2642",
"image": "1f486-1f3fe-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F486-1F3FF-200D-2642-FE0F",
"non_qualified": "1F486-1F3FF-200D-2642",
"image": "1f486-1f3ff-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Getting Massage",
"b": "1F486-200D-2642-FE0F",
"c": "1F486-200D-2642",
"k": [
24,
4
]
},
"flag-tf": {
"a": "French Southern Territories Flag",
"b": "1F1F9-1F1EB",
"k": [
4,
45
]
},
"woman-getting-massage": {
"skin_variations": {
"1F3FB": {
"unified": "1F486-1F3FB-200D-2640-FE0F",
"non_qualified": "1F486-1F3FB-200D-2640",
"image": "1f486-1f3fb-200d-2640-fe0f.png",
"sheet_x": 23,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F486-1F3FC-200D-2640-FE0F",
"non_qualified": "1F486-1F3FC-200D-2640",
"image": "1f486-1f3fc-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F486-1F3FD-200D-2640-FE0F",
"non_qualified": "1F486-1F3FD-200D-2640",
"image": "1f486-1f3fd-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F486-1F3FE-200D-2640-FE0F",
"non_qualified": "1F486-1F3FE-200D-2640",
"image": "1f486-1f3fe-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F486-1F3FF-200D-2640-FE0F",
"non_qualified": "1F486-1F3FF-200D-2640",
"image": "1f486-1f3ff-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F486",
"a": "Woman Getting Massage",
"b": "1F486-200D-2640-FE0F",
"c": "1F486-200D-2640",
"k": [
23,
50
]
},
"flag-tg": {
"a": "Togo Flag",
"b": "1F1F9-1F1EC",
"k": [
4,
46
]
},
"haircut": {
"skin_variations": {
"1F3FB": {
"unified": "1F487-1F3FB",
"non_qualified": null,
"image": "1f487-1f3fb.png",
"sheet_x": 24,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F487-1F3FC",
"non_qualified": null,
"image": "1f487-1f3fc.png",
"sheet_x": 24,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F487-1F3FD",
"non_qualified": null,
"image": "1f487-1f3fd.png",
"sheet_x": 24,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F487-1F3FE",
"non_qualified": null,
"image": "1f487-1f3fe.png",
"sheet_x": 24,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F487-1F3FF",
"non_qualified": null,
"image": "1f487-1f3ff.png",
"sheet_x": 24,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F487-200D-2640-FE0F",
"a": "Haircut",
"b": "1F487",
"k": [
24,
28
]
},
"flag-th": {
"a": "Thailand Flag",
"b": "1F1F9-1F1ED",
"k": [
4,
47
]
},
"man-getting-haircut": {
"skin_variations": {
"1F3FB": {
"unified": "1F487-1F3FB-200D-2642-FE0F",
"non_qualified": "1F487-1F3FB-200D-2642",
"image": "1f487-1f3fb-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F487-1F3FC-200D-2642-FE0F",
"non_qualified": "1F487-1F3FC-200D-2642",
"image": "1f487-1f3fc-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F487-1F3FD-200D-2642-FE0F",
"non_qualified": "1F487-1F3FD-200D-2642",
"image": "1f487-1f3fd-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F487-1F3FE-200D-2642-FE0F",
"non_qualified": "1F487-1F3FE-200D-2642",
"image": "1f487-1f3fe-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F487-1F3FF-200D-2642-FE0F",
"non_qualified": "1F487-1F3FF-200D-2642",
"image": "1f487-1f3ff-200d-2642-fe0f.png",
"sheet_x": 24,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Getting Haircut",
"b": "1F487-200D-2642-FE0F",
"c": "1F487-200D-2642",
"k": [
24,
22
]
},
"flag-tj": {
"a": "Tajikistan Flag",
"b": "1F1F9-1F1EF",
"k": [
4,
48
]
},
"flag-tk": {
"a": "Tokelau Flag",
"b": "1F1F9-1F1F0",
"k": [
4,
49
]
},
"woman-getting-haircut": {
"skin_variations": {
"1F3FB": {
"unified": "1F487-1F3FB-200D-2640-FE0F",
"non_qualified": "1F487-1F3FB-200D-2640",
"image": "1f487-1f3fb-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F487-1F3FC-200D-2640-FE0F",
"non_qualified": "1F487-1F3FC-200D-2640",
"image": "1f487-1f3fc-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F487-1F3FD-200D-2640-FE0F",
"non_qualified": "1F487-1F3FD-200D-2640",
"image": "1f487-1f3fd-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F487-1F3FE-200D-2640-FE0F",
"non_qualified": "1F487-1F3FE-200D-2640",
"image": "1f487-1f3fe-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F487-1F3FF-200D-2640-FE0F",
"non_qualified": "1F487-1F3FF-200D-2640",
"image": "1f487-1f3ff-200d-2640-fe0f.png",
"sheet_x": 24,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F487",
"a": "Woman Getting Haircut",
"b": "1F487-200D-2640-FE0F",
"c": "1F487-200D-2640",
"k": [
24,
16
]
},
"walking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B6-1F3FB",
"non_qualified": null,
"image": "1f6b6-1f3fb.png",
"sheet_x": 36,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F6B6-1F3FC",
"non_qualified": null,
"image": "1f6b6-1f3fc.png",
"sheet_x": 36,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F6B6-1F3FD",
"non_qualified": null,
"image": "1f6b6-1f3fd.png",
"sheet_x": 36,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F6B6-1F3FE",
"non_qualified": null,
"image": "1f6b6-1f3fe.png",
"sheet_x": 36,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F6B6-1F3FF",
"non_qualified": null,
"image": "1f6b6-1f3ff.png",
"sheet_x": 36,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F6B6-200D-2642-FE0F",
"a": "Pedestrian",
"b": "1F6B6",
"k": [
36,
21
]
},
"flag-tl": {
"a": "Timor-Leste Flag",
"b": "1F1F9-1F1F1",
"k": [
4,
50
]
},
"man-walking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B6-1F3FB-200D-2642-FE0F",
"non_qualified": "1F6B6-1F3FB-200D-2642",
"image": "1f6b6-1f3fb-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B6-1F3FC-200D-2642-FE0F",
"non_qualified": "1F6B6-1F3FC-200D-2642",
"image": "1f6b6-1f3fc-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B6-1F3FD-200D-2642-FE0F",
"non_qualified": "1F6B6-1F3FD-200D-2642",
"image": "1f6b6-1f3fd-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B6-1F3FE-200D-2642-FE0F",
"non_qualified": "1F6B6-1F3FE-200D-2642",
"image": "1f6b6-1f3fe-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B6-1F3FF-200D-2642-FE0F",
"non_qualified": "1F6B6-1F3FF-200D-2642",
"image": "1f6b6-1f3ff-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F6B6",
"a": "Man Walking",
"b": "1F6B6-200D-2642-FE0F",
"c": "1F6B6-200D-2642",
"k": [
36,
15
]
},
"flag-tm": {
"a": "Turkmenistan Flag",
"b": "1F1F9-1F1F2",
"k": [
4,
51
]
},
"woman-walking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B6-1F3FB-200D-2640-FE0F",
"non_qualified": "1F6B6-1F3FB-200D-2640",
"image": "1f6b6-1f3fb-200d-2640-fe0f.png",
"sheet_x": 36,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B6-1F3FC-200D-2640-FE0F",
"non_qualified": "1F6B6-1F3FC-200D-2640",
"image": "1f6b6-1f3fc-200d-2640-fe0f.png",
"sheet_x": 36,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B6-1F3FD-200D-2640-FE0F",
"non_qualified": "1F6B6-1F3FD-200D-2640",
"image": "1f6b6-1f3fd-200d-2640-fe0f.png",
"sheet_x": 36,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B6-1F3FE-200D-2640-FE0F",
"non_qualified": "1F6B6-1F3FE-200D-2640",
"image": "1f6b6-1f3fe-200d-2640-fe0f.png",
"sheet_x": 36,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B6-1F3FF-200D-2640-FE0F",
"non_qualified": "1F6B6-1F3FF-200D-2640",
"image": "1f6b6-1f3ff-200d-2640-fe0f.png",
"sheet_x": 36,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Walking",
"b": "1F6B6-200D-2640-FE0F",
"c": "1F6B6-200D-2640",
"k": [
36,
9
]
},
"flag-tn": {
"a": "Tunisia Flag",
"b": "1F1F9-1F1F3",
"k": [
5,
0
]
},
"runner": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C3-1F3FB",
"non_qualified": null,
"image": "1f3c3-1f3fb.png",
"sheet_x": 9,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F3C3-1F3FC",
"non_qualified": null,
"image": "1f3c3-1f3fc.png",
"sheet_x": 9,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F3C3-1F3FD",
"non_qualified": null,
"image": "1f3c3-1f3fd.png",
"sheet_x": 9,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F3C3-1F3FE",
"non_qualified": null,
"image": "1f3c3-1f3fe.png",
"sheet_x": 9,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F3C3-1F3FF",
"non_qualified": null,
"image": "1f3c3-1f3ff.png",
"sheet_x": 9,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F3C3-200D-2642-FE0F",
"a": "Runner",
"b": "1F3C3",
"k": [
9,
46
],
"n": [
"running"
]
},
"flag-to": {
"a": "Tonga Flag",
"b": "1F1F9-1F1F4",
"k": [
5,
1
]
},
"man-running": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C3-1F3FB-200D-2642-FE0F",
"non_qualified": "1F3C3-1F3FB-200D-2642",
"image": "1f3c3-1f3fb-200d-2642-fe0f.png",
"sheet_x": 9,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3C3-1F3FC-200D-2642-FE0F",
"non_qualified": "1F3C3-1F3FC-200D-2642",
"image": "1f3c3-1f3fc-200d-2642-fe0f.png",
"sheet_x": 9,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3C3-1F3FD-200D-2642-FE0F",
"non_qualified": "1F3C3-1F3FD-200D-2642",
"image": "1f3c3-1f3fd-200d-2642-fe0f.png",
"sheet_x": 9,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3C3-1F3FE-200D-2642-FE0F",
"non_qualified": "1F3C3-1F3FE-200D-2642",
"image": "1f3c3-1f3fe-200d-2642-fe0f.png",
"sheet_x": 9,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3C3-1F3FF-200D-2642-FE0F",
"non_qualified": "1F3C3-1F3FF-200D-2642",
"image": "1f3c3-1f3ff-200d-2642-fe0f.png",
"sheet_x": 9,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F3C3",
"a": "Man Running",
"b": "1F3C3-200D-2642-FE0F",
"c": "1F3C3-200D-2642",
"k": [
9,
40
]
},
"flag-tr": {
"a": "Turkey Flag",
"b": "1F1F9-1F1F7",
"k": [
5,
2
]
},
"flag-tt": {
"a": "Trinidad & Tobago Flag",
"b": "1F1F9-1F1F9",
"k": [
5,
3
]
},
"woman-running": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C3-1F3FB-200D-2640-FE0F",
"non_qualified": "1F3C3-1F3FB-200D-2640",
"image": "1f3c3-1f3fb-200d-2640-fe0f.png",
"sheet_x": 9,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3C3-1F3FC-200D-2640-FE0F",
"non_qualified": "1F3C3-1F3FC-200D-2640",
"image": "1f3c3-1f3fc-200d-2640-fe0f.png",
"sheet_x": 9,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3C3-1F3FD-200D-2640-FE0F",
"non_qualified": "1F3C3-1F3FD-200D-2640",
"image": "1f3c3-1f3fd-200d-2640-fe0f.png",
"sheet_x": 9,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3C3-1F3FE-200D-2640-FE0F",
"non_qualified": "1F3C3-1F3FE-200D-2640",
"image": "1f3c3-1f3fe-200d-2640-fe0f.png",
"sheet_x": 9,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3C3-1F3FF-200D-2640-FE0F",
"non_qualified": "1F3C3-1F3FF-200D-2640",
"image": "1f3c3-1f3ff-200d-2640-fe0f.png",
"sheet_x": 9,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Running",
"b": "1F3C3-200D-2640-FE0F",
"c": "1F3C3-200D-2640",
"k": [
9,
34
]
},
"flag-tv": {
"a": "Tuvalu Flag",
"b": "1F1F9-1F1FB",
"k": [
5,
4
]
},
"dancer": {
"skin_variations": {
"1F3FB": {
"unified": "1F483-1F3FB",
"non_qualified": null,
"image": "1f483-1f3fb.png",
"sheet_x": 23,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F483-1F3FC",
"non_qualified": null,
"image": "1f483-1f3fc.png",
"sheet_x": 23,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F483-1F3FD",
"non_qualified": null,
"image": "1f483-1f3fd.png",
"sheet_x": 23,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F483-1F3FE",
"non_qualified": null,
"image": "1f483-1f3fe.png",
"sheet_x": 23,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F483-1F3FF",
"non_qualified": null,
"image": "1f483-1f3ff.png",
"sheet_x": 23,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Dancer",
"b": "1F483",
"j": [
"female",
"girl",
"woman",
"fun"
],
"k": [
23,
37
]
},
"flag-tw": {
"a": "Taiwan Flag",
"b": "1F1F9-1F1FC",
"k": [
5,
5
]
},
"man_dancing": {
"skin_variations": {
"1F3FB": {
"unified": "1F57A-1F3FB",
"non_qualified": null,
"image": "1f57a-1f3fb.png",
"sheet_x": 29,
"sheet_y": 22,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F57A-1F3FC",
"non_qualified": null,
"image": "1f57a-1f3fc.png",
"sheet_x": 29,
"sheet_y": 23,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F57A-1F3FD",
"non_qualified": null,
"image": "1f57a-1f3fd.png",
"sheet_x": 29,
"sheet_y": 24,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F57A-1F3FE",
"non_qualified": null,
"image": "1f57a-1f3fe.png",
"sheet_x": 29,
"sheet_y": 25,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F57A-1F3FF",
"non_qualified": null,
"image": "1f57a-1f3ff.png",
"sheet_x": 29,
"sheet_y": 26,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Man Dancing",
"b": "1F57A",
"j": [
"male",
"boy",
"fun",
"dancer"
],
"k": [
29,
21
],
"o": 9
},
"dancers": {
"obsoleted_by": "1F46F-200D-2640-FE0F",
"a": "Woman with Bunny Ears",
"b": "1F46F",
"k": [
21,
1
]
},
"flag-tz": {
"a": "Tanzania Flag",
"b": "1F1F9-1F1FF",
"k": [
5,
6
]
},
"flag-ua": {
"a": "Ukraine Flag",
"b": "1F1FA-1F1E6",
"k": [
5,
7
]
},
"man-with-bunny-ears-partying": {
"a": "Man with Bunny Ears Partying",
"b": "1F46F-200D-2642-FE0F",
"c": "1F46F-200D-2642",
"k": [
21,
0
]
},
"woman-with-bunny-ears-partying": {
"obsoletes": "1F46F",
"a": "Woman with Bunny Ears Partying",
"b": "1F46F-200D-2640-FE0F",
"c": "1F46F-200D-2640",
"k": [
20,
51
]
},
"flag-ug": {
"a": "Uganda Flag",
"b": "1F1FA-1F1EC",
"k": [
5,
8
]
},
"flag-um": {
"a": "U.s. Outlying Islands Flag",
"b": "1F1FA-1F1F2",
"k": [
5,
9
]
},
"person_in_steamy_room": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D6-1F3FB",
"non_qualified": null,
"image": "1f9d6-1f3fb.png",
"sheet_x": 43,
"sheet_y": 41,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D6-1F3FB-200D-2642-FE0F"
},
"1F3FC": {
"unified": "1F9D6-1F3FC",
"non_qualified": null,
"image": "1f9d6-1f3fc.png",
"sheet_x": 43,
"sheet_y": 42,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D6-1F3FC-200D-2642-FE0F"
},
"1F3FD": {
"unified": "1F9D6-1F3FD",
"non_qualified": null,
"image": "1f9d6-1f3fd.png",
"sheet_x": 43,
"sheet_y": 43,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D6-1F3FD-200D-2642-FE0F"
},
"1F3FE": {
"unified": "1F9D6-1F3FE",
"non_qualified": null,
"image": "1f9d6-1f3fe.png",
"sheet_x": 43,
"sheet_y": 44,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D6-1F3FE-200D-2642-FE0F"
},
"1F3FF": {
"unified": "1F9D6-1F3FF",
"non_qualified": null,
"image": "1f9d6-1f3ff.png",
"sheet_x": 43,
"sheet_y": 45,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D6-1F3FF-200D-2642-FE0F"
}
},
"obsoleted_by": "1F9D6-200D-2642-FE0F",
"a": "Person in Steamy Room",
"b": "1F9D6",
"k": [
43,
40
],
"o": 10
},
"woman_in_steamy_room": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D6-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9D6-1F3FB-200D-2640",
"image": "1f9d6-1f3fb-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 29,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D6-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9D6-1F3FC-200D-2640",
"image": "1f9d6-1f3fc-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 30,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D6-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9D6-1F3FD-200D-2640",
"image": "1f9d6-1f3fd-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 31,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D6-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9D6-1F3FE-200D-2640",
"image": "1f9d6-1f3fe-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 32,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D6-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9D6-1F3FF-200D-2640",
"image": "1f9d6-1f3ff-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 33,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman in Steamy Room",
"b": "1F9D6-200D-2640-FE0F",
"c": "1F9D6-200D-2640",
"j": [
"female",
"woman",
"spa",
"steamroom",
"sauna"
],
"k": [
43,
28
],
"o": 10
},
"flag-un": {
"a": "United Nations Flag",
"b": "1F1FA-1F1F3",
"k": [
5,
10
]
},
"us": {
"a": "United States Flag",
"b": "1F1FA-1F1F8",
"j": [
"united",
"states",
"america",
"flag",
"nation",
"country",
"banner"
],
"k": [
5,
11
],
"n": [
"flag-us"
]
},
"man_in_steamy_room": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D6-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9D6-1F3FB-200D-2642",
"image": "1f9d6-1f3fb-200d-2642-fe0f.png",
"sheet_x": 43,
"sheet_y": 35,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D6-1F3FB"
},
"1F3FC": {
"unified": "1F9D6-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9D6-1F3FC-200D-2642",
"image": "1f9d6-1f3fc-200d-2642-fe0f.png",
"sheet_x": 43,
"sheet_y": 36,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D6-1F3FC"
},
"1F3FD": {
"unified": "1F9D6-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9D6-1F3FD-200D-2642",
"image": "1f9d6-1f3fd-200d-2642-fe0f.png",
"sheet_x": 43,
"sheet_y": 37,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D6-1F3FD"
},
"1F3FE": {
"unified": "1F9D6-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9D6-1F3FE-200D-2642",
"image": "1f9d6-1f3fe-200d-2642-fe0f.png",
"sheet_x": 43,
"sheet_y": 38,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D6-1F3FE"
},
"1F3FF": {
"unified": "1F9D6-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9D6-1F3FF-200D-2642",
"image": "1f9d6-1f3ff-200d-2642-fe0f.png",
"sheet_x": 43,
"sheet_y": 39,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D6-1F3FF"
}
},
"obsoletes": "1F9D6",
"a": "Man in Steamy Room",
"b": "1F9D6-200D-2642-FE0F",
"c": "1F9D6-200D-2642",
"j": [
"male",
"man",
"spa",
"steamroom",
"sauna"
],
"k": [
43,
34
],
"o": 10
},
"person_climbing": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D7-1F3FB",
"non_qualified": null,
"image": "1f9d7-1f3fb.png",
"sheet_x": 44,
"sheet_y": 7,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D7-1F3FB-200D-2640-FE0F"
},
"1F3FC": {
"unified": "1F9D7-1F3FC",
"non_qualified": null,
"image": "1f9d7-1f3fc.png",
"sheet_x": 44,
"sheet_y": 8,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D7-1F3FC-200D-2640-FE0F"
},
"1F3FD": {
"unified": "1F9D7-1F3FD",
"non_qualified": null,
"image": "1f9d7-1f3fd.png",
"sheet_x": 44,
"sheet_y": 9,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D7-1F3FD-200D-2640-FE0F"
},
"1F3FE": {
"unified": "1F9D7-1F3FE",
"non_qualified": null,
"image": "1f9d7-1f3fe.png",
"sheet_x": 44,
"sheet_y": 10,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D7-1F3FE-200D-2640-FE0F"
},
"1F3FF": {
"unified": "1F9D7-1F3FF",
"non_qualified": null,
"image": "1f9d7-1f3ff.png",
"sheet_x": 44,
"sheet_y": 11,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D7-1F3FF-200D-2640-FE0F"
}
},
"obsoleted_by": "1F9D7-200D-2640-FE0F",
"a": "Person Climbing",
"b": "1F9D7",
"k": [
44,
6
],
"o": 10
},
"flag-uy": {
"a": "Uruguay Flag",
"b": "1F1FA-1F1FE",
"k": [
5,
12
]
},
"woman_climbing": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D7-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9D7-1F3FB-200D-2640",
"image": "1f9d7-1f3fb-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 47,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D7-1F3FB"
},
"1F3FC": {
"unified": "1F9D7-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9D7-1F3FC-200D-2640",
"image": "1f9d7-1f3fc-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 48,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D7-1F3FC"
},
"1F3FD": {
"unified": "1F9D7-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9D7-1F3FD-200D-2640",
"image": "1f9d7-1f3fd-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 49,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D7-1F3FD"
},
"1F3FE": {
"unified": "1F9D7-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9D7-1F3FE-200D-2640",
"image": "1f9d7-1f3fe-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 50,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D7-1F3FE"
},
"1F3FF": {
"unified": "1F9D7-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9D7-1F3FF-200D-2640",
"image": "1f9d7-1f3ff-200d-2640-fe0f.png",
"sheet_x": 43,
"sheet_y": 51,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D7-1F3FF"
}
},
"obsoletes": "1F9D7",
"a": "Woman Climbing",
"b": "1F9D7-200D-2640-FE0F",
"c": "1F9D7-200D-2640",
"k": [
43,
46
],
"o": 10
},
"flag-uz": {
"a": "Uzbekistan Flag",
"b": "1F1FA-1F1FF",
"k": [
5,
13
]
},
"man_climbing": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D7-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9D7-1F3FB-200D-2642",
"image": "1f9d7-1f3fb-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 1,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D7-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9D7-1F3FC-200D-2642",
"image": "1f9d7-1f3fc-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 2,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D7-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9D7-1F3FD-200D-2642",
"image": "1f9d7-1f3fd-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 3,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D7-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9D7-1F3FE-200D-2642",
"image": "1f9d7-1f3fe-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 4,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D7-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9D7-1F3FF-200D-2642",
"image": "1f9d7-1f3ff-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 5,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Climbing",
"b": "1F9D7-200D-2642-FE0F",
"c": "1F9D7-200D-2642",
"k": [
44,
0
],
"o": 10
},
"flag-va": {
"a": "Vatican City Flag",
"b": "1F1FB-1F1E6",
"k": [
5,
14
]
},
"person_in_lotus_position": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D8-1F3FB",
"non_qualified": null,
"image": "1f9d8-1f3fb.png",
"sheet_x": 44,
"sheet_y": 25,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D8-1F3FB-200D-2640-FE0F"
},
"1F3FC": {
"unified": "1F9D8-1F3FC",
"non_qualified": null,
"image": "1f9d8-1f3fc.png",
"sheet_x": 44,
"sheet_y": 26,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D8-1F3FC-200D-2640-FE0F"
},
"1F3FD": {
"unified": "1F9D8-1F3FD",
"non_qualified": null,
"image": "1f9d8-1f3fd.png",
"sheet_x": 44,
"sheet_y": 27,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D8-1F3FD-200D-2640-FE0F"
},
"1F3FE": {
"unified": "1F9D8-1F3FE",
"non_qualified": null,
"image": "1f9d8-1f3fe.png",
"sheet_x": 44,
"sheet_y": 28,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D8-1F3FE-200D-2640-FE0F"
},
"1F3FF": {
"unified": "1F9D8-1F3FF",
"non_qualified": null,
"image": "1f9d8-1f3ff.png",
"sheet_x": 44,
"sheet_y": 29,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false,
"obsoleted_by": "1F9D8-1F3FF-200D-2640-FE0F"
}
},
"obsoleted_by": "1F9D8-200D-2640-FE0F",
"a": "Person in Lotus Position",
"b": "1F9D8",
"k": [
44,
24
],
"o": 10
},
"flag-vc": {
"a": "St. Vincent & Grenadines Flag",
"b": "1F1FB-1F1E8",
"k": [
5,
15
]
},
"flag-ve": {
"a": "Venezuela Flag",
"b": "1F1FB-1F1EA",
"k": [
5,
16
]
},
"woman_in_lotus_position": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D8-1F3FB-200D-2640-FE0F",
"non_qualified": "1F9D8-1F3FB-200D-2640",
"image": "1f9d8-1f3fb-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 13,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D8-1F3FB"
},
"1F3FC": {
"unified": "1F9D8-1F3FC-200D-2640-FE0F",
"non_qualified": "1F9D8-1F3FC-200D-2640",
"image": "1f9d8-1f3fc-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 14,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D8-1F3FC"
},
"1F3FD": {
"unified": "1F9D8-1F3FD-200D-2640-FE0F",
"non_qualified": "1F9D8-1F3FD-200D-2640",
"image": "1f9d8-1f3fd-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 15,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D8-1F3FD"
},
"1F3FE": {
"unified": "1F9D8-1F3FE-200D-2640-FE0F",
"non_qualified": "1F9D8-1F3FE-200D-2640",
"image": "1f9d8-1f3fe-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 16,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D8-1F3FE"
},
"1F3FF": {
"unified": "1F9D8-1F3FF-200D-2640-FE0F",
"non_qualified": "1F9D8-1F3FF-200D-2640",
"image": "1f9d8-1f3ff-200d-2640-fe0f.png",
"sheet_x": 44,
"sheet_y": 17,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false,
"obsoletes": "1F9D8-1F3FF"
}
},
"obsoletes": "1F9D8",
"a": "Woman in Lotus Position",
"b": "1F9D8-200D-2640-FE0F",
"c": "1F9D8-200D-2640",
"j": [
"woman",
"female",
"meditation",
"yoga",
"serenity",
"zen",
"mindfulness"
],
"k": [
44,
12
],
"o": 10
},
"man_in_lotus_position": {
"skin_variations": {
"1F3FB": {
"unified": "1F9D8-1F3FB-200D-2642-FE0F",
"non_qualified": "1F9D8-1F3FB-200D-2642",
"image": "1f9d8-1f3fb-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 19,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F9D8-1F3FC-200D-2642-FE0F",
"non_qualified": "1F9D8-1F3FC-200D-2642",
"image": "1f9d8-1f3fc-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 20,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F9D8-1F3FD-200D-2642-FE0F",
"non_qualified": "1F9D8-1F3FD-200D-2642",
"image": "1f9d8-1f3fd-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 21,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F9D8-1F3FE-200D-2642-FE0F",
"non_qualified": "1F9D8-1F3FE-200D-2642",
"image": "1f9d8-1f3fe-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 22,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F9D8-1F3FF-200D-2642-FE0F",
"non_qualified": "1F9D8-1F3FF-200D-2642",
"image": "1f9d8-1f3ff-200d-2642-fe0f.png",
"sheet_x": 44,
"sheet_y": 23,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man in Lotus Position",
"b": "1F9D8-200D-2642-FE0F",
"c": "1F9D8-200D-2642",
"j": [
"man",
"male",
"meditation",
"yoga",
"serenity",
"zen",
"mindfulness"
],
"k": [
44,
18
],
"o": 10
},
"flag-vg": {
"a": "British Virgin Islands Flag",
"b": "1F1FB-1F1EC",
"k": [
5,
17
]
},
"flag-vi": {
"a": "U.s. Virgin Islands Flag",
"b": "1F1FB-1F1EE",
"k": [
5,
18
]
},
"bath": {
"skin_variations": {
"1F3FB": {
"unified": "1F6C0-1F3FB",
"non_qualified": null,
"image": "1f6c0-1f3fb.png",
"sheet_x": 36,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F6C0-1F3FC",
"non_qualified": null,
"image": "1f6c0-1f3fc.png",
"sheet_x": 36,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F6C0-1F3FD",
"non_qualified": null,
"image": "1f6c0-1f3fd.png",
"sheet_x": 36,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F6C0-1F3FE",
"non_qualified": null,
"image": "1f6c0-1f3fe.png",
"sheet_x": 36,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F6C0-1F3FF",
"non_qualified": null,
"image": "1f6c0-1f3ff.png",
"sheet_x": 36,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Bath",
"b": "1F6C0",
"j": [
"clean",
"shower",
"bathroom"
],
"k": [
36,
36
]
},
"sleeping_accommodation": {
"skin_variations": {
"1F3FB": {
"unified": "1F6CC-1F3FB",
"non_qualified": null,
"image": "1f6cc-1f3fb.png",
"sheet_x": 36,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6CC-1F3FC",
"non_qualified": null,
"image": "1f6cc-1f3fc.png",
"sheet_x": 36,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6CC-1F3FD",
"non_qualified": null,
"image": "1f6cc-1f3fd.png",
"sheet_x": 36,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6CC-1F3FE",
"non_qualified": null,
"image": "1f6cc-1f3fe.png",
"sheet_x": 37,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6CC-1F3FF",
"non_qualified": null,
"image": "1f6cc-1f3ff.png",
"sheet_x": 37,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Sleeping Accommodation",
"b": "1F6CC",
"k": [
36,
48
],
"o": 7
},
"flag-vn": {
"a": "Vietnam Flag",
"b": "1F1FB-1F1F3",
"k": [
5,
19
]
},
"man_in_business_suit_levitating": {
"skin_variations": {
"1F3FB": {
"unified": "1F574-1F3FB",
"non_qualified": null,
"image": "1f574-1f3fb.png",
"sheet_x": 28,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F574-1F3FC",
"non_qualified": null,
"image": "1f574-1f3fc.png",
"sheet_x": 28,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F574-1F3FD",
"non_qualified": null,
"image": "1f574-1f3fd.png",
"sheet_x": 28,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F574-1F3FE",
"non_qualified": null,
"image": "1f574-1f3fe.png",
"sheet_x": 28,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F574-1F3FF",
"non_qualified": null,
"image": "1f574-1f3ff.png",
"sheet_x": 28,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Man in Business Suit Levitating",
"b": "1F574-FE0F",
"c": "1F574",
"k": [
28,
45
],
"o": 7
},
"flag-vu": {
"a": "Vanuatu Flag",
"b": "1F1FB-1F1FA",
"k": [
5,
20
]
},
"flag-wf": {
"a": "Wallis & Futuna Flag",
"b": "1F1FC-1F1EB",
"k": [
5,
21
]
},
"speaking_head_in_silhouette": {
"a": "Speaking Head in Silhouette",
"b": "1F5E3-FE0F",
"c": "1F5E3",
"k": [
30,
14
],
"o": 7
},
"bust_in_silhouette": {
"a": "Bust in Silhouette",
"b": "1F464",
"j": [
"user",
"person",
"human"
],
"k": [
15,
40
]
},
"flag-ws": {
"a": "Samoa Flag",
"b": "1F1FC-1F1F8",
"k": [
5,
22
]
},
"busts_in_silhouette": {
"a": "Busts in Silhouette",
"b": "1F465",
"j": [
"user",
"person",
"human",
"group",
"team"
],
"k": [
15,
41
]
},
"flag-xk": {
"a": "Kosovo Flag",
"b": "1F1FD-1F1F0",
"k": [
5,
23
]
},
"fencer": {
"a": "Fencer",
"b": "1F93A",
"k": [
40,
48
],
"o": 9
},
"flag-ye": {
"a": "Yemen Flag",
"b": "1F1FE-1F1EA",
"k": [
5,
24
]
},
"flag-yt": {
"a": "Mayotte Flag",
"b": "1F1FE-1F1F9",
"k": [
5,
25
]
},
"horse_racing": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C7-1F3FB",
"non_qualified": null,
"image": "1f3c7-1f3fb.png",
"sheet_x": 10,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F3C7-1F3FC",
"non_qualified": null,
"image": "1f3c7-1f3fc.png",
"sheet_x": 10,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F3C7-1F3FD",
"non_qualified": null,
"image": "1f3c7-1f3fd.png",
"sheet_x": 10,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F3C7-1F3FE",
"non_qualified": null,
"image": "1f3c7-1f3fe.png",
"sheet_x": 10,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F3C7-1F3FF",
"non_qualified": null,
"image": "1f3c7-1f3ff.png",
"sheet_x": 10,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Horse Racing",
"b": "1F3C7",
"j": [
"animal",
"betting",
"competition",
"gambling",
"luck"
],
"k": [
10,
20
]
},
"flag-za": {
"a": "South Africa Flag",
"b": "1F1FF-1F1E6",
"k": [
5,
26
]
},
"skier": {
"a": "Skier",
"b": "26F7-FE0F",
"c": "26F7",
"j": [
"sports",
"winter",
"snow"
],
"k": [
48,
44
],
"o": 5
},
"flag-zm": {
"a": "Zambia Flag",
"b": "1F1FF-1F1F2",
"k": [
5,
27
]
},
"snowboarder": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C2-1F3FB",
"non_qualified": null,
"image": "1f3c2-1f3fb.png",
"sheet_x": 9,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F3C2-1F3FC",
"non_qualified": null,
"image": "1f3c2-1f3fc.png",
"sheet_x": 9,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F3C2-1F3FD",
"non_qualified": null,
"image": "1f3c2-1f3fd.png",
"sheet_x": 9,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F3C2-1F3FE",
"non_qualified": null,
"image": "1f3c2-1f3fe.png",
"sheet_x": 9,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F3C2-1F3FF",
"non_qualified": null,
"image": "1f3c2-1f3ff.png",
"sheet_x": 9,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Snowboarder",
"b": "1F3C2",
"j": [
"sports",
"winter"
],
"k": [
9,
28
]
},
"golfer": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CC-1F3FB",
"non_qualified": null,
"image": "1f3cc-1f3fb.png",
"sheet_x": 11,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CC-1F3FC",
"non_qualified": null,
"image": "1f3cc-1f3fc.png",
"sheet_x": 11,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CC-1F3FD",
"non_qualified": null,
"image": "1f3cc-1f3fd.png",
"sheet_x": 11,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CC-1F3FE",
"non_qualified": null,
"image": "1f3cc-1f3fe.png",
"sheet_x": 11,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CC-1F3FF",
"non_qualified": null,
"image": "1f3cc-1f3ff.png",
"sheet_x": 11,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoleted_by": "1F3CC-FE0F-200D-2642-FE0F",
"a": "Golfer",
"b": "1F3CC-FE0F",
"c": "1F3CC",
"k": [
11,
24
],
"o": 7
},
"flag-zw": {
"a": "Zimbabwe Flag",
"b": "1F1FF-1F1FC",
"k": [
5,
28
]
},
"man-golfing": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CC-1F3FB-200D-2642-FE0F",
"non_qualified": "1F3CC-1F3FB-200D-2642",
"image": "1f3cc-1f3fb-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CC-1F3FC-200D-2642-FE0F",
"non_qualified": "1F3CC-1F3FC-200D-2642",
"image": "1f3cc-1f3fc-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CC-1F3FD-200D-2642-FE0F",
"non_qualified": "1F3CC-1F3FD-200D-2642",
"image": "1f3cc-1f3fd-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CC-1F3FE-200D-2642-FE0F",
"non_qualified": "1F3CC-1F3FE-200D-2642",
"image": "1f3cc-1f3fe-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CC-1F3FF-200D-2642-FE0F",
"non_qualified": "1F3CC-1F3FF-200D-2642",
"image": "1f3cc-1f3ff-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F3CC-FE0F",
"a": "Man Golfing",
"b": "1F3CC-FE0F-200D-2642-FE0F",
"k": [
11,
18
],
"o": 7
},
"flag-england": {
"a": "England Flag",
"b": "1F3F4-E0067-E0062-E0065-E006E-E0067-E007F",
"k": [
12,
16
],
"o": 7
},
"woman-golfing": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CC-1F3FB-200D-2640-FE0F",
"non_qualified": "1F3CC-1F3FB-200D-2640",
"image": "1f3cc-1f3fb-200d-2640-fe0f.png",
"sheet_x": 11,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CC-1F3FC-200D-2640-FE0F",
"non_qualified": "1F3CC-1F3FC-200D-2640",
"image": "1f3cc-1f3fc-200d-2640-fe0f.png",
"sheet_x": 11,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CC-1F3FD-200D-2640-FE0F",
"non_qualified": "1F3CC-1F3FD-200D-2640",
"image": "1f3cc-1f3fd-200d-2640-fe0f.png",
"sheet_x": 11,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CC-1F3FE-200D-2640-FE0F",
"non_qualified": "1F3CC-1F3FE-200D-2640",
"image": "1f3cc-1f3fe-200d-2640-fe0f.png",
"sheet_x": 11,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CC-1F3FF-200D-2640-FE0F",
"non_qualified": "1F3CC-1F3FF-200D-2640",
"image": "1f3cc-1f3ff-200d-2640-fe0f.png",
"sheet_x": 11,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Golfing",
"b": "1F3CC-FE0F-200D-2640-FE0F",
"k": [
11,
12
],
"o": 7
},
"flag-scotland": {
"a": "Scotland Flag",
"b": "1F3F4-E0067-E0062-E0073-E0063-E0074-E007F",
"k": [
12,
17
],
"o": 7
},
"flag-wales": {
"a": "Wales Flag",
"b": "1F3F4-E0067-E0062-E0077-E006C-E0073-E007F",
"k": [
12,
18
],
"o": 7
},
"surfer": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C4-1F3FB",
"non_qualified": null,
"image": "1f3c4-1f3fb.png",
"sheet_x": 10,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F3C4-1F3FC",
"non_qualified": null,
"image": "1f3c4-1f3fc.png",
"sheet_x": 10,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F3C4-1F3FD",
"non_qualified": null,
"image": "1f3c4-1f3fd.png",
"sheet_x": 10,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F3C4-1F3FE",
"non_qualified": null,
"image": "1f3c4-1f3fe.png",
"sheet_x": 10,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F3C4-1F3FF",
"non_qualified": null,
"image": "1f3c4-1f3ff.png",
"sheet_x": 10,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F3C4-200D-2642-FE0F",
"a": "Surfer",
"b": "1F3C4",
"k": [
10,
12
]
},
"man-surfing": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C4-1F3FB-200D-2642-FE0F",
"non_qualified": "1F3C4-1F3FB-200D-2642",
"image": "1f3c4-1f3fb-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3C4-1F3FC-200D-2642-FE0F",
"non_qualified": "1F3C4-1F3FC-200D-2642",
"image": "1f3c4-1f3fc-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3C4-1F3FD-200D-2642-FE0F",
"non_qualified": "1F3C4-1F3FD-200D-2642",
"image": "1f3c4-1f3fd-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3C4-1F3FE-200D-2642-FE0F",
"non_qualified": "1F3C4-1F3FE-200D-2642",
"image": "1f3c4-1f3fe-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3C4-1F3FF-200D-2642-FE0F",
"non_qualified": "1F3C4-1F3FF-200D-2642",
"image": "1f3c4-1f3ff-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F3C4",
"a": "Man Surfing",
"b": "1F3C4-200D-2642-FE0F",
"c": "1F3C4-200D-2642",
"k": [
10,
6
]
},
"woman-surfing": {
"skin_variations": {
"1F3FB": {
"unified": "1F3C4-1F3FB-200D-2640-FE0F",
"non_qualified": "1F3C4-1F3FB-200D-2640",
"image": "1f3c4-1f3fb-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3C4-1F3FC-200D-2640-FE0F",
"non_qualified": "1F3C4-1F3FC-200D-2640",
"image": "1f3c4-1f3fc-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3C4-1F3FD-200D-2640-FE0F",
"non_qualified": "1F3C4-1F3FD-200D-2640",
"image": "1f3c4-1f3fd-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3C4-1F3FE-200D-2640-FE0F",
"non_qualified": "1F3C4-1F3FE-200D-2640",
"image": "1f3c4-1f3fe-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3C4-1F3FF-200D-2640-FE0F",
"non_qualified": "1F3C4-1F3FF-200D-2640",
"image": "1f3c4-1f3ff-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Surfing",
"b": "1F3C4-200D-2640-FE0F",
"c": "1F3C4-200D-2640",
"k": [
10,
0
]
},
"rowboat": {
"skin_variations": {
"1F3FB": {
"unified": "1F6A3-1F3FB",
"non_qualified": null,
"image": "1f6a3-1f3fb.png",
"sheet_x": 35,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6A3-1F3FC",
"non_qualified": null,
"image": "1f6a3-1f3fc.png",
"sheet_x": 35,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6A3-1F3FD",
"non_qualified": null,
"image": "1f6a3-1f3fd.png",
"sheet_x": 35,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6A3-1F3FE",
"non_qualified": null,
"image": "1f6a3-1f3fe.png",
"sheet_x": 35,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6A3-1F3FF",
"non_qualified": null,
"image": "1f6a3-1f3ff.png",
"sheet_x": 35,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoleted_by": "1F6A3-200D-2642-FE0F",
"a": "Rowboat",
"b": "1F6A3",
"k": [
35,
3
]
},
"man-rowing-boat": {
"skin_variations": {
"1F3FB": {
"unified": "1F6A3-1F3FB-200D-2642-FE0F",
"non_qualified": "1F6A3-1F3FB-200D-2642",
"image": "1f6a3-1f3fb-200d-2642-fe0f.png",
"sheet_x": 34,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6A3-1F3FC-200D-2642-FE0F",
"non_qualified": "1F6A3-1F3FC-200D-2642",
"image": "1f6a3-1f3fc-200d-2642-fe0f.png",
"sheet_x": 34,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6A3-1F3FD-200D-2642-FE0F",
"non_qualified": "1F6A3-1F3FD-200D-2642",
"image": "1f6a3-1f3fd-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6A3-1F3FE-200D-2642-FE0F",
"non_qualified": "1F6A3-1F3FE-200D-2642",
"image": "1f6a3-1f3fe-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6A3-1F3FF-200D-2642-FE0F",
"non_qualified": "1F6A3-1F3FF-200D-2642",
"image": "1f6a3-1f3ff-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F6A3",
"a": "Man Rowing Boat",
"b": "1F6A3-200D-2642-FE0F",
"c": "1F6A3-200D-2642",
"k": [
34,
49
]
},
"woman-rowing-boat": {
"skin_variations": {
"1F3FB": {
"unified": "1F6A3-1F3FB-200D-2640-FE0F",
"non_qualified": "1F6A3-1F3FB-200D-2640",
"image": "1f6a3-1f3fb-200d-2640-fe0f.png",
"sheet_x": 34,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6A3-1F3FC-200D-2640-FE0F",
"non_qualified": "1F6A3-1F3FC-200D-2640",
"image": "1f6a3-1f3fc-200d-2640-fe0f.png",
"sheet_x": 34,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6A3-1F3FD-200D-2640-FE0F",
"non_qualified": "1F6A3-1F3FD-200D-2640",
"image": "1f6a3-1f3fd-200d-2640-fe0f.png",
"sheet_x": 34,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6A3-1F3FE-200D-2640-FE0F",
"non_qualified": "1F6A3-1F3FE-200D-2640",
"image": "1f6a3-1f3fe-200d-2640-fe0f.png",
"sheet_x": 34,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6A3-1F3FF-200D-2640-FE0F",
"non_qualified": "1F6A3-1F3FF-200D-2640",
"image": "1f6a3-1f3ff-200d-2640-fe0f.png",
"sheet_x": 34,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Rowing Boat",
"b": "1F6A3-200D-2640-FE0F",
"c": "1F6A3-200D-2640",
"k": [
34,
43
]
},
"swimmer": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CA-1F3FB",
"non_qualified": null,
"image": "1f3ca-1f3fb.png",
"sheet_x": 10,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F3CA-1F3FC",
"non_qualified": null,
"image": "1f3ca-1f3fc.png",
"sheet_x": 10,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F3CA-1F3FD",
"non_qualified": null,
"image": "1f3ca-1f3fd.png",
"sheet_x": 10,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F3CA-1F3FE",
"non_qualified": null,
"image": "1f3ca-1f3fe.png",
"sheet_x": 10,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F3CA-1F3FF",
"non_qualified": null,
"image": "1f3ca-1f3ff.png",
"sheet_x": 10,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F3CA-200D-2642-FE0F",
"a": "Swimmer",
"b": "1F3CA",
"k": [
10,
40
]
},
"man-swimming": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CA-1F3FB-200D-2642-FE0F",
"non_qualified": "1F3CA-1F3FB-200D-2642",
"image": "1f3ca-1f3fb-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CA-1F3FC-200D-2642-FE0F",
"non_qualified": "1F3CA-1F3FC-200D-2642",
"image": "1f3ca-1f3fc-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CA-1F3FD-200D-2642-FE0F",
"non_qualified": "1F3CA-1F3FD-200D-2642",
"image": "1f3ca-1f3fd-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CA-1F3FE-200D-2642-FE0F",
"non_qualified": "1F3CA-1F3FE-200D-2642",
"image": "1f3ca-1f3fe-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CA-1F3FF-200D-2642-FE0F",
"non_qualified": "1F3CA-1F3FF-200D-2642",
"image": "1f3ca-1f3ff-200d-2642-fe0f.png",
"sheet_x": 10,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F3CA",
"a": "Man Swimming",
"b": "1F3CA-200D-2642-FE0F",
"c": "1F3CA-200D-2642",
"k": [
10,
34
]
},
"woman-swimming": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CA-1F3FB-200D-2640-FE0F",
"non_qualified": "1F3CA-1F3FB-200D-2640",
"image": "1f3ca-1f3fb-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CA-1F3FC-200D-2640-FE0F",
"non_qualified": "1F3CA-1F3FC-200D-2640",
"image": "1f3ca-1f3fc-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CA-1F3FD-200D-2640-FE0F",
"non_qualified": "1F3CA-1F3FD-200D-2640",
"image": "1f3ca-1f3fd-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CA-1F3FE-200D-2640-FE0F",
"non_qualified": "1F3CA-1F3FE-200D-2640",
"image": "1f3ca-1f3fe-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CA-1F3FF-200D-2640-FE0F",
"non_qualified": "1F3CA-1F3FF-200D-2640",
"image": "1f3ca-1f3ff-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Swimming",
"b": "1F3CA-200D-2640-FE0F",
"c": "1F3CA-200D-2640",
"k": [
10,
28
]
},
"person_with_ball": {
"skin_variations": {
"1F3FB": {
"unified": "26F9-1F3FB",
"non_qualified": null,
"image": "26f9-1f3fb.png",
"sheet_x": 49,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "26F9-1F3FC",
"non_qualified": null,
"image": "26f9-1f3fc.png",
"sheet_x": 49,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "26F9-1F3FD",
"non_qualified": null,
"image": "26f9-1f3fd.png",
"sheet_x": 49,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "26F9-1F3FE",
"non_qualified": null,
"image": "26f9-1f3fe.png",
"sheet_x": 49,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "26F9-1F3FF",
"non_qualified": null,
"image": "26f9-1f3ff.png",
"sheet_x": 49,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoleted_by": "26F9-FE0F-200D-2642-FE0F",
"a": "Person with Ball",
"b": "26F9-FE0F",
"c": "26F9",
"k": [
49,
6
],
"o": 5
},
"man-bouncing-ball": {
"skin_variations": {
"1F3FB": {
"unified": "26F9-1F3FB-200D-2642-FE0F",
"non_qualified": "26F9-1F3FB-200D-2642",
"image": "26f9-1f3fb-200d-2642-fe0f.png",
"sheet_x": 49,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "26F9-1F3FC-200D-2642-FE0F",
"non_qualified": "26F9-1F3FC-200D-2642",
"image": "26f9-1f3fc-200d-2642-fe0f.png",
"sheet_x": 49,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "26F9-1F3FD-200D-2642-FE0F",
"non_qualified": "26F9-1F3FD-200D-2642",
"image": "26f9-1f3fd-200d-2642-fe0f.png",
"sheet_x": 49,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "26F9-1F3FE-200D-2642-FE0F",
"non_qualified": "26F9-1F3FE-200D-2642",
"image": "26f9-1f3fe-200d-2642-fe0f.png",
"sheet_x": 49,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "26F9-1F3FF-200D-2642-FE0F",
"non_qualified": "26F9-1F3FF-200D-2642",
"image": "26f9-1f3ff-200d-2642-fe0f.png",
"sheet_x": 49,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "26F9-FE0F",
"a": "Man Bouncing Ball",
"b": "26F9-FE0F-200D-2642-FE0F",
"k": [
49,
0
],
"o": 5
},
"woman-bouncing-ball": {
"skin_variations": {
"1F3FB": {
"unified": "26F9-1F3FB-200D-2640-FE0F",
"non_qualified": "26F9-1F3FB-200D-2640",
"image": "26f9-1f3fb-200d-2640-fe0f.png",
"sheet_x": 48,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "26F9-1F3FC-200D-2640-FE0F",
"non_qualified": "26F9-1F3FC-200D-2640",
"image": "26f9-1f3fc-200d-2640-fe0f.png",
"sheet_x": 48,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "26F9-1F3FD-200D-2640-FE0F",
"non_qualified": "26F9-1F3FD-200D-2640",
"image": "26f9-1f3fd-200d-2640-fe0f.png",
"sheet_x": 48,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "26F9-1F3FE-200D-2640-FE0F",
"non_qualified": "26F9-1F3FE-200D-2640",
"image": "26f9-1f3fe-200d-2640-fe0f.png",
"sheet_x": 48,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "26F9-1F3FF-200D-2640-FE0F",
"non_qualified": "26F9-1F3FF-200D-2640",
"image": "26f9-1f3ff-200d-2640-fe0f.png",
"sheet_x": 48,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Bouncing Ball",
"b": "26F9-FE0F-200D-2640-FE0F",
"k": [
48,
46
],
"o": 5
},
"weight_lifter": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CB-1F3FB",
"non_qualified": null,
"image": "1f3cb-1f3fb.png",
"sheet_x": 11,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CB-1F3FC",
"non_qualified": null,
"image": "1f3cb-1f3fc.png",
"sheet_x": 11,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CB-1F3FD",
"non_qualified": null,
"image": "1f3cb-1f3fd.png",
"sheet_x": 11,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CB-1F3FE",
"non_qualified": null,
"image": "1f3cb-1f3fe.png",
"sheet_x": 11,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CB-1F3FF",
"non_qualified": null,
"image": "1f3cb-1f3ff.png",
"sheet_x": 11,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoleted_by": "1F3CB-FE0F-200D-2642-FE0F",
"a": "Weight Lifter",
"b": "1F3CB-FE0F",
"c": "1F3CB",
"k": [
11,
6
],
"o": 7
},
"man-lifting-weights": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CB-1F3FB-200D-2642-FE0F",
"non_qualified": "1F3CB-1F3FB-200D-2642",
"image": "1f3cb-1f3fb-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CB-1F3FC-200D-2642-FE0F",
"non_qualified": "1F3CB-1F3FC-200D-2642",
"image": "1f3cb-1f3fc-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CB-1F3FD-200D-2642-FE0F",
"non_qualified": "1F3CB-1F3FD-200D-2642",
"image": "1f3cb-1f3fd-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CB-1F3FE-200D-2642-FE0F",
"non_qualified": "1F3CB-1F3FE-200D-2642",
"image": "1f3cb-1f3fe-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CB-1F3FF-200D-2642-FE0F",
"non_qualified": "1F3CB-1F3FF-200D-2642",
"image": "1f3cb-1f3ff-200d-2642-fe0f.png",
"sheet_x": 11,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F3CB-FE0F",
"a": "Man Lifting Weights",
"b": "1F3CB-FE0F-200D-2642-FE0F",
"k": [
11,
0
],
"o": 7
},
"woman-lifting-weights": {
"skin_variations": {
"1F3FB": {
"unified": "1F3CB-1F3FB-200D-2640-FE0F",
"non_qualified": "1F3CB-1F3FB-200D-2640",
"image": "1f3cb-1f3fb-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F3CB-1F3FC-200D-2640-FE0F",
"non_qualified": "1F3CB-1F3FC-200D-2640",
"image": "1f3cb-1f3fc-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F3CB-1F3FD-200D-2640-FE0F",
"non_qualified": "1F3CB-1F3FD-200D-2640",
"image": "1f3cb-1f3fd-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F3CB-1F3FE-200D-2640-FE0F",
"non_qualified": "1F3CB-1F3FE-200D-2640",
"image": "1f3cb-1f3fe-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F3CB-1F3FF-200D-2640-FE0F",
"non_qualified": "1F3CB-1F3FF-200D-2640",
"image": "1f3cb-1f3ff-200d-2640-fe0f.png",
"sheet_x": 10,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Lifting Weights",
"b": "1F3CB-FE0F-200D-2640-FE0F",
"k": [
10,
46
],
"o": 7
},
"bicyclist": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B4-1F3FB",
"non_qualified": null,
"image": "1f6b4-1f3fb.png",
"sheet_x": 35,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F6B4-1F3FC",
"non_qualified": null,
"image": "1f6b4-1f3fc.png",
"sheet_x": 35,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F6B4-1F3FD",
"non_qualified": null,
"image": "1f6b4-1f3fd.png",
"sheet_x": 35,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F6B4-1F3FE",
"non_qualified": null,
"image": "1f6b4-1f3fe.png",
"sheet_x": 35,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F6B4-1F3FF",
"non_qualified": null,
"image": "1f6b4-1f3ff.png",
"sheet_x": 35,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F6B4-200D-2642-FE0F",
"a": "Bicyclist",
"b": "1F6B4",
"k": [
35,
37
]
},
"man-biking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B4-1F3FB-200D-2642-FE0F",
"non_qualified": "1F6B4-1F3FB-200D-2642",
"image": "1f6b4-1f3fb-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B4-1F3FC-200D-2642-FE0F",
"non_qualified": "1F6B4-1F3FC-200D-2642",
"image": "1f6b4-1f3fc-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B4-1F3FD-200D-2642-FE0F",
"non_qualified": "1F6B4-1F3FD-200D-2642",
"image": "1f6b4-1f3fd-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B4-1F3FE-200D-2642-FE0F",
"non_qualified": "1F6B4-1F3FE-200D-2642",
"image": "1f6b4-1f3fe-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B4-1F3FF-200D-2642-FE0F",
"non_qualified": "1F6B4-1F3FF-200D-2642",
"image": "1f6b4-1f3ff-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F6B4",
"a": "Man Biking",
"b": "1F6B4-200D-2642-FE0F",
"c": "1F6B4-200D-2642",
"k": [
35,
31
]
},
"woman-biking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B4-1F3FB-200D-2640-FE0F",
"non_qualified": "1F6B4-1F3FB-200D-2640",
"image": "1f6b4-1f3fb-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B4-1F3FC-200D-2640-FE0F",
"non_qualified": "1F6B4-1F3FC-200D-2640",
"image": "1f6b4-1f3fc-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B4-1F3FD-200D-2640-FE0F",
"non_qualified": "1F6B4-1F3FD-200D-2640",
"image": "1f6b4-1f3fd-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B4-1F3FE-200D-2640-FE0F",
"non_qualified": "1F6B4-1F3FE-200D-2640",
"image": "1f6b4-1f3fe-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B4-1F3FF-200D-2640-FE0F",
"non_qualified": "1F6B4-1F3FF-200D-2640",
"image": "1f6b4-1f3ff-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Biking",
"b": "1F6B4-200D-2640-FE0F",
"c": "1F6B4-200D-2640",
"k": [
35,
25
]
},
"mountain_bicyclist": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B5-1F3FB",
"non_qualified": null,
"image": "1f6b5-1f3fb.png",
"sheet_x": 36,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F6B5-1F3FC",
"non_qualified": null,
"image": "1f6b5-1f3fc.png",
"sheet_x": 36,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F6B5-1F3FD",
"non_qualified": null,
"image": "1f6b5-1f3fd.png",
"sheet_x": 36,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F6B5-1F3FE",
"non_qualified": null,
"image": "1f6b5-1f3fe.png",
"sheet_x": 36,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F6B5-1F3FF",
"non_qualified": null,
"image": "1f6b5-1f3ff.png",
"sheet_x": 36,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": true
}
},
"obsoleted_by": "1F6B5-200D-2642-FE0F",
"a": "Mountain Bicyclist",
"b": "1F6B5",
"k": [
36,
3
]
},
"man-mountain-biking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B5-1F3FB-200D-2642-FE0F",
"non_qualified": "1F6B5-1F3FB-200D-2642",
"image": "1f6b5-1f3fb-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B5-1F3FC-200D-2642-FE0F",
"non_qualified": "1F6B5-1F3FC-200D-2642",
"image": "1f6b5-1f3fc-200d-2642-fe0f.png",
"sheet_x": 35,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B5-1F3FD-200D-2642-FE0F",
"non_qualified": "1F6B5-1F3FD-200D-2642",
"image": "1f6b5-1f3fd-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B5-1F3FE-200D-2642-FE0F",
"non_qualified": "1F6B5-1F3FE-200D-2642",
"image": "1f6b5-1f3fe-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B5-1F3FF-200D-2642-FE0F",
"non_qualified": "1F6B5-1F3FF-200D-2642",
"image": "1f6b5-1f3ff-200d-2642-fe0f.png",
"sheet_x": 36,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"obsoletes": "1F6B5",
"a": "Man Mountain Biking",
"b": "1F6B5-200D-2642-FE0F",
"c": "1F6B5-200D-2642",
"k": [
35,
49
]
},
"woman-mountain-biking": {
"skin_variations": {
"1F3FB": {
"unified": "1F6B5-1F3FB-200D-2640-FE0F",
"non_qualified": "1F6B5-1F3FB-200D-2640",
"image": "1f6b5-1f3fb-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F6B5-1F3FC-200D-2640-FE0F",
"non_qualified": "1F6B5-1F3FC-200D-2640",
"image": "1f6b5-1f3fc-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F6B5-1F3FD-200D-2640-FE0F",
"non_qualified": "1F6B5-1F3FD-200D-2640",
"image": "1f6b5-1f3fd-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F6B5-1F3FE-200D-2640-FE0F",
"non_qualified": "1F6B5-1F3FE-200D-2640",
"image": "1f6b5-1f3fe-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F6B5-1F3FF-200D-2640-FE0F",
"non_qualified": "1F6B5-1F3FF-200D-2640",
"image": "1f6b5-1f3ff-200d-2640-fe0f.png",
"sheet_x": 35,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Mountain Biking",
"b": "1F6B5-200D-2640-FE0F",
"c": "1F6B5-200D-2640",
"k": [
35,
43
]
},
"racing_car": {
"a": "Racing Car",
"b": "1F3CE-FE0F",
"c": "1F3CE",
"j": [
"sports",
"race",
"fast",
"formula",
"f1"
],
"k": [
11,
31
],
"o": 7
},
"racing_motorcycle": {
"a": "Racing Motorcycle",
"b": "1F3CD-FE0F",
"c": "1F3CD",
"k": [
11,
30
],
"o": 7
},
"person_doing_cartwheel": {
"skin_variations": {
"1F3FB": {
"unified": "1F938-1F3FB",
"non_qualified": null,
"image": "1f938-1f3fb.png",
"sheet_x": 40,
"sheet_y": 25,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F938-1F3FC",
"non_qualified": null,
"image": "1f938-1f3fc.png",
"sheet_x": 40,
"sheet_y": 26,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F938-1F3FD",
"non_qualified": null,
"image": "1f938-1f3fd.png",
"sheet_x": 40,
"sheet_y": 27,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F938-1F3FE",
"non_qualified": null,
"image": "1f938-1f3fe.png",
"sheet_x": 40,
"sheet_y": 28,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F938-1F3FF",
"non_qualified": null,
"image": "1f938-1f3ff.png",
"sheet_x": 40,
"sheet_y": 29,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Person Doing Cartwheel",
"b": "1F938",
"k": [
40,
24
],
"o": 9
},
"man-cartwheeling": {
"skin_variations": {
"1F3FB": {
"unified": "1F938-1F3FB-200D-2642-FE0F",
"non_qualified": "1F938-1F3FB-200D-2642",
"image": "1f938-1f3fb-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 19,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F938-1F3FC-200D-2642-FE0F",
"non_qualified": "1F938-1F3FC-200D-2642",
"image": "1f938-1f3fc-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 20,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F938-1F3FD-200D-2642-FE0F",
"non_qualified": "1F938-1F3FD-200D-2642",
"image": "1f938-1f3fd-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 21,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F938-1F3FE-200D-2642-FE0F",
"non_qualified": "1F938-1F3FE-200D-2642",
"image": "1f938-1f3fe-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 22,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F938-1F3FF-200D-2642-FE0F",
"non_qualified": "1F938-1F3FF-200D-2642",
"image": "1f938-1f3ff-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 23,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Cartwheeling",
"b": "1F938-200D-2642-FE0F",
"c": "1F938-200D-2642",
"k": [
40,
18
],
"o": 9
},
"woman-cartwheeling": {
"skin_variations": {
"1F3FB": {
"unified": "1F938-1F3FB-200D-2640-FE0F",
"non_qualified": "1F938-1F3FB-200D-2640",
"image": "1f938-1f3fb-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 13,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F938-1F3FC-200D-2640-FE0F",
"non_qualified": "1F938-1F3FC-200D-2640",
"image": "1f938-1f3fc-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 14,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F938-1F3FD-200D-2640-FE0F",
"non_qualified": "1F938-1F3FD-200D-2640",
"image": "1f938-1f3fd-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 15,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F938-1F3FE-200D-2640-FE0F",
"non_qualified": "1F938-1F3FE-200D-2640",
"image": "1f938-1f3fe-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 16,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F938-1F3FF-200D-2640-FE0F",
"non_qualified": "1F938-1F3FF-200D-2640",
"image": "1f938-1f3ff-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 17,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Cartwheeling",
"b": "1F938-200D-2640-FE0F",
"c": "1F938-200D-2640",
"k": [
40,
12
],
"o": 9
},
"wrestlers": {
"a": "Wrestlers",
"b": "1F93C",
"k": [
40,
51
],
"o": 9
},
"man-wrestling": {
"a": "Man Wrestling",
"b": "1F93C-200D-2642-FE0F",
"c": "1F93C-200D-2642",
"k": [
40,
50
],
"o": 9
},
"woman-wrestling": {
"a": "Woman Wrestling",
"b": "1F93C-200D-2640-FE0F",
"c": "1F93C-200D-2640",
"k": [
40,
49
],
"o": 9
},
"water_polo": {
"skin_variations": {
"1F3FB": {
"unified": "1F93D-1F3FB",
"non_qualified": null,
"image": "1f93d-1f3fb.png",
"sheet_x": 41,
"sheet_y": 13,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93D-1F3FC",
"non_qualified": null,
"image": "1f93d-1f3fc.png",
"sheet_x": 41,
"sheet_y": 14,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93D-1F3FD",
"non_qualified": null,
"image": "1f93d-1f3fd.png",
"sheet_x": 41,
"sheet_y": 15,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93D-1F3FE",
"non_qualified": null,
"image": "1f93d-1f3fe.png",
"sheet_x": 41,
"sheet_y": 16,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93D-1F3FF",
"non_qualified": null,
"image": "1f93d-1f3ff.png",
"sheet_x": 41,
"sheet_y": 17,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Water Polo",
"b": "1F93D",
"k": [
41,
12
],
"o": 9
},
"man-playing-water-polo": {
"skin_variations": {
"1F3FB": {
"unified": "1F93D-1F3FB-200D-2642-FE0F",
"non_qualified": "1F93D-1F3FB-200D-2642",
"image": "1f93d-1f3fb-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 7,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93D-1F3FC-200D-2642-FE0F",
"non_qualified": "1F93D-1F3FC-200D-2642",
"image": "1f93d-1f3fc-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 8,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93D-1F3FD-200D-2642-FE0F",
"non_qualified": "1F93D-1F3FD-200D-2642",
"image": "1f93d-1f3fd-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 9,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93D-1F3FE-200D-2642-FE0F",
"non_qualified": "1F93D-1F3FE-200D-2642",
"image": "1f93d-1f3fe-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 10,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93D-1F3FF-200D-2642-FE0F",
"non_qualified": "1F93D-1F3FF-200D-2642",
"image": "1f93d-1f3ff-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 11,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Playing Water Polo",
"b": "1F93D-200D-2642-FE0F",
"c": "1F93D-200D-2642",
"k": [
41,
6
],
"o": 9
},
"woman-playing-water-polo": {
"skin_variations": {
"1F3FB": {
"unified": "1F93D-1F3FB-200D-2640-FE0F",
"non_qualified": "1F93D-1F3FB-200D-2640",
"image": "1f93d-1f3fb-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 1,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93D-1F3FC-200D-2640-FE0F",
"non_qualified": "1F93D-1F3FC-200D-2640",
"image": "1f93d-1f3fc-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 2,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93D-1F3FD-200D-2640-FE0F",
"non_qualified": "1F93D-1F3FD-200D-2640",
"image": "1f93d-1f3fd-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 3,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93D-1F3FE-200D-2640-FE0F",
"non_qualified": "1F93D-1F3FE-200D-2640",
"image": "1f93d-1f3fe-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 4,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93D-1F3FF-200D-2640-FE0F",
"non_qualified": "1F93D-1F3FF-200D-2640",
"image": "1f93d-1f3ff-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 5,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Playing Water Polo",
"b": "1F93D-200D-2640-FE0F",
"c": "1F93D-200D-2640",
"k": [
41,
0
],
"o": 9
},
"handball": {
"skin_variations": {
"1F3FB": {
"unified": "1F93E-1F3FB",
"non_qualified": null,
"image": "1f93e-1f3fb.png",
"sheet_x": 41,
"sheet_y": 31,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93E-1F3FC",
"non_qualified": null,
"image": "1f93e-1f3fc.png",
"sheet_x": 41,
"sheet_y": 32,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93E-1F3FD",
"non_qualified": null,
"image": "1f93e-1f3fd.png",
"sheet_x": 41,
"sheet_y": 33,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93E-1F3FE",
"non_qualified": null,
"image": "1f93e-1f3fe.png",
"sheet_x": 41,
"sheet_y": 34,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93E-1F3FF",
"non_qualified": null,
"image": "1f93e-1f3ff.png",
"sheet_x": 41,
"sheet_y": 35,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Handball",
"b": "1F93E",
"k": [
41,
30
],
"o": 9
},
"man-playing-handball": {
"skin_variations": {
"1F3FB": {
"unified": "1F93E-1F3FB-200D-2642-FE0F",
"non_qualified": "1F93E-1F3FB-200D-2642",
"image": "1f93e-1f3fb-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 25,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93E-1F3FC-200D-2642-FE0F",
"non_qualified": "1F93E-1F3FC-200D-2642",
"image": "1f93e-1f3fc-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 26,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93E-1F3FD-200D-2642-FE0F",
"non_qualified": "1F93E-1F3FD-200D-2642",
"image": "1f93e-1f3fd-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 27,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93E-1F3FE-200D-2642-FE0F",
"non_qualified": "1F93E-1F3FE-200D-2642",
"image": "1f93e-1f3fe-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 28,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93E-1F3FF-200D-2642-FE0F",
"non_qualified": "1F93E-1F3FF-200D-2642",
"image": "1f93e-1f3ff-200d-2642-fe0f.png",
"sheet_x": 41,
"sheet_y": 29,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Playing Handball",
"b": "1F93E-200D-2642-FE0F",
"c": "1F93E-200D-2642",
"k": [
41,
24
],
"o": 9
},
"woman-playing-handball": {
"skin_variations": {
"1F3FB": {
"unified": "1F93E-1F3FB-200D-2640-FE0F",
"non_qualified": "1F93E-1F3FB-200D-2640",
"image": "1f93e-1f3fb-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 19,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F93E-1F3FC-200D-2640-FE0F",
"non_qualified": "1F93E-1F3FC-200D-2640",
"image": "1f93e-1f3fc-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 20,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F93E-1F3FD-200D-2640-FE0F",
"non_qualified": "1F93E-1F3FD-200D-2640",
"image": "1f93e-1f3fd-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 21,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F93E-1F3FE-200D-2640-FE0F",
"non_qualified": "1F93E-1F3FE-200D-2640",
"image": "1f93e-1f3fe-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 22,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F93E-1F3FF-200D-2640-FE0F",
"non_qualified": "1F93E-1F3FF-200D-2640",
"image": "1f93e-1f3ff-200d-2640-fe0f.png",
"sheet_x": 41,
"sheet_y": 23,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Playing Handball",
"b": "1F93E-200D-2640-FE0F",
"c": "1F93E-200D-2640",
"k": [
41,
18
],
"o": 9
},
"juggling": {
"skin_variations": {
"1F3FB": {
"unified": "1F939-1F3FB",
"non_qualified": null,
"image": "1f939-1f3fb.png",
"sheet_x": 40,
"sheet_y": 43,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F939-1F3FC",
"non_qualified": null,
"image": "1f939-1f3fc.png",
"sheet_x": 40,
"sheet_y": 44,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F939-1F3FD",
"non_qualified": null,
"image": "1f939-1f3fd.png",
"sheet_x": 40,
"sheet_y": 45,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F939-1F3FE",
"non_qualified": null,
"image": "1f939-1f3fe.png",
"sheet_x": 40,
"sheet_y": 46,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F939-1F3FF",
"non_qualified": null,
"image": "1f939-1f3ff.png",
"sheet_x": 40,
"sheet_y": 47,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Juggling",
"b": "1F939",
"k": [
40,
42
],
"o": 9
},
"man-juggling": {
"skin_variations": {
"1F3FB": {
"unified": "1F939-1F3FB-200D-2642-FE0F",
"non_qualified": "1F939-1F3FB-200D-2642",
"image": "1f939-1f3fb-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 37,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F939-1F3FC-200D-2642-FE0F",
"non_qualified": "1F939-1F3FC-200D-2642",
"image": "1f939-1f3fc-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 38,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F939-1F3FD-200D-2642-FE0F",
"non_qualified": "1F939-1F3FD-200D-2642",
"image": "1f939-1f3fd-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 39,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F939-1F3FE-200D-2642-FE0F",
"non_qualified": "1F939-1F3FE-200D-2642",
"image": "1f939-1f3fe-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 40,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F939-1F3FF-200D-2642-FE0F",
"non_qualified": "1F939-1F3FF-200D-2642",
"image": "1f939-1f3ff-200d-2642-fe0f.png",
"sheet_x": 40,
"sheet_y": 41,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Man Juggling",
"b": "1F939-200D-2642-FE0F",
"c": "1F939-200D-2642",
"k": [
40,
36
],
"o": 9
},
"woman-juggling": {
"skin_variations": {
"1F3FB": {
"unified": "1F939-1F3FB-200D-2640-FE0F",
"non_qualified": "1F939-1F3FB-200D-2640",
"image": "1f939-1f3fb-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 31,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F939-1F3FC-200D-2640-FE0F",
"non_qualified": "1F939-1F3FC-200D-2640",
"image": "1f939-1f3fc-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 32,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F939-1F3FD-200D-2640-FE0F",
"non_qualified": "1F939-1F3FD-200D-2640",
"image": "1f939-1f3fd-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 33,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F939-1F3FE-200D-2640-FE0F",
"non_qualified": "1F939-1F3FE-200D-2640",
"image": "1f939-1f3fe-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 34,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F939-1F3FF-200D-2640-FE0F",
"non_qualified": "1F939-1F3FF-200D-2640",
"image": "1f939-1f3ff-200d-2640-fe0f.png",
"sheet_x": 40,
"sheet_y": 35,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": false,
"has_img_messenger": false
}
},
"a": "Woman Juggling",
"b": "1F939-200D-2640-FE0F",
"c": "1F939-200D-2640",
"k": [
40,
30
],
"o": 9
},
"couple": {
"a": "Man and Woman Holding Hands",
"b": "1F46B",
"j": [
"pair",
"people",
"human",
"love",
"date",
"dating",
"like",
"affection",
"valentines",
"marriage"
],
"k": [
20,
30
],
"n": [
"man_and_woman_holding_hands"
]
},
"two_men_holding_hands": {
"a": "Two Men Holding Hands",
"b": "1F46C",
"j": [
"pair",
"couple",
"love",
"like",
"bromance",
"friendship",
"people",
"human"
],
"k": [
20,
31
]
},
"two_women_holding_hands": {
"a": "Two Women Holding Hands",
"b": "1F46D",
"j": [
"pair",
"friendship",
"couple",
"love",
"like",
"female",
"people",
"human"
],
"k": [
20,
32
]
},
"couplekiss": {
"obsoleted_by": "1F469-200D-2764-FE0F-200D-1F48B-200D-1F468",
"a": "Kiss",
"b": "1F48F",
"k": [
24,
41
]
},
"woman-kiss-man": {
"obsoletes": "1F48F",
"a": "Woman Kiss Man",
"b": "1F469-200D-2764-FE0F-200D-1F48B-200D-1F468",
"c": "1F469-200D-2764-200D-1F48B-200D-1F468",
"k": [
20,
21
]
},
"man-kiss-man": {
"a": "Man Kiss Man",
"b": "1F468-200D-2764-FE0F-200D-1F48B-200D-1F468",
"c": "1F468-200D-2764-200D-1F48B-200D-1F468",
"k": [
18,
10
]
},
"woman-kiss-woman": {
"a": "Woman Kiss Woman",
"b": "1F469-200D-2764-FE0F-200D-1F48B-200D-1F469",
"c": "1F469-200D-2764-200D-1F48B-200D-1F469",
"k": [
20,
22
]
},
"couple_with_heart": {
"obsoleted_by": "1F469-200D-2764-FE0F-200D-1F468",
"a": "Couple with Heart",
"b": "1F491",
"k": [
24,
43
]
},
"woman-heart-man": {
"obsoletes": "1F491",
"a": "Woman Heart Man",
"b": "1F469-200D-2764-FE0F-200D-1F468",
"c": "1F469-200D-2764-200D-1F468",
"k": [
20,
19
]
},
"man-heart-man": {
"a": "Man Heart Man",
"b": "1F468-200D-2764-FE0F-200D-1F468",
"c": "1F468-200D-2764-200D-1F468",
"k": [
18,
9
]
},
"woman-heart-woman": {
"a": "Woman Heart Woman",
"b": "1F469-200D-2764-FE0F-200D-1F469",
"c": "1F469-200D-2764-200D-1F469",
"k": [
20,
20
]
},
"family": {
"obsoleted_by": "1F468-200D-1F469-200D-1F466",
"a": "Family",
"b": "1F46A",
"k": [
20,
29
],
"n": [
"man-woman-boy"
]
},
"man-woman-boy": {
"obsoletes": "1F46A",
"a": "Man Woman Boy",
"b": "1F468-200D-1F469-200D-1F466",
"k": [
17,
2
],
"n": [
"family"
]
},
"man-woman-girl": {
"a": "Man Woman Girl",
"b": "1F468-200D-1F469-200D-1F467",
"k": [
17,
4
]
},
"man-woman-girl-boy": {
"a": "Man Woman Girl Boy",
"b": "1F468-200D-1F469-200D-1F467-200D-1F466",
"k": [
17,
5
]
},
"man-woman-boy-boy": {
"a": "Man Woman Boy Boy",
"b": "1F468-200D-1F469-200D-1F466-200D-1F466",
"k": [
17,
3
]
},
"man-woman-girl-girl": {
"a": "Man Woman Girl Girl",
"b": "1F468-200D-1F469-200D-1F467-200D-1F467",
"k": [
17,
6
]
},
"man-man-boy": {
"a": "Man Man Boy",
"b": "1F468-200D-1F468-200D-1F466",
"k": [
16,
49
]
},
"man-man-girl": {
"a": "Man Man Girl",
"b": "1F468-200D-1F468-200D-1F467",
"k": [
16,
51
]
},
"man-man-girl-boy": {
"a": "Man Man Girl Boy",
"b": "1F468-200D-1F468-200D-1F467-200D-1F466",
"k": [
17,
0
]
},
"man-man-boy-boy": {
"a": "Man Man Boy Boy",
"b": "1F468-200D-1F468-200D-1F466-200D-1F466",
"k": [
16,
50
]
},
"man-man-girl-girl": {
"a": "Man Man Girl Girl",
"b": "1F468-200D-1F468-200D-1F467-200D-1F467",
"k": [
17,
1
]
},
"woman-woman-boy": {
"a": "Woman Woman Boy",
"b": "1F469-200D-1F469-200D-1F466",
"k": [
19,
12
]
},
"woman-woman-girl": {
"a": "Woman Woman Girl",
"b": "1F469-200D-1F469-200D-1F467",
"k": [
19,
14
]
},
"woman-woman-girl-boy": {
"a": "Woman Woman Girl Boy",
"b": "1F469-200D-1F469-200D-1F467-200D-1F466",
"k": [
19,
15
]
},
"woman-woman-boy-boy": {
"a": "Woman Woman Boy Boy",
"b": "1F469-200D-1F469-200D-1F466-200D-1F466",
"k": [
19,
13
]
},
"woman-woman-girl-girl": {
"a": "Woman Woman Girl Girl",
"b": "1F469-200D-1F469-200D-1F467-200D-1F467",
"k": [
19,
16
]
},
"man-boy": {
"a": "Man Boy",
"b": "1F468-200D-1F466",
"k": [
16,
45
]
},
"man-boy-boy": {
"a": "Man Boy Boy",
"b": "1F468-200D-1F466-200D-1F466",
"k": [
16,
44
]
},
"man-girl": {
"a": "Man Girl",
"b": "1F468-200D-1F467",
"k": [
16,
48
]
},
"man-girl-boy": {
"a": "Man Girl Boy",
"b": "1F468-200D-1F467-200D-1F466",
"k": [
16,
46
]
},
"man-girl-girl": {
"a": "Man Girl Girl",
"b": "1F468-200D-1F467-200D-1F467",
"k": [
16,
47
]
},
"woman-boy": {
"a": "Woman Boy",
"b": "1F469-200D-1F466",
"k": [
19,
8
]
},
"woman-boy-boy": {
"a": "Woman Boy Boy",
"b": "1F469-200D-1F466-200D-1F466",
"k": [
19,
7
]
},
"woman-girl": {
"a": "Woman Girl",
"b": "1F469-200D-1F467",
"k": [
19,
11
]
},
"woman-girl-boy": {
"a": "Woman Girl Boy",
"b": "1F469-200D-1F467-200D-1F466",
"k": [
19,
9
]
},
"woman-girl-girl": {
"a": "Woman Girl Girl",
"b": "1F469-200D-1F467-200D-1F467",
"k": [
19,
10
]
},
"selfie": {
"skin_variations": {
"1F3FB": {
"unified": "1F933-1F3FB",
"non_qualified": null,
"image": "1f933-1f3fb.png",
"sheet_x": 39,
"sheet_y": 23,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F933-1F3FC",
"non_qualified": null,
"image": "1f933-1f3fc.png",
"sheet_x": 39,
"sheet_y": 24,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F933-1F3FD",
"non_qualified": null,
"image": "1f933-1f3fd.png",
"sheet_x": 39,
"sheet_y": 25,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F933-1F3FE",
"non_qualified": null,
"image": "1f933-1f3fe.png",
"sheet_x": 39,
"sheet_y": 26,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F933-1F3FF",
"non_qualified": null,
"image": "1f933-1f3ff.png",
"sheet_x": 39,
"sheet_y": 27,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Selfie",
"b": "1F933",
"j": [
"camera",
"phone"
],
"k": [
39,
22
],
"o": 9
},
"muscle": {
"skin_variations": {
"1F3FB": {
"unified": "1F4AA-1F3FB",
"non_qualified": null,
"image": "1f4aa-1f3fb.png",
"sheet_x": 25,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F4AA-1F3FC",
"non_qualified": null,
"image": "1f4aa-1f3fc.png",
"sheet_x": 25,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F4AA-1F3FD",
"non_qualified": null,
"image": "1f4aa-1f3fd.png",
"sheet_x": 25,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F4AA-1F3FE",
"non_qualified": null,
"image": "1f4aa-1f3fe.png",
"sheet_x": 25,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F4AA-1F3FF",
"non_qualified": null,
"image": "1f4aa-1f3ff.png",
"sheet_x": 25,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Flexed Biceps",
"b": "1F4AA",
"j": [
"arm",
"flex",
"hand",
"summer",
"strong",
"biceps"
],
"k": [
25,
16
]
},
"point_left": {
"skin_variations": {
"1F3FB": {
"unified": "1F448-1F3FB",
"non_qualified": null,
"image": "1f448-1f3fb.png",
"sheet_x": 14,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F448-1F3FC",
"non_qualified": null,
"image": "1f448-1f3fc.png",
"sheet_x": 14,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F448-1F3FD",
"non_qualified": null,
"image": "1f448-1f3fd.png",
"sheet_x": 14,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F448-1F3FE",
"non_qualified": null,
"image": "1f448-1f3fe.png",
"sheet_x": 14,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F448-1F3FF",
"non_qualified": null,
"image": "1f448-1f3ff.png",
"sheet_x": 14,
"sheet_y": 24,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "White Left Pointing Backhand Index",
"b": "1F448",
"j": [
"direction",
"fingers",
"hand",
"left"
],
"k": [
14,
19
]
},
"point_right": {
"skin_variations": {
"1F3FB": {
"unified": "1F449-1F3FB",
"non_qualified": null,
"image": "1f449-1f3fb.png",
"sheet_x": 14,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F449-1F3FC",
"non_qualified": null,
"image": "1f449-1f3fc.png",
"sheet_x": 14,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F449-1F3FD",
"non_qualified": null,
"image": "1f449-1f3fd.png",
"sheet_x": 14,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F449-1F3FE",
"non_qualified": null,
"image": "1f449-1f3fe.png",
"sheet_x": 14,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F449-1F3FF",
"non_qualified": null,
"image": "1f449-1f3ff.png",
"sheet_x": 14,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "White Right Pointing Backhand Index",
"b": "1F449",
"j": [
"fingers",
"hand",
"direction",
"right"
],
"k": [
14,
25
]
},
"point_up": {
"skin_variations": {
"1F3FB": {
"unified": "261D-1F3FB",
"non_qualified": null,
"image": "261d-1f3fb.png",
"sheet_x": 47,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "261D-1F3FC",
"non_qualified": null,
"image": "261d-1f3fc.png",
"sheet_x": 47,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "261D-1F3FD",
"non_qualified": null,
"image": "261d-1f3fd.png",
"sheet_x": 47,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "261D-1F3FE",
"non_qualified": null,
"image": "261d-1f3fe.png",
"sheet_x": 47,
"sheet_y": 30,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "261D-1F3FF",
"non_qualified": null,
"image": "261d-1f3ff.png",
"sheet_x": 47,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "White Up Pointing Index",
"b": "261D-FE0F",
"c": "261D",
"j": [
"hand",
"fingers",
"direction",
"up"
],
"k": [
47,
26
],
"o": 1
},
"point_up_2": {
"skin_variations": {
"1F3FB": {
"unified": "1F446-1F3FB",
"non_qualified": null,
"image": "1f446-1f3fb.png",
"sheet_x": 14,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F446-1F3FC",
"non_qualified": null,
"image": "1f446-1f3fc.png",
"sheet_x": 14,
"sheet_y": 9,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F446-1F3FD",
"non_qualified": null,
"image": "1f446-1f3fd.png",
"sheet_x": 14,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F446-1F3FE",
"non_qualified": null,
"image": "1f446-1f3fe.png",
"sheet_x": 14,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F446-1F3FF",
"non_qualified": null,
"image": "1f446-1f3ff.png",
"sheet_x": 14,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "White Up Pointing Backhand Index",
"b": "1F446",
"j": [
"fingers",
"hand",
"direction",
"up"
],
"k": [
14,
7
]
},
"middle_finger": {
"skin_variations": {
"1F3FB": {
"unified": "1F595-1F3FB",
"non_qualified": null,
"image": "1f595-1f3fb.png",
"sheet_x": 29,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F595-1F3FC",
"non_qualified": null,
"image": "1f595-1f3fc.png",
"sheet_x": 29,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F595-1F3FD",
"non_qualified": null,
"image": "1f595-1f3fd.png",
"sheet_x": 29,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F595-1F3FE",
"non_qualified": null,
"image": "1f595-1f3fe.png",
"sheet_x": 29,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F595-1F3FF",
"non_qualified": null,
"image": "1f595-1f3ff.png",
"sheet_x": 29,
"sheet_y": 43,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Reversed Hand with Middle Finger Extended",
"b": "1F595",
"k": [
29,
38
],
"n": [
"reversed_hand_with_middle_finger_extended"
],
"o": 7
},
"point_down": {
"skin_variations": {
"1F3FB": {
"unified": "1F447-1F3FB",
"non_qualified": null,
"image": "1f447-1f3fb.png",
"sheet_x": 14,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F447-1F3FC",
"non_qualified": null,
"image": "1f447-1f3fc.png",
"sheet_x": 14,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F447-1F3FD",
"non_qualified": null,
"image": "1f447-1f3fd.png",
"sheet_x": 14,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F447-1F3FE",
"non_qualified": null,
"image": "1f447-1f3fe.png",
"sheet_x": 14,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F447-1F3FF",
"non_qualified": null,
"image": "1f447-1f3ff.png",
"sheet_x": 14,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "White Down Pointing Backhand Index",
"b": "1F447",
"j": [
"fingers",
"hand",
"direction",
"down"
],
"k": [
14,
13
]
},
"v": {
"skin_variations": {
"1F3FB": {
"unified": "270C-1F3FB",
"non_qualified": null,
"image": "270c-1f3fb.png",
"sheet_x": 49,
"sheet_y": 31,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "270C-1F3FC",
"non_qualified": null,
"image": "270c-1f3fc.png",
"sheet_x": 49,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "270C-1F3FD",
"non_qualified": null,
"image": "270c-1f3fd.png",
"sheet_x": 49,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "270C-1F3FE",
"non_qualified": null,
"image": "270c-1f3fe.png",
"sheet_x": 49,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "270C-1F3FF",
"non_qualified": null,
"image": "270c-1f3ff.png",
"sheet_x": 49,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Victory Hand",
"b": "270C-FE0F",
"c": "270C",
"j": [
"fingers",
"ohyeah",
"hand",
"peace",
"victory",
"two"
],
"k": [
49,
30
],
"o": 1
},
"crossed_fingers": {
"skin_variations": {
"1F3FB": {
"unified": "1F91E-1F3FB",
"non_qualified": null,
"image": "1f91e-1f3fb.png",
"sheet_x": 38,
"sheet_y": 12,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F91E-1F3FC",
"non_qualified": null,
"image": "1f91e-1f3fc.png",
"sheet_x": 38,
"sheet_y": 13,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F91E-1F3FD",
"non_qualified": null,
"image": "1f91e-1f3fd.png",
"sheet_x": 38,
"sheet_y": 14,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F91E-1F3FE",
"non_qualified": null,
"image": "1f91e-1f3fe.png",
"sheet_x": 38,
"sheet_y": 15,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F91E-1F3FF",
"non_qualified": null,
"image": "1f91e-1f3ff.png",
"sheet_x": 38,
"sheet_y": 16,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Hand with Index and Middle Fingers Crossed",
"b": "1F91E",
"j": [
"good",
"lucky"
],
"k": [
38,
11
],
"n": [
"hand_with_index_and_middle_fingers_crossed"
],
"o": 9
},
"spock-hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F596-1F3FB",
"non_qualified": null,
"image": "1f596-1f3fb.png",
"sheet_x": 29,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F596-1F3FC",
"non_qualified": null,
"image": "1f596-1f3fc.png",
"sheet_x": 29,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F596-1F3FD",
"non_qualified": null,
"image": "1f596-1f3fd.png",
"sheet_x": 29,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F596-1F3FE",
"non_qualified": null,
"image": "1f596-1f3fe.png",
"sheet_x": 29,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F596-1F3FF",
"non_qualified": null,
"image": "1f596-1f3ff.png",
"sheet_x": 29,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Raised Hand with Part Between Middle and Ring Fingers",
"b": "1F596",
"k": [
29,
44
],
"o": 7
},
"the_horns": {
"skin_variations": {
"1F3FB": {
"unified": "1F918-1F3FB",
"non_qualified": null,
"image": "1f918-1f3fb.png",
"sheet_x": 37,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F918-1F3FC",
"non_qualified": null,
"image": "1f918-1f3fc.png",
"sheet_x": 37,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F918-1F3FD",
"non_qualified": null,
"image": "1f918-1f3fd.png",
"sheet_x": 37,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F918-1F3FE",
"non_qualified": null,
"image": "1f918-1f3fe.png",
"sheet_x": 37,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F918-1F3FF",
"non_qualified": null,
"image": "1f918-1f3ff.png",
"sheet_x": 37,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Sign of the Horns",
"b": "1F918",
"k": [
37,
32
],
"n": [
"sign_of_the_horns"
],
"o": 8
},
"call_me_hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F919-1F3FB",
"non_qualified": null,
"image": "1f919-1f3fb.png",
"sheet_x": 37,
"sheet_y": 39,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F919-1F3FC",
"non_qualified": null,
"image": "1f919-1f3fc.png",
"sheet_x": 37,
"sheet_y": 40,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F919-1F3FD",
"non_qualified": null,
"image": "1f919-1f3fd.png",
"sheet_x": 37,
"sheet_y": 41,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F919-1F3FE",
"non_qualified": null,
"image": "1f919-1f3fe.png",
"sheet_x": 37,
"sheet_y": 42,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F919-1F3FF",
"non_qualified": null,
"image": "1f919-1f3ff.png",
"sheet_x": 37,
"sheet_y": 43,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Call Me Hand",
"b": "1F919",
"j": [
"hands",
"gesture"
],
"k": [
37,
38
],
"o": 9
},
"raised_hand_with_fingers_splayed": {
"skin_variations": {
"1F3FB": {
"unified": "1F590-1F3FB",
"non_qualified": null,
"image": "1f590-1f3fb.png",
"sheet_x": 29,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F590-1F3FC",
"non_qualified": null,
"image": "1f590-1f3fc.png",
"sheet_x": 29,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F590-1F3FD",
"non_qualified": null,
"image": "1f590-1f3fd.png",
"sheet_x": 29,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F590-1F3FE",
"non_qualified": null,
"image": "1f590-1f3fe.png",
"sheet_x": 29,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F590-1F3FF",
"non_qualified": null,
"image": "1f590-1f3ff.png",
"sheet_x": 29,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Raised Hand with Fingers Splayed",
"b": "1F590-FE0F",
"c": "1F590",
"j": [
"hand",
"fingers",
"palm"
],
"k": [
29,
32
],
"o": 7
},
"hand": {
"skin_variations": {
"1F3FB": {
"unified": "270B-1F3FB",
"non_qualified": null,
"image": "270b-1f3fb.png",
"sheet_x": 49,
"sheet_y": 25,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "270B-1F3FC",
"non_qualified": null,
"image": "270b-1f3fc.png",
"sheet_x": 49,
"sheet_y": 26,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "270B-1F3FD",
"non_qualified": null,
"image": "270b-1f3fd.png",
"sheet_x": 49,
"sheet_y": 27,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "270B-1F3FE",
"non_qualified": null,
"image": "270b-1f3fe.png",
"sheet_x": 49,
"sheet_y": 28,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "270B-1F3FF",
"non_qualified": null,
"image": "270b-1f3ff.png",
"sheet_x": 49,
"sheet_y": 29,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Raised Hand",
"b": "270B",
"k": [
49,
24
],
"n": [
"raised_hand"
]
},
"ok_hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F44C-1F3FB",
"non_qualified": null,
"image": "1f44c-1f3fb.png",
"sheet_x": 14,
"sheet_y": 44,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44C-1F3FC",
"non_qualified": null,
"image": "1f44c-1f3fc.png",
"sheet_x": 14,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44C-1F3FD",
"non_qualified": null,
"image": "1f44c-1f3fd.png",
"sheet_x": 14,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44C-1F3FE",
"non_qualified": null,
"image": "1f44c-1f3fe.png",
"sheet_x": 14,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44C-1F3FF",
"non_qualified": null,
"image": "1f44c-1f3ff.png",
"sheet_x": 14,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Ok Hand Sign",
"b": "1F44C",
"j": [
"fingers",
"limbs",
"perfect",
"ok",
"okay"
],
"k": [
14,
43
]
},
"plus1": {
"skin_variations": {
"1F3FB": {
"unified": "1F44D-1F3FB",
"non_qualified": null,
"image": "1f44d-1f3fb.png",
"sheet_x": 14,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44D-1F3FC",
"non_qualified": null,
"image": "1f44d-1f3fc.png",
"sheet_x": 14,
"sheet_y": 51,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44D-1F3FD",
"non_qualified": null,
"image": "1f44d-1f3fd.png",
"sheet_x": 15,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44D-1F3FE",
"non_qualified": null,
"image": "1f44d-1f3fe.png",
"sheet_x": 15,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44D-1F3FF",
"non_qualified": null,
"image": "1f44d-1f3ff.png",
"sheet_x": 15,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Thumbs Up Sign",
"b": "1F44D",
"j": [
"thumbsup",
"yes",
"awesome",
"good",
"agree",
"accept",
"cool",
"hand",
"like"
],
"k": [
14,
49
],
"n": [
"thumbsup"
]
},
"-1": {
"skin_variations": {
"1F3FB": {
"unified": "1F44E-1F3FB",
"non_qualified": null,
"image": "1f44e-1f3fb.png",
"sheet_x": 15,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44E-1F3FC",
"non_qualified": null,
"image": "1f44e-1f3fc.png",
"sheet_x": 15,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44E-1F3FD",
"non_qualified": null,
"image": "1f44e-1f3fd.png",
"sheet_x": 15,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44E-1F3FE",
"non_qualified": null,
"image": "1f44e-1f3fe.png",
"sheet_x": 15,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44E-1F3FF",
"non_qualified": null,
"image": "1f44e-1f3ff.png",
"sheet_x": 15,
"sheet_y": 8,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Thumbs Down Sign",
"b": "1F44E",
"j": [
"thumbsdown",
"no",
"dislike",
"hand"
],
"k": [
15,
3
],
"n": [
"thumbsdown"
]
},
"fist": {
"skin_variations": {
"1F3FB": {
"unified": "270A-1F3FB",
"non_qualified": null,
"image": "270a-1f3fb.png",
"sheet_x": 49,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "270A-1F3FC",
"non_qualified": null,
"image": "270a-1f3fc.png",
"sheet_x": 49,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "270A-1F3FD",
"non_qualified": null,
"image": "270a-1f3fd.png",
"sheet_x": 49,
"sheet_y": 21,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "270A-1F3FE",
"non_qualified": null,
"image": "270a-1f3fe.png",
"sheet_x": 49,
"sheet_y": 22,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "270A-1F3FF",
"non_qualified": null,
"image": "270a-1f3ff.png",
"sheet_x": 49,
"sheet_y": 23,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Raised Fist",
"b": "270A",
"j": [
"fingers",
"hand",
"grasp"
],
"k": [
49,
18
]
},
"facepunch": {
"skin_variations": {
"1F3FB": {
"unified": "1F44A-1F3FB",
"non_qualified": null,
"image": "1f44a-1f3fb.png",
"sheet_x": 14,
"sheet_y": 32,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44A-1F3FC",
"non_qualified": null,
"image": "1f44a-1f3fc.png",
"sheet_x": 14,
"sheet_y": 33,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44A-1F3FD",
"non_qualified": null,
"image": "1f44a-1f3fd.png",
"sheet_x": 14,
"sheet_y": 34,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44A-1F3FE",
"non_qualified": null,
"image": "1f44a-1f3fe.png",
"sheet_x": 14,
"sheet_y": 35,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44A-1F3FF",
"non_qualified": null,
"image": "1f44a-1f3ff.png",
"sheet_x": 14,
"sheet_y": 36,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Fisted Hand Sign",
"b": "1F44A",
"j": [
"angry",
"violence",
"fist",
"hit",
"attack",
"hand"
],
"k": [
14,
31
],
"n": [
"punch"
]
},
"left-facing_fist": {
"skin_variations": {
"1F3FB": {
"unified": "1F91B-1F3FB",
"non_qualified": null,
"image": "1f91b-1f3fb.png",
"sheet_x": 37,
"sheet_y": 51,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F91B-1F3FC",
"non_qualified": null,
"image": "1f91b-1f3fc.png",
"sheet_x": 38,
"sheet_y": 0,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F91B-1F3FD",
"non_qualified": null,
"image": "1f91b-1f3fd.png",
"sheet_x": 38,
"sheet_y": 1,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F91B-1F3FE",
"non_qualified": null,
"image": "1f91b-1f3fe.png",
"sheet_x": 38,
"sheet_y": 2,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F91B-1F3FF",
"non_qualified": null,
"image": "1f91b-1f3ff.png",
"sheet_x": 38,
"sheet_y": 3,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Left-Facing Fist",
"b": "1F91B",
"k": [
37,
50
],
"o": 9
},
"right-facing_fist": {
"skin_variations": {
"1F3FB": {
"unified": "1F91C-1F3FB",
"non_qualified": null,
"image": "1f91c-1f3fb.png",
"sheet_x": 38,
"sheet_y": 5,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F91C-1F3FC",
"non_qualified": null,
"image": "1f91c-1f3fc.png",
"sheet_x": 38,
"sheet_y": 6,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F91C-1F3FD",
"non_qualified": null,
"image": "1f91c-1f3fd.png",
"sheet_x": 38,
"sheet_y": 7,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F91C-1F3FE",
"non_qualified": null,
"image": "1f91c-1f3fe.png",
"sheet_x": 38,
"sheet_y": 8,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F91C-1F3FF",
"non_qualified": null,
"image": "1f91c-1f3ff.png",
"sheet_x": 38,
"sheet_y": 9,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Right-Facing Fist",
"b": "1F91C",
"k": [
38,
4
],
"o": 9
},
"raised_back_of_hand": {
"skin_variations": {
"1F3FB": {
"unified": "1F91A-1F3FB",
"non_qualified": null,
"image": "1f91a-1f3fb.png",
"sheet_x": 37,
"sheet_y": 45,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F91A-1F3FC",
"non_qualified": null,
"image": "1f91a-1f3fc.png",
"sheet_x": 37,
"sheet_y": 46,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F91A-1F3FD",
"non_qualified": null,
"image": "1f91a-1f3fd.png",
"sheet_x": 37,
"sheet_y": 47,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F91A-1F3FE",
"non_qualified": null,
"image": "1f91a-1f3fe.png",
"sheet_x": 37,
"sheet_y": 48,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F91A-1F3FF",
"non_qualified": null,
"image": "1f91a-1f3ff.png",
"sheet_x": 37,
"sheet_y": 49,
"added_in": "9.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Raised Back of Hand",
"b": "1F91A",
"j": [
"fingers",
"raised",
"backhand"
],
"k": [
37,
44
],
"o": 9
},
"wave": {
"skin_variations": {
"1F3FB": {
"unified": "1F44B-1F3FB",
"non_qualified": null,
"image": "1f44b-1f3fb.png",
"sheet_x": 14,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44B-1F3FC",
"non_qualified": null,
"image": "1f44b-1f3fc.png",
"sheet_x": 14,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44B-1F3FD",
"non_qualified": null,
"image": "1f44b-1f3fd.png",
"sheet_x": 14,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44B-1F3FE",
"non_qualified": null,
"image": "1f44b-1f3fe.png",
"sheet_x": 14,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44B-1F3FF",
"non_qualified": null,
"image": "1f44b-1f3ff.png",
"sheet_x": 14,
"sheet_y": 42,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Waving Hand Sign",
"b": "1F44B",
"j": [
"hands",
"gesture",
"goodbye",
"solong",
"farewell",
"hello",
"hi",
"palm"
],
"k": [
14,
37
]
},
"i_love_you_hand_sign": {
"skin_variations": {
"1F3FB": {
"unified": "1F91F-1F3FB",
"non_qualified": null,
"image": "1f91f-1f3fb.png",
"sheet_x": 38,
"sheet_y": 18,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F91F-1F3FC",
"non_qualified": null,
"image": "1f91f-1f3fc.png",
"sheet_x": 38,
"sheet_y": 19,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F91F-1F3FD",
"non_qualified": null,
"image": "1f91f-1f3fd.png",
"sheet_x": 38,
"sheet_y": 20,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F91F-1F3FE",
"non_qualified": null,
"image": "1f91f-1f3fe.png",
"sheet_x": 38,
"sheet_y": 21,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F91F-1F3FF",
"non_qualified": null,
"image": "1f91f-1f3ff.png",
"sheet_x": 38,
"sheet_y": 22,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "I Love You Hand Sign",
"b": "1F91F",
"k": [
38,
17
],
"o": 10
},
"writing_hand": {
"skin_variations": {
"1F3FB": {
"unified": "270D-1F3FB",
"non_qualified": null,
"image": "270d-1f3fb.png",
"sheet_x": 49,
"sheet_y": 37,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "270D-1F3FC",
"non_qualified": null,
"image": "270d-1f3fc.png",
"sheet_x": 49,
"sheet_y": 38,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "270D-1F3FD",
"non_qualified": null,
"image": "270d-1f3fd.png",
"sheet_x": 49,
"sheet_y": 39,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "270D-1F3FE",
"non_qualified": null,
"image": "270d-1f3fe.png",
"sheet_x": 49,
"sheet_y": 40,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "270D-1F3FF",
"non_qualified": null,
"image": "270d-1f3ff.png",
"sheet_x": 49,
"sheet_y": 41,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Writing Hand",
"b": "270D-FE0F",
"c": "270D",
"j": [
"lower_left_ballpoint_pen",
"stationery",
"write",
"compose"
],
"k": [
49,
36
],
"o": 1
},
"clap": {
"skin_variations": {
"1F3FB": {
"unified": "1F44F-1F3FB",
"non_qualified": null,
"image": "1f44f-1f3fb.png",
"sheet_x": 15,
"sheet_y": 10,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F44F-1F3FC",
"non_qualified": null,
"image": "1f44f-1f3fc.png",
"sheet_x": 15,
"sheet_y": 11,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F44F-1F3FD",
"non_qualified": null,
"image": "1f44f-1f3fd.png",
"sheet_x": 15,
"sheet_y": 12,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F44F-1F3FE",
"non_qualified": null,
"image": "1f44f-1f3fe.png",
"sheet_x": 15,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F44F-1F3FF",
"non_qualified": null,
"image": "1f44f-1f3ff.png",
"sheet_x": 15,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Clapping Hands Sign",
"b": "1F44F",
"j": [
"hands",
"praise",
"applause",
"congrats",
"yay"
],
"k": [
15,
9
]
},
"open_hands": {
"skin_variations": {
"1F3FB": {
"unified": "1F450-1F3FB",
"non_qualified": null,
"image": "1f450-1f3fb.png",
"sheet_x": 15,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F450-1F3FC",
"non_qualified": null,
"image": "1f450-1f3fc.png",
"sheet_x": 15,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F450-1F3FD",
"non_qualified": null,
"image": "1f450-1f3fd.png",
"sheet_x": 15,
"sheet_y": 18,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F450-1F3FE",
"non_qualified": null,
"image": "1f450-1f3fe.png",
"sheet_x": 15,
"sheet_y": 19,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F450-1F3FF",
"non_qualified": null,
"image": "1f450-1f3ff.png",
"sheet_x": 15,
"sheet_y": 20,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Open Hands Sign",
"b": "1F450",
"j": [
"fingers",
"butterfly",
"hands",
"open"
],
"k": [
15,
15
]
},
"raised_hands": {
"skin_variations": {
"1F3FB": {
"unified": "1F64C-1F3FB",
"non_qualified": null,
"image": "1f64c-1f3fb.png",
"sheet_x": 33,
"sheet_y": 13,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F64C-1F3FC",
"non_qualified": null,
"image": "1f64c-1f3fc.png",
"sheet_x": 33,
"sheet_y": 14,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F64C-1F3FD",
"non_qualified": null,
"image": "1f64c-1f3fd.png",
"sheet_x": 33,
"sheet_y": 15,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F64C-1F3FE",
"non_qualified": null,
"image": "1f64c-1f3fe.png",
"sheet_x": 33,
"sheet_y": 16,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F64C-1F3FF",
"non_qualified": null,
"image": "1f64c-1f3ff.png",
"sheet_x": 33,
"sheet_y": 17,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Person Raising Both Hands in Celebration",
"b": "1F64C",
"j": [
"gesture",
"hooray",
"yea",
"celebration",
"hands"
],
"k": [
33,
12
]
},
"palms_up_together": {
"skin_variations": {
"1F3FB": {
"unified": "1F932-1F3FB",
"non_qualified": null,
"image": "1f932-1f3fb.png",
"sheet_x": 39,
"sheet_y": 17,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FC": {
"unified": "1F932-1F3FC",
"non_qualified": null,
"image": "1f932-1f3fc.png",
"sheet_x": 39,
"sheet_y": 18,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FD": {
"unified": "1F932-1F3FD",
"non_qualified": null,
"image": "1f932-1f3fd.png",
"sheet_x": 39,
"sheet_y": 19,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FE": {
"unified": "1F932-1F3FE",
"non_qualified": null,
"image": "1f932-1f3fe.png",
"sheet_x": 39,
"sheet_y": 20,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
},
"1F3FF": {
"unified": "1F932-1F3FF",
"non_qualified": null,
"image": "1f932-1f3ff.png",
"sheet_x": 39,
"sheet_y": 21,
"added_in": "10.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": false
}
},
"a": "Palms Up Together",
"b": "1F932",
"k": [
39,
16
],
"o": 10
},
"pray": {
"skin_variations": {
"1F3FB": {
"unified": "1F64F-1F3FB",
"non_qualified": null,
"image": "1f64f-1f3fb.png",
"sheet_x": 34,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F64F-1F3FC",
"non_qualified": null,
"image": "1f64f-1f3fc.png",
"sheet_x": 34,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F64F-1F3FD",
"non_qualified": null,
"image": "1f64f-1f3fd.png",
"sheet_x": 34,
"sheet_y": 5,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F64F-1F3FE",
"non_qualified": null,
"image": "1f64f-1f3fe.png",
"sheet_x": 34,
"sheet_y": 6,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F64F-1F3FF",
"non_qualified": null,
"image": "1f64f-1f3ff.png",
"sheet_x": 34,
"sheet_y": 7,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Person with Folded Hands",
"b": "1F64F",
"j": [
"please",
"hope",
"wish",
"namaste",
"highfive"
],
"k": [
34,
2
]
},
"handshake": {
"a": "Handshake",
"b": "1F91D",
"j": [
"agreement",
"shake"
],
"k": [
38,
10
],
"o": 9
},
"nail_care": {
"skin_variations": {
"1F3FB": {
"unified": "1F485-1F3FB",
"non_qualified": null,
"image": "1f485-1f3fb.png",
"sheet_x": 23,
"sheet_y": 45,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F485-1F3FC",
"non_qualified": null,
"image": "1f485-1f3fc.png",
"sheet_x": 23,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F485-1F3FD",
"non_qualified": null,
"image": "1f485-1f3fd.png",
"sheet_x": 23,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F485-1F3FE",
"non_qualified": null,
"image": "1f485-1f3fe.png",
"sheet_x": 23,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F485-1F3FF",
"non_qualified": null,
"image": "1f485-1f3ff.png",
"sheet_x": 23,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Nail Polish",
"b": "1F485",
"j": [
"beauty",
"manicure",
"finger",
"fashion",
"nail"
],
"k": [
23,
44
]
},
"ear": {
"skin_variations": {
"1F3FB": {
"unified": "1F442-1F3FB",
"non_qualified": null,
"image": "1f442-1f3fb.png",
"sheet_x": 13,
"sheet_y": 46,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F442-1F3FC",
"non_qualified": null,
"image": "1f442-1f3fc.png",
"sheet_x": 13,
"sheet_y": 47,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F442-1F3FD",
"non_qualified": null,
"image": "1f442-1f3fd.png",
"sheet_x": 13,
"sheet_y": 48,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F442-1F3FE",
"non_qualified": null,
"image": "1f442-1f3fe.png",
"sheet_x": 13,
"sheet_y": 49,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F442-1F3FF",
"non_qualified": null,
"image": "1f442-1f3ff.png",
"sheet_x": 13,
"sheet_y": 50,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Ear",
"b": "1F442",
"j": [
"face",
"hear",
"sound",
"listen"
],
"k": [
13,
45
]
},
"nose": {
"skin_variations": {
"1F3FB": {
"unified": "1F443-1F3FB",
"non_qualified": null,
"image": "1f443-1f3fb.png",
"sheet_x": 14,
"sheet_y": 0,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FC": {
"unified": "1F443-1F3FC",
"non_qualified": null,
"image": "1f443-1f3fc.png",
"sheet_x": 14,
"sheet_y": 1,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FD": {
"unified": "1F443-1F3FD",
"non_qualified": null,
"image": "1f443-1f3fd.png",
"sheet_x": 14,
"sheet_y": 2,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FE": {
"unified": "1F443-1F3FE",
"non_qualified": null,
"image": "1f443-1f3fe.png",
"sheet_x": 14,
"sheet_y": 3,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
"1F3FF": {
"unified": "1F443-1F3FF",
"non_qualified": null,
"image": "1f443-1f3ff.png",
"sheet_x": 14,
"sheet_y": 4,
"added_in": "8.0",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
}
},
"a": "Nose",
"b": "1F443",
"j": [
"smell",
"sniff"
],
"k": [
13,
51
]
},
"footprints": {
"a": "Footprints",
"b": "1F463",
"j": [
"feet",
"tracking",
"walking",
"beach"
],
"k": [
15,
39
]
},
"eyes": {
"a": "Eyes",
"b": "1F440",
"j": [
"look",
"watch",
"stalk",
"peek",
"see"
],
"k": [
13,
42
]
},
"eye": {
"a": "Eye",
"b": "1F441-FE0F",
"c": "1F441",
"j": [
"face",
"look",
"see",
"watch",
"stare"
],
"k": [
13,
44
],
"o": 7
},
"brain": {
"a": "Brain",
"b": "1F9E0",
"j": [
"smart",
"intelligent"
],
"k": [
46,
22
],
"o": 10
},
"tongue": {
"a": "Tongue",
"b": "1F445",
"j": [
"mouth",
"playful"
],
"k": [
14,
6
]
},
"lips": {
"a": "Mouth",
"b": "1F444",
"j": [
"mouth",
"kiss"
],
"k": [
14,
5
]
},
"kiss": {
"a": "Kiss Mark",
"b": "1F48B",
"j": [
"face",
"lips",
"love",
"like",
"affection",
"valentines"
],
"k": [
24,
37
]
},
"cupid": {
"a": "Heart with Arrow",
"b": "1F498",
"j": [
"love",
"like",
"heart",
"affection",
"valentines"
],
"k": [
24,
50
]
},
"heart": {
"a": "Heavy Black Heart",
"b": "2764-FE0F",
"c": "2764",
"j": [
"love",
"like",
"valentines"
],
"k": [
50,
8
],
"l": [
"<3"
],
"m": "<3",
"o": 1
},
"heartbeat": {
"a": "Beating Heart",
"b": "1F493",
"j": [
"love",
"like",
"affection",
"valentines",
"pink",
"heart"
],
"k": [
24,
45
]
},
"broken_heart": {
"a": "Broken Heart",
"b": "1F494",
"j": [
"sad",
"sorry",
"break",
"heart",
"heartbreak"
],
"k": [
24,
46
],
"l": [
"</3"
],
"m": "</3"
},
"two_hearts": {
"a": "Two Hearts",
"b": "1F495",
"j": [
"love",
"like",
"affection",
"valentines",
"heart"
],
"k": [
24,
47
]
},
"sparkling_heart": {
"a": "Sparkling Heart",
"b": "1F496",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
24,
48
]
},
"heartpulse": {
"a": "Growing Heart",
"b": "1F497",
"j": [
"like",
"love",
"affection",
"valentines",
"pink"
],
"k": [
24,
49
]
},
"blue_heart": {
"a": "Blue Heart",
"b": "1F499",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
24,
51
],
"m": "<3"
},
"green_heart": {
"a": "Green Heart",
"b": "1F49A",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
25,
0
],
"m": "<3"
},
"yellow_heart": {
"a": "Yellow Heart",
"b": "1F49B",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
25,
1
],
"m": "<3"
},
"orange_heart": {
"a": "Orange Heart",
"b": "1F9E1",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
46,
23
],
"o": 10
},
"purple_heart": {
"a": "Purple Heart",
"b": "1F49C",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
25,
2
],
"m": "<3"
},
"black_heart": {
"a": "Black Heart",
"b": "1F5A4",
"j": [
"evil"
],
"k": [
29,
50
],
"o": 9
},
"gift_heart": {
"a": "Heart with Ribbon",
"b": "1F49D",
"j": [
"love",
"valentines"
],
"k": [
25,
3
]
},
"revolving_hearts": {
"a": "Revolving Hearts",
"b": "1F49E",
"j": [
"love",
"like",
"affection",
"valentines"
],
"k": [
25,
4
]
},
"heart_decoration": {
"a": "Heart Decoration",
"b": "1F49F",
"j": [
"purple-square",
"love",
"like"
],
"k": [
25,
5
]
},
"heavy_heart_exclamation_mark_ornament": {
"a": "Heavy Heart Exclamation Mark Ornament",
"b": "2763-FE0F",
"c": "2763",
"k": [
50,
7
],
"o": 1
},
"love_letter": {
"a": "Love Letter",
"b": "1F48C",
"j": [
"email",
"like",
"affection",
"envelope",
"valentines"
],
"k": [
24,
38
]
},
"zzz": {
"a": "Sleeping Symbol",
"b": "1F4A4",
"j": [
"sleepy",
"tired",
"dream"
],
"k": [
25,
10
]
},
"anger": {
"a": "Anger Symbol",
"b": "1F4A2",
"j": [
"angry",
"mad"
],
"k": [
25,
8
]
},
"bomb": {
"a": "Bomb",
"b": "1F4A3",
"j": [
"boom",
"explode",
"explosion",
"terrorism"
],
"k": [
25,
9
]
},
"boom": {
"a": "Collision Symbol",
"b": "1F4A5",
"j": [
"bomb",
"explode",
"explosion",
"collision",
"blown"
],
"k": [
25,
11
],
"n": [
"collision"
]
},
"sweat_drops": {
"a": "Splashing Sweat Symbol",
"b": "1F4A6",
"j": [
"water",
"drip",
"oops"
],
"k": [
25,
12
]
},
"dash": {
"a": "Dash Symbol",
"b": "1F4A8",
"j": [
"wind",
"air",
"fast",
"shoo",
"fart",
"smoke",
"puff"
],
"k": [
25,
14
]
},
"dizzy": {
"a": "Dizzy Symbol",
"b": "1F4AB",
"j": [
"star",
"sparkle",
"shoot",
"magic"
],
"k": [
25,
22
]
},
"speech_balloon": {
"a": "Speech Balloon",
"b": "1F4AC",
"j": [
"bubble",
"words",
"message",
"talk",
"chatting"
],
"k": [
25,
23
]
},
"left_speech_bubble": {
"a": "Left Speech Bubble",
"b": "1F5E8-FE0F",
"c": "1F5E8",
"j": [
"words",
"message",
"talk",
"chatting"
],
"k": [
30,
15
],
"o": 7
},
"right_anger_bubble": {
"a": "Right Anger Bubble",
"b": "1F5EF-FE0F",
"c": "1F5EF",
"j": [
"caption",
"speech",
"thinking",
"mad"
],
"k": [
30,
16
],
"o": 7
},
"thought_balloon": {
"a": "Thought Balloon",
"b": "1F4AD",
"j": [
"bubble",
"cloud",
"speech",
"thinking",
"dream"
],
"k": [
25,
24
]
},
"hole": {
"a": "Hole",
"b": "1F573-FE0F",
"c": "1F573",
"j": [
"embarrassing"
],
"k": [
28,
44
],
"o": 7
},
"eyeglasses": {
"a": "Eyeglasses",
"b": "1F453",
"j": [
"fashion",
"accessories",
"eyesight",
"nerdy",
"dork",
"geek"
],
"k": [
15,
23
]
},
"dark_sunglasses": {
"a": "Dark Sunglasses",
"b": "1F576-FE0F",
"c": "1F576",
"j": [
"face",
"cool",
"accessories"
],
"k": [
29,
17
],
"o": 7
},
"necktie": {
"a": "Necktie",
"b": "1F454",
"j": [
"shirt",
"suitup",
"formal",
"fashion",
"cloth",
"business"
],
"k": [
15,
24
]
},
"shirt": {
"a": "T-Shirt",
"b": "1F455",
"k": [
15,
25
],
"n": [
"tshirt"
]
},
"jeans": {
"a": "Jeans",
"b": "1F456",
"j": [
"fashion",
"shopping"
],
"k": [
15,
26
]
},
"scarf": {
"a": "Scarf",
"b": "1F9E3",
"j": [
"neck",
"winter",
"clothes"
],
"k": [
46,
25
],
"o": 10
},
"gloves": {
"a": "Gloves",
"b": "1F9E4",
"j": [
"hands",
"winter",
"clothes"
],
"k": [
46,
26
],
"o": 10
},
"coat": {
"a": "Coat",
"b": "1F9E5",
"j": [
"jacket"
],
"k": [
46,
27
],
"o": 10
},
"socks": {
"a": "Socks",
"b": "1F9E6",
"j": [
"stockings",
"clothes"
],
"k": [
46,
28
],
"o": 10
},
"dress": {
"a": "Dress",
"b": "1F457",
"j": [
"clothes",
"fashion",
"shopping"
],
"k": [
15,
27
]
},
"kimono": {
"a": "Kimono",
"b": "1F458",
"j": [
"dress",
"fashion",
"women",
"female",
"japanese"
],
"k": [
15,
28
]
},
"bikini": {
"a": "Bikini",
"b": "1F459",
"j": [
"swimming",
"female",
"woman",
"girl",
"fashion",
"beach",
"summer"
],
"k": [
15,
29
]
},
"womans_clothes": {
"a": "Womans Clothes",
"b": "1F45A",
"j": [
"fashion",
"shopping_bags",
"female"
],
"k": [
15,
30
]
},
"purse": {
"a": "Purse",
"b": "1F45B",
"j": [
"fashion",
"accessories",
"money",
"sales",
"shopping"
],
"k": [
15,
31
]
},
"handbag": {
"a": "Handbag",
"b": "1F45C",
"j": [
"fashion",
"accessory",
"accessories",
"shopping"
],
"k": [
15,
32
]
},
"pouch": {
"a": "Pouch",
"b": "1F45D",
"j": [
"bag",
"accessories",
"shopping"
],
"k": [
15,
33
]
},
"shopping_bags": {
"a": "Shopping Bags",
"b": "1F6CD-FE0F",
"c": "1F6CD",
"k": [
37,
2
],
"o": 7
},
"school_satchel": {
"a": "School Satchel",
"b": "1F392",
"j": [
"student",
"education",
"bag",
"backpack"
],
"k": [
8,
37
]
},
"mans_shoe": {
"a": "Mans Shoe",
"b": "1F45E",
"j": [
"fashion",
"male"
],
"k": [
15,
34
],
"n": [
"shoe"
]
},
"athletic_shoe": {
"a": "Athletic Shoe",
"b": "1F45F",
"j": [
"shoes",
"sports",
"sneakers"
],
"k": [
15,
35
]
},
"high_heel": {
"a": "High-Heeled Shoe",
"b": "1F460",
"j": [
"fashion",
"shoes",
"female",
"pumps",
"stiletto"
],
"k": [
15,
36
]
},
"sandal": {
"a": "Womans Sandal",
"b": "1F461",
"j": [
"shoes",
"fashion",
"flip flops"
],
"k": [
15,
37
]
},
"boot": {
"a": "Womans Boots",
"b": "1F462",
"j": [
"shoes",
"fashion"
],
"k": [
15,
38
]
},
"crown": {
"a": "Crown",
"b": "1F451",
"j": [
"king",
"kod",
"leader",
"royalty",
"lord"
],
"k": [
15,
21
]
},
"womans_hat": {
"a": "Womans Hat",
"b": "1F452",
"j": [
"fashion",
"accessories",
"female",
"lady",
"spring"
],
"k": [
15,
22
]
},
"tophat": {
"a": "Top Hat",
"b": "1F3A9",
"j": [
"magic",
"gentleman",
"classy",
"circus"
],
"k": [
9,
3
]
},
"mortar_board": {
"a": "Graduation Cap",
"b": "1F393",
"j": [
"school",
"college",
"degree",
"university",
"graduation",
"cap",
"hat",
"legal",
"learn",
"education"
],
"k": [
8,
38
]
},
"billed_cap": {
"a": "Billed Cap",
"b": "1F9E2",
"k": [
46,
24
],
"o": 10
},
"helmet_with_white_cross": {
"a": "Helmet with White Cross",
"b": "26D1-FE0F",
"c": "26D1",
"k": [
48,
33
],
"o": 5
},
"prayer_beads": {
"a": "Prayer Beads",
"b": "1F4FF",
"j": [
"dhikr",
"religious"
],
"k": [
27,
1
],
"o": 8
},
"lipstick": {
"a": "Lipstick",
"b": "1F484",
"j": [
"female",
"girl",
"fashion",
"woman"
],
"k": [
23,
43
]
},
"ring": {
"a": "Ring",
"b": "1F48D",
"j": [
"wedding",
"propose",
"marriage",
"valentines",
"diamond",
"fashion",
"jewelry",
"gem",
"engagement"
],
"k": [
24,
39
]
},
"gem": {
"a": "Gem Stone",
"b": "1F48E",
"j": [
"blue",
"ruby",
"diamond",
"jewelry"
],
"k": [
24,
40
]
}
},
"aliases": {
"satisfied": "laughing",
"grinning_face_with_star_eyes": "star-struck",
"face_with_one_eyebrow_raised": "face_with_raised_eyebrow",
"telephone": "phone",
"cooking": "fried_egg",
"paw_prints": "feet",
"flag-cn": "cn",
"lantern": "izakaya_lantern",
"shocked_face_with_exploding_head": "exploding_head",
"open_book": "book",
"flag-de": "de",
"grinning_face_with_one_large_and_one_small_eye": "zany_face",
"serious_face_with_symbols_covering_mouth": "face_with_symbols_on_mouth",
"flipper": "dolphin",
"face_with_open_mouth_vomiting": "face_vomiting",
"flag-es": "es",
"face_with_finger_covering_closed_lips": "shushing_face",
"smiling_face_with_smiling_eyes_and_hand_covering_mouth": "face_with_hand_over_mouth",
"flag-fr": "fr",
"honeybee": "bee",
"red_car": "car",
"envelope": "email",
"uk": "gb",
"flag-gb": "gb",
"poop": "hankey",
"shit": "hankey",
"staff_of_aesculapius": "medical_symbol",
"knife": "hocho",
"sailboat": "boat",
"pencil": "memo",
"flag-it": "it",
"flag-jp": "jp",
"heavy_exclamation_mark": "exclamation",
"flag-kr": "kr",
"waxing_gibbous_moon": "moon",
"mother_christmas": "mrs_claus",
"sun_small_cloud": "mostly_sunny",
"sun_behind_cloud": "barely_sunny",
"sun_behind_rain_cloud": "partly_sunny_rain",
"lightning_cloud": "lightning",
"tornado_cloud": "tornado",
"flag-ru": "ru",
"running": "runner",
"flag-us": "us",
"man_and_woman_holding_hands": "couple",
"man-woman-boy": "family",
"family": "man-woman-boy",
"reversed_hand_with_middle_finger_extended": "middle_finger",
"hand_with_index_and_middle_fingers_crossed": "crossed_fingers",
"sign_of_the_horns": "the_horns",
"raised_hand": "hand",
"thumbsup": "plus1",
"thumbsdown": "-1",
"punch": "facepunch",
"collision": "boom",
"tshirt": "shirt",
"shoe": "mans_shoe"
}
};
(function( root, $, factory ) {
joms.fn || (joms.fn = {});
joms.fn.tagging = factory( root, $ );
define('functions/tagging',[ 'utils/tagging' ], function() {
return joms.fn.tagging;
});
})( window, joms.jQuery, function( window, $ ) {
var groupMembers = {},
eventMembers = {},
groupMembersFetching = {},
eventMembersFetching = {},
groupMembersFetchCallback = {},
eventMembersFetchCallback = {};
function initInputbox() {
var inputbox = $( document.body )
.find('.joms-js--newcomment')
.find('textarea.joms-textarea');
inputbox.each(function() {
var el = $( this );
if ( !el[0].joms_beautifier ) {
el[0].joms_data = el.data();
el.jomsTagging( fetchInputbox );
}
});
}
function fetchInputbox( callback ) {
var that = this,
data = this.textarea.joms_data,
id = data.tagId || data.id,
func = ( data.tagFunc || data.func || '' ).toLowerCase(),
type = data.type || '',
friends = [],
url;
if ( this.textarea.joms_friends ) {
callback( this.textarea.joms_friends );
return;
}
if ( !func ) {
url = 'index.php?option=com_community&view=friends&task=ajaxAutocomplete&type=comment&streamid=' + id;
if ( window.joms_group_id ) {
url += '&groupid=' + window.joms_group_id;
} else if ( window.joms_event_id ) {
url += '&eventid=' + window.joms_event_id;
}
} else {
url = 'index.php?option=com_community&view=friends&task=ajaxAutocomplete';
if ( func.indexOf('album') > -1 ) {
url += '&albumid=' + id;
} else if ( func.indexOf('photo') > -1 ) {
url += '&photoid=' + id + '&rule=photo-comment';
} else if ( func.indexOf('video') > -1 ) {
url += '&videoid=' + id;
} else if ( func.indexOf('discussion') > -1 ) {
url += '&discussionid=' + id;
} else if ( func.indexOf('inbox') > -1 ) {
url += '&msgid=' + id;
} else if ( type.match( /service\.comment\.joomla\.article/ ) ) {
url += '&type=comment&streamid=' + id;
}
}
this.fetchXHR && this.fetchXHR.abort();
this.fetchXHR = $.ajax({
url: joms.BASE_URL + url,
dataType: 'json',
success: function( json ) {
that.textarea.joms_friends = friends = _parse( json );
},
complete: function() {
var i, j, ilen, jlen;
// Update (posibbly) old images and names.
if ( friends.length && window.joms_friends.length ) {
for ( i = 0, ilen = Math.min( friends.length, 30 ); i < ilen; i++ ) {
for ( j = 0, jlen = Math.min( window.joms_friends.length, 30 ); j < jlen; j++ ) {
if ( +friends[i].id === +window.joms_friends[j].id ) {
window.joms_friends[j].avatar = friends[i].avatar;
window.joms_friends[j].name = friends[i].name;
}
}
}
}
that.fetchXHR = false;
callback( friends );
}
});
}
function fetchFriendsInContext() {
var url = 'index.php?option=com_community&view=friends&task=ajaxAutocomplete',
friends = [];
if ( window.joms_group_id ) {
url += '&groupid=' + window.joms_group_id;
} else if ( window.joms_event_id ) {
url += '&eventid=' + window.joms_event_id;
} else {
url += '&allfriends=1';
}
joms.jQuery.ajax({
url: joms.BASE_URL + url,
dataType: 'json',
success: function( json ) {
friends = _parse( json );
},
complete: function() {
window.joms_friends = friends;
var event = new CustomEvent('JomsFriendsFetched');
document.dispatchEvent(event);
}
});
}
function fetchGroupMembers( groupid, callback ) {
var url = 'index.php?option=com_community&view=friends&task=ajaxAutocomplete&groupid=' + groupid;
if ( !groupMembersFetchCallback[ groupid ] ) {
groupMembersFetchCallback[ groupid ] = [];
}
if ( groupMembersFetching[ groupid ] ) {
groupMembersFetchCallback[ groupid ].push( callback );
return;
}
if ( groupMembers[ groupid ] ) {
callback( groupMembers[ groupid ] );
return;
}
groupMembersFetching[ groupid ] = true;
joms.jQuery.ajax({
url: joms.BASE_URL + url,
dataType: 'json',
success: function( json ) {
groupMembers[ groupid ] = _parse( json );
},
complete: function() {
callback( groupMembers[ groupid ] );
while ( groupMembersFetchCallback[ groupid ].length ) {
try {
( groupMembersFetchCallback[ groupid ].shift() )( groupMembers[ groupid ] );
} catch (e) {}
}
groupMembersFetching[ groupid ] = false;
}
});
}
function fetchEventMembers( eventid, callback ) {
var url = 'index.php?option=com_community&view=friends&task=ajaxAutocomplete&eventid=' + eventid;
if ( !eventMembersFetchCallback[ eventid ] ) {
eventMembersFetchCallback[ eventid ] = [];
}
if ( eventMembersFetching[ eventid ] ) {
eventMembersFetchCallback[ eventid ].push( callback );
return;
}
if ( eventMembers[ eventid ] ) {
callback( eventMembers[ eventid ] );
return;
}
eventMembersFetching[ eventid ] = true;
joms.jQuery.ajax({
url: joms.BASE_URL + url,
dataType: 'json',
success: function( json ) {
eventMembers[ eventid ] = _parse( json );
},
complete: function() {
callback( eventMembers[ eventid ] );
while ( eventMembersFetchCallback[ eventid ].length ) {
try {
( eventMembersFetchCallback[ eventid ].shift() )( eventMembers[ eventid ] );
} catch (e) {}
}
eventMembersFetching[ eventid ] = false;
}
});
}
function _parse( json ) {
var uniques = [],
friends = [],
id, i;
if ( json && json.suggestions && json.suggestions.length ) {
for ( i = 0; i < json.suggestions.length; i++ ) {
id = '' + json.data[i];
if ( uniques.indexOf(id) >= 0 ) continue;
uniques.push( id );
friends.push({
id: id,
name: json.suggestions[i],
avatar: json.img[i].replace( /^.+src="([^"]+)".+$/ , '$1'),
type: 'contact'
});
}
}
return friends;
}
// Exports.
return {
initInputbox: initInputbox,
fetchInputbox: fetchInputbox,
fetchFriendsInContext: fetchFriendsInContext,
fetchGroupMembers: fetchGroupMembers,
fetchEventMembers: fetchEventMembers
};
});
(function (root, $, factory) {
joms.view || (joms.view = {});
joms.view.comment = factory(root, $);
define('views/comment',['utils/video', 'functions/tagging'], function () {
return joms.view.comment;
});
})(window, joms.jQuery, function (window, $) {
var container, uploader, uploaderType, uploaderParams, uploaderButton, uploaderAttachment, uploaderRef, uploaderError;
function initialize() {
uninitialize();
container = $(document.body);
container.on('keydown.joms-comment', '.joms-comment__reply textarea', keydown);
container.on('focus.joms-comment', '.joms-comment__reply textarea', focused);
container.on('focus.joms-comment', '.joms-js--pm-message textarea', focused);
container.on('click.joms-comment', '.joms-comment__reply .joms-js--btn-send', onSend);
container.on('click.joms-comment', '.joms-js--inbox-reply .joms-js--btn-send', onSend);
container.on('click.joms-comment', '.joms-comment__more', showAll);
addAttachmentInit();
initInputbox();
initVideoPlayers();
}
function uninitialize() {
if (container) {
container.off('keydown.joms-comment', '.joms-comment__reply textarea');
container.off('focus.joms-comment', '.joms-comment__reply textarea');
container.off('focus.joms-comment', '.joms-js--pm-message textarea');
container.off('click.joms-comment', '.joms-comment__reply .joms-js--btn-send');
container.off('click.joms-comment', '.joms-js--inbox-reply .joms-js--btn-send');
container.off('click.joms-comment', '.joms-comment__more');
}
}
function initInputbox() {
joms.fn.tagging.initInputbox();
}
function initVideoPlayers() {
var initialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $('.joms-comment__body,.joms-js--inbox').find(cssVideos).not(initialized).addClass(initialized.substr(1));
if (!videos.length) {
return;
}
joms.loadCSS(joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css');
videos.on('click.joms-video', cssVideos + '-play', function () {
var $el = $(this).closest(cssVideos);
joms.util.video.play($el, $el.data());
});
if (joms.ios) {
setTimeout(function () {
videos.find(cssVideos + '-play').click();
}, 2000);
}
}
function keydown(e) {
var key = e.keyCode || e.charCode,
textarea;
if (key !== 13 || e.shiftKey) {
return;
}
textarea = $(e.target);
if (textarea.data('noentersend') || joms.mobile) {
return;
}
setTimeout(function () { send(e); }, 100);
return false;
}
function focused(e) {
var textarea = $(e.target),
wrapper = textarea.closest('.joms-textarea__wrapper'),
attachment = wrapper.find('.joms-textarea__attachment');
if (attachment.length) {
uploaderAttachment = attachment;
}
}
function onSend(e) {
var el = $(e.currentTarget),
textarea = el.closest('.joms-comment__reply,.joms-js--inbox-reply').find('textarea');
send({ currentTarget: textarea[0] });
}
function send(e) {
var el = $(e.currentTarget),
text = (el.val() || ''),
isEdit = +el.data('edit'),
id, func, type, attachment;
// Use tag value if available.
if (el[0].joms_hidden) {
text = el[0].joms_hidden.val() || text;
}
// Don't send empty message and no image.
if (text.replace(/^\s+|\s+$/g, '') === '') {
attachment = el.siblings('.joms-textarea__attachment');
if (!attachment.length || !attachment.is(':visible')) {
alert(joms_lang.COM_COMMUNITY_CANNOT_EDIT_COMMENT_ERROR);
return;
}
}
id = +el.data('id');
func = el.data('func') || '';
type = el.data('type') || '';
if (isEdit) {
editSave(el, id, func, type, text, function () {
initVideoPlayers();
reset(el, 'edit');
});
} else {
addSave(el, id, func, type, text, function () {
el.val('');
initVideoPlayers();
reset(el);
});
}
}
function reset(el, type) {
if (type !== 'edit') {
el.closest('.joms-comment__reply').find('.joms-textarea__attachment').hide();
}
el = el[0];
if (el.joms_reset) {
el.joms_reset();
}
if (el.joms_beautifier && el.joms_beautifier !== 'none') {
el.joms_beautifier.html('');
}
if (el.joms_hidden) {
el.joms_hidden.val(el.value);
}
}
function addSave(el, id, func, type, text, callback) {
var isWall = func,
isPhotoAlbum = false,
isPhoto = false,
isVideo = false,
isDiscussion = false,
isInbox = false,
isCustomWall = false,
photo = false,
file = false,
data, ct, funcLower, $loading;
if (el.data('saving')) {
return;
}
el.data('saving', 1);
if (isWall) {
funcLower = func.toLowerCase();
if (funcLower.indexOf('album') > -1) {
isPhotoAlbum = true;
} else if (funcLower.indexOf('photo') > -1) {
isPhoto = true;
} else if (funcLower.indexOf('video') > -1) {
isVideo = true;
} else if (funcLower.indexOf('discussion') > -1) {
isDiscussion = true;
} else if (funcLower.indexOf('inbox') > -1) {
isInbox = true;
} else if (funcLower.indexOf('wall')) {
isCustomWall = true;
}
}
ct = uploaderAttachment;
if (ct && ct.is(':visible')) {
photo = ct.find('.joms-textarea__attachment--thumbnail').find('img');
file = photo.siblings('b');
if (photo.is(':visible')) {
photo = photo.data('photo_id');
file = '';
} else if (file.is(':visible')) {
file = file.data('id');
photo = '';
}
}
photo = photo || '';
file = file || '';
if (!isWall) {
func = 'system,ajaxStreamAddComment';
data = [id, text, photo];
} else if (isVideo || isDiscussion) {
data = [text, id, photo];
} else if (isInbox) {
data = [id, text, photo, file];
} else if (isCustomWall) {
data = [type, id, text, photo];
} else {
data = [text, id, '', photo];
}
$loading = $(el).siblings('.joms-textarea__loading');
$loading.show();
joms.ajax({
func: func,
data: data,
callback: function (json) {
var $ct, item, status, counter;
$loading.hide();
if (json.success) {
if (isInbox) {
_onInboxAdded(json.html);
el.removeData('saving');
// Enable sibling items.
if (uploaderRef) {
uploaderRef.siblings('svg')
.removeData('disabled')
.css('opacity', '');
}
return;
}
$ct = $('.joms-js--comments-' + id);
$ct.append(json.html || '');
counter = $('.joms-comment__counter--' + id);
counter.html(+counter.eq(0).text() + 1);
counter.parents('.joms-comment__status').show();
joms.parseEmoji();
}
if (typeof callback === 'function') {
callback(json);
}
el.removeData('saving');
// Enable sibling items.
if (uploaderRef) {
uploaderRef.siblings('svg')
.removeData('disabled')
.css('opacity', '');
}
if (json.error) {
window.alert(json.error);
}
}
});
}
function edit(commentId, elem, type) {
var isWall = type === 'wall',
comment, reply, textarea;
elem = $(elem);
comment = elem.closest('.joms-comment__item');
textarea = comment.children('.joms-comment__reply').find('textarea');
if (isWall) {
reply = comment.closest('.joms-comment').siblings('.joms-comment__reply');
} else {
reply = comment.closest('.joms-stream').children('.joms-comment__reply');
}
reply.hide();
comment.children('.joms-comment__body,.joms-comment__actions').hide();
comment.children('.joms-comment__reply').show();
textarea.jomsTagging();
textarea.off('reset.joms-tagging');
textarea.on('reset.joms-tagging', function () {
comment.children('.joms-comment__reply').hide();
comment.children('.joms-comment__body,.joms-comment__actions').show();
reply.show();
});
textarea[0].focus();
}
function editSave(el, commentId, func, type, text, callback) {
var isWall = func,
attachment, photo, photoSrc, data, $loading;
if (el.data('saving')) {
return;
}
el.data('saving', 1);
attachment = el.siblings('.joms-textarea__attachment');
if (attachment.is(':visible')) {
photo = attachment.find('.joms-textarea__attachment--thumbnail').find('img');
photoSrc = photo.attr('src');
photo = photo.data('photo_id') || '0';
} else if (attachment.data('no_thumb')) {
photo = '0';
} else {
photo = '-1';
}
if (isWall) {
data = [commentId, text, func, photo];
func = 'system,ajaxUpdateWall';
} else {
func = 'system,ajaxeditComment';
data = [commentId, text, photo];
}
$loading = $(el).siblings('.joms-textarea__loading');
$loading.show();
joms.ajax({
func: func,
data: data,
callback: function (json) {
var $ct, $body, $reply;
$loading.hide();
if (json.success) {
$ct = $('.joms-js--comment-' + commentId);
$body = $ct.find('.joms-js--comment-body');
$reply = $('.joms-js--newcomment-' + $ct.data('parent'));
$ct.find('.joms-js--comment-editor').hide().find('textarea').val(json.originalComment || '');
$ct.find('.joms-js--comment-content').html(json.comment || '');
$ct.find('.joms-js--comment-actions').show();
$body.show();
$reply.show();
// Update photo if available.
if (+photo < 0 || +photo > 0) {
$body.children('.joms-js--comment-content').next('div').remove();
if (+photo > 0 && photoSrc) {
$body.children('.joms-js--comment-content').after([
'<div style="padding:5px 0">',
'<a href="javascript:" onclick="joms.api.photoZoom(\'', photoSrc, '\');">',
'<img class="joms-stream-thumb" src="', photoSrc, '">',
'</a>',
'</div>'
].join(''));
}
}
joms.parseEmoji();
}
if (json.error) {
alert(json.error)
}
if (typeof callback === 'function') {
callback(json);
}
try {
el.blur();
} catch (e) { }
el.removeData('saving');
// Enable sibling items.
if (uploaderRef) {
uploaderRef.siblings('svg')
.removeData('disabled')
.css('opacity', '');
}
}
});
}
// function editCancel( textarea ) {
// }
function like(commentId) {
joms.ajax({
func: 'system,ajaxStreamAddLike',
data: [commentId, 'comment'],
callback: function (json) {
var $ct, btn, info;
if (json.success) {
$ct = $('.joms-js--comment-' + commentId);
if ($ct.length) {
btn = $ct.find('.joms-comment__actions').find('.joms-button--liked');
btn.attr('onclick', 'joms.api.commentUnlike(\'' + commentId + '\');');
btn.addClass('liked');
btn.find('span').html(btn.data('lang-unlike'));
btn.find('use').attr('xlink:href', window.location + '#joms-icon-thumbs-down');
info = $ct.find('.joms-comment__actions [data-action=showlike]');
if (!json.html) {
info.remove();
} else if (info.length) {
info.replaceWith(json.html);
} else {
btn.after(json.html);
}
}
}
}
});
}
function unlike(commentId) {
joms.ajax({
func: 'system,ajaxStreamUnlike',
data: [commentId, 'comment'],
callback: function (json) {
var $ct, btn, info;
if (json.success) {
$ct = $('.joms-js--comment-' + commentId);
if ($ct.length) {
btn = $ct.find('.joms-comment__actions').find('.joms-button--liked');
btn.attr('onclick', 'joms.api.commentLike(\'' + commentId + '\');');
btn.removeClass('liked');
btn.find('span').html(btn.data('lang-like'));
btn.find('use').attr('xlink:href', window.location + '#joms-icon-thumbs-up');
info = $ct.find('.joms-comment__actions [data-action=showlike]');
if (!json.html) {
info.remove();
} else if (info.length) {
info.replaceWith(json.html);
} else {
btn.after(json.html);
}
}
}
}
});
}
function showAll(e) {
var el = $(e.currentTarget),
ct = el.closest('.joms-js--comments'),
type = ct.data('type') || '',
id = +ct.data('id'),
shown = ct.children('.joms-js--comment').length,
limit = window.joms_prev_comment_load;
if (!id) {
return;
}
joms.ajax({
func: 'system,ajaxStreamShowComments',
data: [id, type, shown, limit],
callback: function (json) {
var html, ct, remaining, link, lang;
if (json.success) {
html = $($.trim(json.html));
if (type) {
html = html.filter('.joms-js--comments').children();
}
ct = $('.joms-js--comments-' + id);
ct.find('.joms-js--comment').remove();
ct.append(html);
json.total = +json.total;
remaining = Math.max(0, json.total - ct.children('.joms-js--comment').length);
if (remaining > 0) {
link = ct.find('.joms-js--more-comments a');
lang = link.data('lang') || (window.joms_lang.COM_COMMUNITY_SHOW_PREVIOUS_COMMENTS + ' (%d)');
if (lang) {
link.text(lang.replace('%d', remaining));
}
} else {
ct.find('.joms-js--more-comments').remove();
}
initVideoPlayers();
joms.parseEmoji();
}
}
});
}
function remove(commentId, type) {
var cf = confirm(joms_lang.COM_COMMUNITY_ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_COMMENT);
if (!cf) {
return;
}
var isInbox = type === 'inbox',
isWall = type === 'wall',
func,
data;
if (isInbox) {
func = 'inbox,ajaxRemoveMessage';
data = [commentId];
} else if (isWall) {
func = window.joms_wall_remove_func;
data = [commentId];
} else {
func = 'system,ajaxStreamRemoveComment';
data = [commentId];
}
joms.ajax({
func: func,
data: data,
callback: function (json) {
var $ct;
if (!json.success) {
window.alert(json.error || 'Undefined error.');
return;
}
if (isInbox) {
_onInboxRemoved(commentId);
return;
}
$ct = $('.joms-js--comment-' + commentId);
if ($ct.length) {
$ct.fadeOut(300, function () {
$(this).remove();
});
var parent_id = $ct.data('stream-id') || $ct.data('parent');
var counter = $('.joms-comment__counter--' + parent_id);
if (counter.length) {
var val = +counter.eq(0).text() - 1;
if (val === 0) {
counter.parents('.joms-comment__status').hide();
$ct.parents('.joms-popup').find('.joms-comment').html(joms_lang.COM_COMMUNITY_NO_COMMENTS_YET);
}
counter.html(val);
}
}
}
});
}
function removeTag(id, type) {
joms.ajax({
func: 'activities,ajaxRemoveUserTag',
data: [id, type || 'comment'],
callback: function (json) {
var $comment, $cbutton, $ccontent, $ceditor, $textarea;
if (json.success) {
if (type === 'inbox') {
$comment = $('.joms-js--inbox-item-' + id);
$cbutton = $comment.find('.joms-button--remove-tag');
$ccontent = $comment.find('.joms-js--inbox-content');
$ccontent.html(json.data);
$cbutton.remove();
} else {
$comment = $('.joms-js--comment-' + id);
$cbutton = $comment.find('.joms-button--remove-tag');
$ccontent = $comment.find('.joms-js--comment-content');
$ceditor = $comment.find('.joms-js--comment-editor');
$textarea = $ceditor.find('textarea');
$ccontent.html(json.data);
$textarea.val(json.unparsed);
$cbutton.remove();
}
}
}
});
}
function removePreview(id, type) {
var isInbox = type === 'inbox',
isWall = type === 'wall',
func, data;
if (isInbox) {
func = 'inbox,ajaxRemovePreview';
data = [id];
} else if (isWall) {
func = 'system,ajaxRemoveWallPreview';
data = [id];
} else {
func = 'system,ajaxRemoveCommentPreview';
data = [id];
}
joms.ajax({
func: func,
data: data,
callback: function (json) {
if (!json.success) {
window.alert(json.error || 'Undefined error.');
return;
}
if (isInbox) {
_onInboxUpdated(id, json.html);
return;
}
$('.joms-js--comment-' + id)
.find('.joms-js--comment-preview').remove();
}
});
}
function removeThumbnail(id, type) {
var isInbox = type === 'inbox',
isWall = type === 'wall',
func, data;
if (isInbox) {
func = 'inbox,ajaxRemoveThumbnail';
data = [id];
} else if (isWall) {
// @todo
} else {
// @todo
}
joms.ajax({
func: func,
data: data,
callback: function (json) {
if (!json.success) {
window.alert(json.error || 'Undefined error.');
return;
}
if (isInbox) {
_onInboxUpdated(id, json.html);
return;
}
if (isWall) {
// @todo
return;
}
// @todo stream
return;
}
});
}
function addAttachment(elem, type, params) {
var maxFileSize, extensions, settings;
elem = $(elem);
if (elem.data('disabled')) {
return;
}
uploaderRef = elem;
elem = elem.siblings('.joms-textarea__wrapper');
if (!elem.length) {
return;
}
if (type !== 'file') {
type = 'image';
}
params = params || {};
maxFileSize = +params.max_file_size;
extensions = params.exts;
delete params.max_file_size;
delete params.exts;
uploaderType = type;
uploaderParams = type === 'file' ? params : {};
settings = {
file: {
url: joms.BASE_URL + 'index.php?option=com_community&view=files&task=multiUpload',
filters: { mime_types: [{ title: 'Document files', extensions: extensions }] },
max_file_size: maxFileSize > 0 ? ((+maxFileSize) * 1048576) : 0
},
image: {
url: joms.BASE_URL + 'index.php?option=com_community&view=photos&task=ajaxPreviewComment',
filters: { mime_types: [{ title: 'Image files', extensions: 'jpg,jpeg,png,gif' }] },
max_file_size: undefined
}
};
addAttachmentInit(elem, function () {
uploader.refresh();
uploader.settings.url = settings[type].url;
uploader.settings.filters = settings[type].filters;
uploader.settings.max_file_size = settings[type].max_file_size;
uploader.refresh();
window.joms_webdriver || uploaderButton.click();
});
}
function addAttachmentInit(elem, callback) {
if (typeof callback !== 'function') {
callback = function () { };
}
if (uploader) {
uploaderAttachment = elem && elem.find('.joms-textarea__attachment');
callback();
return;
}
joms.util.loadLib('plupload', function () {
setTimeout(function () {
var container, button;
container = $('<div id="joms-js--attachment-uploader" aria-hidden="true" style="width:1px; height:1px; overflow:hidden">').appendTo(document.body);
button = $('<button id="joms-js--attachment-uploader-button">').appendTo(container);
uploader = new window.plupload.Uploader({
url: joms.BASE_URL + 'index.php?option=com_community&view=photos&task=ajaxPreviewComment',
container: 'joms-js--attachment-uploader',
browse_button: 'joms-js--attachment-uploader-button',
runtimes: 'html5,html4',
multi_selection: false
});
uploader.bind('FilesAdded', addAttachmentAdded);
uploader.bind('BeforeUpload', addAttachmentBeforeUpload);
uploader.bind('Error', addAttachmentError);
uploader.bind('FileUploaded', addAttachmentUploaded);
uploader.init();
uploaderAttachment = elem && elem.find('.joms-textarea__attachment');
uploaderButton = container.find('input[type=file]');
callback();
});
});
}
function addAttachmentAdded(up) {
uploaderError = false;
window.setTimeout(function () {
var ct = uploaderAttachment,
loading = ct.find('.joms-textarea__attachment--loading'),
thumb = ct.find('.joms-textarea__attachment--thumbnail'),
button = ct.find('button');
if (uploaderError) {
return;
}
up.start();
up.refresh();
thumb.find('img').replaceWith('<img>');
thumb.hide();
button.hide();
loading.show();
ct.show();
// Disable sibling items.
uploaderRef.siblings('svg')
.data('disabled', 1)
.css('opacity', 0.5);
}, 0);
}
function addAttachmentBeforeUpload(up) {
var params = '',
prop;
for (prop in uploaderParams) {
params += '&' + prop + '=' + uploaderParams[prop];
}
up.settings.url += params;
}
function addAttachmentError(up, error) {
uploaderError = true;
window.alert(error && error.message || 'Undefined error.');
}
function addAttachmentUploaded(up, file, info) {
var json, ct, loading, thumb, button, img, label;
try {
json = JSON.parse(info.response);
} catch (e) { }
json || (json = {});
ct = uploaderAttachment;
if (json.error || json.msg) {
window.alert(json.error || json.msg);
ct.hide();
return;
}
if (!((json.thumb_url && json.photo_id) || json.id)) {
window.alert('Undefined error.');
ct.hide();
return;
}
loading = ct.find('.joms-textarea__attachment--loading');
thumb = ct.find('.joms-textarea__attachment--thumbnail');
img = thumb.find('img');
button = ct.find('button');
if (uploaderType === 'file') {
label = $('<b>' + file.name + '</b>').data({ 'id': json.id, 'path': json.path, 'name': file.name });
img.removeData('photo_id');
img.hide().siblings('b').remove();
img.after(label);
} else {
img.siblings('b').remove();
img.attr('src', json.thumb_url);
img.data('photo_id', json.photo_id).show();
}
loading.hide();
thumb.show();
button.show();
ct.show();
}
function removeAttachment(elem) {
elem = $(elem);
elem = elem.closest('.joms-textarea__attachment');
if (elem) {
elem.find('.joms-textarea__attachment--thumbnail img').replaceWith('<img src="" alt="attachment">');
elem.hide();
elem.removeData('no_thumb');
elem.removeAttr('data-no_thumb');
}
// Enable sibling items.
if (uploaderRef) {
uploaderRef.siblings('svg')
.removeData('disabled')
.css('opacity', '');
}
}
function cancel(id) {
var $ct, $reply, data;
if (id && id.nodeType) {
$ct = $(id).closest('.joms-js--comment');
} else {
$ct = $('.joms-js--comment-' + id);
}
if (!$ct.length) {
return;
}
data = $ct.data();
$reply = $('.joms-js--newcomment-' + data.parent);
$ct.find('.joms-js--comment-editor').hide();
$ct.find('.joms-js--comment-body').show();
$ct.find('.joms-js--comment-actions').show();
$reply.show();
}
function toggleText(id) {
var $text = $('.joms-js--comment-text-' + id),
$full = $('.joms-js--comment-textfull-' + id),
$btn = $('.joms-js--comment-texttoggle-' + id);
$text.hide();
$full.show();
$btn.hide();
// if ( $full.is(':visible') ) {
// $full.hide();
// $text.show();
// $btn.html( $btn.data('lang-more') );
// } else {
// $text.hide();
// $full.show();
// $btn.html( $btn.data('lang-less') );
// }
}
function _onInboxAdded(html) {
var ct, status, reply, textarea, tagging, attachment, loc, use, href, i;
ct = $('.joms-js--inbox');
status = $('.joms-js--inbox-status');
reply = $('.joms-js--inbox-reply');
textarea = reply.find('textarea');
attachment = reply.find('.joms-textarea__attachment');
html = $($.trim(html));
loc = window.location.href.split('#')[0];
use = html.find('use');
for (i = 0; i < use.length; i++) {
href = use.eq(i).attr('xlink:href').split('#')[1];
href = loc + '#' + href;
use.eq(i).attr('xlink:href', href);
}
ct.append(html);
if (textarea.length) {
tagging = textarea.data('joms-tagging');
tagging ? tagging.clear() : textarea.val('');
}
if (attachment.length) {
attachment.hide();
}
// update seen state
if (status.length) {
status.html('<span>' + status.data('lang-notseen') + '</span>');
}
initVideoPlayers();
}
function _onInboxUpdated(id, html) {
var item, loc, use, href;
if (!html) {
_onInboxRemoved(id);
return;
}
item = $('.joms-js--inbox-item-' + id);
html = $($.trim(html));
loc = window.location.href.split('#')[0];
use = html.find('use');
href = use.attr('xlink:href').split('#')[1];
href = loc + '#' + href;
use.attr('xlink:href', href);
item.replaceWith(html);
initVideoPlayers();
}
function _onInboxRemoved(id) {
var item;
item = $('.joms-js--inbox-item-' + id);
item.fadeOut(500, function () {
item.remove();
});
}
function showEmoticonBoard(elm) {
$(elm).parent().parent().data('editor',this);
joms.util.emoji.showBoard(elm);
return;
$('.joms-emoticon-js__board').remove();
var $body = $('body'),
$board = $('.joms-emoticon-js__board'),
$icon = $(elm).parents('.joms-icon--emoticon'),
offset = $(elm).offset(),
offsetTop = 0,
emoticons = joms.getData('joms_emo'),
isRTL = $('html').attr('dir') === 'rtl';
if (!$board.length) {
html = renderEmoticonBoard(emoticons);
$body.append(html);
$board = $('.joms-emoticon-js__board');
}
var spacer = isRTL ? 15 : ($board.outerWidth() - 30);
var above = {
display: 'block',
top: (offset.top - $board.outerHeight()) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_above = {
opacity: '1',
top: (offset.top - $board.outerHeight() - 10) + 'px'
}
var below = {
display: 'block',
top: (offset.top + 20) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_below = {
opacity: '1',
top: (offset.top + 24) + 'px'
}
offsetTop = offset.top - $(window).scrollTop();
var pos, ani, positionClass;
if (offsetTop > ($board.outerHeight() + 30)) {
pos = above;
ani = animate_above;
positionClass = 'joms-board--above'
} else {
pos = below;
ani = animate_below;
positionClass = 'joms-board--below';
}
$board.is(':hidden') && setTimeout(function () {
$('.joms-icon--active').removeClass('joms-icon--active');
$icon.addClass('joms-icon--active');
$board.css(pos);
$board.addClass(positionClass)
setTimeout(function () {
$board.css(ani);
}, 100);
$(document).one('click', function () {
$board.css({
display: 'none',
opacity: '0'
});
$board.removeClass('joms-board--above joms-board--below');
});
}, 100)
}
function renderEmoticonBoard(emoticons) {
var html = '<ul class="joms-emoticon__board joms-emoticon-js__board">';
for (var key in emoticons) {
var emo = emoticons[key];
html += '\
<li>\
<span\
title="'+ key + '"\
onclick="joms.view.comment.insertEmoticon(this)"\
class="joms-emo2 joms-emo2-'+ key + '"\
data-code="'+ emo[0] + '" >\
</span>\
</li>\
';
}
html += '</ul>';
return html;
}
function smileyCallback(code) {
var $icon = $('.joms-icon--active'),
$wrapper = $icon.parent().find('.joms-textarea__wrapper'),
$input = $wrapper.find('textarea.joms-textarea'),
$hiddenInput = $wrapper.find('input.joms-textarea__hidden'),
value,
start = $input.prop("selectionStart");
value = $input.val().slice(0, start) + code + $input.val().slice(start);
$hiddenInput.val(value);
$input.val(value);
$input.prop("selectionStart", start + code.length);
$input.prop("selectionEnd", start + code.length);
$input.focus();
$input.trigger('keydown')
}
function insertEmoticon(elm) {
var $icon = $('.joms-icon--active'),
$wrapper = $icon.parent().find('.joms-textarea__wrapper'),
$input = $wrapper.find('textarea.joms-textarea'),
$hiddenInput = $wrapper.find('input.joms-textarea__hidden'),
code = $(elm).attr('data-code'),
value,
start = $input.prop("selectionStart");
value = $input.val().slice(0, start) + code + $input.val().slice(start);
$hiddenInput.val(value);
$input.val(value);
$input.prop("selectionStart", start + code.length);
$input.prop("selectionEnd", start + code.length);
$input.focus();
$input.trigger('keydown')
}
function react(uid, reactId, type) {
var current = getReaction(reactId),
text = current.text,
name = current.name,
reactClass = 'reaction-btn--' + name,
$btn = $('.joms-js--comment-actions .joms-button--reaction[data-uid=' + uid + ']');
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
if (type === 'onBar') {
$btn.addClass('reaction-btn--animate');
setTimeout(function () {
$btn.removeClass('reaction-btn--animate');
}, 200);
}
$btn.addClass(reactClass);
$btn.text(text);
$btn.attr('data-reactid', reactId);
$btn.attr('data-action', 'unreact');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxStreamAddLike',
data: [uid, 'comment', reactId],
callback: function (json) {
var $status = $btn.siblings('.joms-comment__reaction-status'),
onclick = 'joms.view.comment.unreact(' + uid + ', ' + reactId + ')';
$status.show();
$status.html(json.html);
$btn.attr('onclick', onclick);
}
});
}
function unreact(uid, reactId, type) {
var $btn = $('.joms-js--comment-actions .joms-button--reaction[data-uid=' + uid + ']'),
text = $btn.attr('data-lang-like');
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
$btn.text(text);
$btn.attr('data-reactid', 1);
$btn.attr('data-action', 'react');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxStreamUnlike',
data: [uid, 'comment', reactId],
callback: function (json) {
var $status = $btn.siblings('.joms-comment__reaction-status'),
onclick = 'joms.view.comment.react(' + uid + ', 1)';
$status.show();
$status.html(json.html);
$btn.attr('onclick', onclick);
}
});
}
function getReaction(reactId) {
var data = joms.getData('joms_reaction');
var react = data.filter(function (item) {
return item.id == reactId;
}).pop();
return react;
}
// Exports.
return {
start: initialize,
stop: uninitialize,
like: like,
unlike: unlike,
edit: edit,
cancel: cancel,
remove: remove,
removeTag: removeTag,
removePreview: removePreview,
removeThumbnail: removeThumbnail,
addAttachment: addAttachment,
removeAttachment: removeAttachment,
toggleText: toggleText,
initInputbox: initInputbox,
showEmoticonBoard: showEmoticonBoard,
insertEmoticon: insertEmoticon,
smileyCallback : smileyCallback,
react: react,
unreact: unreact
};
});
(function (root, $, factory) {
joms.util || (joms.util = {});
joms.util.emoticon = factory(root, $);
define('utils/emoticon',[], function () {
return joms.util.emoticon;
});
})(window, joms.jQuery, function (window, $) {
function initialize() {
}
function showBoard(elm) {
joms.util.emoji.showBoard(elm);
return;
this.$editor = {};
if ($(elm).parent().parent().data('editor') != "") {
this.$editor = $(elm).parent().parent().data('editor')
}
$('.joms-emoticon-js__board').remove();
var $body = $('body'),
$board = $('.joms-emoticon-js__board'),
$icon = $(elm).parents('.joms-icon--emoticon'),
offset = $(elm).offset(),
offsetTop = 0,
emoticons = joms.getData('joms_emo'),
isRTL = $('html').attr('dir') === 'rtl';
if (!$board.length) {
html = renderBoard(emoticons);
$body.append(html);
$board = $('.joms-emoticon-js__board');
}
var spacer = isRTL ? 15 : ($board.outerWidth() - 30);
var above = {
display: 'block',
top: (offset.top - $board.outerHeight()) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_above = {
opacity: '1',
top: (offset.top - $board.outerHeight() - 10) + 'px'
}
var below = {
display: 'block',
top: (offset.top + 20) + 'px',
left: (offset.left - spacer) + 'px',
position: 'absolute'
}
var animate_below = {
opacity: '1',
top: (offset.top + 24) + 'px'
}
offsetTop = offset.top - $(window).scrollTop();
var pos, ani, positionClass;
if (offsetTop > ($board.outerHeight() + 30)) {
pos = above;
ani = animate_above;
positionClass = 'joms-board--above'
} else {
pos = below;
ani = animate_below;
positionClass = 'joms-board--below';
}
$board.is(':hidden') && setTimeout(function () {
$('.joms-icon--active').removeClass('joms-icon--active');
$icon.addClass('joms-icon--active');
$board.css(pos);
$board.addClass(positionClass)
setTimeout(function () {
$board.css(ani);
}, 100);
$(document).one('click', function () {
$board.css({
display: 'none',
opacity: '0'
});
$board.removeClass('joms-board--above joms-board--below');
});
}, 100)
}
function renderBoard(emoticons) {
var html = '<ul class="joms-emoticon__board joms-emoticon-js__board">';
for (var key in emoticons) {
var emo = emoticons[key];
html += '\
<li>\
<span\
title="' + key + '"\
onclick="joms.util.emoticon.insert(this)"\
class="joms-emo2 joms-emo2-' + key + '"\
data-code="' + emo[0] + '" >\
</span>\
</li>\
';
}
html += '</ul>';
return html;
}
function insert(elm) {
var code = $(elm).attr('data-code') ;
this.$editor.smileyCallback(code );
}
// Exports.
return {
start: initialize,
showBoard: showBoard,
insert: insert
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.remove = factory( root );
define('popups/stream.remove',[ 'utils/popup' ], function() {
return joms.popup.stream.remove;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxConfirmDeleteActivity',
data: [ '', id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'activities,ajaxDeleteActivity',
data: [ '', id ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = joms.jQuery('.joms-stream').filter('[data-stream-id=' + id + ']');
item.fadeOut( 500, function() {
item.remove();
});
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.editLocation = factory( root, $ );
define('popups/stream.editlocation',[ 'utils/popup' ], function() {
return joms.popup.stream.editLocation;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxeditLocation',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
_.defer(function() {
initMap( json );
});
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var item = elem.find('.joms-js--location-input'),
name = item.data('name'),
lat = item.data('lat'),
lng = item.data('lng');
joms.ajax({
func: 'activities,ajaxSaveLocation',
data: [ id, name, lat, lng ],
callback: function( json ) {
var stream;
elem.off();
popup.close();
if ( json.success ) {
stream = $('.joms-stream').filter('[data-stream-id=' + id + ']');
stream.find('.joms-status-location a').html( name );
}
}
});
}
function initMap( json ) {
joms.util.map(function() {
var map = elem.find('.joms-js--location-map'),
input = elem.find('.joms-js--location-input'),
loading = elem.find('.joms-js--location-loading'),
selector = elem.find('.joms-js--location-selector'),
position, options, map, marker;
position = new window.google.maps.LatLng( json.latitude, json.longitude );
options = {
center: position,
zoom: 14,
mapTypeId: window.google.maps.MapTypeId.ROADMAD,
mapTypeControl: false,
disableDefaultUI: true,
draggable: false,
scaleControl: false,
scrollwheel: false,
navigationControl: false,
streetViewControl: false,
disableDoubleClickZoom: true
};
map = new window.google.maps.Map( map[0], options );
marker = new window.google.maps.Marker({
draggable: false,
map: map
});
marker.setPosition( position );
map.panTo( position );
input.on( 'input', function() {
selector.hide()
loading.show();
onInput( this.value );
});
var onInput = _.debounce(function( keyword ) {
keyword = $.trim( keyword );
if ( ! keyword ) {
return;
}
joms.util.map.search( keyword ).done(function( data ) {
var html = '';
if ( _.isArray( data ) ) {
_.each( data, function( item ) {
html += '<a class="joms-map--location-item" data-id="' + item.id + '"">'
+ '<strong>' + item.name + '</strong><br />'
+ '<span>' + ( item.description || '' ) + '</span>'
+ '</a>';
});
}
loading.hide();
selector.html( html );
selector.show();
});
}, 1000 );
input.val( json.location );
onInput( json.location );
selector.on( 'click', '.joms-map--location-item', function() {
var elem = $( this ),
data = elem.data(),
name = elem.find( 'strong' ).text(),
position;
input.data( 'name', name );
joms.util.map.detail( data.id ).done(function( place ) {
var geometry = place.geometry,
location = geometry.location,
viewport = geometry.viewport;
input.data( 'lat', location.lat() );
input.data( 'lng', location.lng() );
map.setCenter( location );
marker.setPosition( location );
if ( viewport ) {
map.fitBounds( viewport );
} else {
map.setZoom( 15 );
}
});
});
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.html || json.error ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnEdit, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.addFeatured = factory( root );
define('popups/stream.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.stream.addFeatured;
});
})( window, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
var context = window.joms_page;
var contextid;
if ( context === 'profile' ) {
context = 'profile';
contextid = window.joms_user_id;
} else if ( context === 'groups' ) {
context = 'group';
contextid = window.joms_group_id;
} else if ( context === 'events' ) {
context = 'event';
contextid = window.joms_event_id;
} else {
context = 'frontpage';
contextid = 0;
}
joms.ajax({
func: 'system,ajaxFeatureStream',
data: [ context, contextid, id ],
callback: function( json ) {
if ( json.success ) {
window.location.reload();
return;
}
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', (json.title || ' '), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.removeFeatured = factory( root, $ );
define('popups/stream.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.stream.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
var context = window.joms_page;
var contextid;
if ( context === 'profile' ) {
context = 'profile';
contextid = window.joms_user_id;
} else if ( context === 'groups' ) {
context = 'group';
contextid = window.joms_group_id;
} else if ( context === 'events' ) {
context = 'event';
contextid = window.joms_event_id;
} else {
context = 'frontpage';
contextid = 0;
}
joms.ajax({
func: 'system,ajaxUnfeatureStream',
data: [ context, contextid, id ],
callback: function( json ) {
if ( json.success ) {
window.location.reload();
return;
}
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', (json.title || ' '), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.removeLocation = factory( root );
define('popups/stream.removelocation',[ 'utils/popup' ], function() {
return joms.popup.stream.removeLocation;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxRemoveLocation',
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'activities,deleteLocation',
data: [ id ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = joms.jQuery('.joms-stream').filter('[data-stream-id=' + id + ']');
item.find('.joms-status-location').remove();
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.removeMood = factory( root );
define('popups/stream.removemood',[ 'utils/popup' ], function() {
return joms.popup.stream.removeMood;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxConfirmRemoveMood',
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'activities,ajaxRemoveMood',
data: [ id ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = joms.jQuery('.joms-stream').filter('[data-stream-id=' + id + ']');
item.find('[data-type=stream-content]').find('span').eq(0).html( json.html );
item.find('.colorcolorful-status__mood').html('');
item.find('li.joms-js--contextmenu-removemood').remove();
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.report = factory( root );
define('popups/stream.report',[ 'utils/popup' ], function() {
return joms.popup.stream.report;
});
})( window, function() {
var popup, elem, id, commentid;
function render( _popup, _id, _commentid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
commentid = _commentid;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'activities,reportActivities', window.location.href, message, id, commentid ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, commentid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, commentid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.selectPrivacy = factory( root, $ );
define('popups/stream.selectprivacy',[ 'utils/popup' ], function() {
return joms.popup.stream.selectPrivacy;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
popup.items[0] = {
type: 'inline',
src: buildHtml()
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', 'a', save );
}
function save( e ) {
var el = $( e.currentTarget ),
privacy = el.data('value'),
className = el.data('classname');
joms.ajax({
func: 'activities,ajaxUpdatePrivacyActivity',
data: [ id, privacy ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = $('.joms-stream').filter('[data-stream-id=' + id + ']');
item.find('.joms-stream__meta use').attr( 'xlink:href', window.location + '#' + className );
}
}
});
}
function buildHtml() {
var privacies, filter, base, html, i;
privacies = [
[ 'public', 10, window.joms_lang.COM_COMMUNITY_PRIVACY_PUBLIC, 'earth' ],
[ 'site_members', 20, window.joms_lang.COM_COMMUNITY_PRIVACY_SITE_MEMBERS, 'users' ],
[ 'friends', 30, window.joms_lang.COM_COMMUNITY_PRIVACY_FRIENDS, 'user' ],
[ 'me', 40, window.joms_lang.COM_COMMUNITY_PRIVACY_ME, 'lock' ]
];
// Filter.
filter = window.joms_privacylist;
if ( filter && filter.length ) {
for ( i = privacies.length - 1; i >= 0; i-- ) {
if ( filter.indexOf( privacies[i][0] ) < 0 ) {
privacies.splice( i, 1 );
}
}
}
base = window.location.href;
base = base.replace( /#.*$/, '' );
html = '';
for ( i = 0; i < privacies.length; i++ ) {
html += '<a href="javascript:" data-value="' + privacies[i][1] + '" data-classname="joms-icon-' + privacies[i][3] + '">';
html += '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="' + base + '#joms-icon-' + privacies[i][3] + '"></use></svg> ';
html += '<span>' + privacies[i][2] + '</span></a>';
}
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--privacy">',
'<div><div class="joms-popup__content joms-popup__content--single">', html, '</div></div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.share = factory( root, $ );
define('popups/stream.share',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.stream.share;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxSharePopup',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
initPhotoArranger();
initVideoPlayers();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var attachment = {
msg: elem.find('textarea.joms-textarea').val(),
privacy: elem.find('[data-ui-object=joms-dropdown-value]').val()
};
joms.ajax({
func: 'activities,ajaxAddShare',
data: [ id, JSON.stringify( attachment ) ],
callback: function( json ) {
elem.off();
popup.close();
if ( json.success ) {
$('.joms-stream__container').prepend( json.html );
initPhotoArranger();
initVideoPlayers();
}
}
});
}
function initPhotoArranger() {
var initialized = '.joms-js--initialized',
$containers = $('.joms-media--images').not( initialized );
$containers.each(function() {
var $ct = $( this ),
$imgs = $ct.find('img'),
counter = 0;
$imgs.each(function() {
var $img = $( this );
$('<img>').on('load', function() {
counter++;
if ( counter === $imgs.length ) {
$ct.siblings('.joms-media--loading').remove();
$ct.addClass( initialized.substr(1) );
$imgs.show();
joms.util.photos.arrange( $ct );
}
}).attr( 'src', $img.attr('src') );
});
});
}
function initVideoPlayers() {
var initialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $( cssVideos ).not( initialized ).addClass( initialized.substr(1) );
if ( !videos.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
videos.on( 'click.joms-video', cssVideos + '-play', function() {
var $el = $( this ).closest( cssVideos );
joms.util.video.play( $el, $el.data() );
});
if ( joms.ios ) {
setTimeout(function() {
videos.find( cssVideos + '-play' ).click();
}, 2000 );
}
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnShare, '</button> ',
'<div style="display:inline-block; position:relative;">',
'<div class="joms-button--privacy" data-ui-object="joms-dropdown-button" data-name="share-privacy" data-type="no-popup">',
'<svg class="joms-icon" viewBox="0 0 16 16"><use xlink:href="#joms-icon-earth"></use></svg>',
'<input type="hidden" data-ui-object="joms-dropdown-value" value="10">',
'</div>',
'<ul class="joms-dropdown joms-dropdown--privacy" data-name="share-privacy">',
'<li data-classname="joms-icon-earth" data-value="10" style="white-space:nowrap">',
'<svg class="joms-icon" viewBox="0 0 16 16"><use xlink:href="#joms-icon-earth"></use></svg>',
' <span>', window.joms_lang.COM_COMMUNITY_PRIVACY_PUBLIC, '</span>',
'</li>',
'<li data-classname="joms-icon-users" data-value="20" style="white-space:nowrap">',
'<svg class="joms-icon" viewBox="0 0 16 16"><use xlink:href="#joms-icon-users"></use></svg>',
' <span>', window.joms_lang.COM_COMMUNITY_PRIVACY_SITE_MEMBERS, '</span>',
'</li>',
'<li data-classname="joms-icon-user" data-value="30" style="white-space:nowrap">',
'<svg class="joms-icon" viewBox="0 0 16 16"><use xlink:href="#joms-icon-user"></use></svg>',
' <span>', window.joms_lang.COM_COMMUNITY_PRIVACY_FRIENDS, '</span>',
'</li>',
'<li data-classname="joms-icon-lock" data-value="40" style="white-space:nowrap">',
'<svg class="joms-icon" viewBox="0 0 16 16"><use xlink:href="#joms-icon-lock"></use></svg>',
' <span>', window.joms_lang.COM_COMMUNITY_PRIVACY_ME, '</span>',
'</li>',
'</ul>',
'</div>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.showComments = factory( root, $ );
define('popups/stream.showcomments',[ 'utils/popup' ], function() {
return joms.popup.stream.showComments;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id, type;
function render( _popup, _id, _type ) {
var data;
if ( elem ) elem.off();
popup = _popup;
id = _id;
type = _type;
data = [ id ];
if ( type ) {
data.push( type );
}
joms.ajax({
func: 'system,ajaxStreamShowComments',
data: data,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
initVideoPlayers();
joms.parseEmoji();
}
});
}
function initVideoPlayers() {
var initialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $('.joms-comment__body,.joms-js--inbox').find( cssVideos ).not( initialized ).addClass( initialized.substr(1) );
if ( !videos.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
videos.on( 'click.joms-video', cssVideos + '-play', function() {
var $el = $( this ).closest( cssVideos );
joms.util.video.play( $el, $el.data() );
});
if ( joms.ios ) {
setTimeout(function() {
videos.find( cssVideos + '-play' ).click();
}, 2000 );
}
}
function buildHtml( json ) {
var isEmpty = true,
fragment;
json || (json = {});
fragment = $( $.trim( json.html || '' ) );
if ( fragment.children().length ) {
isEmpty = false;
}
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--rounded joms-popup--80pc">',
'<button class="mfp-close joms-hide"></button>',
'<div class="joms-comment">', ( isEmpty ? window.joms_lang.COM_COMMUNITY_NO_COMMENTS_YET : json.html ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id, type ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, type );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.showLikes = factory( root, $ );
define('popups/stream.showlikes',[ 'utils/popup' ], function() {
return joms.popup.stream.showLikes;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id, target;
function render( _popup, _id, _target ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
target = _target;
joms.ajax({
func: 'system,ajaxStreamShowLikes',
data: [ id, target ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
var isEmpty = true,
fragment;
json || (json = {});
fragment = $( $.trim( json.html || '' ) );
if ( fragment.children().length ) {
isEmpty = false;
}
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--rounded joms-popup--80pc">',
'<button class="mfp-close joms-hide"></button>',
'<div class="joms-comment">', ( isEmpty ? window.joms_lang.COM_COMMUNITY_NO_LIKES_YET : json.html ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id, target ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, target );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream || (joms.popup.stream = {});
joms.popup.stream.showOthers = factory( root, $ );
define('popups/stream.showothers',[ 'utils/popup' ], function() {
return joms.popup.stream.showOthers;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxShowOthers',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--rounded joms-popup--80pc">',
'<button class="mfp-close joms-hide"></button>',
'<div class="joms-comment">', ( json.html || '' ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.stream = factory( root, joms.popup.stream || {});
define('popups/stream',[
'popups/stream.remove',
'popups/stream.editlocation',
'popups/stream.addfeatured',
'popups/stream.removefeatured',
'popups/stream.removelocation',
'popups/stream.removemood',
'popups/stream.report',
'popups/stream.selectprivacy',
'popups/stream.share',
'popups/stream.showcomments',
'popups/stream.showlikes',
'popups/stream.showothers'
], function() {
return joms.popup.stream;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.customize = factory( root, $ );
define('views/customize',[ 'popups/stream' ], function() {
return joms.view.stream;
});
})( window, joms.jQuery, function(/* window, $ */) {
function initialize() {
uninitialize();
}
function uninitialize() {
}
// Exports.
return {
start: initialize,
stop: uninitialize
};
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.misc = factory( root, $ );
define('views/misc',[],function() {
return joms.view.misc;
});
})( window, joms.jQuery, function( window, $ ) {
var $main, $sidebar;
function initialize() {
$main = $('.joms-main');
$sidebar = $('.joms-sidebar');
rearrangeModuleDiv();
$( window ).on( 'resize', rearrangeModuleDiv );
}
var rearrangeModuleDiv = joms._.debounce(function() {
if ( joms.screenSize() !== 'large' ) {
if ( $sidebar.nextAll('.joms-main').length ) {
$sidebar.insertAfter( $main );
}
} else {
if ( $sidebar.prevAll('.joms-main').length ) {
$sidebar.insertBefore( $main );
}
}
}, 500 );
var fixSVG = joms._.debounce(function() {
var url = window.joms_current_url,
svgFixClass = 'joms-icon--svg-fixed',
svg;
if ( !url ) {
return;
}
svg = $('.joms-icon use').not('.' + svgFixClass );
svg.each(function() {
var href = ( this.getAttribute('xlink:href') || '' ),
path = href.replace( /^[^#]*#/, '#' );
if ( href === url + path ) {
svgFixClass += ' joms-icon--svg-unmodified';
} else {
this.setAttribute( 'xlink:href', url + path );
}
this.setAttribute( 'class', svgFixClass );
});
}, 200 );
// Exports.
return {
start: initialize,
fixSVG: fixSVG
};
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.stream = factory( root, $ );
define('views/stream',[ 'popups/stream' ], function() {
return joms.view.stream;
});
})( window, joms.jQuery, function( window, $ ) {
var container;
function initialize() {
uninitialize();
container = $('.joms-stream__wrapper');
}
function uninitialize() {
if ( container ) {
container.off();
}
}
function like( id ) {
var item = container.find( '.joms-js--stream-' + id );
if (+item.attr('do-like')) {
return;
}
item.attr('do-like', 1);
joms.ajax({
func: 'system,ajaxStreamAddLike',
data: [ id ],
callback: function( json ) {
var item, btn, info, counter, status;
if ( json.success ) {
item = container.find( '.joms-js--stream-' + id );
if ( item.length ) {
btn = item.find('.joms-stream__actions').find('.joms-button--liked');
btn.attr( 'onclick', 'joms.api.streamUnlike(\'' + id + '\');' );
btn.addClass('liked');
btn.find('span').html( btn.data('lang-unlike') );
btn.find('use').attr( 'xlink:href', window.location + '#joms-icon-thumbs-down' );
info = item.find('.joms-stream__status');
if ( !json.html ) {
info.remove();
} else if ( info.length ) {
info.html( json.html );
} else {
info = item.find('.joms-stream__actions');
info = $('<div class=joms-stream__status />').insertAfter( info );
info.html( json.html );
}
status = item.find('.joms-stream__status--mobile');
if ( status.length ) {
counter = status.find( '.joms-like__counter--' + id );
counter.html( +counter.eq(0).text() + 1 );
status.find('.joms-like__status').show();
}
item.attr('do-like', 0);
}
}
}
});
}
function unlike( id ) {
var item = container.find( '.joms-js--stream-' + id );
if (+item.attr('do-like')) {
return;
}
item.attr('do-like', 1);
joms.ajax({
func: 'system,ajaxStreamUnlike',
data: [ id ],
callback: function( json ) {
var item, btn, info, counter, status;
if ( json.success ) {
item = container.find( '.joms-js--stream-' + id );
if ( item.length ) {
btn = item.find('.joms-stream__actions').find('.joms-button--liked');
btn.attr( 'onclick', 'joms.api.streamLike(\'' + id + '\');' );
btn.removeClass('liked');
btn.find('span').html( btn.data('lang-like') );
btn.find('use').attr( 'xlink:href', window.location + '#joms-icon-thumbs-up' );
info = item.find('.joms-stream__status');
if ( !json.html ) {
info.remove();
} else if ( info.length ) {
info.html( json.html );
} else {
info = item.find('.joms-stream__actions');
info = $('<div class=joms-stream__status />').insertAfter( info );
info.html( json.html );
}
status = item.find('.joms-stream__status--mobile');
if ( status.length ) {
counter = status.find( '.joms-like__counter--' + id );
var val = +counter.eq(0).text() - 1;
counter.html( val );
if (val === 0) {
status.find('.joms-like__status').hide();
}
}
item.attr('do-like', 0);
}
}
}
});
}
function edit( id ) {
var $stream = $( '.joms-js--stream-' + id ).eq(0),
$sbody = $stream.find('.joms-stream__body'),
$colorfulContainer = $sbody.find('.colorful-status__container'),
$scontent = $sbody.find('[data-type=stream-content]'),
$seditor = $sbody.find('[data-type=stream-editor]'),
$textarea = $seditor.find('textarea'),
origValue = $textarea.val();
$scontent.hide();
$seditor.show();
$textarea.removeData('joms-tagging');
$textarea.jomsTagging();
$textarea.off( 'reset.joms-tagging' );
$textarea.on( 'reset.joms-tagging', function() {
$seditor.hide();
$scontent.show();
$textarea.val( origValue );
});
if (!$textarea.hasClass('limited') && $colorfulContainer.length) {
$textarea.attr('maxlength', 150);
$textarea
.on('keydown', function(e) {
var ENTER = 13;
if (e.keyCode === 13) {
var numline = $textarea.val().split('\n').length;
if (numline === 4) {
e.preventDefault();
}
}
})
$textarea.addClass('limited');
}
$textarea.focus();
}
function editSave( id, text, origText ) {
joms.ajax({
func: 'activities,ajaxSaveStatus',
data: [ id, text ],
callback: function( json ) {
var $stream = $('.joms-stream').filter('[data-stream-id=' + id + ']'),
$sbody = $stream.find('.joms-stream__body'),
$scontent = $sbody.find('[data-type=stream-content]'),
$colorfulContainer = $sbody.find('.colorful-status__container'),
$seditor = $sbody.find('[data-type=stream-editor]'),
$textarea = $seditor.find('textarea');
if ( json.success ) {
if ($colorfulContainer.length) {
$colorfulContainer.find('.colorful-status__inner').html(json.data)
} else {
$scontent.html( '<span>' + json.data + '</span>' );
}
$scontent.html( '<span>' + json.data + '</span>' );
$textarea.val( json.unparsed );
} else {
$textarea.val( origText );
}
$seditor.hide();
$colorfulContainer.length || $scontent.show();
joms.parseEmoji();
}
});
}
function save( id, el ) {
var $stream = $( el ).closest('.joms-js--stream'),
$sbody = $stream.find('.joms-stream__body'),
$seditor = $sbody.find('[data-type=stream-editor]'),
$textarea = $seditor.find('textarea'),
value = $textarea.val();
if ($textarea[0].joms_hidden) {
value = $textarea[0].joms_hidden.val();
}
editSave( id, value, value );
}
function cancel( id ) {
var $stream = $( '.joms-js--stream-' + id ),
$sbody = $stream.find('.joms-stream__body'),
$scontent = $sbody.find('[data-type=stream-content]'),
$seditor = $sbody.find('[data-type=stream-editor]');
$seditor.hide();
$scontent.show();
}
function editLocation( id ) {
joms.popup.stream.editLocation( id );
}
function remove( id ) {
joms.popup.stream.remove( id );
}
function removeLocation( id ) {
joms.popup.stream.removeLocation( id );
}
function removeMood( id ) {
joms.popup.stream.removeMood( id );
}
function removeTag( id ) {
joms.ajax({
func: 'activities,ajaxRemoveUserTag',
data: [ id, 'post' ],
callback: function( json ) {
var $stream, $sbody, $soptions, $scontent, $seditor, $textarea;
if ( json.success ) {
$stream = $( '.joms-js--stream-' + id );
$sbody = $stream.find('.joms-stream__body');
$soptions = $stream.find('.joms-list__options').find('.joms-dropdown').find('.joms-js--contextmenu-removetag');
$scontent = $sbody.find('[data-type=stream-content]');
$seditor = $sbody.find('[data-type=stream-editor]');
$textarea = $seditor.find('textarea');
$scontent.html( '<span>' + json.data + '</span>' );
$textarea.val( json.unparsed );
$soptions.remove();
}
}
});
}
function selectPrivacy( id ) {
joms.popup.stream.selectPrivacy( id );
}
function share( id ) {
joms.popup.stream.share( id );
}
function hide( streamId, userId ) {
joms.ajax({
func: 'activities,ajaxHideStatus',
data: [ streamId, userId ],
callback: function( json ) {
var streams;
if ( json.success ) {
streams = container.find('.joms-stream[data-stream-id=' + streamId + ']');
streams.fadeOut( 500, function() {
streams.remove();
});
}
}
});
}
function ignoreUser( id ) {
joms.popup.stream.ignoreUser( id );
}
function showLikes( id, target ) {
if ( target === 'popup' ) {
joms.popup.stream.showLikes( id, target );
return;
}
joms.ajax({
func: 'system,ajaxStreamShowLikes',
data: [ id ],
callback: function( json ) {
var streams;
if ( json.success ) {
streams = container.find('.joms-stream[data-stream-id=' + id + ']');
streams.find('.joms-stream__status').html( json.html || '' );
}
}
});
}
function showComments( id, type ) {
joms.popup.stream.showComments( id, type );
}
function showOthers( id ) {
joms.popup.stream.showOthers( id );
}
function report( id, commentid ) {
joms.popup.stream.report( id, commentid );
}
function addFeatured( id ) {
joms.popup.stream.addFeatured( id );
}
function removeFeatured( id ) {
joms.popup.stream.removeFeatured( id );
}
function toggleText( id ) {
var $text = $( '.joms-js--stream-text-' + id ),
$full = $( '.joms-js--stream-textfull-' + id ),
$btn = $( '.joms-js--stream-texttoggle-' + id );
if ( $full.is(':visible') ) {
$full.hide();
$text.show();
$btn.html( $btn.data('lang-more') );
} else {
$text.hide();
$full.show();
$btn.html( $btn.data('lang-less') );
}
}
function react( uid, reactId, type ) {
var current = getReaction( reactId),
text = current.text,
name = current.name,
reactClass = 'reaction-btn--' + name,
$btn = $('.joms-button--reaction[data-uid='+uid+'][data-type=stream]');
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
if (type === 'onBar') {
$btn.addClass('reaction-btn--animate');
setTimeout(function() {
$btn.removeClass('reaction-btn--animate');
}, 200);
}
$btn.addClass( reactClass );
$btn.text( text );
$btn.attr('data-reactid', reactId);
$btn.attr('data-action', 'unreact');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxStreamAddLike',
data: [ uid, '', reactId ],
callback: function( json ) {
if (json) {
var $status = $btn.parents('.joms-stream__actions').siblings('.joms-stream__status');
$status.show();
$status.html(json.html);
var onclick = 'joms.view.stream.unreact('+uid+', '+reactId+')';
$btn.attr('onclick', onclick);
}
}
});
}
function unreact( uid, reactId ) {
var $btn = $('.joms-stream__actions .joms-button--reaction[data-uid='+uid+'][data-type=stream]'),
text = $btn.attr('data-lang-like');
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
$btn.text( text );
$btn.attr('data-reactid', 1);
$btn.attr('data-action', 'react');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxStreamUnlike',
data: [ uid, '', reactId ],
callback: function( json ) {
if (json) {
var $status = $btn.parents('.joms-stream__actions').siblings('.joms-stream__status');
if (!json.html) {
$status.hide();
}
$status.html(json.html);
var onclick = 'joms.view.stream.react('+uid+', 1)';
$btn.attr('onclick', onclick);
}
}
});
}
function getReaction( reactId ) {
var data = joms.getData('joms_reaction');
var react = data.filter(function(item) {
return item.id == reactId;
}).pop();
return react;
}
// Exports.
return {
start: initialize,
stop: uninitialize,
like: like,
unlike: unlike,
edit: edit,
save: save,
cancel: cancel,
editLocation: editLocation,
remove: remove,
removeLocation: removeLocation,
removeMood: removeMood,
removeTag: removeTag,
selectPrivacy: selectPrivacy,
share: share,
hide: hide,
ignoreUser: ignoreUser,
showLikes: showLikes,
showComments: showComments,
showOthers: showOthers,
report: report,
toggleText: toggleText,
addFeatured: addFeatured,
removeFeatured: removeFeatured,
react: react,
unreact: unreact
};
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.photos = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var containers = [],
maxHeightThreshold = 180;
$( window ).resize( joms._.debounce(function() {
_rearrange();
}, 500 ));
function arrange( $ct ) {
var $children = $ct.children(),
width = $ct.width();
$children.css({
display: 'block',
'float': 'left',
margin: '1px 0',
overflow: 'hidden',
padding: 0,
position: 'relative'
}).each(function() {
var $el = $( this );
$el.data({
width: $el.width(),
height: $el.height()
});
});
_arrange( width, $children );
// Add to registered container.
containers.push( $ct );
}
function _arrange( ctWidth, $children ) {
var from = 0,
len = $children.length;
$children.each(function( index ) {
var divider, data, height, i;
divider = 0;
for ( i = from; i <= index; i++ ) {
data = $children.eq(i).data();
divider += data.width / data.height;
}
height = ctWidth / divider;
if ( height <= maxHeightThreshold ) {
for ( i = from; i <= index; i++ ) {
$children.eq( i ).find('img').css({ height: height });
}
from = index + 1;
} else if ( i === len ) {
for ( i = from; i <= len; i++ ) {
$children.eq( i ).nextAll().addBack()
.css({ height: maxHeightThreshold })
.find('img').css({ height: height });
}
}
});
// fix ff issue
$children.css('border', '1px solid transparent');
setTimeout(function() {
$children.css('border', '');
});
}
function _rearrange() {
var i, $ct;
for ( i = 0; i < containers.length; i++ ) {
$ct = containers[i];
_arrange( $ct.width(), $ct.children() );
}
}
// Exports.
return {
arrange: arrange
};
});
define("utils/photos", function(){});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.streams = factory( root, $ );
define('views/streams',[ 'utils/hovercard', 'utils/photos', 'utils/video', 'functions/tagging' ], function() {
return joms.view.streams;
});
})( window, joms.jQuery, function( window, $ ) {
var container, adAgencySettings, adAgencyImpressions;
function initialize() {
uninitialize();
container = $('.joms-stream__wrapper');
// Initialize only when container is available.
if ( !container.length )
return;
// Initialize comment box.
initInputbox();
// Initialize jquery montage plugin.
initPhotoArranger();
// Initialize media element.
initVideoPlayers();
// Disable adagency, infinite scroll, and recent activities on single activity page.
if ( !window.joms_singleactivity && !window.joms_filter_keyword ) {
// Initialize ad agency.
if ( +window.joms_adagency ) {
initAdAgency();
}
// Initialize infinite scroll.
if ( +window.joms_infinitescroll ) {
setupAutoLoadActivities();
}
// Get recent activities.
if ( +window.joms_enable_refresh ) {
getRecentActivitiesCount();
}
}
var filterbar = document.getElementsByClassName('joms-activity-filter-action');
if ( filterbar && filterbar.length ) {
window.FastClick.attach( filterbar[0] );
}
}
function uninitialize() {
if ( container ) {
container.off();
}
}
function initPhotoArranger() {
var initialized = '.joms-js--initialized',
$containers = $('.joms-media--images').not( initialized );
$containers.each(function() {
var $ct = $( this ),
$imgs = $ct.find('img'),
counter = 0;
$imgs.each(function() {
var $img = $( this );
$('<img>').on('load', function() {
counter++;
if ( counter === $imgs.length ) {
$ct.siblings('.joms-media--loading').remove();
$ct.addClass( initialized.substr(1) );
$imgs.show();
joms.util.photos.arrange( $ct );
}
}).attr( 'src', $img.attr('src') );
});
});
}
function initVideoPlayers() {
var initialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $('.joms-stream__body').find( cssVideos ).not( initialized ).addClass( initialized.substr(1) );
if ( !videos.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
videos.on( 'click.joms-video', cssVideos + '-play', function() {
var $el = $( this ).closest( cssVideos );
joms.util.video.play( $el, $el.data() );
});
// if ( joms.ios ) {
// setTimeout(function() {
// videos.find( cssVideos + '-play' ).click();
// }, 1000 );
// }
}
function initInputbox() {
joms.fn.tagging.initInputbox();
}
function getEdgeStreamId( edge ) {
var stream, ids;
stream = container.find('.joms-stream').not('.joms-stream--adagency');
if ( !stream.length )
return 0;
ids = [];
stream.each(function() {
ids.push( +$(this).data('stream-id') );
});
return ids[ edge === 'last' ? ids.length - 1 : 0 ];
}
function getFilter() {
var $ct = container.children('.joms-stream__container');
return {
filter: $ct.data('filter'),
filterId: $ct.data('filterid'),
filterValue: $ct.data('filter-value')
};
}
function getRecentActivitiesCount() {
var o = getRecentActivitiesCount,
id, filter;
if ( o.loading )
return;
if ( !( id = window.joms_newest_stream_id ) ) {
console.warn('Variable `window.joms_newest_stream_id` not found.');
return;
}
filter = getFilter();
o.loading = true;
o.xhr && o.xhr.abort();
o.xhr = joms.ajax({
func: 'activities,ajaxGetRecentActivitiesCount',
data: [ id, filter.filter, filter.filterId, filter.filterValue ],
callback: function( json ) {
var count = +json.count,
delay = +json.nextPingDelay,
$latest = $('.joms-js--stream-latest'),
$link;
o.loading = false;
o.xhr = null;
if ( !window.joms_postbox_posting ) {
if ( count > 0 ) {
$link = $( '<a href="javascript:">' + json.html + '</a>' );
$link.on( 'click', getRecentActivities );
$latest.html( $link ).show();
} else {
$latest.hide().empty();
}
}
if ( delay > 0 ) {
joms._.delay( getRecentActivitiesCount, delay );
}
}
});
}
function getRecentActivities() {
var o = getRecentActivities,
id, filter;
if ( o.loading )
return;
if ( !( id = getEdgeStreamId() ) )
return;
filter = getFilter();
o.loading = true;
o.xhr && o.xhr.abort();
o.xhr = joms.ajax({
func: 'activities,ajaxGetRecentActivities',
data: [ id, filter.filter, filter.filterId, filter.filterValue ],
callback: function( json ) {
var $items = $( $.trim( json.html ) ).filter('.joms-stream__wrapper').find('.joms-stream'),
$latest = $('.joms-js--stream-latest'),
i;
// update newest stream id
if ( json.newest_stream_id ) {
window.joms_newest_stream_id = +json.newest_stream_id;
}
o.loading = false;
if ( $items.length ) {
for ( i = $items.length - 1; i >= 0; i-- ) {
// Prevent duplicated stream.
if ( ! ( $('.joms-js--stream-' + $items.eq(i).data('stream-id') ).length ) ) {
container.find('.joms-stream__container').prepend( $items.eq( i ) );
}
}
}
$latest.hide();
initInputbox();
initPhotoArranger();
initVideoPlayers();
}
});
}
function getOlderActivities() {
var o = getOlderActivities,
id, filter, btn, loading;
if ( o.loading )
return;
if ( !( id = getEdgeStreamId('last') ) )
return;
filter = getFilter();
o.loading = true;
btn = container.find('#activity-more');
loading = btn.find('.loading');
btn = btn.find('.joms-button--primary');
btn.hide();
loading.show();
joms.ajax({
func: 'activities,ajaxGetOlderActivities',
data: [ id, filter.filter, filter.filterId, filter.filterValue ],
callback: function( json ) {
var isLast = false,
$items;
o.loading = false;
loading.hide();
if ( json.html ) {
$items = $( $.trim( json.html ) ).filter('.joms-stream__wrapper').find('.joms-stream');
if ( $items.length ) {
container.find('.joms-stream__container').append( $items );
} else {
isLast = true;
}
}
initInputbox();
initPhotoArranger();
initVideoPlayers();
injectAdAgencyItem();
joms.parseEmoji();
if ( !isLast ) {
btn.show();
}
}
});
}
var setupAutoLoadActivities = function() {
var load, win, doc, treshhold, lastScrollTop;
if ( joms.mobile )
return false;
$('.joms-stream__loadmore').find('a').hide();
win = $( window );
doc = $( document );
treshhold = Math.max( +window.joms_autoloadtrigger || 0, 20 );
lastScrollTop = 0;
load = function() {
var scrollTop = win.scrollTop(),
winHeight = win.height(),
direction, id, filter;
direction = scrollTop < lastScrollTop ? 'up' : 'down';
lastScrollTop = scrollTop;
if ( direction !== 'down' ) {
return;
}
if ( ( scrollTop + winHeight ) < ( doc.height() - treshhold ) ) {
return;
}
if ( load.loading ) {
return;
}
load.loading = true;
container.find('.joms-stream__loadmore .loading').show();
if ( !( id = getEdgeStreamId('last') ) ) {
return;
}
filter = getFilter();
joms.ajax({
func: 'activities,ajaxGetOlderActivities',
data: [ id, filter.filter, filter.filterId, filter.filterValue ],
callback: function( json ) {
var isLast = false,
$items;
container.find('.joms-stream__loadmore .loading').hide();
if ( json.html ) {
$items = $( $.trim( json.html ) ).filter('.joms-stream__wrapper').find('.joms-stream');
if ( $items.length ) {
container.find('.joms-stream__container').append( $items );
} else {
isLast = true;
}
}
initInputbox();
initPhotoArranger();
initVideoPlayers();
injectAdAgencyItem();
joms.parseEmoji();
if ( isLast )
return;
load.loading = false;
}
});
}
win.on( 'scroll', load );
};
function initAdAgency() {
joms.ajax({
func: 'system,ajaxGetAdagency',
callback: function( json ) {
adAgencySettings = json || {};
// Shuffle ads.
if ( adAgencySettings.ads && adAgencySettings.ads.length ) {
adAgencySettings.ads = joms._.shuffle( adAgencySettings.ads );
}
injectAdAgencyItem();
}
});
}
function createAdAgencyItem( config, ad ) {
var html;
html = '<div data-stream-type="adagency" class="joms-stream joms-stream--adagency">';
html += '<div class="joms-stream__header">';
html += '<div class="joms-avatar--stream">';
html += '<a href="' + ad.on_click_url + '" target="_blank" onclick="window.open(\'' + ad.on_click_url + '\'); return false;">';
html += '<img src="' + ad.banner_avatar + '">';
html += '</a>';
html += '</div>';
html += '<div class="joms-stream__meta">';
html += '<a class="joms-stream__user" href="' + ad.on_click_url + '" target="_blank" onclick="window.open(\'' + ad.on_click_url + '\'); return false;">' + ad.banner_headline + '</a>';
html += '<a href="' + ad.on_click_url + '" target="_blank" onclick="window.open(\'' + ad.on_click_url + '\'); return false;"><span class="joms-stream__time"><small>' + (ad.short_url_to_promote || ad.url_to_promote) + '</small></span></a>';
html += '</div>';
html += '</div>';
html += '<div class="joms-stream__body">';
html += '<p>' + ad.banner_text + '</p>';
html += '<div class="joms-media--image">';
html += '<a href="' + ad.on_click_url + '" target="_blank" onclick="window.open(\'' + ad.on_click_url + '\'); return false;">';
html += '<img src="' + ad.banner_image_content + '">';
html += '</a>';
html += '</div>';
html += '</div>';
if ( +config.show_sponsored_stream_info || +config.show_create_ad_link ) {
html += '<div class="joms-stream__actions">';
if ( +config.show_sponsored_stream_info ) {
html += '<span style="float:left">' + config.sponsored_stream_info_text + '</span>';
}
if ( +config.show_create_ad_link ) {
html += '<a href="' + config.create_ad_link + '" style="float:right">' + config.create_ad_link_text + '</a>';
}
html += '<div style="clear:both"></div>';
html += '</div>';
}
html += '</div>';
return html;
}
function injectAdAgencyItem() {
var ads, config, after, every, counter, isAfter, pageMap, isLoggedIn, isPublic;
if ( !(adAgencySettings && adAgencySettings.config && adAgencySettings.ads && adAgencySettings.ads.length) ) {
return;
}
ads = adAgencySettings.ads;
config = adAgencySettings.config;
after = +config.display_stream_ads_after_value;
every = +config.display_stream_ads_every_value;
isAfter = +config.display_stream_ads;
counter = 0;
isLoggedIn = +window.joms_my_id;
if ( !isLoggedIn ) {
for ( var i = ads.length - 1; i >= 0; i-- ) {
isPublic = +ads[i].banner_access;
if ( !isPublic ) {
ads.splice( i, 1 );
}
}
}
if ( !ads.length ) {
return;
}
pageMap = {
frontpage : 'front_page_stream',
profile : 'profile_stream',
pages : 'pages_stream',
groups : 'group_stream',
events : 'event_stream'
};
if ( ( config.js_stream_ads_on || [] ).indexOf( pageMap[ window.joms_page ] ) < 0 ) {
return;
}
container.find('.joms-stream').not('.joms-stream--adagency').each(function( i ) {
var elem, next;
// Show ad after 'x' stream items.
if ( isAfter ) {
if ( !after ) {
return false;
}
if ( i === after - 1 ) {
elem = $( this );
next = elem.next();
if ( !next.length || !next.hasClass('joms-stream--adagency') ) {
elem.after( createAdAgencyItem( config, ads[ counter ] ) );
increaseAdAgencyImpression( ads[ counter ] );
}
return false;
}
// Show ad every 'x' stream items.
} else {
if ( !every ) {
return false;
}
if ( (i + 1) % every === 0 ) {
elem = $( this );
next = elem.next();
if ( !next.length || !next.hasClass('joms-stream--adagency') ) {
elem.after( createAdAgencyItem( config, ads[ counter % ads.length ] ) );
increaseAdAgencyImpression( ads[ counter % ads.length ] );
}
counter++;
}
}
});
}
function increaseAdAgencyImpression( ad ) {
var id = [
ad.advertiser_id,
ad.campaign_id,
ad.banner_id,
ad.campaign_type
].join('-');
adAgencyImpressions || (adAgencyImpressions = {});
if ( adAgencyImpressions[ id ] ) {
return;
}
adAgencyImpressions[ id ] = true;
joms.ajax({
func: 'system,ajaxAdagencyGetImpression',
data: [ ad.advertiser_id, ad.campaign_id, ad.banner_id, ad.campaign_type ],
callback: function() {}
});
}
// Exports.
return {
start: initialize,
stop: uninitialize,
loadMore: getOlderActivities
};
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.toolbar = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var wrapper, buttonMain, buttonUser, buttonSubMenu, xhr, lastbtn;
function hideMenu( e ) {
var nohide = $( e.target ).closest('.joms-trigger__menu--main, .joms-trigger__menu--user, .joms-menu, .joms-menu--user');
if ( nohide.length ) return;
if ( wrapper.hasClass('show-menu') || wrapper.hasClass('show-menu--user') ) {
e.preventDefault();
e.stopPropagation();
wrapper.removeClass('show-menu');
wrapper.removeClass('show-menu--user');
}
}
function toggleMenu( e ) {
e.stopPropagation();
wrapper.toggleClass('show-menu');
}
function toggleUserMenu( e ) {
e.stopPropagation();
wrapper.toggleClass('show-menu--user');
}
function toggleSubMenu( e ) {
var el = $( e.currentTarget ).closest('li');
if ( el.hasClass('show-submenu') ) {
el.removeClass('show-submenu');
} else {
el.addClass('show-submenu').siblings().removeClass('show-submenu');
}
}
function start() {
if ( !wrapper ) wrapper = $('.jomsocial-wrapper');
if ( !buttonMain ) buttonMain = $('.joms-trigger__menu--main');
if ( !buttonUser ) buttonUser = $('.joms-trigger__menu--user');
if ( !buttonSubMenu ) buttonSubMenu = $('.joms-menu__toggle');
stop();
wrapper.on( 'click.menu', hideMenu );
wrapper.on( 'click.menu', '.joms-js--has-dropdown', function( e ) {
e.preventDefault();
e.stopPropagation();
window.location = $( e.currentTarget ).attr('href');
});
wrapper.on( 'mouseenter.menu', '.joms-toolbar--desktop > ul > li > a.joms-js--has-dropdown', function( e ) {
var btn = $( e.currentTarget );
if ( ! btn.siblings('ul.joms-dropdown').is(':visible') ) {
lastbtn = btn.trigger('click.dropdown');
}
});
wrapper.on( 'mouseleave.menu', '.joms-toolbar--desktop', function() {
if ( lastbtn ) {
lastbtn.trigger('collapse.dropdown');
lastbtn = undefined;
}
});
buttonMain.on( 'click.menu', toggleMenu );
buttonUser.on( 'click.menu', toggleUserMenu );
buttonSubMenu.on( 'click.submenu', toggleSubMenu );
getNotifications();
}
function stop() {
if ( wrapper ) {
wrapper.off( 'click.menu' );
wrapper.off( 'click.menu', '.joms-js--has-dropdown' );
wrapper.off( 'mouseenter.menu', '.joms-toolbar--desktop > ul > li > a.joms-js--has-dropdown' );
wrapper.off( 'mouseleave.menu', '.joms-toolbar--desktop' );
}
if ( buttonMain ) buttonMain.off('click.menu');
if ( buttonUser ) buttonUser.off('click.menu');
if ( buttonSubMenu ) buttonSubMenu.off('click.submenu');
}
function notificationGeneral() {
joms.ajax({
func: 'notification,ajaxGetNotification',
data: [ '' ],
callback: function( json ) {
var elem;
if ( json.html ) {
elem = $('.joms-popover--toolbar-general');
elem.html( json.html );
}
}
});
}
function notificationFriend() {
joms.ajax({
func: 'notification,ajaxGetRequest',
data: [ '' ],
callback: function( json ) {
var elem;
if ( json.html ) {
elem = $('.joms-popover--toolbar-friendrequest');
elem.html( json.html );
elem.off( 'click', '.joms-button__approve' ).on( 'click', '.joms-button__approve', notificationFriendReject );
elem.off( 'click', '.joms-button__reject' ).on( 'click', '.joms-button__reject', notificationFriendApprove );
}
}
});
}
function notificationFriendReject( e ) {
var elem = $( e.currentTarget ),
id = elem.data('connection');
joms.ajax({
func: 'friends,ajaxRejectRequest',
data: [ id ],
callback: function( json ) {
elem = $('.joms-js__friend-request-' + id);
elem.find('.joms-popover__actions').remove();
elem.find('.joms-popover__content').html( json.error || json.message );
notificationCounter( 'friendrequest', -1 );
}
});
}
function notificationFriendApprove( e ) {
var elem = $( e.currentTarget ),
id = elem.data('connection');
joms.ajax({
func: 'friends,ajaxApproveRequest',
data: [ id ],
callback: function( json ) {
elem = $('.joms-js__friend-request-' + id);
elem.find('.joms-popover__actions').remove();
elem.find('.joms-popover__content').html( json.error || json.message );
notificationCounter( 'friendrequest', -1 );
}
});
}
function notificationPm() {
joms.ajax({
func: 'notification,ajaxGetInbox',
data: [ '' ],
callback: function( json ) {
var elem;
if ( json.html ) {
elem = $('.joms-popover--toolbar-pm');
elem.html( json.html );
}
}
});
}
function notificationCounter( type, count ) {
var counters;
if ([ 'general', 'friendrequest', 'pm' ].indexOf( type ) < 0)
return;
counters = $( '.joms-notifications__label--' + type );
count = +counters.eq(0).text() + count;
counters.html( count > 0 ? count : '' );
}
function search( elem ) {
var keyword = elem,
rTrim = /^\s+|\s+$/g,
field, loading, viewall;
if ( typeof elem !== 'string' ) {
keyword = $( elem ).val();
}
keyword = keyword || '';
if ( !keyword.replace(rTrim, '') )
return;
if ( xhr ) {
xhr.abort();
}
elem = $('.joms-popover--toolbar-search');
field = elem.find('.joms-js--field');
loading = elem.find('.joms-js--loading');
viewall = elem.find('.joms-js--viewall');
elem.find('li:not(.joms-js--noremove)').remove();
viewall.hide();
loading.show();
xhr = joms.ajax({
func: 'search,ajaxSearch',
data: [ keyword ],
callback: function( json ) {
var html, i, form, max, btn;
loading.hide();
if ( json.error ) {
html = '<li class="joms-js--error">' + json.error + '</li>';
field.after( html );
return;
}
if ( json.length ) {
html = '';
max = Math.min( 3, json.length );
for ( i = 0; i < max; i++ ) {
html += '<li><div class="joms-popover__avatar"><div class="joms-avatar">';
html += '<img src="' + json[i].thumb + '"></div></div>';
html += '<div class="joms-popover__content">';
html += '<h5><a href="' + json[i].url + '">' + json[i].name + '</a></h5>';
html += '</div></li>';
}
form = viewall.find('form');
form.find('input').val( keyword );
viewall.off( 'click', 'a' ).on( 'click', 'a', function() {
form[0].submit();
});
btn = viewall.find('a');
btn.html( btn.data('lang').replace( '%1$s', json.length ) );
field.after( html );
viewall.show();
elem.show();
}
}
});
}
function getNotifications() {
var viewerId = +window.joms_my_id;
if ( !viewerId )
return;
// do not call it if elements not found
if ( ! $('.joms-js--notiflabel-general').length )
return;
joms.ajax({
func: 'activities,ajaxGetTotalNotifications',
callback: function( json ) {
var generals, friendrequests, pms, delay, title;
json || (json = {});
generals = json.newNotificationCount;
friendrequests = json.newFriendInviteCount;
pms = json.newMessageCount;
delay = +json.nextPingDelay;
if ( typeof generals !== 'undefined' ) {
generals = +generals || '';
$('.joms-js--notiflabel-general').html( generals );
// Also update document's title.
title = document.title;
title = title.replace( /^\(\d+\)\s/, '' );
title = ( generals ? '(' + generals + ') ' : '' ) + title;
document.title = title;
}
if ( typeof friendrequests !== 'undefined' ) {
$('.joms-js--notiflabel-frequest').html( +friendrequests || '' );
}
if ( typeof pms !== 'undefined' ) {
$('.joms-js--notiflabel-inbox').html( +pms || '' );
}
if ( delay > 0 ) {
joms._.delay( getNotifications, delay );
}
}
});
}
// Exports.
return {
start: start,
stop: stop,
notificationGeneral: notificationGeneral,
notificationFriend: notificationFriend,
notificationPm: notificationPm,
notificationCounter: notificationCounter,
search: search
};
});
define("views/toolbar", function(){});
(function( root, $, factory ) {
joms.fn || (joms.fn = {});
joms.fn.announcement = factory( root, $ );
define('functions/announcement',[],function() {
return joms.fn.announcement;
});
})( window, joms.jQuery, function( window, $ ) {
function edit( groupid, id ) {
$( '.joms-js--announcement-view-' + groupid + '-' + id ).hide();
$( '.joms-js--announcement-edit-' + groupid + '-' + id ).show();
$( '.joms-subnav,.joms-subnav--desktop' ).hide();
$( '.joms-sidebar' ).hide();
$( '.joms-main' ).css({ padding: 0, width: '100%' });
}
function editCancel( groupid, id ) {
$( '.joms-js--announcement-edit-' + groupid + '-' + id ).hide();
$( '.joms-js--announcement-view-' + groupid + '-' + id ).show();
$( '.joms-subnav,.joms-subnav--desktop' ).css( 'display', '' );
$( '.joms-main' ).css({ padding: '', width: '' });
$( '.joms-sidebar' ).show();
}
// Exports.
return {
edit: edit,
editCancel: editCancel
};
});
(function( root, $, factory ) {
joms.fn || (joms.fn = {});
joms.fn.facebook = factory( root, $ );
define('functions/facebook',[],function() {
return joms.fn.facebook;
});
})( window, joms.jQuery, function() {
function update() {
joms.ajax({
func: 'connect,ajaxUpdate',
data: [ '' ],
callback: function( json ) {
console.log( json );
}
});
}
// Exports.
return {
update: update
};
});
(function( root, $, factory ) {
joms.fn || (joms.fn = {});
joms.fn.notification = factory( root, $ );
define('functions/notification',[],function() {
return joms.fn.notification;
});
})( window, joms.jQuery, function( window, $ ) {
var requests = [];
function updateCounter( type, id, count ) {
var $el;
id = type + '-' + id;
// Prevent double/multiple request for one notification.
if ( requests.indexOf( id ) >= 0 ) {
return;
}
$el = $( '.joms-js--notiflabel-' + type );
if ( requests.indexOf( id ) < 0 ) {
requests.push( id );
count = +$el.eq(0).text() + count;
$el.html( count > 0 ? count : '' );
}
}
// Exports.
return {
updateCounter: updateCounter
};
});
(function( root, $, factory ) {
joms.fn || (joms.fn = {});
joms.fn.invitation = factory( root, $ );
define('functions/invitation',[ 'functions/notification' ], function() {
return joms.fn.invitation;
});
})( window, joms.jQuery, function( window, $ ) {
function accept( type, id ) {
var func;
var data = [id];
switch (type) {
case 'group':
func = 'notification,ajaxGroupJoinInvitation';
break;
case 'page':
func = 'notification,ajaxPageJoinInvitation';
break;
default:
func = 'events,ajaxJoinInvitation';
break;
}
joms.ajax({
func: func,
data: data,
callback: function( json ) {
_update( type, id, json );
}
});
}
function reject( type, id ) {
var func;
var data = [id];
switch (type) {
case 'group':
func = 'notification,ajaxGroupRejectInvitation';
break;
case 'page':
func = 'notification,ajaxPageRejectInvitation';
break;
default:
func = 'events,ajaxRejectInvitation';
break;
}
joms.ajax({
func: func,
data: data,
callback: function( json ) {
_update( type, id, json );
}
});
}
function _update( type, id, json ) {
$( '.joms-js--invitation-buttons-' + type + '-' + id ).remove();
$( '.joms-js--invitation-notice-' + type + '-' + id ).html( json && json.message || '' );
joms.fn.notification.updateCounter( 'general', id, -1 );
}
// Exports.
return {
accept: accept,
reject: reject
};
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.field = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
function _createFileWrapper() {
return [
'<div data-wrap="file" style="width:350px;max-width:100%;position:relative;overflow:hidden">',
'<input type="text" class="joms-input" readonly="readonly" placeholder="', (window.joms_lang && window.joms_lang.COM_COMMUNITY_SELECT_FILE || 'Select file'), '.."',
'style="margin-bottom:2px">',
'</div>'
].join('');
}
function _extractFileName( path ) {
var matches = path.match( /[^\\\/]+$/ );
if ( matches && matches[0] ) {
return matches[0];
}
return '';
}
// Exports.
return {
file: function( $elems ) {
$elems = $( $elems );
$elems.each(function( i, $elem ) {
var $wrapper;
$elem = $( $elem );
$wrapper = $elem.parent();
if ( ! $wrapper.data('wrap') ) {
$wrapper = $( _createFileWrapper() );
$elem.before( $wrapper );
$elem.hide();
$elem.appendTo( $wrapper );
$elem.css({
cursor: 'pointer',
position: 'absolute',
right: 0,
top: 0,
width: '100%',
height: '100%',
opacity: 0
});
$elem.show();
}
// On file selection.
$elem.off( 'change.joms-file' );
$elem.on( 'change.joms-file', function() {
$wrapper.find('.joms-input').val( _extractFileName( $(this).val() ) );
});
});
}
};
});
define("utils/field", function(){});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.info = factory( root, $ );
define('popups/info',[ 'utils/popup' ], function() {
return joms.popup.info;
});
})( window, joms.jQuery, function() {
function render( popup, title, content ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( title, content )
};
popup.updateItemHTML();
}
function buildHtml( title, content ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( title || ' ' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( content || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( title, content ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, title, content );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.login = factory( root, $ );
define('popups/login',[ 'utils/popup' ], function() {
return joms.popup.login;
});
})( window, joms.jQuery, function() {
var popup, elem;
function login( _popup, _json ) {
if ( _json && typeof _json === 'object' ) {
render( _popup, _json );
return;
}
var uri = _json;
if ( typeof _json !== 'string' ) {
uri = window.location.href;
uri = uri.replace(/#.*$/, '');
}
joms.ajax({
func: 'system,ajaxLogin',
data: [ uri ],
callback: function( json ) {
render( _popup, json );
}
});
}
function render( _popup, _json ) {
if ( elem ) elem.off();
popup = _popup;
popup.items[0] = {
type: 'inline',
src: buildHtml( _json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.find('form').on( 'submit', send );
}
function send( e ) {
e.preventDefault();
e.stopPropagation();
joms.ajax({
func: 'system,ajaxGetLoginFormToken',
data: [],
callback: function( json ) {
var form = elem.find('form');
if ( json.token ) {
form.find('.joms-js--token input').prop('name', json.token);
}
form.off('submit');
form.find('[name=submit]').click();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( json ) {
joms.util.popup.prepare(function( mfp ) {
login( mfp, json );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.album || (joms.popup.album = {});
joms.popup.album.addFeatured = factory( root, $ );
define('popups/album.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.album.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'photos,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE ,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.album || (joms.popup.album = {});
joms.popup.album.removeFeatured = factory( root, $ );
define('popups/album.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.album.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'photos,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.album || (joms.popup.album = {});
joms.popup.album.remove = factory( root );
define('popups/album.remove',[ 'utils/popup' ], function() {
return joms.popup.album.remove;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'photos,ajaxRemoveAlbum',
data: [ id, 'myphotos' ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.message, '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.album = factory( root, joms.popup.album || {});
define('popups/album',[
'popups/album.addfeatured',
'popups/album.removefeatured',
'popups/album.remove'
], function() {
return joms.popup.album;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.announcement || (joms.popup.announcement = {});
joms.popup.announcement.remove = factory( root );
define('popups/announcement.remove',[ 'utils/popup' ], function() {
return joms.popup.announcement.remove;
});
})( window, function() {
var popup, elem, groupid, id;
function render( _popup, _groupid, _id ) {
if ( elem ) elem.off();
popup = _popup;
groupid = _groupid;
id = _id;
joms.ajax({
func: 'groups,ajaxShowRemoveBulletin',
data: [ groupid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( groupid, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, groupid, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.announcement = factory( root, joms.popup.announcement || {});
define('popups/announcement',[
'popups/announcement.remove'
], function() {
return joms.popup.announcement;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app || (joms.popup.app = {});
joms.popup.app.about = factory( root, $ );
define('popups/app.about',[ 'utils/popup' ], function() {
return joms.popup.app.about;
});
})( window, joms.jQuery, function() {
var popup, elem, name;
function render( _popup, _name ) {
if ( elem ) elem.off();
popup = _popup;
name = _name;
joms.ajax({
func: 'apps,ajaxShowAbout',
data: [ name ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( name ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, name );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app || (joms.popup.app = {});
joms.popup.app.browse = factory( root, $ );
define('popups/app.browse',[ 'utils/popup' ], function() {
return joms.popup.app.browse;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, pos;
function render( _popup, _pos ) {
if ( elem ) elem.off();
popup = _popup;
pos = _pos;
joms.ajax({
func: 'apps,ajaxBrowse',
data: [ pos ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', 'a[data-appname]', save );
elem.on( 'click', '.joms-js--btn-view-all', viewAll );
}
});
}
function save( e ) {
var el = $( e.target ),
appName = el.data('appname'),
position = el.data('position'),
stacked = position.indexOf('-stacked') >= 0,
tabTemplate = '<a href="#joms-js--app-app_id" class="no-padding joms-js--app-tab-app_id active"><div class="joms-tab__bar--button"><span class="title">app_title</span></div></a>';
joms.ajax({
func: 'apps,ajaxAddApp',
data: [ appName, position ],
callback: function( json ) {
var $pos, $btn, $tab;
if ( json.success ) {
$pos = $( '.joms-js--app-pos-' + pos );
$tab = $pos.find('.joms-tab__bar').eq(0);
if (stacked) {
$tab.before( $(json.item).show() );
} else {
$btn = $tab.find('.joms-js--app-new');
$btn.prevAll().removeClass('active');
$btn.before( tabTemplate.replace( /app_id/g, json.id ).replace( /app_title/, json.title ) );
$pos.find('.joms-tab__content').hide();
$pos.append( $(json.item).show() );
}
getSetting( json.id, appName );
}
}
});
}
function getSetting( appId, appName ) {
joms.ajax({
func: 'apps,ajaxShowSettings',
data: [ appId, appName ],
callback: function( json ) {
elem.off( 'click', 'a[data-appname]' );
elem.html( buildHtml( json, 'setting' ) );
elem.on( 'click', '.joms-popup__content,.joms-popup__action', function( e ) {
e.stopPropagation();
return false;
});
elem.on( 'click', '[data-ui-object=popup-button-save]', function() {
saveSetting();
});
}
});
}
function saveSetting() {
var $form = elem.find('form'),
params = $form.serializeArray(),
data = [],
i;
for ( i = 0; i < params.length; i++ ) {
data.push([ params[i].name, params[i].value ]);
}
joms.ajax({
func: 'apps,ajaxSaveSettings',
data: [ data ],
callback: function( json ) {
if ( json.error ) {
elem.find('.joms-popup__content').html( json.error );
elem.find('.joms-popup__action').remove();
return;
}
popup.close();
}
});
}
function viewAll() {
var $ct = elem.find('.joms-popup__content').eq(0),
height = $ct.innerHeight();
$ct.css({
height: height,
overflow: 'auto'
});
elem.find('.joms-js--btn-view-all').parent().remove();
elem.find('.joms-js--app').show();
$ct.animate({ scrollTop: $ct[0].scrollHeight });
}
function buildHtml( json, type ) {
var action = '';
json || (json = {});
if ( type === 'setting' && json.btnSave ) {
action = [
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close joms-left">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnSave, '</button>',
'</div>'
].join('');
} else {
action = [
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>'
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( pos ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, pos );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app || (joms.popup.app = {});
joms.popup.app.privacy = factory( root, $ );
define('popups/app.privacy',[ 'utils/popup' ], function() {
return joms.popup.app.privacy;
});
})( window, joms.jQuery, function() {
var popup, elem, name;
function render( _popup, _name ) {
if ( elem ) elem.off();
popup = _popup;
name = _name;
joms.ajax({
func: 'apps,ajaxShowPrivacy',
data: [ name ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function save() {
var $radio = elem.find('input[type=radio]:checked'),
privacy = $radio.val();
joms.ajax({
func: 'apps,ajaxSavePrivacy',
data: [ name, privacy ],
callback: function( json ) {
if ( json.error ) {
elem.find('.joms-popup__content').html( json.error );
elem.find('.joms-popup__action').remove();
return;
}
popup.close();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnSave, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( name ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, name );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app || (joms.popup.app = {});
joms.popup.app.remove = factory( root, $ );
define('popups/app.remove',[ 'utils/popup' ], function() {
return joms.popup.app.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'apps,ajaxRemove',
data: [ id ],
callback: function( json ) {
var $tab, $nexttab, $content;
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// locate the app
$tab = $( '.joms-js--app-tab-' + id );
$content = $( '#joms-js--app-' + id );
// find next tab
$nexttab = $tab.prev();
if ( !$nexttab.length ) $nexttab = $tab.next().not('.joms-js--app-new');
// remove the app
$tab.remove();
$content.remove();
$nexttab.length && $nexttab.click();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app || (joms.popup.app = {});
joms.popup.app.setting = factory( root, $ );
define('popups/app.setting',[ 'utils/popup' ], function() {
return joms.popup.app.setting;
});
})( window, joms.jQuery, function() {
var popup, elem, id, name;
function render( _popup, _id, _name ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
name = _name;
joms.ajax({
func: 'apps,ajaxShowSettings',
data: [ id, name ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function save() {
var $form = elem.find('form'),
params = $form.serializeArray(),
data = [],
i;
for ( i = 0; i < params.length; i++ ) {
data.push([ params[i].name, params[i].value ]);
}
joms.ajax({
func: 'apps,ajaxSaveSettings',
data: [ data ],
callback: function( json ) {
if ( json.error ) {
elem.find('.joms-popup__content').html( json.error );
elem.find('.joms-popup__action').remove();
return;
}
popup.close();
}
});
}
function buildHtml( json ) {
var action = '';
json || (json = {});
if ( json.btnSave ) {
action = [
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close joms-left">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnSave, '</button>',
'</div>'
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single" style="max-height:315px; overflow:auto">', ( json.html || '' ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( id, name ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, name );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.app = factory( root, joms.popup.app || {});
define('popups/app',[
'popups/app.about',
'popups/app.browse',
'popups/app.privacy',
'popups/app.remove',
'popups/app.setting'
], function() {
return joms.popup.app;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.avatar || (joms.popup.avatar = {});
joms.popup.avatar.change = factory( root, $ );
define('popups/avatar.change',[ 'utils/crop', 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.avatar.change;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, type, id, uploader, container, button, result;
function render( _popup, _type, _id ) {
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
joms.ajax({
func: 'photos,ajaxUploadAvatar',
data: [ type, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-upload', upload );
elem.on( 'click', '.joms-js--button-save', save );
elem.on( 'click', '.joms-js--button-rotate-left', rotateLeft );
elem.on( 'click', '.joms-js--button-rotate-right', rotateRight );
// Init uploader upon render.
uploadInit();
}
});
}
function save() {
var crop = joms.util.crop.getSelection();
joms.ajax({
func: 'photos,ajaxUpdateThumbnail',
data: [ type, id, crop.x, crop.y, crop.width, crop.height ],
callback: function( json ) {
if ( json.success ) {
window.location.reload( true );
}
}
});
}
function rotateLeft() {
joms.api.avatarRotate( type, id, 'left', function() {
reloadImage();
});
}
function rotateRight() {
joms.api.avatarRotate( type, id, 'right', function() {
reloadImage();
});
}
function reloadImage() {
var cropper = $('.joms-avatar__cropper'),
img = cropper.find('img'),
src = img.attr('src');
src = src.replace(/\?.*$/, '');
src = src + '?_=' + (new Date()).getTime();
joms.util.crop.detach();
img.removeAttr('src');
img.attr( 'src', src );
setTimeout(function() {
joms.util.crop( img );
}, 100 );
}
function upload() {
uploadInit(function() {
button.click();
});
}
function uploadInit( callback ) {
if ( typeof callback !== 'function' ) {
callback = function() {};
}
if ( uploader ) {
callback();
return;
}
joms.util.loadLib( 'plupload', function () {
var url;
url = elem.find('form').attr('action');
container = $('<div id="joms-js--avatar-uploader" aria-hidden="true" style="width:1px; height:1px; position:absolute; overflow:hidden;">').appendTo( document.body );
button = $('<div id="joms-js--avatar-uploader-button">').appendTo( container );
uploader = new window.plupload.Uploader({
url: url,
filters: [{ title: 'Image files', extensions: 'jpg,jpeg,png,gif' }],
container: 'joms-js--avatar-uploader',
browse_button: 'joms-js--avatar-uploader-button',
runtimes: 'html5,html4',
multi_selection: false,
file_data_name: 'filedata'
});
uploader.bind( 'FilesAdded', uploadAdded );
uploader.bind( 'Error', uploadError );
uploader.bind( 'UploadProgress', uploadProgress );
uploader.bind( 'FileUploaded', uploadUploaded );
uploader.bind( 'UploadComplete', uploadComplete );
uploader.init();
button = container.find('input[type=file]');
callback();
});
}
function uploadAdded( up ) {
window.setTimeout(function() {
elem.find('.joms-progressbar__progress').css({ width: 0 });
up.refresh();
up.start();
}, 0);
}
function uploadError() {
}
function uploadProgress( up, file ) {
var percent, bar, pleasewait;
percent = Math.min( 100, Math.floor( file.loaded / file.size * 100 ) );
bar = elem.find( '.joms-progressbar__progress' );
bar.stop().animate({ width: percent + '%' });
pleasewait = $('.please-wait');
pleasewait.show();
}
function uploadUploaded( up, files, data ) {
var json = {},
cropper;
// Parse json response.
try {
json = JSON.parse( data.response );
} catch ( e ) {}
result = json;
if ( json.msg && !json.error ) {
cropper = $('.joms-avatar__cropper');
cropper.find('img').attr( 'src', json.msg );
cropper.show();
setTimeout(function() {
var elem = cropper.find('img');
joms.util.crop.detach();
joms.util.crop( elem );
}, 100 );
}
}
function uploadComplete() {
if ( ! result.error ) {
elem.find('.joms-js--avatar-uploader-error').hide();
} else {
elem.find('.joms-js--avatar-uploader-error').html( result.msg ).show();
elem.find('.joms-progressbar__progress').stop().animate({ width: '0%' });
}
elem.find('.please-wait').hide();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
( json.html || '' ),
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.avatar || (joms.popup.avatar = {});
joms.popup.avatar.remove = factory( root, $ );
define('popups/avatar.remove',[ 'utils/popup' ], function() {
return joms.popup.avatar.remove;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _type, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxRemovePicture',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'<div class="joms-popup__hide">',
'<form method="POST" action="', json.redirUrl, '"><input type="hidden" name="userid" value="' , id, '"></form>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.avatar || (joms.popup.avatar = {});
joms.popup.avatar.rotate = factory( root, $ );
define('popups/avatar.rotate',[],function() {
return joms.popup.avatar.rotate;
});
})( window, joms.jQuery, function( window, $ ) {
function render( type, id, direction, callback ) {
joms.ajax({
func: 'profile,ajaxRotateAvatar',
data: [ type, id, direction ],
callback: function( json ) {
if ( json.error ) {
window.alert( json.error );
return;
}
if ( json.success ) {
$( '.joms-js--avatar-' + id )
.attr( 'src', json.avatar + '?_=' + (new Date()).getTime() );
if ( typeof callback === 'function' ) {
callback( json );
}
}
}
});
}
// Exports.
return function( type, id, direction, callback ) {
render( type, id, direction, callback );
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.avatar = factory( root, joms.popup.avatar || {});
define('popups/avatar',[
'popups/avatar.change',
'popups/avatar.remove',
'popups/avatar.rotate'
], function() {
return joms.popup.avatar;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.comment || (joms.popup.comment = {});
joms.popup.comment.showLikes = factory( root, $ );
define('popups/comment.showlikes',[ 'utils/popup' ], function() {
return joms.popup.comment.showLikes;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxshowLikedUser',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--rounded joms-popup--80pc">',
'<button class="mfp-close joms-hide"></button>',
'<div class="joms-comment">', ( json.html || '' ), '</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.comment = factory( root, joms.popup.comment || {});
define('popups/comment',[
'popups/comment.showlikes'
], function() {
return joms.popup.comment;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.cover || (joms.popup.cover = {});
joms.popup.cover.change = factory( root, $ );
define('popups/cover.change',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.cover.change;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, type, id, uploader, container, button, result;
function render( _popup, _type, _id ) {
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
joms.ajax({
func: 'photos,ajaxChangeCover',
data: [ type, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--album', getPhotoList );
elem.on( 'click', '.joms-js--back-to-album', backToAlbum );
elem.on( 'click', '.joms-js--select-photo', selectPhoto );
elem.on( 'click', '[data-ui-object=popup-button-upload]', upload );
// Init uploader upon render.
uploadInit();
}
});
}
function getPhotoList() {
var $el = $( this ),
album = $el.data('album'),
total = $el.data('total');
joms.ajax({
func: 'photos,ajaxGetPhotoList',
data: [ album, total ],
callback: function( json ) {
if ( json && json.html ) {
$('.joms-js--album-list').hide();
$('.joms-js--photo-list').html( json.html ).show();
}
}
});
}
function backToAlbum() {
$('.joms-js--photo-list').hide();
$('.joms-js--album-list').show();
}
function selectPhoto() {
var $el = $( this ),
photo = $el.data('photo');
joms.ajax({
func: 'photos,ajaxSetPhotoCover',
data: [ type, photo, id ],
callback: function( json ) {
if ( json && json.path ) {
$('.joms-js--cover-image > img')
.attr( 'src', json.path )
.css({ top: 0 });
$('.joms-js--cover-image-mobile')
.css({ background: 'url(' + json.path + ') no-repeat center center' });
popup.close();
$('.joms-js--menu-reposition').show();
}
}
});
}
function upload() {
uploadInit(function() {
button.click();
});
}
function uploadInit( callback ) {
if ( typeof callback !== 'function' ) {
callback = function() {};
}
if ( uploader ) {
callback();
return;
}
joms.util.loadLib( 'plupload', function () {
var url;
url = elem.find('form').attr('action');
container = $('<div id="joms-js--cover-uploader" aria-hidden="true" style="width:1px; height:1px; position:absolute; overflow:hidden;">').appendTo( document.body );
button = $('<div id="joms-js--cover-uploader-button">').appendTo( container );
uploader = new window.plupload.Uploader({
url: url,
filters: [{ title: 'Image files', extensions: 'jpg,jpeg,png,gif' }],
container: 'joms-js--cover-uploader',
browse_button: 'joms-js--cover-uploader-button',
runtimes: 'html5,html4',
multi_selection: false,
file_data_name: 'uploadCover'
});
uploader.bind( 'FilesAdded', uploadAdded );
uploader.bind( 'UploadProgress', uploadProgress );
uploader.bind( 'Error', function() {});
uploader.bind( 'FileUploaded', uploadUploaded );
uploader.bind( 'UploadComplete', uploadComplete );
uploader.init();
button = container.find('input[type=file]');
callback();
});
}
function uploadAdded( up ) {
window.setTimeout(function() {
up.refresh();
up.start();
}, 0);
}
function uploadProgress( up, file ) {
var percent, bar, pleasewait;
percent = Math.min( 100, Math.floor( file.loaded / file.size * 100 ) );
bar = elem.find( '.joms-progressbar__progress' );
bar.stop().animate({ width: percent + '%' });
pleasewait = $('.please-wait');
pleasewait.show();
}
function uploadUploaded( up, files, data ) {
var json = {};
// Parse json response.
try {
json = JSON.parse( data.response );
} catch ( e ) {}
result = json;
if ( json.path ) {
$('.joms-js--cover-image > img')
.attr( 'src', json.path )
.css({ top: 0 });
$('.joms-js--cover-image-mobile')
.css({ background: 'url(' + json.path + ') no-repeat center center' });
popup.close();
$('.joms-js--menu-reposition').show();
}
}
function uploadComplete() {
if ( ! result.error ) {
elem.find('.joms-js--cover-uploader-error').hide();
} else {
elem.find('.joms-js--cover-uploader-error').html( result.error ).show();
elem.find('.joms-progressbar__progress').stop().animate({ width: '0%' });
}
elem.find('.please-wait').hide();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
( json.html || '' ),
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.cover || (joms.popup.cover = {});
joms.popup.cover.remove = factory( root, $ );
define('popups/cover.remove',[ 'utils/popup' ], function() {
return joms.popup.cover.remove;
});
})( window, joms.jQuery, function() {
var popup, elem, type, id;
function render( _popup, _type, _id ) {
var func, data;
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
func = 'profile,ajaxRemoveCover';
data = [ id ];
if ( type === 'group' || type ==='event' ) {
func = 'photos,ajaxRemoveCover';
data = [ type, id ];
}
joms.ajax({
func: func,
data: data,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var $form = elem.find('form');
if ( ! $form.data('saving') ) {
$form.data( 'saving', 1 );
$form.submit();
}
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'<div class="joms-popup__hide">',
'<form method="POST" action="', json.redirUrl, '">',
( type === 'group' || type ==='event' ? '<input type="hidden" name="type" value="' + type + '">' : '' ),
( type === 'group' || type ==='event' ? '<input type="hidden" name="id" value="' + id + '">' : '' ),
( type === 'group' || type ==='event' ? '' : '<input type="hidden" name="userid" value="' + id + '">' ),
'</form>',
'</div>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.cover = factory( root, joms.popup.cover || {});
define('popups/cover',[
'popups/cover.change',
'popups/cover.remove'
], function() {
return joms.popup.cover;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.discussion || (joms.popup.discussion = {});
joms.popup.discussion.lock = factory( root );
define('popups/discussion.lock',[ 'utils/popup' ], function() {
return joms.popup.discussion.lock;
});
})( window, function() {
var popup, elem, groupid, id;
function render( _popup, _groupid, _id ) {
if ( elem ) elem.off();
popup = _popup;
groupid = _groupid;
id = _id;
joms.ajax({
func: 'groups,ajaxShowLockDiscussion',
data: [ groupid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( groupid, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, groupid, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.discussion || (joms.popup.discussion = {});
joms.popup.discussion.remove = factory( root );
define('popups/discussion.remove',[ 'utils/popup' ], function() {
return joms.popup.discussion.remove;
});
})( window, function() {
var popup, elem, groupid, id;
function render( _popup, _groupid, _id ) {
if ( elem ) elem.off();
popup = _popup;
groupid = _groupid;
id = _id;
joms.ajax({
func: 'groups,ajaxShowRemoveDiscussion',
data: [ groupid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( groupid, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, groupid, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.discussion = factory( root, joms.popup.discussion || {});
define('popups/discussion',[
'popups/discussion.lock',
'popups/discussion.remove'
], function() {
return joms.popup.discussion;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event['delete'] = factory( root );
define('popups/event.delete',[ 'utils/popup' ], function() {
return joms.popup.event['delete'];
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxWarnEventDeletion',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save( e, step, action ) {
var data, param;
if ( step ) {
data = [ id, step, action ];
} else {
data = [ id, 1 ];
param = elem.find('[name=recurring]:checked');
data.push( param && param.length ? param.val() : '' );
}
joms.ajax({
func: 'events,ajaxDeleteEvent',
data: data,
callback: function( json ) {
var $ct;
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().first()
.append( '<div>' + (json.error || json.message) + '</div>' );
if ( json.next ) {
save( null, json.next, data[2] );
} else if ( json.redirect ) {
$ct = elem.find('.joms-js--step2');
$ct.find('.joms-js--button-done')
.html( json.btnDone )
.on( 'click', function() {
window.location = json.redirect;
});
$ct.find('.joms-popup__action').show();
$ct.find('.joms-popup__content').removeClass('joms-popup__content--single');
}
}
});
}
function buildHtml( json ) {
var form, rad, i;
json || (json = {});
form = '';
if ( json.radios && json.radios.length ) {
form = '<div><form style="margin:5px;padding:0">';
for ( i = 0; i < json.radios.length; i++ ) {
rad = json.radios[i];
form += '<div><label> <input type="radio" name="recurring" value="' + rad[0] + '"' + (rad[2] ? ' checked' : '') + '> ';
form += rad[1] + '</label></div>';
}
form += '</form></div>';
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, form, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnDelete, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'<div class="joms-popup__action joms-popup__hide">',
'<button class="joms-button--primary joms-js--button-done"></button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.invite = factory( root, $ );
define('popups/event.invite',[ 'utils/popup' ], function() {
return joms.popup.event.invite;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, type, keyword, start, limit, xhr;
function render( _popup, _id, _type ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
type = _type;
limit = 200;
joms.ajax({
func: 'system,ajaxShowInvitationForm',
data: [ null, '', id, 1, type === 'group' ? 0 : 1, type ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// Override limit supplied in json.
if ( json.limit ) {
limit = +json.limit;
}
elem = popup.contentContainer;
tabAll = elem.find('.joms-tab__content').eq(0);
tabSelected = elem.find('.joms-tab__content').eq(1);
btnSelect = elem.find('[data-btn-select]');
btnLoad = elem.find('[data-btn-load]');
elem.on( 'keyup', '[data-search]', search );
elem.on( 'click', '.joms-tab__bar a', changeTab );
elem.on( 'click', '[data-btn-select]', selectAll );
elem.on( 'click', '[data-btn-load]', load );
elem.on( 'click', '[data-btn-save]', save );
elem.on( 'click', 'input[type=checkbox]', toggle );
getFriendList('');
}
});
}
function search( e ) {
var elem = $( e.currentTarget );
getFriendList( elem.val() );
}
function save() {
var friendsearch = '',
checkboxes = tabSelected.find('input[type=checkbox]'),
friends = [],
emails = elem.find('input[name=emails]').val() || '',
message = elem.find('[name=message]').val() || '',
rTrim = /^\s+|\s+$/g,
params;
checkboxes.each(function() {
friends.push( this.value );
});
emails = emails.replace( rTrim, '' );
message = message.replace( rTrim, '' );
params = [
[ 'friendsearch', friendsearch ],
[ 'emails', emails ],
[ 'message', message ],
[ 'friends', friends.join(',') ],
];
joms.ajax({
func: 'system,ajaxSubmitInvitation',
data: [ 'events,inviteUsers', id, params ],
callback: function() {
elem.off();
popup.close();
}
});
}
function changeTab( e ) {
var $el = $( e.target ),
selected = $el.attr('href') === '#joms-popup-tab-selected',
lang = window.joms_lang[ selected ? 'COM_COMMUNITY_UNSELECT_ALL' : 'COM_COMMUNITY_SELECT_ALL' ];
btnSelect.html( lang );
}
function selectAll() {
var ct = $('.joms-tab__content:visible'),
clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
ct.find('.joms-js--friend').remove();
elem.find('input[type=checkbox]').each(function() {
this.checked = false;
});
return;
}
// Add selected.
clone = ct.find('.joms-js--friend').clone();
clone.find('input[type=checkbox]').add( ct.find('input[type=checkbox]') ).prop( 'checked', 'checked' );
ct = elem.find('#joms-popup-tab-selected');
ct.html( clone );
}
function load() {
getFriendList();
}
function toggle( e ) {
var checkbox = $( e.target ),
ct = checkbox.closest('.joms-tab__content'),
id, clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
id = checkbox[0].value;
checkbox.closest('.joms-js--friend').remove();
elem.find('.joms-js--friend-' + id + ' input[type=checkbox]')[0].checked = false;
return;
}
// Remove selected.
if ( !checkbox[0].checked ) {
id = checkbox[0].value;
elem.find('#joms-popup-tab-selected .joms-js--friend-' + id).remove();
return;
}
// Add selected.
ct = elem.find('#joms-popup-tab-selected');
clone = checkbox.closest('.joms-js--friend').clone();
checkbox = clone.find('input[type=checkbox]');
checkbox[0].checked = true;
ct.append( clone );
}
function getFriendList( _keyword ) {
var isReset = typeof _keyword === 'string',
func, data;
if ( isReset ) {
tabAll.empty();
start = 0;
keyword = _keyword;
} else {
start += limit;
}
if (type === 'group') {
func = 'system,ajaxLoadGroupEventMembers';
} else if (type === 'page') {
func = 'system,ajaxLoadPageEventMembers';
} else {
func = 'system,ajaxLoadFriendsList';
}
data = [ keyword, 'events,inviteUsers', id, start, limit ];
if ( type === 'group' ) {
data.splice( 1, 1 );
}
xhr && xhr.abort();
xhr = joms.ajax({
func: func,
data: data,
callback: function( json ) {
var html;
if ( json.html ) {
html = $( $.trim( json.html ) );
html.each(function() {
var checkbox = $( this ).find(':checkbox'),
value = checkbox.val();
if ( tabSelected.find(':checkbox[value=' + value + ']').length ) {
checkbox[0].checked = true;
}
});
tabAll.append( html );
}
if ( !isReset ) {
tabAll[0].scrollTop = tabAll[0].scrollHeight;
}
// Toggle load more.
if ( json.loadMore ) {
btnSelect.css({ width: '49%', marginRight: '2%' });
btnLoad.css({ width: '49%' }).html( window.joms_lang.COM_COMMUNITY_INVITE_LOAD_MORE + ' (' + json.moreCount + ')' ).show();
} else {
btnLoad.hide();
btnSelect.css({ width: '100%', marginRight: '0' });
}
}
});
}
function buildHtml( json ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary" data-btn-save="1">', json.btnInvite, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, type ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, type );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.join = factory( root, $ );
define('popups/event.join',[ 'utils/popup' ], function() {
return joms.popup.event.join;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxRequestInvite',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1 ', ( json.isMember ? 'joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2 ', ( json.isMember ? '' : 'joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', json.html, '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.leave = factory( root, $ );
define('popups/event.leave',[ 'utils/popup' ], function() {
return joms.popup.event.leave;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxIgnoreEvent',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.response = factory( root, $ );
define('popups/event.response',[ 'utils/popup' ], function() {
return joms.popup.event.response;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id, _data ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
popup.items[0] = {
type: 'inline',
src: buildHtml( _data )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', 'a[data-value]', save );
}
function save( e ) {
var value = $( e.currentTarget ).data('value');
joms.ajax({
func: 'events,ajaxUpdateStatus',
data: [ id, value ],
callback: function() {
window.location.reload();
}
});
}
function buildHtml( data ) {
var options = '',
i;
for ( i = 0; i < data.length; i++ ) {
options += '<li><a data-value="' + data[i][0] + '" href="javascript:">' + data[i][1] + '</a></li>';
}
return [
'<div class="joms-popup joms-popup--dropdown">',
'<ul class="joms-dropdown">', options, '</ul>',
'<button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
var data = [].slice.call( arguments );
data.shift();
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, data );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.addFeatured = factory( root, $ );
define('popups/event.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.event.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.rejectGuest = factory( root, $ );
define('popups/event.rejectguest',[ 'utils/popup' ], function() {
return joms.popup.event.rejectGuest;
});
})( window, joms.jQuery, function() {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'events,ajaxConfirmRemoveGuest',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var checked = elem.find('input:checkbox')[0].checked || false;
joms.ajax({
func: checked ? 'events,ajaxBlockGuest' : 'events,ajaxRemoveGuest',
data: [ userid, id ],
callback: function( json ) {
var step1 = elem.find('.joms-js--step1'),
step2 = elem.find('.joms-js--step2');
if ( !json.error ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
step2.find('.joms-popup__content').html( json.error || json.message );
step1.hide();
step2.show();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.removeFeatured = factory( root, $ );
define('popups/event.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.event.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.report = factory( root );
define('popups/event.report',[ 'utils/popup' ], function() {
return joms.popup.event.report;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'events,reportEvent', window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.banMember = factory( root, $ );
define('popups/event.banmember',[ 'utils/popup' ], function() {
return joms.popup.event.banMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'events,ajaxBanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.unbanMember = factory( root, $ );
define('popups/event.unbanmember',[ 'utils/popup' ], function() {
return joms.popup.event.unbanMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'events,ajaxUnbanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event || (joms.popup.event = {});
joms.popup.event.unpublish = factory( root );
define('popups/event.unpublish',[ 'utils/popup' ], function() {
return joms.popup.event.unpublish;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'events,ajaxShowUnpublishEvent',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save( e, step, action ) {
var data, param;
if ( step ) {
data = [ id, step, action ];
} else {
data = [ id ];
}
elem.find('.joms-js--step1').find('.joms-popup__content').html(joms_lang.COM_COMMUNITY_POPUP_LOADING);
elem.find('.joms-js--step1').find('.joms-popup__action').children().hide();
joms.ajax({
func: 'events,ajaxUnpublishEvent',
data: data,
callback: function( json ) {
var $ct;
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().first()
.append( '<div>' + (json.error || json.message) + '</div>' );
if ( json.next ) {
save( null, json.next, data[2] );
} else if ( json.redirect ) {
$ct = elem.find('.joms-js--step2');
$ct.find('.joms-js--button-done')
.html( json.btnDone )
.on( 'click', function() {
window.location = json.redirect;
});
$ct.find('.joms-popup__action').show();
$ct.find('.joms-popup__content').removeClass('joms-popup__content--single');
}
}
});
}
function buildHtml( json ) {
var form, rad, i;
json || (json = {});
form = '';
if ( json.radios && json.radios.length ) {
form = '<div><form style="margin:5px;padding:0">';
for ( i = 0; i < json.radios.length; i++ ) {
rad = json.radios[i];
form += '<div><label> <input type="radio" name="recurring" value="' + rad[0] + '"' + (rad[2] ? ' checked' : '') + '> ';
form += rad[1] + '</label></div>';
}
form += '</form></div>';
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, form, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'<div class="joms-popup__action joms-popup__hide">',
'<button class="joms-button--primary joms-js--button-done"></button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.event = factory( root, joms.popup.event || {});
define('popups/event',[
'popups/event.delete',
'popups/event.invite',
'popups/event.join',
'popups/event.leave',
'popups/event.response',
'popups/event.addfeatured',
'popups/event.rejectguest',
'popups/event.removefeatured',
'popups/event.report',
'popups/event.banmember',
'popups/event.unbanmember',
'popups/event.unpublish'
], function() {
return joms.popup.event;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.fbc || (joms.popup.fbc = {});
joms.popup.fbc.update = factory( root, $ );
define('popups/fbc.update',[ 'utils/popup' ], function() {
return joms.popup.fbc.update;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, lang, isMember;
function render( _popup ) {
if ( elem ) elem.off();
popup = _popup;
if ( !window.joms_use_tfa ) {
update();
} else {
popup.items[0] = {
type: 'inline',
src: buildTfaDialog()
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.off('click');
elem.on( 'click', '.joms-js--button-next', function() {
update( elem.find('[name=secret]').val() );
});
elem.on( 'click', '.joms-js--button-skip', function() {
update();
});
}
}
function update( secret ) {
if ( elem ) elem.off();
joms.ajax({
func: 'connect,ajaxUpdate',
data: [ secret || '' ],
callback: function( json ) {
var isLoggedIn = json.jax_token_var;
if ( isLoggedIn ) {
json.btnNext = json.btnContinue;
window.jax_token_var = json.jax_token_var;
}
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
lang = json.lang;
elem.off('click');
elem.on( 'click', '.joms-js--button-next', isLoggedIn ? importData : next );
elem.on( 'click', '.joms-js--button-back2', back2 );
elem.on( 'click', '.joms-js--button-next2', next2 );
elem.on( 'click', '.joms-js--button-back3', back3 );
}
});
}
function next() {
var tnc, error;
isMember = +elem.find('[name=membertype]:checked').val() === 2;
if ( isMember ) {
connectMember();
} else {
tnc = elem.find('#joms-js--fbc-tnc-checkbox');
if ( !tnc.length ) {
connectNewUser();
} else {
tnc = tnc[0];
error = elem.find('.joms-js--fbc-tnc-error');
if ( tnc.checked ) {
error.hide();
connectNewUser();
} else {
error.show();
}
}
}
}
function back2() {
elem.find('.joms-js--step2').hide();
elem.find('.joms-js--step3').hide();
elem.find('.joms-js--step1').show();
}
function next2() {
if ( isMember ) {
validateMember();
} else {
validateNewUser();
}
}
function connectNewUser() {
joms.ajax({
func: 'connect,ajaxShowNewUserForm',
data: [ '' ],
callback: function( json ) {
var div;
elem.find('.joms-js--step1').hide();
div = elem.find('.joms-js--step2');
div.find('.joms-popup__content').html( json.html );
div.find('.joms-js--button-back2').html( json.btnBack );
div.find('.joms-js--button-next2').html( json.btnCreate );
div.show();
}
});
}
function connectMember() {
joms.ajax({
func: 'connect,ajaxShowExistingUserForm',
data: [ '' ],
callback: function( json ) {
var div;
elem.find('.joms-js--step1').hide();
div = elem.find('.joms-js--step2');
div.find('.joms-popup__content').html( json.html );
div.find('.joms-js--button-back2').html( json.btnBack );
div.find('.joms-js--button-next2').html( json.btnLogin );
div.show();
}
});
}
function validateNewUser() {
var div = elem.find('.joms-js--step2'),
name = div.find('[name=name]').val(),
user = div.find('[name=username]').val(),
email = div.find('[name=email]').val(),
types = div.find('[name=profiletype]'),
profileType = '',
type;
if ( types.length ) {
type = types.filter(':checked');
if ( !type.length ) {
div.hide();
div = elem.find('.joms-js--step3');
div.find('.joms-popup__content').html( lang.selectProfileType );
div.find('.joms-js--button-back3').html( lang.btnBack );
div.show();
return;
}
profileType = types.filter(':checked').val();
}
joms.ajax({
func: 'connect,ajaxCreateNewAccount',
data: [ name, user, email, profileType ],
callback: function( json ) {
var div;
if ( json.error ) {
elem.find('.joms-js--step2').hide();
div = elem.find('.joms-js--step3');
div.find('.joms-popup__content').html( json.error );
div.find('.joms-js--button-back3').html( json.btnBack );
div.show();
return;
}
elem.off();
popup.close();
joms.popup.fbc.update();
}
});
}
function validateMember() {
var div = elem.find('.joms-js--step2'),
user = div.find('[name=username]').val(),
pass = div.find('[name=password]').val();
joms.ajax({
func: 'connect,ajaxValidateLogin',
data: [ user, pass ],
callback: function( json ) {
var div;
if ( json.error ) {
if (json.redirect) {
alert(json.error);
location.href = json.redirect;
return;
}
elem.find('.joms-js--step2').hide();
div = elem.find('.joms-js--step3');
div.find('.joms-popup__content').html( json.error );
div.find('.joms-js--button-back3').html( json.btnBack );
div.show();
return;
}
elem.off();
popup.close();
joms.popup.fbc.update();
}
});
}
// function checkName( name ) {
// joms.ajax({
// func: 'connect,ajaxCheckName',
// data: [ name ],
// callback: function( json ) {
// }
// });
// }
// function checkUsername( username ) {
// joms.ajax({
// func: 'connect,ajaxCheckUsername',
// data: [ username ],
// callback: function( json ) {
// }
// });
// }
// function checkEmail( email ) {
// joms.ajax({
// func: 'connect,ajaxCheckEmail',
// data: [ email ],
// callback: function( json ) {
// }
// });
// }
function importData() {
var status = elem.find('[name=importstatus]'),
avatar = elem.find('[name=importavatar]');
status = status.length && status[0].checked ? 1 : 0;
avatar = avatar.length && avatar[0].checked ? 1 : 0;
joms.ajax({
func: 'connect,ajaxImportData',
data: [ status, avatar ],
callback: function( json ) {
var div;
elem.find('.joms-js--step1').hide();
if ( json.error ) {
elem.off('click').on( 'click', '.joms-js--button-next2', cancel );
div = elem.find('.joms-js--step2');
div.find('.joms-popup__content').html( json.error );
div.find('.joms-js--button-back2').hide();
div.find('.joms-js--button-next2').html( json.btnNext );
div.show();
return;
}
if ( !json.btnUpdate ) {
cancel();
window.location = json.redirect;
return;
}
elem.off('click').on( 'click', '.joms-js--button-back2', cancel );
elem.off('click').on( 'click', '.joms-js--button-next2', function() {
window.location = json.redirect;
});
div = elem.find('.joms-js--step2');
div.find('.joms-popup__content').html( json.html );
div.find('.joms-js--button-back2').html( json.btnSkip );
div.find('.joms-js--button-next2').html( json.btnUpdate );
div.show();
}
});
}
function back3() {
elem.find('.joms-js--step3').hide();
if ( isMember ) {
elem.find('.joms-js--step2').hide();
elem.find('.joms-js--step1').show();
} else {
elem.find('.joms-js--step2').show();
elem.find('.joms-js--step1').hide();
}
}
function cancel() {
elem.off();
popup.close();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content ', ( json.btnNext ? '' : 'joms-popup__content--single' ), '">', ( json.error || json.html || '' ), '</div>',
( json.btnNext ? '<div class="joms-popup__action">' : '' ),
( json.btnNext ? '<button class="joms-button--primary joms-button--small joms-js--button-next">' + json.btnNext + '</button>' : '' ),
( json.btnNext ? '</div>' : '' ),
'</div>',
'<div class="joms-js--step2 joms-popup__hide">',
'<div class="joms-popup__content"></div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-back2"></button>',
'<button class="joms-button--primary joms-button--small joms-js--button-next2"></button>',
'</div>',
'</div>',
'<div class="joms-js--step3 joms-popup__hide">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-back3"></button>',
'</div>',
'</div>',
'</div>'
].join('');
}
function buildTfaDialog() {
var lang = window.joms_lang || {};
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', (lang.COM_COMMUNITY_AUTHENTICATION_KEY || 'Authentication key'), '</div>',
'<div class="joms-popup__content">',
'<span>', (lang.COM_COMMUNITY_AUTHENTICATION_KEY_LABEL || 'Insert your two-factor authentication key'), '</span>',
'<input type="text" class="joms-input" name="secret">',
'</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-skip">', (lang.COM_COMMUNITY_SKIP_BUTTON || 'Skip'), '</button>',
'<button class="joms-button--primary joms-button--small joms-js--button-next">', (lang.COM_COMMUNITY_NEXT || 'Next'), '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function() {
joms.util.popup.prepare(function( mfp ) {
render( mfp );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.fbc = factory( root, joms.popup.fbc || {});
define('popups/fbc',[
'popups/fbc.update'
], function() {
return joms.popup.fbc;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file || (joms.popup.file = {});
joms.popup.file.download = factory( root, $ );
define('popups/file.download',[ 'utils/popup' ], function() {
return joms.popup.file.download;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, type, id, path;
function render( _popup, _type, _id, _path ) {
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
path = _path;
joms.ajax({
func: 'files,ajaxFileDownload',
data: [ type, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.url ) {
popup.close();
window.open( path );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', (json.message || json.error), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id, path ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id, path );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file || (joms.popup.file = {});
joms.popup.file.list = factory( root, $ );
define('popups/file.list',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.file.list;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, type, id, tab, start, $currentTab, $btnLoadMore;
function render( _popup, _type, _id ) {
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
joms.ajax({
func: 'files,ajaxviewMore',
data: [ type, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
$btnLoadMore = elem.find('.joms-js--btn-loadmore');
elem.on( 'click', '.joms-js--tab-bar a', load );
elem.on( 'click', '.joms-js--btn-loadmore', loadmore );
tab = false;
elem.find('.joms-js--tab-bar a.active').trigger('click');
}
});
}
function _load( tabid, callback ) {
joms.ajax({
func: 'files,ajaxgetFileList',
data: [ tabid, id, start, 4, type ],
callback: function( json ) {
callback( json );
}
});
}
function load() {
var $tab = $( this ),
tabid = $tab.data('id');
if ( tab === tabid ) {
return;
}
tab = tabid;
$currentTab = elem.find( '.joms-js--tab-' + tabid );
$tab.addClass('active').siblings().removeClass('active');
$btnLoadMore.css({ visibility: 'hidden' });
$currentTab.empty().show().siblings('.joms-js--tab').hide();
start = 0;
_load( tab, function( json ) {
$currentTab.html( json.html );
if ( json.next && json.count ) {
start = json.next;
$btnLoadMore.css({ visibility: 'visible' });
$btnLoadMore.html( window.joms_lang.COM_COMMUNITY_FILES_LOAD_MORE + ' (' + json.count + ')' );
} else {
$btnLoadMore.css({ visibility: 'hidden' });
}
});
}
function loadmore() {
_load( tab, function( json ) {
$currentTab.append( json.html );
$currentTab[0].scrollTop = $currentTab[0].scrollHeight;
if ( json.next && json.count ) {
start = json.next;
$btnLoadMore.css({ visibility: 'visible' });
$btnLoadMore.html( window.joms_lang.COM_COMMUNITY_FILES_LOAD_MORE + ' (' + json.count + ')' );
} else {
$btnLoadMore.css({ visibility: 'hidden' });
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--600">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
json.html,
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file || (joms.popup.file = {});
joms.popup.file.remove = factory( root, $ );
define('popups/file.remove',[ 'utils/popup' ], function() {
return joms.popup.file.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var type, id;
function render( popup, json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
function _delete( _type, _id ) {
type = _type;
id = _id;
if ( window.confirm( window.joms_lang.COM_COMMUNITY_FILES_DELETE_CONFIRM ) ) {
joms.ajax({
func: 'files,ajaxDeleteFile',
data: [ type, id ],
callback: function( json ) {
if ( json.success ) {
$( '.joms-js--file-' + id ).remove();
return;
}
joms.util.popup.prepare(function( mfp ) {
render( mfp, json );
});
}
});
}
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button> </div>',
'<div class="joms-popup__content joms-popup__content--single">', (json.message || json.error), '</div>',
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
_delete( type, id );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file || (joms.popup.file = {});
joms.popup.file.upload = factory( root, $ );
define('popups/file.upload',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.file.upload;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, type, id, uploader, uploaderUrl, uploaderButton, uploaderPreview, doReload;
function render( _popup, _type, _id ) {
if ( elem ) elem.off();
popup = _popup;
type = _type;
id = _id;
joms.ajax({
func: 'files,ajaxFileUploadForm',
data: [ type, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
doReload && window.location.reload();
};
elem = popup.contentContainer;
doReload = false;
uploaderPreview = elem.find('.joms-js--upload-preview');
elem.on( 'click', '.joms-js--btn-add', upload );
elem.on( 'click', '.joms-js--btn-upload', uploadStart );
elem.on( 'click', '.joms-js--btn-done', function() {
doReload && window.location.reload();
});
// Init uploader upon render.
uploadInit();
}
});
}
function upload() {
uploadInit(function() {
uploaderButton.click();
});
}
function uploadInit( callback ) {
if ( typeof callback !== 'function' ) {
callback = function() {};
}
if ( uploader ) {
callback();
return;
}
uploaderUrl = joms.BASE_URL + elem.find('input[name=url]').val();
joms.util.loadLib( 'plupload', function () {
var container, button;
container = $('<div id="joms-js--file-uploader" aria-hidden="true" style="width:1px; height:1px; overflow:hidden">').appendTo( document.body );
button = $('<button id="joms-js--file-uploader-button">').appendTo( container );
uploader = new window.plupload.Uploader({
url: uploaderUrl,
container: 'joms-js--file-uploader',
browse_button: 'joms-js--file-uploader-button',
runtimes: 'html5,html4',
filters: [{ title: 'Document files', extensions: elem.find('input[name=filetype]').val() }],
max_file_size: elem.find('input[name=maxfilesize]').val() + 'mb'
});
uploader.bind( 'FilesAdded', uploadAdded );
uploader.bind( 'Error', uploadError );
uploader.bind( 'UploadProgress', uploadProgress );
uploader.bind( 'FileUploaded', uploadUploaded );
uploader.bind( 'uploadComplete', uploadComplete );
uploader.init();
uploaderButton = container.find('input[type=file]');
callback();
});
}
function uploadAdded( up, files ) {
var html = '',
i;
for ( i = 0; i < files.length; i++ ) {
html += '<div class="joms-file--' + files[i].id + '" style="margin-bottom:5px">';
html += '<div><strong>' + files[i].name + '</strong> <span>(' + Math.round( files[i].size / 1024 ) + ' KB)</span></div>';
html += '<div class="joms-progressbar"><div class="joms-progressbar__progress" style="width:0%"></div></div>';
html += '</div>';
}
uploaderPreview.find('.joms-js--upload-placeholder').remove();
uploaderPreview.append( html );
elem.find('.joms-js--btn-add').html( elem.find('.joms-js--btn-add').data('lang-more') ).css({ visibility: 'visible' });
elem.find('.joms-js--btn-upload').show();
elem.find('.joms-js--btn-done').hide();
}
function uploadError( up, info ) {
uploaderPreview.find( '.joms-file--' + info.file.id ).remove();
window.alert( info.message + ' (' + info.code + ')' );
}
function uploadStart() {
elem.find('.joms-js--btn-add').css({ visibility: 'hidden' });
elem.find('.joms-js--btn-upload').hide();
elem.find('.joms-js--btn-done').hide();
uploader.settings.url = uploaderUrl + '&type=' + type + '&id=' + id;
uploader.refresh();
uploader.start();
}
function uploadProgress( up, file ) {
var percent, bar;
percent = Math.min( 100, Math.floor( file.loaded / file.size * 100 ) );
bar = elem.find( '.joms-file--' + file.id );
bar = bar.find( '.joms-progressbar__progress' );
bar.stop().animate({ width: percent + '%' });
}
function uploadUploaded( up, file, resp ) {
var json = {},
item;
try {
json = JSON.parse( resp.response );
} catch (e) {}
if ( json.error ) {
uploader.stop();
elem.find('.joms-js--btn-add').css({ visibility: 'hidden' });
elem.find('.joms-js--btn-upload').hide();
elem.find('.joms-js--btn-done').show();
elem.find( '.joms-file--' + file.id ).nextAll().addBack().remove();
window.alert( json.msg );
return;
}
if ( json.msg ) {
item = elem.find( '.joms-file--' + file.id );
item.css({ color: '#F00' });
} else if ( json.id ) {
doReload = true;
}
}
function uploadComplete() {
elem.find('.joms-js--btn-add').css({ visibility: 'visible' });
elem.find('.joms-js--btn-upload').hide();
elem.find('.joms-js--btn-done').show();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
json.html,
'</div>'
].join('');
}
// Exports.
return function( type, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, type, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file || (joms.popup.file = {});
joms.popup.file.updateHit = factory( root );
define('popups/file.updatehit',[ 'utils/popup' ], function() {
return joms.popup.file.updateHit;
});
})( window, function( window ) {
return function( id, location ) {
joms.ajax({
func: 'files,ajaxUpdateHit',
data: [ id ],
callback: function() {}
});
if ( typeof location === 'string' ) {
window.open( location );
}
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.file = factory( root, joms.popup.file || {});
define('popups/file',[
'popups/file.download',
'popups/file.list',
'popups/file.remove',
'popups/file.upload',
'popups/file.updatehit'
], function() {
return joms.popup.file;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.add = factory( root );
define('popups/friend.add',[ 'utils/popup' ], function() {
return joms.popup.friend.add;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'friends,ajaxConnect',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var message = elem.find('textarea').val()
.replace( /\t/g, '\\t' )
.replace( /\n/g, '\\n' )
.replace( /"/g, '"' );
joms.ajax({
func: 'friends,ajaxSaveFriend',
data: [[[ 'msg', message ], [ 'userid', id ]]],
callback: function( json ) {
var step1 = elem.find('[data-ui-object=popup-step-1]'),
step2 = elem.find('[data-ui-object=popup-step-2]');
if ( !json.error ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
step2.find('[data-ui-object=popup-message]').html( json.error || json.message );
step1.hide();
step2.show();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">',
'<div class="joms-stream__header" style="padding:0">',
'<div class="joms-avatar--stream"><img src="', json.avatar, '"></div>',
'<div class="joms-stream__meta"><span>', json.desc, '</span></div>',
'</div>',
'</div>',
'<div class="joms-popup__content">',
'<textarea class="joms-textarea" style="margin:0">', json.message, '</textarea>',
'</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnAdd, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.addCancel = factory( root );
define('popups/friend.addcancel',[ 'utils/popup' ], function() {
return joms.popup.friend.addCancel;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'friends,ajaxCancelRequest',
data: [ id, window.location.href ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.approve = factory( root, $ );
define('popups/friend.approve',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.friend.approve;
});
})( window, joms.jQuery, function( window, $ ) {
var id;
function render( _id ) {
id = _id;
joms.ajax({
func: 'friends,ajaxApproveRequest',
data: [ id ],
callback: function( json ) {
if ( json.success ) {
update( json );
return;
}
// On error response.
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = {
type: 'inline',
src: buildErrorHtml( json )
};
mfp.updateItemHTML();
});
}
});
}
function update( json ) {
$( '.joms-js--frequest-msg-' + id ).html( json.message );
$( '.joms-js--frequest-btn-' + id ).remove();
joms.fn.notification.updateCounter( 'frequest', id, -1 );
}
function buildErrorHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
render( id );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.reject = factory( root, $ );
define('popups/friend.reject',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.friend.reject;
});
})( window, joms.jQuery, function( window, $ ) {
var id;
function render( _id ) {
id = _id;
joms.ajax({
func: 'friends,ajaxRejectRequest',
data: [ id ],
callback: function( json ) {
if ( json.success ) {
update( json );
return;
}
// On error response.
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = {
type: 'inline',
src: buildErrorHtml( json )
};
mfp.updateItemHTML();
});
}
});
}
function update( json ) {
$( '.joms-js--frequest-msg-' + id ).html( json.message );
$( '.joms-js--frequest-btn-' + id ).remove();
joms.fn.notification.updateCounter( 'frequest', id, -1 );
}
function buildErrorHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
render( id );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.remove = factory( root, $ );
define('popups/friend.remove',[ 'utils/popup' ], function() {
return joms.popup.friend.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'friends,ajaxConfirmFriendRemoval',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var checkbox = elem.find('input[type=checkbox]'),
func;
if ( checkbox[0].checked ) {
func = 'friends,ajaxBlockFriend';
} else {
func = 'friends,ajaxRemoveFriend';
}
joms.ajax({
func: func,
data: [ id ],
callback: function( json ) {
var step1 = elem.find('[data-ui-object=popup-step-1]'),
step2 = elem.find('[data-ui-object=popup-step-2]');
step2.find('[data-ui-object=popup-message]').html( json.error || json.message );
step1.hide();
step2.show();
if ( json && json.success ) {
$( '#friend-' + id ).remove();
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend || (joms.popup.friend = {});
joms.popup.friend.response = factory( root );
define('popups/friend.response',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.friend.response;
});
})( window, function() {
var popup, elem, id, connection;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'friends,ajaxConnect',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
connection = json.connection_id;
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', reject );
elem.on( 'click', '.joms-js--button-save', approve );
}
});
}
function reject() {
joms.ajax({
func: 'friends,ajaxRejectRequest',
data: [ connection ],
callback: function( json ) {
update( json );
}
});
}
function approve() {
joms.ajax({
func: 'friends,ajaxApproveRequest',
data: [ connection ],
callback: function( json ) {
update( json );
}
});
}
function update( json ) {
var step1 = elem.find('.joms-js--step1'),
step2 = elem.find('.joms-js--step2');
if ( !json.error ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
step2.find('.joms-popup__content').html( json.error || json.message );
step1.hide();
step2.show();
}
function buildHtml( json ) {
var error = false;
json || (json = {});
if ( json.error && !json.desc ) {
error = json.error;
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">',
'<div class="joms-stream__header" style="padding:0">',
'<div class="joms-avatar--stream"><img src="', json.avatar, '"></div>',
'<div class="joms-stream__meta"><span>', json.desc, '</span></div>',
'</div>',
'</div>',
'<div class="joms-popup__content">',
'<div class="cStream-Quote">', json.message, '</div>',
'</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnReject, '</button>',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnAccept, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.friend = factory( root, joms.popup.friend || {});
define('popups/friend',[
'popups/friend.add',
'popups/friend.addcancel',
'popups/friend.approve',
'popups/friend.reject',
'popups/friend.remove',
'popups/friend.response'
], function() {
return joms.popup.friend;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.add = factory( root );
define('popups/follower.add',[ 'utils/popup' ], function() {
return joms.popup.follower.add;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'followers,ajaxConfirmFollow',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var message = "";
joms.ajax({
func: 'followers,ajaxSaveFollow',
data: [[[ 'msg', message ], [ 'userid', id ]]],
callback: function( json ) {
var step1 = elem.find('[data-ui-object=popup-step-1]'),
step2 = elem.find('[data-ui-object=popup-step-2]');
if ( !json.error ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
step2.find('[data-ui-object=popup-message]').html( json.error || json.message );
step1.hide();
step2.show();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">',
'<div class="joms-stream__header" style="padding:0">',
'<div class="joms-avatar--stream"><img src="', json.avatar, '"></div>',
'<div class="joms-stream__meta"><span>', json.desc, '</span></div>',
'</div>',
'</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnAdd, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.addCancel = factory( root );
define('popups/follower.addcancel',[ 'utils/popup' ], function() {
return joms.popup.follower.addCancel;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'followers,ajaxCancelRequest',
data: [ id, window.location.href ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.approve = factory( root, $ );
define('popups/follower.approve',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.follower.approve;
});
})( window, joms.jQuery, function( window, $ ) {
var id;
function render( _id ) {
id = _id;
joms.ajax({
func: 'followers,ajaxApproveRequest',
data: [ id ],
callback: function( json ) {
if ( json.success ) {
update( json );
return;
}
// On error response.
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = {
type: 'inline',
src: buildErrorHtml( json )
};
mfp.updateItemHTML();
});
}
});
}
function update( json ) {
$( '.joms-js--frequest-msg-' + id ).html( json.message );
$( '.joms-js--frequest-btn-' + id ).remove();
joms.fn.notification.updateCounter( 'frequest', id, -1 );
}
function buildErrorHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
render( id );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.reject = factory( root, $ );
define('popups/follower.reject',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.follower.reject;
});
})( window, joms.jQuery, function( window, $ ) {
var id;
function render( _id ) {
id = _id;
joms.ajax({
func: 'followers,ajaxRejectRequest',
data: [ id ],
callback: function( json ) {
if ( json.success ) {
update( json );
return;
}
// On error response.
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = {
type: 'inline',
src: buildErrorHtml( json )
};
mfp.updateItemHTML();
});
}
});
}
function update( json ) {
$( '.joms-js--frequest-msg-' + id ).html( json.message );
$( '.joms-js--frequest-btn-' + id ).remove();
joms.fn.notification.updateCounter( 'frequest', id, -1 );
}
function buildErrorHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
render( id );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.remove = factory( root, $ );
define('popups/follower.remove',[ 'utils/popup' ], function() {
return joms.popup.follower.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'followers,ajaxConfirmUnfollow',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
func = 'followers,ajaxUnfollowSave';
joms.ajax({
func: func,
data: [ id ],
callback: function( json ) {
var step1 = elem.find('[data-ui-object=popup-step-1]'),
step2 = elem.find('[data-ui-object=popup-step-2]');
step2.find('[data-ui-object=popup-message]').html( json.error || json.message );
step1.hide();
step2.show();
if ( json && json.success ) {
$( '#follower-' + id ).remove();
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower || (joms.popup.follower = {});
joms.popup.follower.response = factory( root );
define('popups/follower.response',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.follower.response;
});
})( window, function() {
var popup, elem, id, connection;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'followers,ajaxConnect',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
connection = json.connection_id;
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', reject );
elem.on( 'click', '.joms-js--button-save', approve );
}
});
}
function reject() {
joms.ajax({
func: 'followers,ajaxRejectRequest',
data: [ connection ],
callback: function( json ) {
update( json );
}
});
}
function approve() {
joms.ajax({
func: 'followers,ajaxApproveRequest',
data: [ connection ],
callback: function( json ) {
update( json );
}
});
}
function update( json ) {
var step1 = elem.find('.joms-js--step1'),
step2 = elem.find('.joms-js--step2');
if ( !json.error ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
step2.find('.joms-popup__content').html( json.error || json.message );
step1.hide();
step2.show();
}
function buildHtml( json ) {
var error = false;
json || (json = {});
if ( json.error && !json.desc ) {
error = json.error;
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">',
'<div class="joms-stream__header" style="padding:0">',
'<div class="joms-avatar--stream"><img src="', json.avatar, '"></div>',
'<div class="joms-stream__meta"><span>', json.desc, '</span></div>',
'</div>',
'</div>',
'<div class="joms-popup__content">',
'<div class="cStream-Quote">', json.message, '</div>',
'</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnReject, '</button>',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnAccept, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.follower = factory( root, joms.popup.follower || {});
define('popups/follower',[
'popups/follower.add',
'popups/follower.addcancel',
'popups/follower.approve',
'popups/follower.reject',
'popups/follower.remove',
'popups/follower.response'
], function() {
return joms.popup.follower;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.share = factory( root, $ );
define('popups/page.share',[ 'utils/popup' ], function() {
return joms.popup.page.share;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, url;
function render( _popup, _url ) {
var title, description, image;
if ( elem ) elem.off();
popup = _popup;
url = _url;
$.ajax({
url: url,
success: function( response ) {
title = response.match(/<meta property="og:title" content="([^"]+)"/i) || false;
title = title && title[1];
description = response.match(/<meta property="og:description" content="([^"]+)"/i) || false;
description = description && description[1];
image = response.match(/<meta property="og:image" content="([^"]+)"/i) || false;
image = image && image[1];
},
complete: function() {
var params = [ url, title || '', description || '', image || '' ];
joms.ajax({
func: 'bookmarks,ajaxShowBookmarks',
data: params,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-bookmarks a', openPopup );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
});
}
function openPopup( e ) {
var $a, url, title;
e.preventDefault();
e.stopPropagation();
$a = $( this );
url = $a.attr('href');
title = $a.text();
elem.off();
popup.close();
window.open( url, title, 'top=150, left=150, width=650, height=330, scrollbars=yes' );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var $form = elem.find('form'),
email = $form.find('[name=bookmarks-email]').val(),
message = $form.find('[name=bookmarks-message]').val();
joms.ajax({
func: 'bookmarks,ajaxEmailPage',
data: [ url, email, message ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button>',
( json.viaEmail ? ' <button class="joms-button--primary joms-button--small joms-js--button-save">' + json.btnShare + '</button>' : '' ),
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( url ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, url );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.invite = factory( root, $ );
define('popups/page.invite',[ 'utils/popup' ], function() {
return joms.popup.page.invite;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, keyword, start, limit, xhr;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
limit = 200;
joms.ajax({
func: 'system,ajaxShowInvitationForm',
data: [ null, '', id, 1, 1 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// Override limit supplied in json.
if ( json.limit ) {
limit = +json.limit;
}
elem = popup.contentContainer;
tabAll = elem.find('.joms-tab__content').eq(0);
tabSelected = elem.find('.joms-tab__content').eq(1);
btnSelect = elem.find('[data-btn-select]');
btnLoad = elem.find('[data-btn-load]');
elem.on( 'keyup', '[data-search]', search );
elem.on( 'click', '.joms-tab__bar a', changeTab );
elem.on( 'click', '[data-btn-select]', selectAll );
elem.on( 'click', '[data-btn-load]', load );
elem.on( 'click', '[data-btn-save]', save );
elem.on( 'click', 'input[type=checkbox]', toggle );
getFriendList('');
}
});
}
function search( e ) {
var elem = $( e.currentTarget );
getFriendList( elem.val() );
}
function save() {
var friendsearch = '',
checkboxes = tabSelected.find('input[type=checkbox]'),
friends = [],
emails = elem.find('input[name=emails]').val() || '',
message = elem.find('[name=message]').val() || '',
rTrim = /^\s+|\s+$/g,
params;
checkboxes.each(function() {
friends.push( this.value );
});
emails = emails.replace( rTrim, '' );
message = message.replace( rTrim, '' );
params = [
[ 'friendsearch', friendsearch ],
[ 'emails', emails ],
[ 'message', message ],
[ 'friends', friends.join(',') ],
];
joms.ajax({
func: 'system,ajaxSubmitInvitation',
data: [ 'pages,inviteUsers', id, params ],
callback: function() {
elem.off();
popup.close();
}
});
}
function changeTab( e ) {
var $el = $( e.target ),
selected = $el.attr('href') === '#joms-popup-tab-selected',
lang = window.joms_lang[ selected ? 'COM_COMMUNITY_UNSELECT_ALL' : 'COM_COMMUNITY_SELECT_ALL' ];
btnSelect.html( lang );
}
function selectAll() {
var ct = $('.joms-tab__content:visible'),
clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
ct.find('.joms-js--friend').remove();
elem.find('input[type=checkbox]').each(function() {
this.checked = false;
});
return;
}
// Add selected.
clone = ct.find('.joms-js--friend').clone();
clone.find('input[type=checkbox]').add( ct.find('input[type=checkbox]') ).prop( 'checked', 'checked' );
ct = elem.find('#joms-popup-tab-selected');
ct.html( clone );
}
function load() {
getFriendList();
}
function toggle( e ) {
var checkbox = $( e.target ),
ct = checkbox.closest('.joms-tab__content'),
id, clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
id = checkbox[0].value;
checkbox.closest('.joms-js--friend').remove();
elem.find('.joms-js--friend-' + id + ' input[type=checkbox]')[0].checked = false;
return;
}
// Remove selected.
if ( !checkbox[0].checked ) {
id = checkbox[0].value;
elem.find('#joms-popup-tab-selected .joms-js--friend-' + id).remove();
return;
}
// Add selected.
ct = elem.find('#joms-popup-tab-selected');
clone = checkbox.closest('.joms-js--friend').clone();
checkbox = clone.find('input[type=checkbox]');
checkbox[0].checked = true;
ct.append( clone );
}
function getFriendList( _keyword ) {
var isReset = typeof _keyword === 'string';
if ( isReset ) {
tabAll.empty();
start = 0;
keyword = _keyword;
} else {
start += limit;
}
xhr && xhr.abort();
xhr = joms.ajax({
func: 'system,ajaxLoadFriendsList',
data: [ keyword, 'pages,inviteUsers', id, start, limit ],
callback: function( json ) {
var html;
if ( json.html ) {
html = $( $.trim( json.html ) );
html.each(function() {
var checkbox = $( this ).find(':checkbox'),
value = checkbox.val();
if ( tabSelected.find(':checkbox[value=' + value + ']').length ) {
checkbox[0].checked = true;
}
});
tabAll.append( html );
}
if ( !isReset ) {
tabAll[0].scrollTop = tabAll[0].scrollHeight;
}
// Toggle load more.
if ( json.loadMore ) {
btnSelect.css({ width: '49%', marginRight: '2%' });
btnLoad.css({ width: '49%' }).html( window.joms_lang.COM_COMMUNITY_INVITE_LOAD_MORE + ' (' + json.moreCount + ')' ).show();
} else {
btnLoad.hide();
btnSelect.css({ width: '100%', marginRight: '0' });
}
}
});
}
function buildHtml( json ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary" data-btn-save="1">', json.btnInvite, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.delete = factory( root );
define('popups/page.delete',[ 'utils/popup' ], function() {
return joms.popup.page.delete;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'pages,ajaxWarnPageDeletion',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save( e, step ) {
joms.ajax({
func: 'pages,ajaxDeletePage',
data: [ id, step || 1 ],
callback: function( json ) {
var $ct;
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().first()
.append( '<div>' + (json.error || json.message) + '</div>' );
if ( json.next ) {
save( null, json.next );
} else if ( json.redirect ) {
$ct = elem.find('.joms-js--step2');
$ct.find('.joms-js--button-done')
.html( json.btnDone )
.on( 'click', function() {
window.location = json.redirect;
});
$ct.find('.joms-popup__action').show();
$ct.find('.joms-popup__content').removeClass('joms-popup__content--single');
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnDelete, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'<div class="joms-popup__action joms-popup__hide">',
'<button class="joms-button--primary joms-js--button-done"></button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.unpublish = factory( root );
define('popups/page.unpublish',[ 'utils/popup' ], function() {
return joms.popup.page.unpublish;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'pages,ajaxShowUnpublishPage',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.addFeatured = factory( root, $ );
define('popups/page.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.page.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'pages,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.removeFeatured = factory( root, $ );
define('popups/page.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.page.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'pages,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.banMember = factory( root, $ );
define('popups/page.banmember',[ 'utils/popup' ], function() {
return joms.popup.page.banMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'pages,ajaxBanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.unbanMember = factory( root, $ );
define('popups/page.unbanmember',[ 'utils/popup' ], function() {
return joms.popup.page.unbanMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'pages,ajaxUnbanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.removeMember = factory( root, $ );
define('popups/page.removemember',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.page.removeMember;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'pages,ajaxConfirmMemberRemoval',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var checkbox = elem.find('input:checkbox'),
func = checkbox[0].checked ? 'pages,ajaxBanMember' : 'pages,ajaxRemoveMember',
data = [ userid, id ];
joms.ajax({
func: func,
data: data,
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().append( json.error || json.message );
if ( json.success ) {
$( '.joms-js--member-page-' + id + '-' + userid ).remove();
$( '.joms-js--request-buttons-page-' + id + '-' + userid ).remove();
$( '.joms-js--request-notice-page-' + id + '-' + userid ).html( json && json.message || '' );
joms.fn.notification.updateCounter( 'general', id, -1 );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userId ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userId );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page || (joms.popup.page = {});
joms.popup.page.report = factory( root );
define('popups/page.report',[ 'utils/popup' ], function() {
return joms.popup.page.report;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'pages,reportPage', window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.page = factory( root, joms.popup.page || {});
define('popups/page',[
'popups/page.share',
'popups/page.invite',
'popups/page.delete',
'popups/page.unpublish',
'popups/page.addfeatured',
'popups/page.removefeatured',
'popups/page.banmember',
'popups/page.unbanmember',
'popups/page.removemember',
'popups/page.report',
], function() {
return joms.popup.page;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group['delete'] = factory( root );
define('popups/group.delete',[ 'utils/popup' ], function() {
return joms.popup.group['delete'];
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxWarnGroupDeletion',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save( e, step ) {
joms.ajax({
func: 'groups,ajaxDeleteGroup',
data: [ id, step || 1 ],
callback: function( json ) {
var $ct;
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().first()
.append( '<div>' + (json.error || json.message) + '</div>' );
if ( json.next ) {
save( null, json.next );
} else if ( json.redirect ) {
$ct = elem.find('.joms-js--step2');
$ct.find('.joms-js--button-done')
.html( json.btnDone )
.on( 'click', function() {
window.location = json.redirect;
});
$ct.find('.joms-popup__action').show();
$ct.find('.joms-popup__content').removeClass('joms-popup__content--single');
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnDelete, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'<div class="joms-popup__action joms-popup__hide">',
'<button class="joms-button--primary joms-js--button-done"></button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.invite = factory( root, $ );
define('popups/group.invite',[ 'utils/popup' ], function() {
return joms.popup.group.invite;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, keyword, start, limit, xhr;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
limit = 200;
joms.ajax({
func: 'system,ajaxShowInvitationForm',
data: [ null, '', id, 1, 1 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// Override limit supplied in json.
if ( json.limit ) {
limit = +json.limit;
}
elem = popup.contentContainer;
tabAll = elem.find('.joms-tab__content').eq(0);
tabSelected = elem.find('.joms-tab__content').eq(1);
btnSelect = elem.find('[data-btn-select]');
btnLoad = elem.find('[data-btn-load]');
elem.on( 'keyup', '[data-search]', search );
elem.on( 'click', '.joms-tab__bar a', changeTab );
elem.on( 'click', '[data-btn-select]', selectAll );
elem.on( 'click', '[data-btn-load]', load );
elem.on( 'click', '[data-btn-save]', save );
elem.on( 'click', 'input[type=checkbox]', toggle );
getFriendList('');
}
});
}
function search( e ) {
var elem = $( e.currentTarget );
getFriendList( elem.val() );
}
function save() {
var friendsearch = '',
checkboxes = tabSelected.find('input[type=checkbox]'),
friends = [],
emails = elem.find('input[name=emails]').val() || '',
message = elem.find('[name=message]').val() || '',
rTrim = /^\s+|\s+$/g,
params;
checkboxes.each(function() {
friends.push( this.value );
});
emails = emails.replace( rTrim, '' );
message = message.replace( rTrim, '' );
params = [
[ 'friendsearch', friendsearch ],
[ 'emails', emails ],
[ 'message', message ],
[ 'friends', friends.join(',') ],
];
joms.ajax({
func: 'system,ajaxSubmitInvitation',
data: [ 'groups,inviteUsers', id, params ],
callback: function() {
elem.off();
popup.close();
}
});
}
function changeTab( e ) {
var $el = $( e.target ),
selected = $el.attr('href') === '#joms-popup-tab-selected',
lang = window.joms_lang[ selected ? 'COM_COMMUNITY_UNSELECT_ALL' : 'COM_COMMUNITY_SELECT_ALL' ];
btnSelect.html( lang );
}
function selectAll() {
var ct = $('.joms-tab__content:visible'),
clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
ct.find('.joms-js--friend').remove();
elem.find('input[type=checkbox]').each(function() {
this.checked = false;
});
return;
}
// Add selected.
clone = ct.find('.joms-js--friend').clone();
clone.find('input[type=checkbox]').add( ct.find('input[type=checkbox]') ).prop( 'checked', 'checked' );
ct = elem.find('#joms-popup-tab-selected');
ct.html( clone );
}
function load() {
getFriendList();
}
function toggle( e ) {
var checkbox = $( e.target ),
ct = checkbox.closest('.joms-tab__content'),
id, clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
id = checkbox[0].value;
checkbox.closest('.joms-js--friend').remove();
elem.find('.joms-js--friend-' + id + ' input[type=checkbox]')[0].checked = false;
return;
}
// Remove selected.
if ( !checkbox[0].checked ) {
id = checkbox[0].value;
elem.find('#joms-popup-tab-selected .joms-js--friend-' + id).remove();
return;
}
// Add selected.
ct = elem.find('#joms-popup-tab-selected');
clone = checkbox.closest('.joms-js--friend').clone();
checkbox = clone.find('input[type=checkbox]');
checkbox[0].checked = true;
ct.append( clone );
}
function getFriendList( _keyword ) {
var isReset = typeof _keyword === 'string';
if ( isReset ) {
tabAll.empty();
start = 0;
keyword = _keyword;
} else {
start += limit;
}
xhr && xhr.abort();
xhr = joms.ajax({
func: 'system,ajaxLoadFriendsList',
data: [ keyword, 'groups,inviteUsers', id, start, limit ],
callback: function( json ) {
var html;
if ( json.html ) {
html = $( $.trim( json.html ) );
html.each(function() {
var checkbox = $( this ).find(':checkbox'),
value = checkbox.val();
if ( tabSelected.find(':checkbox[value=' + value + ']').length ) {
checkbox[0].checked = true;
}
});
tabAll.append( html );
}
if ( !isReset ) {
tabAll[0].scrollTop = tabAll[0].scrollHeight;
}
// Toggle load more.
if ( json.loadMore ) {
btnSelect.css({ width: '49%', marginRight: '2%' });
btnLoad.css({ width: '49%' }).html( window.joms_lang.COM_COMMUNITY_INVITE_LOAD_MORE + ' (' + json.moreCount + ')' ).show();
} else {
btnLoad.hide();
btnSelect.css({ width: '100%', marginRight: '0' });
}
}
});
}
function buildHtml( json ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary" data-btn-save="1">', json.btnInvite, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.join = factory( root, $ );
define('popups/group.join',[ 'utils/popup' ], function() {
return joms.popup.group.join;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxJoinGroup',
data: [ id ],
callback: function() {
window.location.reload();
}
});
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.leave = factory( root, $ );
define('popups/group.leave',[ 'utils/popup' ], function() {
return joms.popup.group.leave;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxShowLeaveGroup',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.addFeatured = factory( root, $ );
define('popups/group.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.group.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.removeFeatured = factory( root, $ );
define('popups/group.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.group.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.report = factory( root );
define('popups/group.report',[ 'utils/popup' ], function() {
return joms.popup.group.report;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'groups,reportGroup', window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.unpublish = factory( root );
define('popups/group.unpublish',[ 'utils/popup' ], function() {
return joms.popup.group.unpublish;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'groups,ajaxShowUnpublishGroup',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form')[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.approve = factory( root, $ );
define('popups/group.approve',[ 'functions/notification' ], function() {
return joms.popup.group.approve;
});
})( window, joms.jQuery, function( window, $ ) {
var id, userid;
function render( _id, _userid ) {
id = _id;
userid = _userid;
joms.ajax({
func: 'groups,ajaxApproveMember',
data: [ userid, id ],
callback: function( json ) {
if ( json ) {
$( '.joms-js--request-buttons-group-' + id + '-' + userid ).remove();
$( '.joms-js--request-notice-group-' + id + '-' + userid ).html( json.message || json.error );
json.success && joms.fn.notification.updateCounter( 'general', id, -1 );
}
}
});
}
// Exports.
return function( id, userId ) {
render( id, userId );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.removeMember = factory( root, $ );
define('popups/group.removemember',[ 'utils/popup', 'functions/notification' ], function() {
return joms.popup.group.removeMember;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'groups,ajaxConfirmMemberRemoval',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var checkbox = elem.find('input:checkbox'),
func = checkbox[0].checked ? 'groups,ajaxBanMember' : 'groups,ajaxRemoveMember',
data = [ userid, id ];
joms.ajax({
func: func,
data: data,
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().append( json.error || json.message );
if ( json.success ) {
$( '.joms-js--member-group-' + id + '-' + userid ).remove();
$( '.joms-js--request-buttons-group-' + id + '-' + userid ).remove();
$( '.joms-js--request-notice-group-' + id + '-' + userid ).html( json && json.message || '' );
joms.fn.notification.updateCounter( 'general', id, -1 );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userId ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userId );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.banMember = factory( root, $ );
define('popups/group.banmember',[ 'utils/popup' ], function() {
return joms.popup.group.banMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'groups,ajaxBanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group || (joms.popup.group = {});
joms.popup.group.unbanMember = factory( root, $ );
define('popups/group.unbanmember',[ 'utils/popup' ], function() {
return joms.popup.group.unbanMember;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'groups,ajaxUnbanMember',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.message || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, userid ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, userid );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.group = factory( root, joms.popup.group || {});
define('popups/group',[
'popups/group.delete',
'popups/group.invite',
'popups/group.join',
'popups/group.leave',
'popups/group.addfeatured',
'popups/group.removefeatured',
'popups/group.report',
'popups/group.unpublish',
'popups/group.approve',
'popups/group.removemember',
'popups/group.banmember',
'popups/group.unbanmember'
], function() {
return joms.popup.group;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.inbox || (joms.popup.inbox = {});
joms.popup.inbox.addRecipient = factory( root, $ );
define('popups/inbox.addrecipient',[ 'utils/popup' ], function() {
return joms.popup.inbox.addRecipient;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, keyword, start, limit, xhr;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
limit = 200;
joms.ajax({
func: 'system,ajaxShowFriendsForm',
data: [ null, '', id, 1, 1 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// Override limit supplied in json.
if ( json.limit ) {
limit = +json.limit;
}
elem = popup.contentContainer;
tabAll = elem.find('.joms-tab__content').eq(0);
tabSelected = elem.find('.joms-tab__content').eq(1);
btnSelect = elem.find('[data-btn-select]');
btnLoad = elem.find('[data-btn-load]');
elem.on( 'keyup', '[data-search]', search );
elem.on( 'click', '.joms-tab__bar a', changeTab );
elem.on( 'click', '[data-btn-select]', selectAll );
elem.on( 'click', '[data-btn-load]', load );
elem.on( 'click', '[data-btn-save]', select );
elem.on( 'click', 'input[type=checkbox]', toggle );
getFriendList('');
}
});
}
function search( e ) {
var elem = $( e.currentTarget );
getFriendList( elem.val() );
}
function select() {
var to = $('#joms-js--compose-to');
tabSelected.find('.joms-js--friend').each(function() {
var item = $( this ),
chk = item.find(':checkbox'),
id = chk.val();
if ( !to.find( '.joms-js--friend-' + id ).length ) {
to.append( item.clone() );
}
});
// Close popup.
elem.off();
popup.close();
to.show();
}
function changeTab( e ) {
var $el = $( e.target ),
selected = $el.attr('href') === '#joms-popup-tab-selected',
lang = window.joms_lang[ selected ? 'COM_COMMUNITY_UNSELECT_ALL' : 'COM_COMMUNITY_SELECT_ALL' ];
btnSelect.html( lang );
}
function selectAll() {
var ct = $('.joms-tab__content:visible'),
clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
ct.find('.joms-js--friend').remove();
elem.find('input[type=checkbox]').each(function() {
this.checked = false;
});
return;
}
// Add selected.
clone = ct.find('.joms-js--friend').clone();
clone.find('input[type=checkbox]').add( ct.find('input[type=checkbox]') ).prop( 'checked', 'checked' );
ct = elem.find('#joms-popup-tab-selected');
ct.html( clone );
}
function load() {
getFriendList();
}
function toggle( e ) {
var checkbox = $( e.target ),
ct = checkbox.closest('.joms-tab__content'),
id, clone;
// Remove selected.
if ( ct.attr('id') === 'joms-popup-tab-selected' ) {
id = checkbox[0].value;
checkbox.closest('.joms-js--friend').remove();
elem.find('.joms-js--friend-' + id + ' input[type=checkbox]')[0].checked = false;
return;
}
// Remove selected.
if ( !checkbox[0].checked ) {
id = checkbox[0].value;
elem.find('#joms-popup-tab-selected .joms-js--friend-' + id).remove();
return;
}
// Add selected.
ct = elem.find('#joms-popup-tab-selected');
clone = checkbox.closest('.joms-js--friend').clone();
checkbox = clone.find('input[type=checkbox]');
checkbox[0].checked = true;
ct.append( clone );
}
function getFriendList( _keyword ) {
var isReset = typeof _keyword === 'string';
if ( isReset ) {
tabAll.empty();
start = 0;
keyword = _keyword;
} else {
start += limit;
}
xhr && xhr.abort();
xhr = joms.ajax({
func: 'system,ajaxLoadFriendsList',
data: [ keyword, 'friends,inviteUsers', id, start, limit ],
callback: function( json ) {
var html;
if ( json.html ) {
html = $( $.trim( json.html ) );
html.each(function() {
var checkbox = $( this ).find(':checkbox'),
value = checkbox.val();
if ( tabSelected.find(':checkbox[value=' + value + ']').length ) {
checkbox[0].checked = true;
}
});
tabAll.append( html );
}
if ( !isReset ) {
tabAll[0].scrollTop = tabAll[0].scrollHeight;
}
// Toggle load more.
if ( json.loadMore ) {
btnSelect.css({ width: '49%', marginRight: '2%' });
btnLoad.css({ width: '49%' }).html( window.joms_lang.COM_COMMUNITY_INVITE_LOAD_MORE + ' (' + json.moreCount + ')' ).show();
} else {
btnLoad.hide();
btnSelect.css({ width: '100%', marginRight: '0' });
}
}
});
}
function buildHtml( json ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary" data-btn-save="1">', json.btnSelect, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function (root, $, factory) {
joms.popup || (joms.popup = {});
joms.popup.chat || (joms.popup.chat = {});
joms.popup.chat.addRecipient = factory(root, $);
define('popups/chat.addrecipient',['utils/popup'], function () {
return joms.popup.chat.addRecipient;
});
})(window, joms.jQuery, function (window, $) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, keyword, start, limit, xhr, timeout;
function render(_popup, _id) {
if (elem)
elem.off();
popup = _popup;
id = _id;
limit = 200;
joms.ajax({
func: 'system,ajaxShowFriendsForm',
data: [null, '', '', 1, 1],
callback: function (json) {
popup.items[0] = {
type: 'inline',
src: buildHtml(json)
};
popup.updateItemHTML();
// Override limit supplied in json.
if (json.limit) {
limit = +json.limit;
}
elem = popup.contentContainer;
tabAll = elem.find('.joms-tab__content').eq(0);
tabSelected = elem.find('.joms-tab__content').eq(1);
btnSelect = elem.find('[data-btn-select]');
btnLoad = elem.find('[data-btn-load]');
elem.on('input', '[data-search]', function(e) { search(e, _id)});
elem.on('click', '.joms-tab__bar a', changeTab);
elem.on('click', '[data-btn-select]', selectAll);
elem.on('click', '[data-btn-load]', function(e) { load(e, _id)});
elem.on('click', '[data-btn-save]', select);
elem.on('click', 'input[type=checkbox]', toggle);
getFriendList('', _id);
}
});
}
function search(e, _id) {
var elem = $(e.currentTarget);
clearTimeout(timeout);
timeout = setTimeout(function() {
getFriendList(elem.val(), _id);
}, 300);
}
function select() {
var added_friends = {};
tabSelected.find('.joms-js--friend').each(function () {
var item = $(this),
chk = item.find(':checkbox'),
id = chk.val(),
friend = {
id : +id,
name: item.find('.joms-avatar--comment a img').attr('alt'),
avatar: item.find('.joms-avatar--comment a img').attr('src')
};
added_friends[id] = friend;
});
joms_observer.do_action('chat_add_people', added_friends);
// Close popup.
elem.off();
popup.close();
}
function changeTab(e) {
var $el = $(e.target),
selected = $el.attr('href') === '#joms-popup-tab-selected',
lang = window.joms_lang[ selected ? 'COM_COMMUNITY_UNSELECT_ALL' : 'COM_COMMUNITY_SELECT_ALL' ];
btnSelect.html(lang);
}
function selectAll() {
var ct = $('.joms-tab__content:visible'),
clone;
// Remove selected.
if (ct.attr('id') === 'joms-popup-tab-selected') {
ct.find('.joms-js--friend').remove();
elem.find('input[type=checkbox]').each(function () {
this.checked = false;
});
return;
}
// Add selected.
clone = ct.find('.joms-js--friend').clone();
clone.find('input[type=checkbox]').add(ct.find('input[type=checkbox]')).prop('checked', 'checked');
ct = elem.find('#joms-popup-tab-selected');
ct.html(clone);
}
function load(e, _id) {
getFriendList('', _id);
}
function toggle(e) {
var checkbox = $(e.target),
ct = checkbox.closest('.joms-tab__content'),
id, clone;
// Remove selected.
if (ct.attr('id') === 'joms-popup-tab-selected') {
id = checkbox[0].value;
checkbox.closest('.joms-js--friend').remove();
elem.find('.joms-js--friend-' + id + ' input[type=checkbox]')[0].checked = false;
return;
}
// Remove selected.
if (!checkbox[0].checked) {
id = checkbox[0].value;
elem.find('#joms-popup-tab-selected .joms-js--friend-' + id).remove();
return;
}
// Add selected.
ct = elem.find('#joms-popup-tab-selected');
clone = checkbox.closest('.joms-js--friend').clone();
checkbox = clone.find('input[type=checkbox]');
checkbox[0].checked = true;
ct.append(clone);
}
function getFriendList(_keyword, _id) {
var isReset = typeof _keyword === 'string';
var users = _id && typeof _id === 'string' ? _id.split(',') : [];
if (isReset) {
tabAll.empty();
start = 0;
keyword = _keyword;
} else {
start += limit;
}
xhr && xhr.abort();
xhr = joms.ajax({
func: 'system,ajaxLoadFriendsList',
data: [keyword, 'friends,inviteUsers', id, start, limit],
callback: function (json) {
var html;
if (json.html) {
html = $($.trim(json.html));
html.each(function () {
var elm = $(this),
checkbox = elm.find(':checkbox'),
value = checkbox.val();
if (tabSelected.find(':checkbox[value=' + value + ']').length) {
checkbox[0].checked = true;
}
});
tabAll.append(html);
_.each(users, function(id) {
var added = tabAll.find('.joms-js--friend-' + id);
if (added.length) {
added.find('.joms-stream__time label').text(joms_lang.COM_COMMUNITY_APPS_LIST_ADDED);
}
});
}
if (!isReset) {
tabAll[0].scrollTop = tabAll[0].scrollHeight;
}
// Toggle load more.
if (json.loadMore) {
btnSelect.css({width: '49%', marginRight: '2%'});
btnLoad.css({width: '49%'}).html(window.joms_lang.COM_COMMUNITY_INVITE_LOAD_MORE + ' (' + json.moreCount + ')').show();
} else {
btnLoad.hide();
btnSelect.css({width: '100%', marginRight: '0'});
}
}
});
}
function buildHtml(json) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', (json.error ? ' class="joms-popup__hide"' : ''), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--primary" data-btn-save="1">', json.btnSelect, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', (json.error ? '' : ' class="joms-popup__hide"'), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function (id) {
joms.util.popup.prepare(function (mfp) {
render(mfp, id);
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.inbox || (joms.popup.inbox = {});
joms.popup.inbox.remove = factory( root, $ );
define('popups/inbox.remove',[ 'utils/popup' ], function() {
return joms.popup.inbox.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, task, msgids;
function render( _popup, _task, _msgids ) {
var data;
if ( elem ) elem.off();
popup = _popup;
task = _task;
msgids = _msgids;
data = [ task ];
msgids.length || data.push('empty');
joms.ajax({
func: 'inbox,ajaxDeleteMessages',
data: data,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: task === 'inbox' ? 'inbox,ajaxRemoveFullMessages' : 'inbox,ajaxRemoveSentMessages',
data: [ msgids.join(',') ],
callback: function( json ) {
var i;
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
if ( json.success ) {
$('.joms-js--message-checkall')[0].checked = false;
for ( i = 0; i < msgids.length; i++ ) {
$( '.joms-js--message-item-' + msgids[i] ).remove();
}
if ( !$('.joms-js--message-item').length ) {
$('.joms-js--message-ct').remove();
}
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1 ', ( json.error ? 'joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2 ', ( json.error ? '' : 'joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( task, msgids ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, task, msgids );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.inbox || (joms.popup.inbox = {});
joms.popup.inbox.setRead = factory( root, $ );
define('popups/inbox.setread',[ 'utils/popup' ], function() {
return joms.popup.inbox.setRead;
});
})( window, joms.jQuery, function( window ) {
function render( msgids, error ) {
var i;
if ( !msgids.length ) {
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = { type: 'inline', src: buildHtml({ error: error }) };
mfp.updateItemHTML();
});
return;
}
for ( i = 0; i < msgids.length; i++ ) {
window.jax.call( 'community', 'inbox,ajaxMarkMessageAsRead', msgids[ i ] );
}
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-js--step1 ', ( json.error ? 'joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2 ', ( json.error ? '' : 'joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( msgids, error ) {
render( msgids, error );
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.inbox || (joms.popup.inbox = {});
joms.popup.inbox.setUnread = factory( root, $ );
define('popups/inbox.setunread',[ 'utils/popup' ], function() {
return joms.popup.inbox.setUnread;
});
})( window, joms.jQuery, function( window ) {
function render( msgids, error ) {
var i;
if ( !msgids.length ) {
joms.util.popup.prepare(function( mfp ) {
mfp.items[0] = { type: 'inline', src: buildHtml({ error: error }) };
mfp.updateItemHTML();
});
return;
}
for ( i = 0; i < msgids.length; i++ ) {
window.jax.call( 'community', 'inbox,ajaxMarkMessageAsUnread', msgids[ i ] );
}
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', ( json.title || '' ), '</div>',
'<div class="joms-js--step1 ', ( json.error ? 'joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2 ', ( json.error ? '' : 'joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( msgids, error ) {
render( msgids, error );
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.inbox = factory( root, joms.popup.inbox || {});
define('popups/inbox',[
'popups/inbox.addrecipient',
'popups/chat.addrecipient',
'popups/inbox.remove',
'popups/inbox.setread',
'popups/inbox.setunread'
], function() {
return joms.popup.inbox;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.location || (joms.popup.location = {});
joms.popup.location.view = factory( root );
define('popups/location.view',[ 'utils/popup' ], function() {
return joms.popup.location.view;
});
})( window, function( root ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'activities,ajaxShowMap',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
}
});
}
function buildHtml(json){
if(root.joms_maps_api == "openstreetmap"){
return buildHtml_openstreetmap(json);
}else{
return buildHtml_google(json);
}
}
function buildHtml_openstreetmap( json ) {
var latlng, location, src;
json || (json = {});
joms.map.executeOpenStreetmap(function(){
setTimeout(function(){
var el = joms.jQuery("#joms-locaton-popup-openstreet");
el.css( 'height', 500 );
el.css( 'width', 500 );
var map = new L.Map(el[0],{attributionControl:false});
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
minZoom: 14,
center: [51.505, -0.09],
id: 'mapbox.streets'
}).addTo(map);
var marker = L.marker().addTo(map);
var position = L.latLng(json.latitude, json.longitude);
marker.setLatLng( position );
map.setView(position, 11, { animation: false });
},500);
});
return [
'<div id="joms-locaton-popup" class="joms-popup">',
'<div id="joms-locaton-popup-openstreet">',
'</div>',
'</div>'
].join('');
}
function buildHtml_google( json ) {
var latlng, location, src;
json || (json = {});
latlng = json.latitude + ',' + json.longitude;
location = json.location;
src = 'https://maps.googleapis.com/maps/api/staticmap?center=' + latlng +
'&markers=color:red%7Clabel:S%7C' + latlng + '&zoom=14&size=600x350&maptype=roadmap';
if ( root.joms_gmap_key ) {
src += '&key=' + root.joms_gmap_key;
}
return [
'<div class="joms-popup joms-popup--location-view">',
'<div', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<a href="//www.google.com/maps/@', latlng, ',19z" target="_blank">',
'<img src="', src, '">',
'</a>',
'</div>',
'<div', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single">', json.error, '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.location = factory( root, joms.popup.location || {});
define('popups/location',[ 'popups/location.view' ], function() {
return joms.popup.location;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.notification || (joms.popup.notification = {});
joms.popup.notification.global = factory( root );
define('popups/notification.global',[ 'utils/popup' ], function() {
return joms.popup.notification.global;
});
})( window, function() {
function render( popup ) {
joms.ajax({
func: 'notification,ajaxGetNotification',
data: [ '' ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title">', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single" style="max-height:400px;overflow:auto">',
'<ul style="margin: 0; list-style: none;">', ( json.html || '' ), '</ul>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function() {
joms.util.popup.prepare(function( mfp ) {
render( mfp);
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.notification || (joms.popup.notification = {});
joms.popup.notification.friend = factory( root );
define('popups/notification.friend',[ 'utils/popup' ], function() {
return joms.popup.notification.friend;
});
})( window, function() {
function render( popup ) {
joms.ajax({
func: 'notification,ajaxGetRequest',
data: [ '' ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title">', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single" style="max-height:400px;overflow:auto">',
'<ul style="margin: 0; list-style: none;">', ( json.html || '' ), '</ul>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function() {
joms.util.popup.prepare(function( mfp ) {
render( mfp);
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.notification || (joms.popup.notification = {});
joms.popup.notification.chat = factory( root, $ );
define('popups/notification.chat',[ 'utils/popup' ], function() {
return joms.popup.notification.chat;
});
})( window, joms.jQuery, function( window, $ ) {
function render( popup, elem ) {
var $popover = $( elem ).next( '.joms-popover--toolbar-chat' ),
json = {};
json.title = window.joms_lang && joms_lang.COM_COMMUNITY_MESSAGE || 'Message';
json.html = $popover.html();
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title">', ( json.title || '' ), '</div>',
'<div class="joms-popup__content joms-popup__content--single" style="max-height:400px;overflow:auto">',
'<ul style="margin: 0; list-style: none;">', ( json.html || '' ), '</ul>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( elem ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, elem );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.notification = factory( root, joms.popup.notification || {});
define('popups/notification',[
'popups/notification.global',
'popups/notification.friend',
'popups/notification.chat'
], function() {
return joms.popup.notification;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.phototag = factory( root, $ );
})( window, joms.jQuery, function( window, $, undef ) {
var wrapper, elem, img, friends, callback, tagAdded, isPopup, noResult;
function populate( el, tags ) {
var cssTags = '.joms-phototag__tags',
cssTag = '.joms-phototag__tag',
$tags, $tag, tag, pos, top, left, width, tagTop, tagLeft, tagWidth, tagHeight, height, i;
$( cssTags ).remove();
if ( tags && tags.length ) {
// Image measurements.
img = $( el );
pos = img.position();
top = pos.top;
left = pos.left;
width = img.width();
height = img.height();
// Tags container.
$tags = $( '<div class=' + cssTags.substr(1) + '></div>' );
$tags.css({
top: 0,
left: 0,
right: 0,
bottom: 0,
margin: 'auto',
width: width,
height: height
});
$tags.insertAfter( img );
for ( i = 0; i < tags.length; i++ ) {
tag = tags[ i ];
tagTop = Math.round( height * tag.top );
tagLeft = Math.round( width * tag.left );
tagWidth = Math.round( width * tag.width );
tagHeight = Math.round( height * tag.height );
// Force square.
tagHeight = tagWidth = Math.max( 10, Math.min( tagWidth, tagHeight ) );
$tag = $( '<div class=' + cssTag.substr(1) + '><span>' + tag.displayName + '</span></div>' );
$tag.css({
top : tagTop + 'px',
left : tagLeft + 'px',
width : tagWidth + 'px',
height : tagHeight + 'px'
});
$tag.appendTo( $tags );
}
}
}
function create( e, tags, type, groupid, eventid ) {
var imgOffset, parOffset, pos, top, left, width, height;
destroy();
// Hide tagging info.
$( '.joms-phototag__tags' ).hide();
wrapper = $( buildHtml() );
elem = wrapper.find('.joms-phototag');
img = $( e.target );
friends = undef;
callback = {};
width = img.width();
height = img.height();
imgOffset = img.offset();
parOffset = img.parent().offset();
top = imgOffset.top - parOffset.top;
left = imgOffset.left - parOffset.left;
tagAdded = tags || [];
isPopup = type !== 'page' ? true : false;
elem.css({
top: 0,
left: 0
});
wrapper.css({
top: top,
left: left,
width: width,
height: height
});
wrapper.insertAfter( img );
pos = calcClickPosition( e );
elem.css({ top: pos.top, left: pos.left });
elem.on( 'keyup', 'input', filter );
elem.on( 'click', 'a[data-id]', select );
elem.on( 'click', 'button', destroy );
elem.on( 'click', function( e ) {
e.stopPropagation();
});
wrapper.on( 'click', moveBoxPosition );
if ( +groupid ) {
joms.fn.tagging.fetchGroupMembers( groupid, function( members ) {
friends = members;
filter();
});
} else if ( +eventid ) {
joms.fn.tagging.fetchEventMembers( eventid, function( members ) {
friends = members;
filter();
});
} else {
filter();
}
// Apparently Android (Chrome?) trigger "onresize" event when keypad being shown,
// which make phototag immediately closed. Add resize handler only on desktop browser.
if ( !joms.mobile ) {
$( window ).on( 'resize.phototag', destroy );
}
}
function filter( e ) {
var input, keyword, filtered, ac;
if ( !friends ) {
friends = window.joms_friends || [];
}
input = $( e ? e.currentTarget : elem.find('input') );
keyword = input.val().replace( /^\s+|\s+$/g, '' ).toLowerCase();
filtered = friends;
filtered = joms._.filter( friends, function( obj ) {
if ( !obj ) return false;
if ( !obj.name ) return false;
if ( tagAdded && tagAdded.indexOf( obj.id + '' ) >= 0 ) return false;
if ( keyword && obj.name.toLowerCase().indexOf( keyword ) < 0 ) return false;
return true;
});
filtered = filtered.slice(0, 8);
filtered = joms._.map( filtered, function( obj ) {
return '<a href="javascript:" data-id="' + obj.id + '">' + obj.name + '</a>';
});
if ( !filtered.length ) {
filtered = [ '<span><em>' + window.joms_lang.COM_COMMUNITY_NO_RESULT_FOUND + '</em></span>' ];
noResult = true;
} else {
noResult = false;
}
ac = elem.find('.joms-phototag__autocomplete');
ac.html( filtered.join('') );
ac.append(
'<div><button class="joms-button--neutral joms-button--small joms-button--full">' +
window.joms_lang.COM_COMMUNITY_PHOTO_DONE_TAGGING +
'</button></div>'
);
ac.show();
}
function select( e ) {
var ac = elem.find('.joms-phototag__autocomplete'),
el = $( e.currentTarget ),
id = el.data('id') || '',
pos;
e.stopPropagation();
ac.hide();
if ( callback && callback.tagAdded ) {
tagAdded || (tagAdded = []);
tagAdded.push( id + '' );
pos = calcBoxPosition();
callback.tagAdded(
id,
pos.left,
pos.top,
pos.width,
pos.height
);
filter();
}
}
function destroy() {
// Show tagging info.
$( '.joms-phototag__tags' ).show();
if ( elem ) {
elem.remove();
wrapper.remove();
$( window ).off('resize.phototag');
elem = undef;
img = undef;
if ( callback && callback.destroy ) {
callback.destroy();
}
callback = undef;
}
}
function on( eventType, fn ) {
callback[ eventType ] = fn;
}
function off( eventType ) {
if ( !eventType ) {
callback = {};
} else if ( callback[ eventType ] ) {
callback[ eventType ] = undef;
}
}
function calcClickPosition( e ) {
var height = img.height(),
width = img.width(),
offset, left, top;
// Calculate offset position.
if ( isPopup ) {
top = e.clientY - 45 - e.target.offsetTop - 43;
left = e.clientX - 45 - e.target.offsetLeft - 43;
} else {
offset = img.offset();
top = e.pageY - offset.top - 43;
left = e.pageX - offset.left - 43;
}
// Respect wrapper boundaries.
top = Math.max( 0, Math.min( top, height - 86 ) );
left = Math.max( 0, Math.min( left, width - 86 ) );
return {
top: top,
left: left
};
}
function calcBoxPosition() {
var pos, ctWidth, ctHeight, boxWidth, boxHeight, boxLeft, boxTop;
ctWidth = wrapper.width();
ctHeight = wrapper.height();
pos = elem.position();
boxWidth = elem.width();
boxHeight = elem.height();
boxLeft = pos.left;
boxTop = pos.top;
// Percentage (relative to wrapper height).
boxWidth = boxWidth / ctWidth;
boxHeight = boxHeight / ctHeight;
// Percentage (relative to wrapper dimension).
boxLeft = boxLeft / ctWidth;
boxTop = boxTop / ctHeight;
return {
top : boxTop,
left : boxLeft,
width : boxWidth,
height : boxHeight
};
}
function moveBoxPosition( e ) {
var pos;
if ( noResult ) {
destroy();
return;
}
pos = calcClickPosition( e );
elem.css({
top: pos.top,
left: pos.left
});
}
function buildHtml() {
return [
'<div class=joms-phototag__wrapper>',
'<div class=joms-phototag>',
'<div class=joms-phototag__input>',
'<input type=text placeholder="', window.joms_lang.COM_COMMUNITY_SEARCH,'">',
'<div class="joms-phototag__autocomplete"></div>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return {
populate: populate,
create: create,
destroy: destroy,
on: on,
off: off
};
});
define("utils/phototag", function(){});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.open = factory( root, $ );
define('popups/photo.open',[ 'utils/popup', 'utils/phototag' ], function() {
return joms.popup.photo.open;
});
})( window, joms.jQuery, function( window, $ ) {
var iconCog = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-cog"></use></svg>',
iconBubble = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-bubble"></use></svg>',
iconThumbsUp = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-thumbs-up"></use></svg>',
iconTag = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-tag"></use></svg>',
iconNewspaper = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-newspaper"></use></svg>',
popup, elem, img, spinner, caption, tagBtn, tags, tagLabel, tagRemoveLabel, album, id, list, index, lang,
canEdit, canDelete, canTag, canMovePhoto, canRotate, albumName, albumUrl, photoUrl, userId, groupId, eventId, isRegistered, isOwner, isAdmin, enableDownload, enableReporting, enableSharing, enableLike, enableReaction;
enableReaction = isEnableReaction();
function render( _popup, _album, _id ) {
if ( elem ) elem.off();
popup = _popup;
album = _album;
id = _id;
joms.ajax({
func: 'photos,ajaxGetPhotosByAlbum',
data: [ album, id ],
callback: function( json ) {
json || (json = {});
lang = json.lang || {};
canEdit = json.can_edit || false;
canDelete = json.can_delete || false;
canTag = json.can_tag || false;
canMovePhoto = json.can_move_photo || false;
canRotate = json.can_rotate || false;
albumName = json.album_name || 'Untitled';
albumUrl = json.album_url;
photoUrl = json.photo_url;
// Priviliges.
isRegistered = userId = +json.my_id;
groupId = +json.groupid;
eventId = +json.eventid;
isOwner = isRegistered && ( +json.my_id === +json.owner_id );
isAdmin = +json.is_admin;
// Settings.
enableDownload = +json.deleteoriginalphotos ? false : true;
enableReporting = +json.enablereporting;
enableSharing = +json.enablesharing;
enableLike = +json.enablelike;
if ( albumUrl ) {
albumName = '<a href="' + albumUrl + '">' + albumName + '</a>';
}
popup.items[0] = {
type: 'inline',
src: json.error ? buildErrorHtml( json ) : buildHtml( json )
};
popup.updateItemHTML();
// Override popup#close function.
popup.close = closeOverride;
elem = popup.contentContainer;
// Break on error.
if ( json.error ) {
return;
}
img = elem.find('img');
spinner = elem.find('.joms-spinner');
caption = elem.find('.joms-popup__optcaption');
tagBtn = elem.find('.joms-popup__btn-tag-photo');
elem.on( 'click', '.mfp-arrow-left', prev );
elem.on( 'click', '.mfp-arrow-right', next );
elem.on( 'click', '.joms-popup__btn-tag-photo', tagPrepare );
elem.on( 'click', '.joms-popup__btn-comments', toggleComments );
elem.on( 'click', '.joms-popup__btn-comments .joms-icon', toggleComments );
elem.on( 'click', '.joms-popup__btn-option', toggleDropdown );
elem.on( 'click', '.joms-popup__btn-share', share );
elem.on( 'click', '.joms-popup__btn-download', download );
elem.on( 'click', '.joms-popup__btn-report', report );
elem.on( 'click', '.joms-popup__btn-upload', upload );
elem.on( 'click', '.joms-popup__btn-cover', setAsCover );
elem.on( 'click', '.joms-popup__btn-profile', setAsProfilePicture );
elem.on( 'click', '.joms-popup__btn-delete', _delete );
elem.on( 'click', '.joms-popup__btn-move', moveToAnotherAlbum );
elem.on( 'click', '.joms-popup__btn-like', like );
elem.on( 'click', '.joms-popup__btn-dislike', dislike );
elem.on( 'click', '.joms-popup__btn-rotate-left', rotateLeft );
elem.on( 'click', '.joms-popup__btn-rotate-right', rotateRight );
elem.on( 'mouseleave', '.joms-popup__dropdown--wrapper', hideDropdown );
elem.on( 'click', '.joms-js--remove-tag', tagRemove );
elem.on( 'click', '.joms-js--btn-desc-edit', editDescription );
elem.on( 'click', '.joms-js--btn-desc-cancel', cancelDescription );
elem.on( 'click', '.joms-js--btn-desc-save', saveDescription );
// Hook arrow keys.
$( document ).off('keyup.photomodal').on( 'keyup.photomodal', function( e ) {
var tagName = e.target.tagName.toLowerCase(),
key = e.keyCode;
// Prevent navigation when user typing.
if ( tagName === 'input' || tagName === 'textarea' ) {
return;
}
if ( key === 37 || key === 39 ) {
if ( key === 37 && index > 0 ) {
prev();
} else if ( key === 39 && index < list.length - 1 ) {
next();
}
}
});
// Unhook arrow keys on close.
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
$( document ).off('keyup.photomodal');
};
// In case no ID is profided.
if ( !id ) {
id = json.list[ json.index ].id;
}
fetchComments( id );
toggleArrows();
preloadNeighbourImages();
}
});
}
// Image load timer.
var loadImageTimer;
var loadSpinnerTimer;
// Image loader.
function loadImage( img, url ) {
clearTimeout( loadImageTimer );
clearTimeout( loadSpinnerTimer );
img.hide();
img.removeAttr('src');
loadSpinnerTimer = setTimeout(function() {
spinner.show();
}, 100 );
loadImageTimer = setTimeout(function() {
$('<img>').on('load', function() {
clearTimeout( loadSpinnerTimer );
spinner.hide();
img.attr( 'src', url );
img.show();
}).attr( 'src', url );
}, 1 );
}
function prev() {
index--;
(index < 0) && (index = list.length - 1);
id = list[index].id;
loadImage( img, list[index].url );
caption.html( albumName + ' <span class="joms-popup__optcapindex">' + ( index + 1 ) + ' ' + window.joms_lang.COM_COMMUNITY_OF + ' ' + list.length + '</span>' );
tagCancel();
fetchComments( id );
toggleArrows();
preloadNeighbourImages();
}
function next() {
index++;
(index >= list.length) && (index = 0);
id = list[index].id;
loadImage( img, list[index].url );
caption.html( albumName + ' <span class="joms-popup__optcapindex">' + ( index + 1 ) + ' ' + window.joms_lang.COM_COMMUNITY_OF + ' ' + list.length + '</span>' );
tagCancel();
fetchComments( id );
toggleArrows();
preloadNeighbourImages();
}
function toggleArrows() {
var noprev = index <= 0,
nonext = index >= list.length - 1;
elem.find('.mfp-arrow-left')[ noprev ? 'hide' : 'show' ]();
elem.find('.mfp-arrow-right')[ nonext ? 'hide' : 'show' ]();
}
function preloadNeighbourImages() {
var noprev = index <= 0,
nonext = index >= list.length - 1,
img;
if ( !noprev ) {
img = new Image();
img.src = list[ index - 1 ].url;
}
if ( !nonext ) {
img = new Image();
img.src = list[ index + 1 ].url;
}
}
function tagPrepare() {
if ( tagBtn.data('tagging') ) {
tagCancel();
return;
}
tagBtn.data( 'tagging', 1 );
elem.find( '.joms-phototag__tags' ).hide();
elem.children('.joms-popup--photo').addClass('joms-popup--phototag');
img.off('click.phototag').on( 'click.phototag', tagStart );
img.addClass('joms-phototag__image');
elem.find('.joms-popup__btn-tag-photo').html( iconTag + ' ' + lang.done_tagging );
}
function tagStart( e ) {
var indices = joms._.map( tags, function( item ) {
return item.userId + '';
});
joms.util.phototag.create( e, indices, false, groupId, eventId );
joms.util.phototag.on( 'tagAdded', tagAdded );
joms.util.phototag.on( 'destroy', function() {
tagBtn.removeData('tagging');
elem.children('.joms-popup--photo').removeClass('joms-popup--phototag');
img.off('click.phototag');
img.removeClass('joms-phototag__image');
elem.find('.joms-popup__btn-tag-photo').html( iconTag + ' <span class="joms-popup__btn-overlay">' + lang.tag_photo + '</span>' );
});
elem.children('.joms-popup--photo').removeClass('joms-popup--phototag');
img.off('click.phototag');
}
function tagAdded( userId, y, x, w, h ) {
joms.ajax({
func: 'photos,ajaxAddPhotoTag',
data: [ id, userId, x, y, w, h ],
callback: function( json ) {
var $comments, $tags;
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( json.success ) {
tags.push( json.data );
// Render tag info.
$comments = elem.find('.joms-popup__comment');
$tags = $comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
}
}
});
}
function tagCancel() {
joms.util.phototag.destroy();
}
function tagRemove( e ) {
var el = $( e.currentTarget ),
userId = el.data('id');
joms.ajax({
func: 'photos,ajaxRemovePhotoTag',
data: [ id, userId ],
callback: function( json ) {
var $comments, $tags, i;
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( json.success ) {
for ( i = 0; i < tags.length; i++ ) {
if ( +userId === +tags[i].userId ) {
tags.splice( i--, 1 );
}
}
// Render tag info.
$comments = elem.find('.joms-popup__comment');
$tags = $comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
}
}
});
}
function _tagBuildHtml() {
var html, item, str, i;
if ( !tags || !tags.length ) {
tags = [];
}
joms.util.phototag.populate( img, tags, 'page' );
if ( !tags.length ) {
return '';
}
html = [];
for ( i = 0; i < tags.length; i++ ) {
item = tags[i];
str = '<a href="' + item.profileUrl + '">' + item.displayName + '</a>';
if ( item.canRemove ) {
str += ' (<a href="javascript:" class="joms-js--remove-tag" data-id="' + item.userId + '">' + tagRemoveLabel + '</a>)';
}
html.push( str );
}
html = html.join(', ');
html = tagLabel + '<br>' + html;
return html;
}
function toggleComments( e ) {
e.stopPropagation();
elem.children('.joms-popup').toggleClass('joms-popup--togglecomment');
}
function closeOverride() {
var $ct = elem.children('.joms-popup'),
className = 'joms-popup--togglecomment';
if ( $ct.hasClass( className ) ) {
$ct.removeClass( className );
return;
}
$.magnificPopup.proto.close.call( this );
}
function toggleDropdown( e ) {
var wrapper = $( e.target ).closest('.joms-popup__dropdown--wrapper'),
dropdown = wrapper.children('.joms-popup__dropdown');
dropdown.toggleClass('joms-popup__dropdown--open');
}
function hideDropdown( e ) {
var wrapper = $( e.target ).closest('.joms-popup__dropdown--wrapper'),
dropdown = wrapper.children('.joms-popup__dropdown');
dropdown.removeClass('joms-popup__dropdown--open');
}
function updateDropdownHtml( json ) {
var html = '',
like = '',
count, isPhotoOwner;
json || (json = {});
isPhotoOwner = json.is_photo_owner;
// Dropdown.
if ( enableSharing ) {
html += '<a href="javascript:" class="joms-popup__btn-share">' + lang.share + '</a>';
}
if ( enableDownload ) {
html += '<a href="javascript:" class="joms-popup__btn-download">' + lang.download + '</a>';
}
if ( isOwner || isAdmin || isPhotoOwner ) {
html += ( enableSharing || enableDownload ? '<div class="sep"></div>' : '' );
html += ( isOwner ? '<a href="javascript:" class="joms-popup__btn-upload">' + lang.upload_photos + '</a>' : '' );
html += ( isOwner ? '<div class="sep"></div>' : '' );
html += ( isOwner ? '<a href="javascript:" class="joms-popup__btn-profile">' + lang.set_as_profile_picture + '</a>' : '' );
html += ( isOwner || isAdmin ? '<a href="javascript:" class="joms-popup__btn-cover">' + lang.set_as_album_cover + '</a>' : '' );
html += ( canDelete ? '<a href="javascript:" class="joms-popup__btn-delete">' + lang.delete_photo + '</a>' : '' );
html += ( canMovePhoto || isPhotoOwner ? '<a href="javascript:" class="joms-popup__btn-move">' + lang.move_to_another_album + '</a>' : '' );
html += ( canRotate ? '<div class="sep joms-popup__btn-rotate-toggle"></div>' : '' );
html += ( canRotate ? '<a href="javascript:" class="joms-popup__btn-rotate-left joms-popup__btn-rotate-toggle">' + lang.rotate_left + '</a>' : '' );
html += ( canRotate ? '<a href="javascript:" class="joms-popup__btn-rotate-right joms-popup__btn-rotate-toggle">' + lang.rotate_right + '</a>' : '' );
} else {
html += ( canDelete ? '<a href="javascript:" class="joms-popup__btn-delete">' + lang.delete_photo + '</a>' : '' );
html += ( enableReporting ? '<a href="javascript:" class="joms-popup__btn-report">' + lang.report + '</a>' : '' );
}
html = '<div class="joms-popup__dropdown"><div class="joms-popup__ddcontent">' + html + '</div></div>';
// Like.
if ( enableLike && json && json.like && !enableReaction ) {
like += '<button class="joms-popup__btn-like joms-js--like-photo-' + id + ( json.like.is_liked ? ' liked' : '' ) + '"';
like += ' onclick="joms.api.page' + ( json.like.is_liked ? 'Unlike' : 'Like' ) + '(\'photo\', \'' + id + '\');"';
like += ' data-lang="' + ( json.like.lang || 'Like' ) + '"';
like += ' data-lang-like="' + ( json.like.lang_like || 'Like' ) + '"';
like += ' data-lang-liked="' + ( json.like.lang_liked || 'Liked' ) + '">';
like += iconThumbsUp + ' ';
like += '<span>';
like += ( json.like.is_liked ? json.like.lang_liked : json.like.lang_like );
count = +json.like.count;
if ( count > 0 ) {
like += ' (' + count + ')';
}
like += '</span></button>';
}
elem.find('.joms-popup__dropdown').replaceWith( html );
elem.find('.joms-popup__btn-like').replaceWith( like );
}
function toggleRotate( rotatable ) {
var $elems = elem.find('.joms-popup__btn-rotate-toggle');
if ( typeof rotatable === 'boolean' ) {
rotatable ? $elems.show() : $elems.hide();
}
}
function share() {
joms.api.pageShare( photoUrl.replace( '___photo_id___', id ) );
}
function download() {
window.open( list[index].original );
}
function report() {
joms.api.photoReport( userId, photoUrl.replace( '___photo_id___', id ) );
}
function upload() {
joms.api.photoUpload( album );
}
function setAsCover() {
joms.ajax({
func: 'photos,ajaxConfirmDefaultPhoto',
data: [ album, id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( window.confirm( stripTags( json.message ) ) ) {
setAsCoverConfirm();
}
}
});
}
function setAsCoverConfirm() {
joms.ajax({
func: 'photos,ajaxSetDefaultPhoto',
data: [ album, id ],
callback: function( json ) {
window.alert( stripTags( json.error || json.message ) );
}
});
}
function setAsProfilePicture() {
joms.ajax({
func: 'photos,ajaxLinkToProfile',
data: [ id ],
callback: function( json ) {
var form, prop;
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( window.confirm( stripTags( json.message ) ) ) {
json.formParams || (json.formParams = {});
form = $('<form method=post action="' + json.formUrl + '" style="width:1px; height:1px; position:absolute"/>');
for ( prop in json.formParams ) {
form.append('<input type=hidden name="' + prop + '" value="' + json.formParams[prop] + '"/>');
}
form.appendTo( document.body );
form[0].submit();
}
}
});
}
function _delete() {
joms.ajax({
func: 'photos,ajaxConfirmRemovePhoto',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( window.confirm( stripTags( json.message ) ) ) {
_deleteConfirm();
}
}
});
}
function _deleteConfirm() {
joms.ajax({
func: 'photos,ajaxRemovePhoto',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
elem.off();
popup.close();
window.location.reload();
}
});
}
function moveToAnotherAlbum() {
joms.api.photoSetAlbum( id );
}
function like() {
}
function dislike() {
}
function rotateLeft() {
rotate('left');
}
function rotateRight() {
rotate('right');
}
function rotate( direction ) {
var id = list[index] && list[index].id;
if ( !id ) return;
joms.ajax({
func: 'photos,ajaxRotatePhoto',
data: [ id, direction ],
callback: function( json ) {
joms._.extend(list[index], json || {});
img.attr( 'src', list[index].url );
}
});
}
function stripTags( html ) {
html = html.replace( /<\/?[^>]+>/g, '' );
return html;
}
function buildHtml( json ) {
var sliderHtml, commentHtml,
caption = '';
json || (json = {});
sliderHtml = json.error || '';
commentHtml = json.error ? '' : (json.commentHtml || '');
if ( !json.error ) {
list = json.list || [];
index = json.index || 0;
index = Math.min( list.length, index );
sliderHtml = '<img src="' + list[index].url + '" data-index="' + index + '"><div class="joms-spinner" style="display:none"></div>';
caption = albumName + ' <span class="joms-popup__optcapindex">' + ( index + 1 ) + ' ' + window.joms_lang.COM_COMMUNITY_OF + ' ' + list.length + '</span>';
}
var reaction = enableReaction ? ' joms-reaction--on' : '';
return [
'<div class="joms-popup joms-popup--photo'+ reaction +'">',
'<div class="joms-popup__commentwrapper">',
'<div class="joms-popup__content">',
(list && ( list.length > 1 ) ? '<button class="mfp-arrow mfp-arrow-left" type="button" title="' + lang.prev + '"></button>' : ''),
(list && ( list.length > 1 ) ? '<button class="mfp-arrow mfp-arrow-right" type="button" title="' + lang.next + '"></button>' : ''),
sliderHtml,
'<div class="joms-popup__option clearfix">',
'<div class="joms-popup__optcaption">', ( caption || 'Untitled' ), '</div>',
'<div class="joms-popup__optoption">',
'<button class="joms-popup__btn-viewalbum" onclick="window.location=\'', albumUrl, '\'">', iconNewspaper, ' <span class="joms-popup__btn-overlay">', lang.view_album, '</span></button>',
'<button class="joms-popup__btn-comments">', iconBubble, ' <span class="joms-popup__btn-overlay">', lang.comments, '</span></button>',
enableReaction ? '' : '<button class="joms-popup__btn-like"></button>',
( canTag ? '<button class="joms-popup__btn-tag-photo">' + iconTag + ' <span class="joms-popup__btn-overlay">' + lang.tag_photo + '</span></button>' : '' ),
'<div class="joms-popup__dropdown--wrapper"><div class="joms-popup__dropdown"></div><button class="joms-popup__btn-option">', iconCog, ' <span class="joms-popup__btn-overlay">', lang.options, '</span></button></div>',
'</div>',
'</div>',
'</div>',
'<div class="joms-popup__comment">', commentHtml, '</div>',
'<button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>',
'</div>',
'</div>'
].join('');
}
function buildErrorHtml( json ) {
json || (json = {});
json.title || (json.title = ' ');
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', json.error, '</div>',
'</div>'
].join('');
}
function fetchComments( id, showAllParams ) {
var comments = elem.find('.joms-popup__comment');
if ( !showAllParams ) {
comments.empty();
}
joms.ajax({
func: 'photos,ajaxSwitchPhotoTrigger',
data: [ id, showAllParams ? 1 : 0 ],
callback: function( json ) {
var $tags;
if ( !showAllParams ) {
if ( json.comments && json.showall ) {
json.showall = '<div class="joms-comment__more joms-js--more-comments"><a href="javascript:">' + json.showall + '</a></div>';
json.comments = $( $.trim( json.comments ) );
json.comments.prepend( json.showall );
}
}
if ( showAllParams ) {
comments.find('.joms-comment').replaceWith( json.comments );
} else {
comments.html( json.head || '' );
comments.append( json.comments );
comments.append( json.form || '' );
// Cache tag info.
tags = json.tagged || [];
tagLabel = json.tagLabel || '';
tagRemoveLabel = json.tagRemoveLabel || '';
// Update some flags if present
canEdit = typeof json.can_edit === 'undefined' ? canEdit : json.can_edit;
canDelete = typeof json.can_delete === 'undefined' ? canDelete : json.can_delete;
canTag = typeof json.can_tag === 'undefined' ? canTag : json.can_tag;
canMovePhoto = typeof json.can_move_photo === 'undefined' ? canMovePhoto : json.can_move_photo;
canRotate = typeof json.can_rotate === 'undefined' ? canRotate : json.can_rotate;
// Render description.
comments.find('.joms-js--description').html(
renderDescription( json.description || {} )
);
// Update rotate buttons.
toggleRotate( !!canRotate );
// Render tag info.
$tags = comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
comments
.find('.joms-js--comments,.joms-js--newcomment')
.find('textarea.joms-textarea');
joms.fn.tagging.initInputbox();
}
updateDropdownHtml( json );
initVideoPlayers();
joms.parseEmoji();
}
});
}
function initVideoPlayers() {
var cssInitialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $('.joms-comment__body,.joms-js--inbox').find( cssVideos ).not( cssInitialized );
if ( !videos.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
videos.on( 'click.joms-video', cssVideos + '-play', function() {
var $el = $( this ).closest( cssVideos );
joms.util.video.play( $el, $el.data() );
});
if ( joms.ios ) {
setTimeout(function() {
videos.find( cssVideos + '-play' ).click();
}, 2000 );
}
}
function renderDescription( json ) {
if ( typeof json !== 'object' ) {
json = {};
}
return [
'<div class="joms-js--btn-desc-content">', ( json.content || '' ), '</div>',
'<div class="joms-js--btn-desc-editor joms-popup__hide">',
'<textarea class="joms-textarea" style="margin:0" placeholder="', ( json.lang_placeholder || '' ), '">', br2nl( json.rawcontent || '' ), '</textarea>',
'<div style="margin-top:5px;text-align:right">',
'<button class="joms-button--neutral joms-button--small joms-js--btn-desc-cancel">', ( json.lang_cancel || 'Cancel' ), '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--btn-desc-save">', ( json.lang_save || 'Save' ), '</button>',
'</div>',
'</div>',
'<div class="joms-js--btn-desc-edit"', ( canEdit ? '' : ' style="display:none"' ), '><a href="javascript:"',
' data-lang-add="', ( json.lang_add || 'Add description' ), '"',
' data-lang-edit="', ( json.lang_edit || 'Edit description' ), '">',
( json.rawcontent ? json.lang_edit : json.lang_add ),
'</a>',
'</div>'
].join('');
}
function br2nl( text ) {
text = text || '';
text = text.replace( /<br\s*\/?>/g, '\n' );
return text;
}
function editDescription() {
elem.find('.joms-js--btn-desc-content').hide();
elem.find('.joms-js--btn-desc-edit').hide();
elem.find('.joms-js--btn-desc-editor').show();
}
function cancelDescription() {
elem.find('.joms-js--btn-desc-editor').hide();
elem.find('.joms-js--btn-desc-content').show();
elem.find('.joms-js--btn-desc-edit').show();
}
function saveDescription() {
var content = elem.find('.joms-js--btn-desc-content'),
editor = elem.find('.joms-js--btn-desc-editor'),
button = elem.find('.joms-js--btn-desc-edit'),
textarea = editor.find('textarea'),
value = $.trim( textarea.val() );
joms.ajax({
func: 'photos,ajaxSaveCaption',
data: [ id, value ],
callback: function( json ) {
var a = button.find('a');
if ( json.error ) {
window.alert( json.error );
return;
}
if ( json.success ) {
editor.hide();
content.html( json.caption ).show();
a.html( a.data( 'lang-' + ( value ? 'edit' : 'add' ) ) );
button.show();
}
}
});
}
function isEnableReaction() {
return !!joms.getData('joms_reaction');
}
// Exports.
return joms._.debounce(function( album, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, album, id );
});
}, 200 );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.remove = factory( root, $ );
define('popups/photo.remove',[ 'utils/popup' ], function() {
return joms.popup.photo.remove;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'photos,ajaxConfirmRemovePhoto',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'photos,ajaxRemovePhoto',
data: [ id ],
callback: function( json ) {
var $photo;
if ( json.error ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
} else {
$photo = $( '.joms-js--photo-' + id );
if ( $photo.length && $photo.siblings().length ) {
$photo.remove();
cancel();
} else {
window.location.reload();
}
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', json.message, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.report = factory( root );
define('popups/photo.report',[ 'utils/popup' ], function() {
return joms.popup.photo.report;
});
})( window, function() {
var popup, elem, id, url;
function render( _popup, _id, _url ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
url = _url;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'photos,reportPhoto', url || window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, url ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, url );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.setAvatar = factory( root, $ );
define('popups/photo.setavatar',[ 'utils/popup' ], function() {
return joms.popup.photo.setAvatar;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id, url, params;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'photos,ajaxLinkToProfile',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
url = json.formUrl || '';
params = json.formParams || {};
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var form = $('<form method=post action="' + url + '" style="width:1px; height:1px; position:absolute"/>'),
prop;
for ( prop in params ) {
form.append('<input type=hidden name="' + prop + '" value="' + params[prop] + '"/>');
}
form.appendTo( document.body );
form[0].submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.message, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.setCover = factory( root, $ );
define('popups/photo.setcover',[ 'utils/popup' ], function() {
return joms.popup.photo.setCover;
});
})( window, joms.jQuery, function() {
var popup, elem, album, id;
function render( _popup, _album, _id ) {
if ( elem ) elem.off();
popup = _popup;
album = _album;
id = _id;
joms.ajax({
func: 'photos,ajaxConfirmDefaultPhoto',
data: [ album, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'photos,ajaxSetDefaultPhoto',
data: [ album, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.message, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( album, id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, album, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.upload = factory( root, $ );
define('popups/photo.upload',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.photo.upload;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, uploader, uploaderButton, uploaderPreview, albumid, contextid, context, lang, files, newalbumid;
function render( _popup, _albumid, _contextid, _context ) {
var data;
if ( elem ) elem.off();
popup = _popup;
albumid = _albumid || false;
context = _context || false;
contextid = _contextid || false;
data = [];
data.push( albumid || '' );
data.push( contextid || '' );
data.push( context || '' );
joms.ajax({
func: 'photos,ajaxUploadPhoto',
data: data,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
lang = json.lang || {};
elem = popup.contentContainer;
uploaderPreview = elem.find('.joms-gallery');
files = [];
elem.on( 'click', '.joms-tab__bar a', changeTab );
elem.on( 'click', '.joms-js--form-toggle', toggleForm );
elem.on( 'click', '.joms-js--btn-create', createAlbum );
elem.on( 'click', '.joms-js--btn-add', upload );
elem.on( 'click', '.joms-js--btn-view', viewAlbum );
// Init uploader upon render.
uploadInit();
}
});
}
function changeTab( e ) {
var $btncreate = elem.find('.joms-js--btn-create'),
$btnadd = elem.find('.joms-js--btn-add'),
$el = $( e.target ),
href = $el.attr('href');
if ( newalbumid || href.match(/select-album/) ) {
$btncreate.hide();
$btnadd.show();
} else {
$btnadd.hide();
$btncreate.show();
}
}
function toggleForm( state ) {
var $btn = elem.find('.joms-js--form-toggle');
if ( state !== 'show' && state !== 'hide' ) {
state = $btn.data('hidden') ? 'show' : 'hide';
}
if ( state === 'show' ) {
$btn.removeData('hidden');
elem.find('.joms-js--thumbnails').hide();
elem.find('.joms-js--form-detail').css({ height: '' });
} else if ( state === 'hide' ) {
$btn.data('hidden', 'hidden');
elem.find('.joms-js--form-detail').css({ height: 0 });
elem.find('.joms-js--thumbnails').show();
}
}
function createAlbum() {
var album = $.trim( elem.find('[name=name]').val() ),
location = $.trim( elem.find('[name=location]').val() ),
description = $.trim( elem.find('[name=description]').val() ),
permission = elem.find('[name=permissions]').val(),
$albumerrormsg = elem.find('[name=name]').siblings('.joms-help').hide(),
$loading = elem.find('.joms-js--btn-create img');
if ( !album.length ) {
$albumerrormsg.show();
return;
}
if ( $loading.is(':visible') ) {
return;
}
$loading.show();
joms.ajax({
func: 'photos,ajaxCreateAlbum',
data: [ album, contextid || '', context || '', location || '', description || '', permission || '' ],
callback: joms._.debounce(function( json ) {
$loading.hide();
if ( json.error ) {
window.alert( json.error );
return;
}
if ( json.albumid ) {
albumid = newalbumid = json.albumid;
elem.find('.joms-js--btn-create').hide();
elem.find('.joms-js--btn-add').show();
// Disable input elements on new album tab.
elem.find('#joms-js__new-album').find('input.joms-input, textarea.joms-textarea, select.joms-select')
.attr('disabled', 'disabled');
toggleForm('hide');
}
}, 500 )
});
}
function upload() {
uploadInit(function() {
uploaderButton.click();
});
}
function uploadInit( callback ) {
if ( typeof callback !== 'function' ) {
callback = function() {};
}
if ( uploader ) {
callback();
return;
}
joms.util.loadLib( 'plupload', function () {
var container, button;
container = $('<div id="joms-js--photoupload-uploader" aria-hidden="true" style="width:1px; height:1px; overflow:hidden">').appendTo( document.body );
button = $('<button id="joms-js--photoupload-uploader-button">').appendTo( container );
uploader = new window.plupload.Uploader({
url: 'index.php?option=com_community&view=photos&task=multiUpload',
filters: [{ title: 'Image files', extensions: 'jpg,jpeg,png,gif' }],
container: 'joms-js--photoupload-uploader',
browse_button: 'joms-js--photoupload-uploader-button',
runtimes: 'html5,html4'
});
uploader.bind( 'FilesAdded', uploadAdded );
uploader.bind( 'Error', uploadError );
uploader.bind( 'UploadProgress', uploadProgress );
uploader.bind( 'FileUploaded', uploadUploaded );
uploader.bind( 'uploadComplete', uploadComplete );
uploader.init();
uploaderButton = container.find('input[type=file]');
callback();
});
}
function uploadAdded( up, files ) {
var html = '',
i;
for ( i = 0; i < files.length; i++ ) {
html += '<li class="joms-gallery__item joms-file--' + files[i].id + '">';
html += '<div class="joms-gallery__thumbnail"><img src="' + joms.ASSETS_URL + 'photo_thumb.png"></div>';
html += '<div class="joms-gallery__body">';
html += '<a class="joms-gallery__title">' + files[i].name + '</a> <span>(' + Math.round( files[i].size / 1024 ) + ' KB)</span>';
html += '<div class="joms-progressbar"><div class="joms-progressbar__progress" style="width:0%"></div></div>';
html += '</div>';
html += '</li>';
}
uploaderPreview.append( html );
elem.find('.joms-js--btn-add').css({ visibility: 'visible' });
elem.find('.joms-js--btn-view').hide();
setTimeout(function() {
uploadStartProxy();
}, 1000);
}
function uploadStartProxy() {
var $album = elem.find('[name=name]');
if ( !$album.is(':visible') ) {
albumid = elem.find('[name=album-id]').val();
} else if ( newalbumid ) {
albumid = newalbumid;
}
uploadStart();
}
function uploadStart() {
elem.find('.joms-js--btn-add').css({ visibility: 'hidden' });
elem.find('.joms-js--btn-view').hide();
uploader.settings.url = joms.BASE_URL + 'index.php?option=com_community&view=photos&task=multiUpload&albumid=' + albumid;
uploader.refresh();
uploader.start();
}
function uploadError() {
}
function uploadProgress( up, file ) {
var percent, bar;
percent = Math.min( 100, Math.floor( file.loaded / file.size * 100 ) );
bar = elem.find( '.joms-file--' + file.id );
bar = bar.find( '.joms-progressbar__progress' );
bar.stop().animate({ width: percent + '%' });
}
function uploadUploaded( up, file, resp ) {
var json = {},
item;
try {
json = JSON.parse( resp.response );
} catch (e) {}
if ( json.error ) {
uploader.stop();
if ( json.canContinue ) {
elem.find('.joms-js--btn-add').css({ visibility: 'visible' });
} else {
elem.find('.joms-js--btn-add').css({ visibility: 'hidden' });
}
item = elem.find( '.joms-file--' + file.id );
if ( item.prevAll().length ) {
elem.find('.joms-js--btn-view').show();
}
item.nextAll().addBack().remove();
window.alert( json.msg );
return;
}
if ( json.info ) {
files.push({ photoId: json.photoId });
item = elem.find( '.joms-file--' + file.id );
item = item.find('img');
item.attr( 'src', json.info );
elem.find('.joms-js--btn-add').html( elem.find('.joms-js--btn-add').data('lang-more') );
elem.find('.joms-js--btn-view').show();
// Disable tabs and input elements if images are successfully uploaded.
elem.off('click', '.joms-tab__bar a');
elem.find('.joms-tab__bar a').removeAttr('href');
elem.find('input.joms-input, textarea.joms-textarea, select.joms-select').attr('disabled', 'disabled');
}
}
function uploadComplete() {
elem.find('.joms-js--btn-add').css({ visibility: 'visible' });
elem.find('.joms-js--btn-view').show();
joms.ajax({
func: 'photos,ajaxUpdateCounter',
data: [ albumid, JSON.stringify({ files: files }) ],
callback: function() {}
});
}
function viewAlbum() {
joms.ajax({
func: 'photos,ajaxGetAlbumURL',
data: [ albumid || '', contextid || '', context || '' ],
callback: function( json ) {
if ( json.url ) {
window.location = json.url;
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--photoupload">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
json.html,
'</div>'
].join('');
}
// Exports.
return function( albumid, contextid, context ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, albumid, contextid, context );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.zoom = factory( root, $ );
define('popups/photo.zoom',[ 'utils/popup' ], function() {
return joms.popup.photo.zoom;
});
})( window, joms.jQuery, function( window, $ ) {
var $cnt, $win;
function render( popup, url ) {
var evtName = 'resize.joms-photozoom';
popup.items[0] = {
type: 'inline',
src: buildHtml( url )
};
$cnt = popup.container;
$win = $( window );
// #719 Wait for image to be loaded.
setTimeout(function() {
$cnt.find( '.joms-popup img' ).one( 'load', fixResize ).each(function() {
if ( this.complete ) $( this ).load();
});
}, 1 );
$win.off( evtName )
.on( evtName, fixResize );
popup.updateItemHTML();
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
$win.off( evtName );
};
}
function buildHtml( url ) {
url = url || '';
url = url.replace( 'thumb_', '' );
return [
'<div class="joms-popup-wrapper" style="width:100%;height:100%;margin:0 auto;text-align:center">',
'<div class="joms-popup" style="max-width:100%;left:auto;right:auto;position:relative;top:0;display:none;">',
'<img src="' + url + '" style="width:auto;max-width:100%; display:none;">',
'</div>',
'</div>'
].join('');
}
var fixResize = joms._.debounce(function() {
var $pop = $cnt.find( '.joms-popup' ).css({ position: '', display: '', top: '', width: '' });
var $img = $pop.find( 'img' ).css({ height: '' });
// Unwrap from temporary wrapper.
if ( $cnt.find( '.joms-popup-wrapper' ).length ) {
$cnt.find( '.joms-popup-wrapper .mfp-close' ).appendTo( $pop );
$pop.unwrap();
}
var $mfp = $pop.parents('.mfp-content'),
xHeight, ratio, height, width;
height = $img.get(0).height;
width = $img.get(0).width;
ratio = width / height;
xHeight = $mfp.width() / ratio;
if (xHeight > $mfp.height()) {
width = 'auto';
height = $mfp.height();
} else {
width = $mfp.width();
height = 'auto';
}
$img.css({
display: 'block',
height: height,
width: width
});
$pop.css({ position: 'relative', width: $img.width() });
}, 100 );
// Exports.
return function( url ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, url );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo || (joms.popup.photo = {});
joms.popup.photo.setAlbum = factory( root, $ );
define('popups/photo.setalbum',[ 'utils/popup' ], function() {
return joms.popup.photo.setAlbum;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
if ( Object.prototype.toString.call( id ) !== '[object Array]' ) {
id = [ id ];
}
joms.ajax({
func: 'photos,ajaxSetPhotoAlbum',
data: [ id.join(',') ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var albumid = elem.find('[name=albumid]').val();
joms.ajax({
func: 'photos,ajaxConfirmPhotoAlbum',
data: [ albumid, id.join(',') ],
callback: function( json ) {
var message = [],
$album, $photo, i;
if ( json.message ) {
message.push( json.message );
}
// Remove moved photos from album page.
if ( json.moved && json.moved.length ) {
for ( i = 0; i < json.moved.length; i++ ) {
$album = $( '.joms-js--album-' + json.moved[i].old_album );
if ( $album.length ) {
$photo = $album.find( '.joms-js--photo-' + json.moved[i].id );
$photo.remove();
}
}
}
// Map errors.
if ( Object.prototype.toString.call( json.error ) === '[object Array]' ) {
if ( json.error.length ) {
for ( i = 0; i < json.error.length; i++ ) {
json.error[i] = '<li>ID: ' + json.error[i][0] + ' - ' + json.error[i][1] + '</li>';
}
message.push( '<ul>' + json.error.join('') + '</ul>' );
}
} else if ( typeof json.error === 'string' ) {
message.push( json.error );
}
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( message.join('<br/>') );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', (json.html || ''), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.photo = factory( root, joms.popup.photo || {});
define('popups/photo',[
'popups/photo.open',
'popups/photo.remove',
'popups/photo.report',
'popups/photo.setavatar',
'popups/photo.setcover',
'popups/photo.upload',
'popups/photo.zoom',
'popups/photo.setalbum'
], function() {
return joms.popup.photo;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.pm || (joms.popup.pm = {});
joms.popup.pm.send = factory( root );
define('popups/pm.send',[ 'utils/popup' ], function() {
return joms.popup.pm.send;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'inbox,ajaxCompose',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.find('textarea.joms-textarea').jomsTagging();
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var body = elem.find('[name=body]').val(),
att = elem.find('.joms-textarea__attachment'),
photo, file, attachment = {};
body = body
.replace( /\t/g, '\\t' )
.replace( /\n/g, '\\n' )
.replace( /"/g, '"' );
if ( elem.data('saving') ) {
return;
}
elem.data( 'saving', 1 );
if ( att.is(':visible') ) {
photo = att.find('.joms-textarea__attachment--thumbnail img');
file = photo.siblings('b');
if ( photo.is(':visible') && photo.attr('src') ) {
attachment = {
type: 'image',
id: photo.data('photo_id')
};
} else if ( file.is(':visible') ) {
attachment = {
type: 'file',
id: file.data('id')
};
}
}
joms.ajax({
func: 'chat,ajaxPrivateMessageSend',
data: [ id, body, JSON.stringify(attachment) ],
callback: function( json ) {
var step1 = elem.find('[data-ui-object=popup-step-1]'),
step2 = elem.find('[data-ui-object=popup-step-2]');
elem.removeData('saving');
step2.find('[data-ui-object=popup-message]').html( json );
step1.hide();
step2.show();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
(json.html || ''),
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.pm = factory( root, joms.popup.pm || {});
define('popups/pm',[ 'popups/pm.send' ], function() {
return joms.popup.pm;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.search || (joms.popup.search = {});
joms.popup.search.save = factory( root, $ );
define('popups/search.save',[],function() {
return joms.popup.search.save;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, data;
function render( _popup, _data ) {
var json, keys, key, values, value, i;
if ( elem ) elem.off();
popup = _popup;
data = _data || {};
json = data.json || {};
keys = ( data.keys || '' ).split(',');
values = [];
for ( i = 0; i < keys.length; i++ ) {
key = keys[i];
if (( json['fieldType' + key] === 'date' ) || ( json['fieldType' + key] === 'birthdate' ) || ( json['condition' + key] === 'between' )) {
value = json['value' + key] + ',' + json['value' + key + '_2'];
} else {
value = json['value' + key];
}
values[i] = [
'field=' + json[ 'field' + key ] + ',' +
'condition=' + json[ 'condition' + key ] + ',' +
'fieldType=' + json[ 'fieldType' + key ] + ',' +
'value=' + value
];
}
joms.ajax({
func: 'memberlist,ajaxShowSaveForm',
data: [ data.operator, data.avatar_only ? 1 : 0 ].concat( values ),
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var $title = elem.find('[name=title]'),
$description = elem.find('[name=description]'),
error = false;
if ( !$.trim( $title.val() ) ) {
$title.siblings('.joms-help').show();
error = true;
} else {
$title.siblings('.joms-help').hide();
}
if ( !$.trim( $description.val() ) ) {
$description.siblings('.joms-help').show();
error = true;
} else {
$description.siblings('.joms-help').hide();
}
if ( error ) {
return;
}
elem.find('form').submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSave, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( data ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, data );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.search = factory( root, joms.popup.search || {});
define('popups/search',[ 'popups/search.save' ], function() {
return joms.popup.search;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.tnc = factory( root );
})( window, function() {
var popup;
function render( _popup ) {
popup = _popup;
joms.ajax({
func: 'register,ajaxShowTnc',
data: [ 0 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single" style="max-height:400px;overflow:auto;">', ( json.html || ' ' ), '</div>',
'</div>'
].join('');
}
// Exports.
return function() {
joms.util.popup.prepare(function( mfp ) {
render( mfp );
});
};
});
define("popups/tnc", function(){});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.changeVanityURL = factory( root, $ );
define('popups/user.changevanityurl',[ 'utils/popup' ], function() {
return joms.popup.user.changeVanityURL;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxUpdateURL',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
var action = '';
json || (json = {});
if ( json.btnUpdate && json.btnCancel ) {
action = [
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnUpdate, '</button>',
'</div>'
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', ( json.html || json.message ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.addFeatured = factory( root, $ );
define('popups/user.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.user.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'search,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.removeFeatured = factory( root, $ );
define('popups/user.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.user.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'search,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.ban = factory( root, $ );
define('popups/user.ban',[ 'utils/popup' ], function() {
return joms.popup.user.ban;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxBanUser',
data: [ id, 0 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
var action = '';
json || (json = {});
if ( !json.error ) {
action = [
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content', ( json.error ? ' joms-popup__content--single' : '' ), '">', ( json.html || json.error ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.unban = factory( root, $ );
define('popups/user.unban',[ 'utils/popup' ], function() {
return joms.popup.user.unban;
});
})( window, joms.jQuery, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxBanUser',
data: [ id, 1 ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
var action = '';
json || (json = {});
if ( !json.error ) {
action = [
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content', ( json.error ? ' joms-popup__content--single' : '' ), '">', ( json.html || json.error ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.block = factory( root, $ );
define('popups/user.block',[ 'utils/popup' ], function() {
return joms.popup.user.block;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxConfirmBlockUser',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxBlockUser',
data: [ id ],
callback: function( json ) {
if ( !json.success ) {
elem.find('.joms-popup__action').hide();
elem.find('.joms-popup__content').html( json.error );
return;
}
popup.close();
window.location.reload();
}
});
}
function buildHtml( json ) {
var action;
json || (json = {});
if ( json.error ) {
action = [
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-cancel">', json.btnClose, '</button>',
'</div>'
].join('');
} else {
action = [
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>'
].join('');
}
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', ( json.error || json.html || json.message ), '</div>',
action,
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.unblock = factory( root, $ );
define('popups/user.unblock',[ 'utils/popup' ], function() {
return joms.popup.user.unblock;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxConfirmUnBlockUser',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxUnblockUser',
data: [ id ],
callback: function( json ) {
if ( !json.success ) {
elem.find('.joms-popup__action').hide();
elem.find('.joms-popup__content').html( json.error );
return;
}
popup.close();
window.location.reload();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', ( json.html || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.ignore = factory( root, $ );
define('popups/user.ignore',[ 'utils/popup' ], function() {
return joms.popup.user.ignore;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxConfirmIgnoreUser',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxIgnoreUser',
data: [ id ],
callback: function( json ) {
if ( !json.success ) {
elem.find('.joms-popup__action').hide();
elem.find('.joms-popup__content').html( json.error );
return;
}
popup.close();
window.location.reload();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', ( json.html || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.report = factory( root );
define('popups/user.report',[ 'utils/popup' ], function() {
return joms.popup.user.report;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'profile,reportProfile', window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user || (joms.popup.user = {});
joms.popup.user.unignore = factory( root, $ );
define('popups/user.unignore',[ 'utils/popup' ], function() {
return joms.popup.user.unignore;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxConfirmUnIgnoreUser',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxUnIgnoreUser',
data: [ id ],
callback: function( json ) {
if ( !json.success ) {
elem.find('.joms-popup__action').hide();
elem.find('.joms-popup__content').html( json.error );
return;
}
popup.close();
window.location.reload();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content">', ( json.html || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnNo, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.user = factory( root, joms.popup.user || {});
define('popups/user',[
'popups/user.changevanityurl',
'popups/user.addfeatured',
'popups/user.removefeatured',
'popups/user.ban',
'popups/user.unban',
'popups/user.block',
'popups/user.unblock',
'popups/user.ignore',
'popups/user.report',
'popups/user.unignore'
], function() {
return joms.popup.user;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.util || (joms.util = {});
joms.util.videotag = factory( root, $ );
})( window, joms.jQuery, function( window, $, undef ) {
var wrapper, elem, img, friends, callback, tagAdded, noResult;
function create( e, tags, groupid, eventid ) {
var pos, top, left, width, height;
destroy();
wrapper = $( buildHtml() );
elem = wrapper.find('.joms-phototag');
img = e && e.currentTarget ? $( e.currentTarget ).closest('.joms-popup--video').find('iframe,video,.joms-js--video').eq(0) : $( e );
friends = undef;
callback = {};
width = img.width();
height = img.height();
pos = img.position();
top = pos.top;
left = pos.left;
tagAdded = tags || [];
elem.css({
top: 0,
left: 0
});
wrapper.css({
top: top,
left: left,
width: width,
height: height
});
wrapper.insertBefore( img );
pos = calcClickPosition( e );
elem.css({ top: pos.top, left: pos.left });
elem.on( 'keyup', 'input', filter );
elem.on( 'click', 'a[data-id]', select );
elem.on( 'click', 'button', destroy );
elem.on( 'click', function( e ) {
e.stopPropagation();
});
wrapper.on( 'click', moveBoxPosition );
if ( +groupid ) {
joms.fn.tagging.fetchGroupMembers( groupid, function( members ) {
friends = members;
filter();
});
} else if ( +eventid ) {
joms.fn.tagging.fetchEventMembers( eventid, function( members ) {
friends = members;
filter();
});
} else {
filter();
}
if ( joms.ios ) {
try {
window.scrollTo( window.scrollLeft, elem.find('input').offset().top - 100 );
} catch (e) {}
}
// Apparently Android (Chrome?) trigger "onresize" event when keypad being shown,
// which make phototag immediately closed. Add resize handler only on desktop browser.
if ( !joms.mobile ) {
$( window ).on( 'resize.phototag', destroy );
}
}
function filter( e ) {
var input, keyword, filtered, ac;
if ( !friends ) {
friends = window.joms_friends || [];
}
input = $( e ? e.currentTarget : elem.find('input') );
keyword = input.val().replace( /^\s+|\s+$/g, '' ).toLowerCase();
filtered = friends;
filtered = joms._.filter( friends, function( obj ) {
if ( !obj ) return false;
if ( !obj.name ) return false;
if ( tagAdded && tagAdded.indexOf( obj.id + '' ) >= 0 ) return false;
if ( keyword && obj.name.toLowerCase().indexOf( keyword ) < 0 ) return false;
return true;
});
filtered = filtered.slice(0, 8);
filtered = joms._.map( filtered, function( obj ) {
return '<a href="javascript:" data-id="' + obj.id + '">' + obj.name + '</a>';
});
if ( !filtered.length ) {
filtered = [ '<span><em>' + window.joms_lang.COM_COMMUNITY_NO_RESULT_FOUND + '</em></span>' ];
noResult = true;
} else {
noResult = false;
}
ac = elem.find('.joms-phototag__autocomplete');
ac.html( filtered.join('') );
ac.append(
'<div><button class="joms-button--neutral joms-button--small joms-button--full">' +
window.joms_lang.COM_COMMUNITY_PHOTO_DONE_TAGGING +
'</button></div>'
);
ac.show();
}
function select( e ) {
var ac = elem.find('.joms-phototag__autocomplete'),
el = $( e.currentTarget ),
id = el.data('id') || '',
pos;
e.stopPropagation();
ac.hide();
if ( callback && callback.tagAdded ) {
tagAdded || (tagAdded = []);
tagAdded.push( id + '' );
pos = calcBoxPosition();
callback.tagAdded(
id,
pos.left,
pos.top,
pos.width,
pos.height
);
filter();
}
}
function destroy() {
if ( elem ) {
elem.remove();
wrapper.remove();
$( window ).off('resize.phototag');
elem = undef;
img = undef;
if ( callback && callback.destroy ) {
callback.destroy();
}
callback = undef;
}
}
function on( eventType, fn ) {
callback[ eventType ] = fn;
}
function off( eventType ) {
if ( !eventType ) {
callback = {};
} else if ( callback[ eventType ] ) {
callback[ eventType ] = undef;
}
}
function calcClickPosition() {
var height = img.height(),
width = img.width(),
left, top;
// Respect wrapper boundaries.
top = Math.max( 0, height - 86 ) / 4.5;
left = Math.max( 0, width - 86 ) / 2;
return {
top: top,
left: left
};
}
function calcBoxPosition() {
var pos, ctWidth, ctHeight, boxWidth, boxHeight, boxLeft, boxTop;
ctWidth = wrapper.width();
ctHeight = wrapper.height();
pos = elem.position();
boxWidth = elem.width();
boxHeight = elem.height();
boxLeft = pos.left + boxWidth / 2;
boxTop = pos.top + boxHeight / 2;
// Percentage (relative to wrapper height).
boxWidth = boxWidth / ctHeight;
boxHeight = boxHeight / ctHeight;
// Percentage (relative to wrapper dimension).
boxLeft = boxLeft / ctWidth;
boxTop = boxTop / ctHeight;
return {
top : boxTop,
left : boxLeft,
width : boxWidth,
height : boxHeight
};
}
function moveBoxPosition( e ) {
var pos;
if ( noResult ) {
destroy();
return;
}
pos = calcClickPosition( e );
elem.css({
top: pos.top,
left: pos.left
});
}
function buildHtml() {
return [
'<div class=joms-phototag__wrapper>',
'<div class=joms-phototag>',
'<div class=joms-phototag__input>',
'<input type=text placeholder="', window.joms_lang.COM_COMMUNITY_SEARCH,'">',
'<div class="joms-phototag__autocomplete"></div>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return {
create: create,
destroy: destroy,
on: on,
off: off
};
});
define("utils/videotag", function(){});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.open = factory( root, $ );
define('popups/video.open',[ 'utils/popup', 'utils/videotag' ], function() {
return joms.popup.video.open;
});
})( window, joms.jQuery, function( window, $ ) {
var iconCog = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-cog"></use></svg>',
iconBubble = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-bubble"></use></svg>',
iconThumbsUp = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-thumbs-up"></use></svg>',
iconTag = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-tag"></use></svg>',
popup, elem, tagBtn, tags, tagLabel, tagRemoveLabel, id, lang,
canEdit, canDelete, videoUrl, userId, groupId, eventId, isRegistered, isOwner, isAdmin, enableProfileVideo, enableReporting, enableSharing, enableFeature;
var enableReaction = isEnableReaction();
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxShowVideoWindow',
data: [ id ],
callback: function( json ) {
json || (json = {});
lang = json.lang || {};
canEdit = json.can_edit || false;
canDelete = json.can_delete || false;
videoUrl = json.video_url;
// Priviliges.
isRegistered = userId = +json.my_id;
groupId = +json.groupid;
eventId = +json.eventid;
isOwner = isRegistered && ( +json.my_id === +json.owner_id );
isAdmin = +json.is_admin;
// Settings.
enableProfileVideo = +json.enableprofilevideo;
enableReporting = +json.enablereporting;
enableSharing = +json.enablesharing;
enableFeature = json.enablefeature;
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
// Override popup#close function.
popup.close = closeOverride;
initVideo();
elem = popup.contentContainer;
tagBtn = elem.find('.joms-popup__btn-tag-video');
elem.on( 'click', '.joms-popup__btn-tag-video', tagPrepare );
elem.on( 'click', '.joms-popup__btn-comments', toggleComments );
elem.on( 'click', '.joms-popup__btn-option', toggleDropdown );
elem.on( 'click', '.joms-popup__btn-share', share );
elem.on( 'click', '.joms-popup__btn-report', report );
elem.on( 'click', '.joms-popup__btn-fetch', _fetch );
elem.on( 'click', '.joms-popup__btn-profile', setAsProfileVideo );
elem.on( 'click', '.joms-popup__btn-feature', feature );
elem.on( 'click', '.joms-popup__btn-edit', _edit );
elem.on( 'click', '.joms-popup__btn-delete', _delete );
elem.on( 'mouseleave', '.joms-popup__dropdown--wrapper', hideDropdown );
elem.on( 'click', '.joms-js--remove-tag', tagRemove );
elem.on( 'click', '.joms-js--btn-desc-toggle', toggleDescription );
elem.on( 'click', '.joms-js--btn-desc-edit', editDescription );
elem.on( 'click', '.joms-js--btn-desc-cancel', cancelDescription );
elem.on( 'click', '.joms-js--btn-desc-save', saveDescription );
fetchComments( id );
}
});
}
function stripTags( html ) {
html = html.replace( /<\/?[^>]+>/g, '' );
return html;
}
function buildHtml( json ) {
var playerHtml;
json || (json = {});
playerHtml = json.error || json.playerHtml || '';
var reaction = enableReaction ? ' joms-reaction--on' : '';
return [
'<div class="joms-popup joms-popup--video'+ reaction +'">',
'<div class="joms-popup__commentwrapper">',
'<div class="joms-popup__content">',
'<div class="joms-popup__video">',
playerHtml,
'</div>',
'<div class="joms-popup__option clearfix">',
'<div class="joms-popup__optcaption">',
' <svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-eye"></use></svg> ',
json.hits,
'</div>',
'<div class="joms-popup__optoption">',
'<button class="joms-popup__btn-comments">', iconBubble, ' <span class="joms-popup__btn-overlay">', lang.comments, '</span></button>',
getLikeHtml( json.like ),
( canEdit ? '<button class="joms-popup__btn-tag-video">' + iconTag + ' <span class="joms-popup__btn-overlay">' + lang.tag_video + '</span></button>' : '' ),
'<div class="joms-popup__dropdown--wrapper">', updateDropdownHtml( json ), '<button class="joms-popup__btn-option">', iconCog, ' <span class="joms-popup__btn-overlay">', lang.options, '</span></button></div>',
'</div>',
'</div>',
'</div>',
'<div class="joms-popup__comment"></div>',
'<button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>',
'</div>',
'</div>'
].join('');
}
function getLikeHtml( json ) {
var html, count;
// Like info.
html = '';
if ( json && !enableReaction) {
html += '<button class="joms-popup__btn-like joms-js--like-videos-' + id + ( json.is_liked ? ' liked' : '' ) + '"';
html += ' onclick="joms.api.page' + ( json.is_liked ? 'Unlike' : 'Like' ) + '(\'videos\', \'' + id + '\');"';
html += ' data-lang="' + ( json.lang || 'Like' ) + '"';
html += ' data-lang-like="' + ( json.lang_like || 'Like' ) + '"';
html += ' data-lang-liked="' + ( json.lang_liked || 'Liked' ) + '">';
html += iconThumbsUp + ' ';
html += '<span>';
html += ( json.is_liked ? json.lang_liked : json.lang_like );
count = +json.count;
if ( count > 0 ) {
html += ' (' + count + ')';
}
html += '</span></button>';
}
return html;
}
function tagPrepare( e ) {
if ( tagBtn.data('tagging') ) {
tagBtn.removeData('tagging');
tagBtn.html( iconTag + ' <span class="joms-popup__btn-overlay">' + lang.tag_video + '</span>' );
tagCancel();
} else {
tagBtn.data( 'tagging', 1 );
tagBtn.html( iconTag + ' ' + lang.done_tagging );
tagStart( e );
}
}
function tagStart( e ) {
var indices = joms._.map( tags, function( item ) {
return item.userId + '';
});
joms.util.videotag.create( e, indices, groupId, eventId );
joms.util.videotag.on( 'tagAdded', tagAdded );
joms.util.videotag.on( 'destroy', function() {
tagBtn.removeData('tagging');
tagBtn.html( iconTag + ' <span class="joms-popup__btn-overlay">' + lang.tag_video + '</span>' );
});
}
function tagAdded( userId ) {
joms.ajax({
func: 'videos,ajaxAddVideoTag',
data: [ id, userId ],
callback: function( json ) {
var $comments, $tags;
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( json.success ) {
tags.push( json.data );
// Render tag info.
$comments = elem.find('.joms-popup__comment');
$tags = $comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
}
}
});
}
function tagCancel() {
joms.util.videotag.destroy();
}
function tagRemove( e ) {
var el = $( e.currentTarget ),
userId = el.data('id');
joms.ajax({
func: 'videos,ajaxRemoveVideoTag',
data: [ id, userId ],
callback: function( json ) {
var $comments, $tags, i;
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( json.success ) {
for ( i = 0; i < tags.length; i++ ) {
if ( +userId === +tags[i].userId ) {
tags.splice( i--, 1 );
}
}
// Render tag info.
$comments = elem.find('.joms-popup__comment');
$tags = $comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
}
}
});
}
function _tagBuildHtml() {
var html, item, str, i;
if ( !tags || !tags.length ) {
return '';
}
html = [];
for ( i = 0; i < tags.length; i++ ) {
item = tags[i];
str = '<a href="' + item.profileUrl + '">' + item.displayName + '</a>';
if ( item.canRemove ) {
str += ' (<a href="javascript:" class="joms-js--remove-tag" data-id="' + item.userId + '">' + tagRemoveLabel + '</a>)';
}
html.push( str );
}
html = html.join(', ');
html = tagLabel + '<br>' + html;
return html;
}
function toggleComments() {
elem.children('.joms-popup').toggleClass('joms-popup--togglecomment');
}
function closeOverride() {
var $ct = elem.children('.joms-popup'),
className = 'joms-popup--togglecomment';
if ( $ct.hasClass( className ) ) {
$ct.removeClass( className );
return;
}
$.magnificPopup.proto.close.call( this );
}
function toggleDropdown( e ) {
var wrapper = $( e.target ).closest('.joms-popup__dropdown--wrapper'),
dropdown = wrapper.children('.joms-popup__dropdown');
dropdown.toggleClass('joms-popup__dropdown--open');
}
function hideDropdown( e ) {
var wrapper = $( e.target ).closest('.joms-popup__dropdown--wrapper'),
dropdown = wrapper.children('.joms-popup__dropdown');
dropdown.removeClass('joms-popup__dropdown--open');
}
function updateDropdownHtml( json ) {
var html = '';
json || (json = {});
if ( enableSharing ) {
html += '<a href="javascript:" class="joms-popup__btn-share">' + lang.share + '</a>';
html += '<div class="sep"></div>';
}
if ( isOwner || isAdmin ) {
html += '<a href="javascript:" class="joms-popup__btn-fetch">' + lang.fetch + '</a>';
html += ( isOwner && enableProfileVideo ? '<a href="javascript:" class="joms-popup__btn-profile">' + lang.set_as_profile_video + '</a>' : '' );
if ( isAdmin && enableFeature ) {
if ( enableFeature === 'add' ) {
html += '<a href="javascript:" class="joms-popup__btn-feature" data-featured="0">' + lang.make_feature + '</a>';
} else if ( enableFeature === 'remove' ) {
html += '<a href="javascript:" class="joms-popup__btn-feature" data-featured="1">' + lang.remove_featured + '</a>';
}
}
html += '<div class="sep"></div>';
html += ( canEdit ? '<a href="javascript:" class="joms-popup__btn-edit">' + lang.edit_video + '</a>' : '' );
html += ( canDelete ? '<a href="javascript:" class="joms-popup__btn-delete">' + lang.delete_video + '</a>' : '' );
} else {
html += ( canEdit ? '<a href="javascript:" class="joms-popup__btn-edit">' + lang.edit_video + '</a>' : '' );
html += ( canDelete ? '<a href="javascript:" class="joms-popup__btn-delete">' + lang.delete_video + '</a>' : '' );
html += ( enableReporting ? '<a href="javascript:" class="joms-popup__btn-report">' + lang.report + '</a>' : '' );
}
html = '<div class="joms-popup__dropdown"><div class="joms-popup__ddcontent">' + html + '</div></div>';
return html;
}
function share() {
joms.api.pageShare( videoUrl );
}
function report() {
joms.api.videoReport( userId, videoUrl );
}
function _fetch() {
joms.api.videoFetchThumbnail( id );
}
function setAsProfileVideo() {
joms.ajax({
func: 'profile,ajaxConfirmLinkProfileVideo',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( window.confirm( stripTags( json.html ) ) ) {
setAsProfileVideoConfirm();
}
}
});
}
function setAsProfileVideoConfirm() {
joms.ajax({
func: 'profile,ajaxLinkProfileVideo',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
window.alert( stripTags( json.message ) );
setTimeout(function() {
window.location.reload();
}, 500 );
}
});
}
function feature( e ) {
var $btn = $( e.currentTarget ),
isFeatured = +$btn.data('featured');
if ( isFeatured ) {
joms.api.videoRemoveFeatured( id );
} else {
joms.api.videoAddFeatured( id );
}
}
function _edit() {
joms.api.videoEdit( id );
}
function _delete() {
joms.ajax({
func: 'videos,ajaxConfirmRemoveVideo',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
if ( window.confirm( stripTags( json.html ) ) ) {
_deleteConfirm();
}
}
});
}
function _deleteConfirm() {
joms.ajax({
func: 'videos,ajaxRemoveVideo',
data: [ id ],
callback: function( json ) {
if ( json.error ) {
window.alert( stripTags( json.error ) );
return;
}
window.alert( stripTags( json.message ) );
setTimeout(function() {
window.location.reload();
}, 500 );
}
});
}
function fetchComments( id, showAllParams ) {
var comments = elem.find('.joms-popup__comment');
if ( !showAllParams ) {
comments.empty();
}
joms.ajax({
func: 'videos,ajaxGetInfo',
data: [ id, showAllParams ? 1 : 0 ],
callback: function( json ) {
var $tags;
if ( !showAllParams ) {
if ( json.comments && json.showall ) {
json.showall = '<div class="joms-comment__more joms-js--more-comments"><a href="javascript:">' + json.showall + '</a></div>';
json.comments = $( json.comments );
json.comments.prepend( json.showall );
}
}
if ( showAllParams ) {
comments.find('.joms-comment').replaceWith( json.comments );
} else {
comments.html( json.head || '' );
comments.append( json.comments );
comments.append( json.form || '' );
// Render description.
comments.find('.joms-js--description').html(
renderDescription( json.description || {} )
);
// Cache tag info.
tags = json.tagged || [];
tagLabel = json.tagLabel || '';
tagRemoveLabel = json.tagRemoveLabel || '';
// Render tag info.
$tags = comments.find('.joms-js--tag-info');
$tags.html( _tagBuildHtml() );
comments.find('textarea.joms-textarea');
joms.fn.tagging.initInputbox();
}
initVideoPlayers();
joms.parseEmoji();
}
});
}
function initVideo() {
var cssVideo = '.joms-js--video',
video = $('.joms-popup__content').find( cssVideo );
if ( !video.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
video.on( 'click.joms-video', cssVideo + '-play', function() {
var $el = $( this ).closest( cssVideo );
joms.util.video.play( $el, $el.data() );
});
}
function initVideoPlayers() {
var initialized = '.joms-js--initialized',
cssVideos = '.joms-js--video',
videos = $('.joms-comment__body,.joms-js--inbox').find( cssVideos ).not( initialized ).addClass( initialized.substr(1) );
if ( !videos.length ) {
return;
}
joms.loadCSS( joms.ASSETS_URL + 'vendors/mediaelement/mediaelementplayer.min.css' );
videos.on( 'click.joms-video', cssVideos + '-play', function() {
var $el = $( this ).closest( cssVideos );
joms.util.video.play( $el, $el.data() );
});
if ( joms.ios ) {
setTimeout(function() {
videos.find( cssVideos + '-play' ).click();
}, 2000 );
}
}
function renderDescription( json ) {
var showExcerpt;
if ( typeof json !== 'object' ) {
json = {};
}
if ( json.content ) {
if ( json.excerpt !== json.rawcontent ) {
showExcerpt = true;
}
}
return [
'<div class="joms-js--btn-desc-content">',
'<span class="joms-js--btn-desc-excerpt"', ( showExcerpt ? '' : ' style="display:none"' ), '>', ( json.excerpt || '' ), '</span>',
'<span class="joms-js--btn-desc-fulltext"', ( showExcerpt ? ' style="display:none"' : '' ), '>', ( json.content || '' ), '</span>',
'<div><a href="javascript:" class="joms-js--btn-desc-toggle"', ( showExcerpt ? '' : ' style="display:none"' ), '>', window.joms_lang.COM_COMMUNITY_SHOW_MORE, '</a></div>',
'</div>',
'<div class="joms-js--btn-desc-editor joms-popup__hide">',
'<textarea class="joms-textarea" style="margin:0" placeholder="', ( json.lang_placeholder || '' ), '">', br2nl( json.content || '' ), '</textarea>',
'<div style="margin-top:5px;text-align:right">',
'<button class="joms-button--neutral joms-button--small joms-js--btn-desc-cancel">', ( json.lang_cancel || 'Cancel' ), '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--btn-desc-save">', ( json.lang_save || 'Save' ), '</button>',
'</div>',
'</div>',
'<div class="joms-js--btn-desc-edit"', ( canEdit ? '' : ' style="display:none"' ), '><a href="javascript:"',
' data-lang-add="', ( json.lang_add || 'Add description' ), '"',
' data-lang-edit="', ( json.lang_edit || 'Edit description' ), '">',
( json.content ? json.lang_edit : json.lang_add ),
'</a>',
'</div>'
].join('');
}
function br2nl( text ) {
text = text || '';
text = text.replace( /<br\s*\/?>/g, '\n' );
return text;
}
function toggleDescription() {
var $excerpt = elem.find('.joms-js--btn-desc-excerpt'),
$fulltext = elem.find('.joms-js--btn-desc-fulltext'),
$button = elem.find('.joms-js--btn-desc-toggle');
if ( $fulltext.is(':visible') ) {
$fulltext.hide();
$excerpt.show();
$button.html( window.joms_lang.COM_COMMUNITY_SHOW_MORE );
} else {
$excerpt.hide();
$fulltext.show();
$button.html( window.joms_lang.COM_COMMUNITY_SHOW_LESS );
}
}
function editDescription() {
elem.find('.joms-js--btn-desc-content').hide();
elem.find('.joms-js--btn-desc-edit').hide();
elem.find('.joms-js--btn-desc-editor').show();
}
function cancelDescription() {
elem.find('.joms-js--btn-desc-editor').hide();
elem.find('.joms-js--btn-desc-content').show();
elem.find('.joms-js--btn-desc-edit').show();
}
function saveDescription() {
var content = elem.find('.joms-js--btn-desc-content'),
editor = elem.find('.joms-js--btn-desc-editor'),
button = elem.find('.joms-js--btn-desc-edit'),
textarea = editor.find('textarea'),
value = $.trim( textarea.val() );
joms.ajax({
func: 'videos,ajaxSaveDescription',
data: [ id, value ],
callback: function( json ) {
var a = button.find('a'),
$cexcerpt, $cfulltext, $cbutton;
if ( json.error ) {
window.alert( json.error );
return;
}
if ( json.success ) {
$cexcerpt = content.find('.joms-js--btn-desc-excerpt');
$cfulltext = content.find('.joms-js--btn-desc-fulltext');
$cbutton = content.find('.joms-js--btn-desc-toggle');
// Update content.
if ( !json.caption || json.caption === json.excerpt ) {
$cexcerpt.hide();
$cbutton.hide();
$cfulltext.html( json.caption ).show();
} else {
$cexcerpt.html( json.excerpt ).show();
$cbutton.html( window.joms_lang.COM_COMMUNITY_SHOW_MORE ).show();
$cfulltext.html( json.caption ).hide();
}
editor.hide();
content.show();
a.html( a.data( 'lang-' + ( value ? 'edit' : 'add' ) ) );
button.show();
}
}
});
}
function isEnableReaction() {
return !!joms.getData('joms_reaction');
}
// Exports.
return joms._.debounce(function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
}, 200 );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.add = factory( root, $ );
define('popups/video.add',[ 'utils/loadlib', 'utils/popup' ], function() {
return joms.popup.video.add;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, uploader, uploaderButton, contextid, context;
function render( _popup, _contextid, _context ) {
var data;
if ( elem ) elem.off();
popup = _popup;
context = _context || false;
contextid = _contextid || false;
data = [];
if ( contextid ) {
data.push( context || '' );
data.push( contextid || '' );
}
joms.ajax({
func: 'videos,ajaxAddVideo',
data: data,
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'submit', '.joms-js--form-link', link );
elem.on( 'click', '.joms-js--select-file', upload );
elem.on( 'submit', '.joms-js--form-upload', uploadStart );
// Init uploader upon render.
uploadInit();
}
});
}
function link( e ) {
e.preventDefault();
var form = $( e.currentTarget ),
rTrim = /^\s+|\s+$/g,
url = form.find('[name=videoLinkUrl]'),
cat = form.find('[name=category_id]'),
urlVal = url.val().trim( rTrim, '' ),
catVal = +cat.val(),
btnSubmit = form.find('[type=submit]'),
langLinking = btnSubmit.data('lang-linking') || 'Linking***';
url.siblings('[data-elem=form-warning]')[ urlVal ? 'hide' : 'show' ]();
cat.parents('.joms-select--wrapper').siblings('[data-elem=form-warning]')[ catVal ? 'hide' : 'show' ]();
if ( urlVal && catVal ) {
form.removeAttr('onsubmit');
btnSubmit.val(langLinking);
btnSubmit.prop('disabled', true);
elem.off( 'submit', '.joms-js--form-link' );
setTimeout(function() {
form.submit();
}, 300 );
}
}
function upload() {
uploadInit(function() {
uploaderButton.click();
});
}
function uploadInit( callback ) {
if ( typeof callback !== 'function' ) {
callback = function() {};
}
if ( uploader ) {
callback();
return;
}
joms.util.loadLib( 'plupload', function () {
var container, button;
container = $('<div id="joms-js--videoupload-uploader" aria-hidden="true" style="width:1px; height:1px; overflow:hidden">').appendTo( document.body );
button = $('<button id="joms-js--videoupload-uploader-button">').appendTo( container );
uploader = new window.plupload.Uploader({
url: 'index.php?option=com_community&view=videos&task=uploadvideo',
filters: [{ title: 'Video files', extensions: '3g2,3gp,asf,asx,avi,flv,mov,mp4,mpg,rm,swf,vob,wmv,m4v' }],
container: 'joms-js--videoupload-uploader',
browse_button: 'joms-js--videoupload-uploader-button',
runtimes: 'html5,html4',
multi_selection: false
});
uploader.bind( 'FilesAdded', uploadAdded );
uploader.bind( 'BeforeUpload', uploadBeforeUpload );
uploader.bind( 'Error', uploadError );
uploader.bind( 'UploadProgress', uploadProgress );
uploader.bind( 'FileUploaded', uploadUploaded );
uploader.bind( 'uploadComplete', uploadComplete );
uploader.init();
uploaderButton = container.find('input[type=file]');
callback();
});
}
function uploadAdded( up, files ) {
if ( !(files && files.length) )
return;
var span = elem.find('.joms-js--select-file'),
file = files[0],
name = '<span>' + file.name + '</span>',
size = file.size || 0,
unit = 'Bytes';
for ( var units = [ 'KB', 'MB', 'GB' ]; size >= 1000 && units.length; ) {
unit = units.shift();
size = Math.ceil( size / 1000 );
}
if ( size )
name += ' <span>(' + size + ' ' + unit + ')</span>';
span.html( name );
}
function uploadStart( e ) {
e.preventDefault();
var form = $( e.currentTarget ),
rTrim = /^\s+|\s+$/g,
title = form.find('[name=title]'),
cat = form.find('[name=category_id]'),
titleVal = title.val().trim( rTrim, '' ),
catVal = +cat.val(),
bar;
title.siblings('[data-elem=form-warning]')[ titleVal ? 'hide' : 'show' ]();
cat.siblings('[data-elem=form-warning]')[ catVal ? 'hide' : 'show' ]();
if ( !titleVal || !catVal ) {
return false;
}
bar = form.find('.joms-progressbar__progress');
bar.css({ width: 0 });
uploader.refresh();
uploader.start();
}
function uploadBeforeUpload() {
var raw = elem.find('.joms-js--form-upload').serializeArray(),
params = {},
i;
for ( i = 0; i < raw.length; i++ ) {
params[ raw[i].name ] = raw[i].value;
}
// Attach parameters to uploader.
uploader.settings.multipart_params = params;
}
function uploadError( up, error ) {
var message = 'Undefined error.';
if ( error && error.code && error.message ) {
message = '(' + error.code + ') ' + error.message;
}
elem.find('.joms-js--select-file').html(' ');
uploader.splice();
uploader.refresh();
window.alert( message );
}
function uploadProgress( up, file ) {
var percent, form, bar;
percent = Math.min( 100, Math.floor( file.loaded / file.size * 100 ) );
form = elem.find('.joms-js--form-upload');
bar = form.find( '.joms-progressbar__progress' );
bar.stop().animate({ width: percent + '%' });
}
function uploadUploaded( up, file, resp ) {
var json = {};
try {
json = JSON.parse( resp.response );
} catch (e) {}
if ( json.status !== 'success' ){
window.alert( json.message || 'Undefined error.' );
return;
}
setTimeout(function() {
window.alert( json.processing_str );
popup.close();
}, 1000 );
}
function uploadComplete() {
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--videoupload">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
( json.html ? json.html : '<div class="joms-popup__content joms-popup__content--single">' + json.error + '</div>' ),
'</div>'
].join('');
}
// Exports.
return function( contextid, context ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, contextid, context );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.edit = factory( root );
define('popups/video.edit',[ 'utils/popup' ], function() {
return joms.popup.video.edit;
});
})( window, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxEditVideo',
data: [ id, window.location.href ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
elem.find('form').submit();
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--600">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSave, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.fetchThumbnail = factory( root, $ );
define('popups/video.fetchthumbnail',[ 'utils/popup' ], function() {
return joms.popup.video.fetchThumbnail;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxFetchThumbnail',
data: [ id, 'myvideos' ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">',
( json.message || json.error || '' ),
( json.thumbnail ? '<div style="padding-top:10px;"><img src="' + json.thumbnail + '" style="max-width:100%;"></div>' : '' ),
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.linkToProfile = factory( root, $ );
define('popups/video.linktoprofile',[ 'utils/popup' ], function() {
return joms.popup.video.linkToProfile;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'profile,ajaxConfirmLinkProfileVideo',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxLinkProfileVideo',
data: [ id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
if ( json.success ) {
setTimeout(function() {
window.location.reload();
}, 1000 );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.remove = factory( root );
define('popups/video.remove',[ 'utils/popup' ], function() {
return joms.popup.video.remove;
});
})( window, function( window ) {
var popup, elem, id;
function render( _popup, _id, redirect ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxConfirmRemoveVideo',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', { redirect: redirect ? 1 : 0 }, save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save( e ) {
joms.ajax({
func: 'videos,ajaxRemoveVideo',
data: [ id, e.data.redirect ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
if ( json.success ) {
setTimeout(function() {
if ( json.redirect ) {
window.location = json.redirect;
} else {
window.location.reload();
}
}, 1000 );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, redirect ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, redirect );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.report = factory( root );
define('popups/video.report',[ 'utils/popup' ], function() {
return joms.popup.video.report;
});
})( window, function() {
var popup, elem, id, url;
function render( _popup, _id, _url ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
url = _url;
joms.ajax({
func: 'system,ajaxReport',
data: [],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'change', 'select', changeText );
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function changeText( e ) {
elem.find('textarea').val( e.target.value );
}
function cancel() {
elem.off();
popup.close();
}
function save() {
var rTrim = /^\s+|\s+$/g,
message;
message = elem.find('textarea').val();
message = message.replace( rTrim, '' );
if ( !message ) {
elem.find('.joms-js--error').show();
return;
}
elem.find('.joms-js--error').hide();
joms.ajax({
func: 'system,ajaxSendReport',
data: [ 'videos,reportVideo', url || window.location.href, message, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock joms-popup--500">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1', ( json.error ? ' joms-popup__hide' : '' ), '">',
json.html,
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnCancel, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnSend, '</button>',
'</div>',
'</div>',
'<div class="joms-js--step2', ( json.error ? '' : ' joms-popup__hide' ), '">',
'<div class="joms-popup__content joms-popup__content--single">', ( json.error || '' ), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, url ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, url );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.addFeatured = factory( root, $ );
define('popups/video.addfeatured',[ 'utils/popup' ], function() {
return joms.popup.video.addFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxAddFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.removeFeatured = factory( root, $ );
define('popups/video.removefeatured',[ 'utils/popup' ], function() {
return joms.popup.video.removeFeatured;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'videos,ajaxRemoveFeatured',
data: [ id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
if ( json.success ) {
popup.st.callbacks || (popup.st.callbacks = {});
popup.st.callbacks.close = function() {
window.location.reload();
};
}
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-popup__content joms-popup__content--single">', ( json.html || json.error || '' ), '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-js--button-close">', window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON, '</button>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video || (joms.popup.video = {});
joms.popup.video.removeLinkFromProfile = factory( root, $ );
define('popups/video.removelinkfromprofile',[ 'utils/popup' ], function() {
return joms.popup.video.removeLinkFromProfile;
});
})( window, joms.jQuery, function( window ) {
var popup, elem, id, userid;
function render( _popup, _id, _userid ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
userid = _userid;
joms.ajax({
func: 'profile,ajaxRemoveConfirmLinkProfileVideo',
data: [ userid, id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '.joms-js--button-cancel', cancel );
elem.on( 'click', '.joms-js--button-save', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'profile,ajaxRemoveLinkProfileVideo',
data: [ userid, id ],
callback: function( json ) {
elem.find('.joms-js--step1').hide();
elem.find('.joms-js--step2').show().children().html( json.error || json.message );
if ( json.success ) {
setTimeout(function() {
window.location.reload();
}, 1000 );
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div class="joms-js--step1">',
'<div class="joms-popup__content">', json.html, '</div>',
'<div class="joms-popup__action">',
'<button class="joms-button--neutral joms-button--small joms-left joms-js--button-cancel">', json.btnNo, '</button> ',
'<button class="joms-button--primary joms-button--small joms-js--button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'<div class="joms-popup__hide joms-js--step2">',
'<div class="joms-popup__content joms-popup__content--single"></div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id, user ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id, user );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.video = factory( root, joms.popup.video || {});
define('popups/video',[
'popups/video.open',
'popups/video.add',
'popups/video.edit',
'popups/video.fetchthumbnail',
'popups/video.linktoprofile',
'popups/video.remove',
'popups/video.report',
'popups/video.addfeatured',
'popups/video.removefeatured',
'popups/video.removelinkfromprofile'
], function() {
return joms.popup.video;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.poll || (joms.popup.poll = {});
joms.popup.poll.removeoption = factory( root );
define('popups/poll.removeoption',[ 'utils/popup' ], function() {
return joms.popup.poll.removeoption;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'polls,ajaxConfirmDeletePollOption',
data: [ '', id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'polls,ajaxDeletePollOption',
data: [ '', id ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = joms.jQuery('.joms-poll-item-'+id);
item.fadeOut( 500, function() {
item.remove();
});
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.poll || (joms.popup.poll = {});
joms.popup.poll.delete = factory( root );
define('popups/poll.delete',[ 'utils/popup' ], function() {
return joms.popup.poll.delete;
});
})( window, function() {
var popup, elem, id;
function render( _popup, _id ) {
if ( elem ) elem.off();
popup = _popup;
id = _id;
joms.ajax({
func: 'polls,ajaxWarnPollDeletion',
data: [ '', id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
elem = popup.contentContainer;
elem.on( 'click', '[data-ui-object=popup-button-cancel]', cancel );
elem.on( 'click', '[data-ui-object=popup-button-save]', save );
}
});
}
function cancel() {
elem.off();
popup.close();
}
function save() {
joms.ajax({
func: 'polls,ajaxDeletePoll',
data: [ '', id ],
callback: function( json ) {
var item;
elem.off();
popup.close();
if ( json.success ) {
item = joms.jQuery('.joms-poll__item-'+id);
item.fadeOut( 500, function() {
item.remove();
});
}
}
});
}
function buildHtml( json ) {
json || (json = {});
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div>',
'<div class="joms-popup__content">', ( json.error || json.message ), '</div>',
'<div class="joms-popup__action">',
'<a href="javascript:" class="joms-button--neutral joms-button--small joms-left" data-ui-object="popup-button-cancel">', json.btnCancel, '</a> ',
'<button class="joms-button--primary joms-button--small" data-ui-object="popup-button-save">', json.btnYes, '</button>',
'</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, id );
});
};
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.poll || (joms.popup.poll = {});
joms.popup.poll.voted = factory( root, $ );
define('popups/poll.voted',[ 'utils/popup' ], function() {
return joms.popup.poll.voted;
});
})( window, joms.jQuery, function( window, $ ) {
var popup, elem, tabAll, tabSelected, btnSelect, btnLoad, id, keyword, start, limit, xhr;
function render( _popup, poll_id, option_id ) {
if ( elem ) elem.off();
popup = _popup;
joms.ajax({
func: 'polls,ajaxShowVotedUsers',
data: [ poll_id, option_id ],
callback: function( json ) {
popup.items[0] = {
type: 'inline',
src: buildHtml( json )
};
popup.updateItemHTML();
}
});
}
function buildHtml( json ) {
return [
'<div class="joms-popup joms-popup--whiteblock">',
'<div class="joms-popup__title"><button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>', json.title, '</div>',
'<div data-ui-object="popup-step-1"', ( json.error ? ' class="joms-popup__hide"' : '' ), '>',
'<div class="joms-popup__content">', json.html, '</div>',
'</div>',
'<div data-ui-object="popup-step-2"', ( json.error ? '' : ' class="joms-popup__hide"' ), '>',
'<div class="joms-popup__content joms-popup__content--single" data-ui-object="popup-message">', (json.error || ''), '</div>',
'</div>',
'</div>'
].join('');
}
// Exports.
return function( poll_id, option_id ) {
joms.util.popup.prepare(function( mfp ) {
render( mfp, poll_id, option_id );
});
};
});
(function( root, factory ) {
joms.popup || (joms.popup = {});
joms.popup.poll = factory( root, joms.popup.poll || {});
define('popups/poll',[ 'popups/poll.removeoption', 'popups/poll.delete', 'popups/poll.voted' ], function() {
return joms.popup.poll;
});
})( window, function( window, sub ) {
// Exports.
return joms._.extend({}, sub );
});
(function( root, $, factory ) {
joms.popup || (joms.popup = {});
joms.popup.reaction = factory( root, joms.popup.reaction || {}, $);
})( window, joms.jQuery, function( window, sub, $ ) {
var popup;
function render( _popup, element, uid, reactId ) {
popup = _popup;
$(popup.modal).find(".tingle-modal__close").remove();
reactId = reactId ? reactId : 0;
joms.ajax({
func: 'system,ajaxShowReactedUsers',
data: [element, uid, reactId],
context:this,
callback: function( json ) {
setTimeout( function() {
popup.setContent( buildHtml( json ) );
var $content = $(popup.getContent());
$content.find(".joms-popup__title").data('popup',popup);
$content.find(".mfp-close").on('click',$content,function(){popup.close();})
var $react = $content.find('li.joms-reacted__item');
$react.on('click', getUsersByReaction);
}, 100);
}
})
}
function getUsersByReaction(event) {
var $elm = $(event.currentTarget);
var element = $elm.attr('data-element');
var reactId = $elm.attr('data-reactid');
var uid = $elm.attr('data-uid');
var $modalContent = $(popup.getContent());
var $loading = $modalContent.find('.joms-js--loading');
var $content = $modalContent.find('.joms-reacted__content');
var $items = $modalContent.find('li.joms-reacted__item');
if (!$elm.hasClass('active')) {
$items.removeClass('active');
$elm.addClass('active');
$content.hide();
$loading.show();
joms.ajax({
func: 'system,ajaxGetUsersByReaction',
data: [element, uid, reactId],
callback: function( json ) {
$content.html(json.html);
$content.show();
$loading.hide();
}
})
}
}
function buildHtml( json ) {
return [
'<div class="joms-popup--whiteblock">',
'<div class="joms-popup__title">',
'<button class="mfp-close" type="button" title="',window.joms_lang.COM_COMMUNITY_CLOSE_BUTTON_TITLE,'">×</button>',
json.title,
'</div>',
'<div class="joms-popup__content joms-popup__reacted">', json.html, '</div>',
'</div>'
].join('');
}
// Exports.
return function( element, uid, reactId ) {
joms.util.dialog.prepare(function( mfp ) {
render( mfp, element, uid, reactId );
});
}
});
define("popups/reaction", function(){});
(function( root, $, factory ) {
joms.dialog || (joms.dialog = {});
joms.dialog.reacted = factory( root, $);
define('dialog/reacted',[ 'dialog/reacted' ], function() {
return joms.dialog.reacted;
});
})( window, joms.jQuery, function( window, $ ) {
var modal;
function render( _modal, element, uid, reactId ) {
modal = _modal;
reactId = reactId ? reactId : 0;
joms.ajax({
func: 'system,ajaxShowReactedUsers',
data: [element, uid, reactId],
callback: function( json ) {
setTimeout( function() {
modal.setContent( json.html );
var $content = $(modal.getContent());
var $react = $content.find('li.joms-reacted__item');
$react.on('click', getUsersByReaction);
}, 5000);
}
})
}
function getUsersByReaction(e) {
var $elm = $(e.currentTarget);
var element = $elm.attr('data-element');
var reactId = $elm.attr('data-reactid');
var uid = $elm.attr('data-uid');
var $modalContent = $(modal.getContent());
var $loading = $modalContent.find('.joms-js--loading');
var $content = $modalContent.find('.joms-reacted__content');
var $items = $modalContent.find('li.joms-reacted__item');
if (!$elm.hasClass('active')) {
$items.removeClass('active');
$elm.addClass('active');
$content.hide();
$loading.show();
joms.ajax({
func: 'system,ajaxGetUsersByReaction',
data: [element, uid, reactId],
callback: function( json ) {
$content.html(json.html);
$content.show();
$loading.hide();
}
})
}
}
return function( element, uid, reactId ) {
joms.util.dialog.prepare( function( modal ) {
render( modal, element, uid, reactId );
})
}
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.cover = factory( root, $ );
define('views/cover',[],function() {
return joms.view.cover;
});
})( window, joms.jQuery, function( window, $ ) {
var type, id, cover, img, hammertime, repositioning;
function reposition( _type, _id ) {
var top, maxHeight;
type = _type;
id = _id;
cover = $('.joms-focus__cover');
img = cover.children('.joms-js--cover-image').children('img');
if ( !img ) return;
cover.css('cursor', 'move');
cover.children('.joms-focus__header').hide();
cover.children('.joms-focus__actions--reposition')
.on( 'click', 'input', repositionAction )
.show();
img.data( 'top', img.position().top );
// set reposition flag
repositioning = true;
hammertime = new joms.Hammer( img[0] );
hammertime.on( 'dragstart dragup dragdown dragend', function( e ) {
var newTop;
if ( e.type === 'dragstart' ) {
top = img.position().top;
maxHeight = cover.height() - img.height();
} else if ( e.type !== 'dragend' ) {
newTop = Math.min( 0, top + e.gesture.deltaY );
newTop = Math.max( maxHeight, newTop );
img.css({ top: newTop });
}
});
}
function repositionAction( e ) {
var elem;
elem = $( e.target );
cover.children('.joms-focus__actions--reposition').off( 'click', 'input' );
elem.data('ui-object') === 'button-save' ? repositionSave() : repositionCancel();
}
function repositionSave() {
var top;
top = pixelToPercent( img.position().top, cover.height() );
repositionReset();
joms.ajax({
func: 'photos,ajaxSetPhotoPhosition',
data: [ type, id, top ]
});
}
function repositionCancel() {
img.css({ top: img.data('top') });
repositionReset();
}
function repositionReset() {
cover.css('cursor', '');
cover.children('.joms-focus__actions--reposition').hide();
cover.children('.joms-focus__header').show();
cover = null;
img = null;
hammertime = null;
repositioning = null;
}
function pixelToPercent( imgTop, coverHeight ) {
var percent;
percent = imgTop * 100 / coverHeight;
percent = Math.round( percent * 10000 ) / 10000;
return percent + '%';
}
function click( albumId, photoId ) {
if ( !repositioning ) {
joms.api.photoOpen( albumId, photoId );
}
}
// Exports.
return {
reposition: reposition,
click: click
};
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.page = factory( root, $ );
define('views/page',[ 'utils/hovercard', 'popups/page' ], function() {
return joms.view.page;
});
})( window, joms.jQuery, function( window, $ ) {
function initialize() {
// joms.util.hovercard.initialize();
}
function like( type, id ) {
if (type === 'profile') {
$('a.joms-js--like-profile-' + id).attr('onclick', 'javascript:;')
}
joms.ajax({
func: 'system,ajaxLike',
data: [ type, id ],
callback: function( json ) {
if ( json.success ) {
update( 'like', type, id, json.likeCount );
location.reload();
}
}
});
}
function unlike( type, id ) {
if (type === 'profile') {
$('a.joms-js--like-profile-' + id).attr('onclick', 'javascript:;')
}
joms.ajax({
func: 'system,ajaxUnlike',
data: [ type, id ],
callback: function( json ) {
if ( json.success ) {
update( 'unlike', type, id, json.likeCount );
location.reload();
}
}
});
}
function share( url ) {
joms.popup.page.share( url );
}
function update( action, type, id, count ) {
var elem;
elem = $( '.joms-js--like-' + type + '-' + id );
elem.each(function() {
var tagName = this.tagName.toLowerCase(),
elem = $( this );
if ( tagName === 'a' ) {
if ( elem.hasClass('joms-popup__btn-like') ) {
updatePopupButton( elem, action, type, id, count );
} else {
updateFocusButton( elem, action, type, id, count );
}
} else if ( tagName === 'button' ) {
if ( elem.hasClass('joms-popup__btn-like') ) {
updatePopupButton( elem, action, type, id, count );
} else {
updateButton( elem, action, type, id, count );
}
}
});
}
function updatePopupButton( elem, action, type, id, count ) {
var icon = '<svg viewBox="0 0 16 16" class="joms-icon"><use xlink:href="#joms-icon-thumbs-up"></use></svg>',
lang;
if ( action === 'like' ) {
elem.attr( 'onclick', 'joms.view.page.unlike("' + type + '", "' + id + '");' );
elem.addClass('liked');
lang = elem.data('lang-liked');
} else if ( action === 'unlike' ) {
elem.attr( 'onclick', 'joms.view.page.like("' + type + '", "' + id + '");' );
elem.removeClass('liked');
lang = elem.data('lang-like');
}
lang = lang || elem.data('lang');
count = +count;
if ( count > 0 ) {
lang += ' (' + count + ')';
}
elem.html( icon + ' <span>' + lang + '</span>' );
}
function updateFocusButton( elem, action, type, id, count ) {
var lang;
elem.find('span').html( count );
if ( action === 'like' ) {
elem.attr( 'onclick', 'joms.view.page.unlike("' + type + '", "' + id + '");' );
elem.addClass('liked');
if ( lang = elem.data('lang-liked') ) {
elem.find('.joms-js--lang').text( lang );
}
} else if ( action === 'unlike' ) {
elem.attr( 'onclick', 'joms.view.page.like("' + type + '", "' + id + '");' );
elem.removeClass('liked');
if ( lang = elem.data('lang-like') ) {
elem.find('.joms-js--lang').text( lang );
}
}
}
function updateButton( elem, action, type, id, count ) {
var lang;
if ( action === 'like' ) {
elem.attr( 'onclick', 'joms.view.page.unlike("' + type + '", "' + id + '");' );
elem.removeClass('joms-button--neutral');
elem.addClass('joms-button--primary');
lang = elem.data('lang-liked');
} else if ( action === 'unlike' ) {
elem.attr( 'onclick', 'joms.view.page.like("' + type + '", "' + id + '");' );
elem.addClass('joms-button--neutral');
elem.removeClass('joms-button--primary');
lang = elem.data('lang-like');
}
lang = lang || elem.data('lang') || '';
count = +count;
if ( count > 0 ) {
lang += ' (' + count + ')';
}
elem.html( lang );
}
function react( uid, reactId, type ) {
var current = getReaction( reactId),
text = current.text,
name = current.name,
reactClass = 'reaction-btn--' + name,
$btn = $('.joms-button--reaction[data-uid='+uid+'][data-type=page]'),
element = $btn.attr('data-element'),
streamBtn;
// sync status between photo popup and stream item
if (element === 'photo') {
$streamBtn = $('.joms-button--reaction[data-element=photo'+ uid +']');
if ($streamBtn.length) {
$btn = $btn.add( $streamBtn );
}
}
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
if (type === 'onBar') {
$btn.addClass('reaction-btn--animate');
setTimeout(function() {
$btn.removeClass('reaction-btn--animate');
}, 200);
}
$btn.addClass( reactClass );
$btn.text( text );
$btn.attr('data-reactid', reactId);
$btn.attr('data-action', 'unreact');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxLike',
data: [ element, uid, reactId ],
callback: function( json ) {
var $status = $btn.parents('.joms-stream__actions').siblings('.joms-stream__status');
$status.show();
$status.html(json.html);
var onclick = 'joms.view.page.unreact('+uid+', '+reactId+')';
$btn.attr('onclick', onclick);
}
});
}
function unreact( uid, reactId ) {
var $btn = $('.joms-stream__actions .joms-button--reaction[data-uid='+uid+'][data-type=page]'),
element = $btn.attr('data-element'),
text = $btn.attr('data-lang-like'),
streamBtn;
// sync status between photo popup and stream item
if (element === 'photo') {
$streamBtn = $('.joms-button--reaction[data-element=photo'+ uid +']');
if ($streamBtn.length) {
$btn = $btn.add( $streamBtn );
}
}
var classes = [
'reaction-btn--like',
'reaction-btn--love',
'reaction-btn--haha',
'reaction-btn--wow',
'reaction-btn--sad',
'reaction-btn--angry'
];
$btn.removeClass(classes.join(' '));
$btn.text( text );
$btn.attr('data-reactid', 1);
$btn.attr('data-action', 'react');
$btn.attr('onclick', 'javascript:;');
joms.ajax({
func: 'system,ajaxUnlike',
data: [ element, uid, reactId ],
callback: function( json ) {
var $status = $btn.parents('.joms-stream__actions').siblings('.joms-stream__status');
if (!json.html) {
$status.hide();
}
$status.html(json.html);
var onclick = 'joms.view.page.react('+uid+', 1)';
$btn.attr('onclick', onclick);
}
});
}
function getReaction( reactId ) {
var data = joms.getData('joms_reaction');
var react = data.filter(function(item) {
return item.id == reactId;
}).pop();
return react;
}
// Exports.
return {
initialize: initialize,
like: like,
unlike: unlike,
share: share,
react: react,
unreact: unreact
};
});
(function( root, $, factory ) {
joms.view || (joms.view = {});
joms.view.poll = factory( root, $ );
})( window, joms.jQuery, function( window, $ ) {
var html;
html = $('#joms-template-poll-option__input').html();
function addOption(elm) {
$(html).insertBefore(elm);
$('.poll-input').last().focus();
}
function removeOption(elm) {
var $option = $(elm).parents('.joms-poll-option'),
$hiddenInput = $option.find('[name="pollItemId[]"]');
if ($hiddenInput.length) {
var itemid = $hiddenInput.val();
joms.popup.poll.removeoption( itemid );
} else {
$option.remove();
}
}
function deletePoll ( id ) {
joms.popup.poll.delete( id );
}
function vote( poll_id, option_id ) {
var $onStream = $('.joms-poll__container-'+poll_id),
$onModule = $( '.joms-poll__module-container-'+poll_id ),
$container = $onStream.add( $onModule ),
$loader = $container.find('.joms-poll__loader'),
type = [];
if ($onStream.length) {
type.push( 'stream' )
}
if ($onModule.length) {
type.push( 'module' )
}
ajaxPollVote(poll_id, option_id, type.join('.'));
if ($container.find('.input--radio').length) {
clearOtherVote( $container, option_id);
}
}
function clearOtherVote( $container, option_id ) {
var $inputs = $container.find('.joms-poll_input').not('.joms-poll_input-'+option_id);
$inputs.each(function(index, el) {
$(el).is(':checked') && $(el).prop('checked', false);
});
}
function ajaxPollVote( poll_id, option_id, type ) {
var $onStream = $('.joms-poll__container-'+poll_id),
$onModule = $( '.joms-poll__module-container-'+poll_id ),
$container = $onStream.add( $onModule ),
$loader = $container.find('.joms-poll__loader'),
$list = $('.joms-poll__option-list-' + poll_id),
collapse = $list.attr('data-collapse');
$loader.fadeIn(300);
joms.ajax({
func: 'polls,ajaxPollVote',
data: [ poll_id, option_id, collapse, type ],
callback: function( json ) {
$loader.fadeOut(300);
if (json.success) {
json.html.stream && $onStream.html( json.html.stream );
json.html.module && $onModule.html( json.html.module );
} else {
alert('ajax vote error! Please contact your admin.');
}
}
});
}
function showVotedUsers( poll_id, option_id ) {
joms.popup.poll.voted( poll_id, option_id );
}
function moreOptions( poll_id ) {
var $list = $('.joms-poll__option-list-' + poll_id),
$moreBtn = $('.joms-poll__more-' + poll_id);
$list.attr('data-collapse', 1);
$list.find('li').show();
$moreBtn.hide();
}
return {
addOption: addOption,
removeOption: removeOption,
delete: deletePoll,
vote: vote,
showVotedUsers: showVotedUsers,
moreOptions: moreOptions
}
});
define("views/poll", function(){});
(function( root, factory ) {
joms.api = factory( root );
define('api',[
'functions/announcement',
'functions/facebook',
'functions/invitation',
'utils/field',
'popups/info',
'popups/login',
'popups/album',
'popups/announcement',
'popups/app',
'popups/avatar',
'popups/comment',
'popups/cover',
'popups/discussion',
'popups/event',
'popups/fbc',
'popups/file',
'popups/friend',
'popups/follower',
'popups/page',
'popups/group',
'popups/inbox',
'popups/location',
'popups/notification',
'popups/photo',
'popups/pm',
'popups/search',
'popups/tnc',
'popups/user',
'popups/video',
'popups/poll',
'popups/reaction',
'dialog/reacted',
'views/cover',
'views/page',
'views/stream',
'views/poll'
], function() {
return joms.api;
});
})( window, function() {
// Exports.
return {
/** Login form. */
login: function( json ) {
joms.popup.login( json );
},
/** User. */
userChangeVanityURL: function( id ) {
joms.popup.user.changeVanityURL( id );
},
userAddFeatured: function( id ) {
joms.popup.user.addFeatured( id );
},
userRemoveFeatured: function( id ) {
joms.popup.user.removeFeatured( id );
},
userBan: function( id ) {
joms.popup.user.ban( id );
},
userUnban: function( id ) {
joms.popup.user.unban( id );
},
userBlock: function( id ) {
joms.popup.user.block( id );
},
userUnblock: function( id ) {
joms.popup.user.unblock( id );
},
userIgnore: function( id ) {
joms.popup.user.ignore( id );
},
userUnignore: function( id ) {
joms.popup.user.unignore( id );
},
userReport: function( id ) {
joms.popup.user.report( id );
},
/** Avatar (profile picture). */
avatarChange: function( type, id, e ) {
joms.popup.avatar.change( type, id );
if ( e ) {
e.stopPropagation();
e.preventDefault();
}
},
avatarRemove: function( type, id ) {
joms.popup.avatar.remove( type, id );
},
avatarRotate: function( type, id, direction, callback ) {
joms.popup.avatar.rotate( type, id, direction, callback );
},
/** Profile cover. */
coverChange: function( type, id ) {
joms.popup.cover.change( type, id );
},
coverRemove: function( type, id ) {
joms.popup.cover.remove( type, id );
},
coverReposition: function( type, id ) {
joms.view.cover.reposition( type, id );
},
coverClick: function( albumId, photoId ) {
joms.view.cover.click( albumId, photoId );
},
/** Events. */
eventInvite: function( id, type ) {
joms.popup.event.invite( id, type );
},
eventJoin: function( id ) {
joms.popup.event.join( id );
},
eventLeave: function( id ) {
joms.popup.event.leave( id );
},
eventResponse: function() {
joms.popup.event.response.apply( this, arguments );
},
eventAddFeatured: function( id ) {
joms.popup.event.addFeatured( id );
},
eventRemoveFeatured: function( id ) {
joms.popup.event.removeFeatured( id );
},
eventReport: function( id ) {
joms.popup.event.report( id );
},
eventDelete: function( id ) {
joms.popup.event[ 'delete' ]( id );
},
eventRejectGuest: function( id, userId ) {
joms.popup.event.rejectGuest( id, userId );
},
eventBanMember: function( id, userId ) {
joms.popup.event.banMember( id, userId );
},
eventUnbanMember: function( id, userId ) {
joms.popup.event.unbanMember( id, userId );
},
eventUnpublish: function( id ) {
joms.popup.event.unpublish( id );
},
/** Friends. */
friendAdd: function( id ) {
joms.popup.friend.add( id );
},
friendAddCancel: function( id ) {
joms.popup.friend.addCancel( id );
},
friendRemove: function( id ) {
joms.popup.friend.remove( id );
},
friendResponse: function( id ) {
joms.popup.friend.response( id );
},
friendApprove: function( id ) {
joms.popup.friend.approve( id );
},
friendReject: function( id ) {
joms.popup.friend.reject( id );
},
/** Followers. */
followAdd: function( id ) {
joms.popup.follower.add( id );
},
followRemove: function( id ) {
joms.popup.follower.remove( id );
},
/** Groups. */
groupInvite: function( id ) {
joms.popup.group.invite( id, 1, 1 );
},
groupJoin: function( id ) {
joms.popup.group.join( id );
},
groupLeave: function( id ) {
joms.popup.group.leave( id );
},
groupAddFeatured: function( id ) {
joms.popup.group.addFeatured( id );
},
groupRemoveFeatured: function( id ) {
joms.popup.group.removeFeatured( id );
},
groupReport: function( id ) {
joms.popup.group.report( id );
},
groupUnpublish: function( id ) {
joms.popup.group.unpublish( id );
},
groupDelete: function( id ) {
joms.popup.group[ 'delete' ]( id );
},
groupApprove: function( id, userId ) {
joms.popup.group.approve( id, userId );
},
groupRemoveMember: function( id, userId ) {
joms.popup.group.removeMember( id, userId );
},
groupBanMember: function( id, userId ) {
joms.popup.group.banMember( id, userId );
},
groupUnbanMember: function( id, userId ) {
joms.popup.group.unbanMember( id, userId );
},
/** Notifications. */
notificationGeneral: function() {
joms.view.toolbar.notificationGeneral();
},
notificationFriend: function() {
joms.view.toolbar.notificationFriend();
},
notificationPm: function() {
joms.view.toolbar.notificationPm();
},
/** Photos. */
photoUpload: function( albumId, contextId, context ) {
joms.popup.photo.upload( albumId, contextId, context );
},
photoOpen: function( albumId, id ) {
joms.popup.photo.open( albumId, id );
},
photoRemove: function( id ) {
joms.popup.photo.remove( id );
},
photoZoom: function( url ) {
joms.popup.photo.zoom( url );
},
photoSetAvatar: function( id ) {
joms.popup.photo.setAvatar( id );
},
photoSetCover: function( albumId, id ) {
joms.popup.photo.setCover( albumId, id );
},
photoSetAlbum: function( id ) {
joms.popup.photo.setAlbum( id );
},
photoReport: function( id, url ) {
joms.popup.photo.report( id, url );
},
/** Photo albums. */
albumRemove: function( id ) {
joms.popup.album.remove( id );
},
albumAddFeatured: function( id ) {
joms.popup.album.addFeatured( id );
},
albumRemoveFeatured: function( id ) {
joms.popup.album.removeFeatured( id );
},
/** Private messages. */
pmSend: function( id ) {
joms.popup.pm.send( id );
},
/** Videos. */
videoAdd: function( contextId, context ) {
joms.popup.video.add( contextId, context );
},
videoOpen: function( id ) {
joms.popup.video.open( id );
},
videoEdit: function( id ) {
joms.popup.video.edit( id );
},
videoRemove: function( id, redirect ) {
joms.popup.video.remove( id, redirect );
},
videoAddFeatured: function( id ) {
joms.popup.video.addFeatured( id );
},
videoRemoveFeatured: function( id ) {
joms.popup.video.removeFeatured( id );
},
videoLinkToProfile: function( id ) {
joms.popup.video.linkToProfile( id );
},
videoRemoveLinkFromProfile: function( id, userId ) {
joms.popup.video.removeLinkFromProfile( id, userId );
},
videoFetchThumbnail: function( id ) {
joms.popup.video.fetchThumbnail( id );
},
videoReport: function( id, url ) {
joms.popup.video.report( id, url );
},
locationView: function( id ) {
joms.popup.location.view( id );
},
/** Stream. */
streamLike: function( id ) {
joms.view.stream.like( id );
},
streamUnlike: function( id ) {
joms.view.stream.unlike( id );
},
streamEdit: function( id, el ) {
joms.view.stream.edit( id, el );
},
streamEditLocation: function( id ) {
joms.view.stream.editLocation( id );
},
streamRemove: function( id ) {
joms.view.stream.remove( id );
},
streamRemoveLocation: function( id ) {
joms.view.stream.removeLocation( id );
},
streamRemoveMood: function( id ) {
joms.view.stream.removeMood( id );
},
streamRemoveTag: function( id ) {
joms.view.stream.removeTag( id );
},
streamSelectPrivacy: function( id ) {
joms.view.stream.selectPrivacy( id );
},
streamShare: function( id ) {
joms.view.stream.share( id );
},
streamHide: function( id, userId ) {
joms.view.stream.hide( id, userId );
},
streamShowLikes: function( id, target ) {
joms.view.stream.showLikes( id, target );
},
streamShowComments: function( id, type ) {
joms.view.stream.showComments( id, type );
},
streamShowOthers: function( id ) {
joms.view.stream.showOthers( id );
},
streamReport: function( id, commentid ) {
joms.view.stream.report( id, commentid);
},
streamToggleText: function( id ) {
joms.view.stream.toggleText( id );
},
streamAddFeatured: function( id ) {
joms.view.stream.addFeatured( id );
},
streamRemoveFeatured: function( id ) {
joms.view.stream.removeFeatured( id );
},
/** Streams. */
streamsLoadMore: function() {
joms.view.streams.loadMore();
},
/** Comment system. */
commentLike: function( id ) {
joms.view.comment.like( id );
},
commentUnlike: function( id ) {
joms.view.comment.unlike( id );
},
commentEdit: function( id, el, type ) {
joms.view.comment.edit( id, el, type );
},
commentCancel: function( id ) {
joms.view.comment.cancel( id );
},
commentRemove: function( id, type ) {
joms.view.comment.remove( id, type );
},
commentRemoveTag: function( id, type ) {
joms.view.comment.removeTag( id, type );
},
commentRemovePreview: function( id, type ) {
joms.view.comment.removePreview( id, type );
},
commentRemoveThumbnail: function( id, type ) {
joms.view.comment.removeThumbnail( id, type );
},
commentShowLikes: function( id ) {
joms.popup.comment.showLikes( id );
},
commentToggleText: function( id ) {
joms.view.comment.toggleText( id );
},
/** Application */
appAbout: function( name ) {
joms.popup.app.about( name );
},
appBrowse: function( pos ) {
joms.popup.app.browse( pos );
},
appPrivacy: function( name ) {
joms.popup.app.privacy( name );
},
appRemove: function( id ) {
joms.popup.app.remove( id );
},
appSetting: function( id, name ) {
joms.popup.app.setting( id, name );
},
/** Search. */
searchSave: function( data ) {
joms.popup.search.save( data );
},
/** Page */
pageLike: function( type, id ) {
joms.view.page.like( type, id );
},
pageUnlike: function( type, id ) {
joms.view.page.unlike( type, id );
},
pageShare: function( url ) {
joms.view.page.share( url );
},
pageInvite: function( id ) {
joms.popup.page.invite( id );
},
pageDelete: function( id ) {
joms.popup.page.delete( id );
},
pagePublish: function( id ) {
joms.popup.page.publish( id );
},
pageUnpublish: function( id ) {
joms.popup.page.unpublish( id );
},
pageAddFeatured: function( id ) {
joms.popup.page.addFeatured( id );
},
pageRemoveFeatured: function( id ) {
joms.popup.page.removeFeatured( id );
},
pageBanMember: function( id, userId ) {
joms.popup.page.banMember( id, userId );
},
pageUnbanMember: function( id, userId ) {
joms.popup.page.unbanMember( id, userId );
},
pageRemoveMember: function( id, userId ) {
joms.popup.page.removeMember( id, userId );
},
pageReport: function( id ) {
joms.popup.page.report( id );
},
/** Invitation */
invitationAccept: function( type, id ) {
joms.fn.invitation.accept( type, id );
},
invitationReject: function( type, id ) {
joms.fn.invitation.reject( type, id );
},
/** File */
fileUpload: function( type, id ) {
joms.popup.file.upload( type, id );
},
fileList: function( type, id ) {
joms.popup.file.list( type, id );
},
fileDownload: function( type, id, path ) {
joms.popup.file.download( type, id, path );
},
fileRemove: function( type, id ) {
joms.popup.file.remove( type, id );
},
fileUpdateHit: function( id, location ) {
joms.popup.file.updateHit( id, location );
},
/** Discussion */
discussionLock: function( groupId, id ) {
joms.popup.discussion.lock( groupId, id );
},
discussionRemove: function( groupId, id ) {
joms.popup.discussion.remove( groupId, id );
},
/** Announcement */
announcementEdit: function( groupId, id ) {
joms.fn.announcement.edit( groupId, id );
},
announcementEditCancel: function( groupId, id ) {
joms.fn.announcement.editCancel( groupId, id );
},
announcementRemove: function( groupId, id ) {
joms.popup.announcement.remove( groupId, id );
},
/** Inbox */
inboxRemove: function( task, msgIds ) {
joms.popup.inbox.remove( task, msgIds );
},
inboxSetRead: function( msgIds, error ) {
joms.popup.inbox.setRead( msgIds, error );
},
inboxSetUnread: function( msgIds, error ) {
joms.popup.inbox.setUnread( msgIds, error );
},
/** Terms of services */
tnc: function() {
joms.popup.tnc();
},
/** Facebook connect */
fbcUpdate: function() {
joms.popup.fbc.update();
}
};
});
require([
'core',
'utils/crop',
'utils/dropdown',
'utils/hovercard',
'utils/reaction',
'utils/loadlib',
'utils/location-autocomplete',
'utils/popup',
'utils/tab',
'utils/tagging',
'utils/validation',
'utils/video',
'utils/wysiwyg',
'utils/dialog',
'utils/emoji',
'functions/tagging',
'views/comment',
'utils/emoticon',
'views/customize',
'views/misc',
'views/stream',
'views/streams',
'views/toolbar',
'api'
], function() {
joms.onStart(function() {
if (joms.getData('client') === 'site') {
joms.view.comment.start();
joms.view.page.initialize();
joms.view.stream.start();
joms.view.streams.start();
joms.view.toolbar.start();
joms.view.customize.start();
joms.view.misc.start();
joms.util.dropdown.start();
joms.util.tab.start();
joms.util.validation.start();
joms.util.hovercard.initialize();
joms.util.reaction.initialize();
// Fetch all friends in context (group, event, or default) if user is logged-in.
if ( +window.joms_my_id ) {
joms.fn.tagging.fetchFriendsInContext();
}
}
joms.util.wysiwyg.start();
});
joms.jQuery(function() {
joms.start();
});
});
define("bundle", function(){});
}());