1 line
No EOL
116 KiB
Text
1 line
No EOL
116 KiB
Text
{"version":3,"sources":["webpack:///./node_modules/emoji-mart/dist-es/polyfills/extends.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/objectGetPrototypeOf.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/createClass.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/possibleConstructorReturn.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/inherits.js","webpack:///./node_modules/emoji-mart/dist-es/utils/store.js","webpack:///./node_modules/emoji-mart/dist-es/utils/frequently.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/stringFromCodePoint.js","webpack:///./node_modules/emoji-mart/dist-es/utils/index.js","webpack:///./node_modules/emoji-mart/dist-es/utils/shared-props.js","webpack:///./node_modules/emoji-mart/dist-es/svgs/index.js","webpack:///./node_modules/emoji-mart/dist-es/components/anchors.js","webpack:///./node_modules/emoji-mart/dist-es/components/category.js","webpack:///./node_modules/emoji-mart/dist-es/components/preview.js","webpack:///./node_modules/emoji-mart/dist-es/utils/emoji-index/nimble-emoji-index.js","webpack:///./node_modules/emoji-mart/dist-es/components/search.js","webpack:///./node_modules/emoji-mart/dist-es/components/skins.js","webpack:///./node_modules/emoji-mart/dist-es/components/emoji/nimble-emoji.js","webpack:///./node_modules/emoji-mart/dist-es/components/emoji/emoji.js","webpack:///./node_modules/emoji-mart/dist-es/components/picker/nimble-picker.js","webpack:///./node_modules/emoji-mart/dist-es/components/picker/picker.js","webpack:///./node_modules/emoji-mart/dist-es/utils/data.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/emoji-mart/dist-es/vendor/raf-polyfill.js"],"names":["polyfills_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","objectGetPrototypeOf","getPrototypeOf","O","constructor","createClass_Object","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","possibleConstructorReturn","self","ReferenceError","inherits_Object","inherits","subClass","superClass","TypeError","create","value","setPrototypeOf","__proto__","NAMESPACE","_JSON","JSON","isLocalStorageSupported","window","getter","setter","store_set","localStorage","stringify","e","store","update","state","set","get","parse","setNamespace","namespace","setHandlers","handlers","DEFAULTS","frequently","initialized","defaults","init","utils_frequently","add","emoji","id","perLine","result","push","quantity","frequentlyKeys","sliced","sort","a","b","reverse","slice","last","indexOf","pop","stringFromCodePoint","String","fromCodePoint","highSurrogate","lowSurrogate","codeUnits","index","codePoint","Number","isFinite","Math","floor","RangeError","fromCharCode","apply","utils_JSON","COLONS_REGEX","SKINS","unifiedToNative","unified","codePoints","split","map","u","getSanitizedData","getData","undefined","name","short_names","skin_tone","skin_variations","emoticons","custom","imageUrl","colons","toLowerCase","skin","native","data","emojiData","matches","match","parseInt","aliases","emojis","keys_default","search","utils_data","variations","skinKey","variationData","k","v","shift","uniq","arr","reduce","acc","item","EmojiPropTypes","prop_types_default","object","isRequired","onOver","func","onLeave","onClick","fallback","backgroundImageFn","bool","forceSize","tooltip","oneOf","sheetSize","size","number","oneOfType","string","EmojiDefaultProps","PickerDefaultProps","arrayOf","shape","keywords","onSelect","onSkinChange","emojiSize","i18n","style","title","color","defaultSkin","emojisToShowFilter","showPreview","showSkinTones","emojiTooltip","autoFocus","svgs","activity","flags","foods","nature","objects","people","places","recent","symbols","anchors_Anchors","_React$PureComponent","Anchors","classCallCheck_default","this","_this","defaultCategory","categories","filter","category","first","selected","handleClick","bind","react_default","PureComponent","SVGs","svg","currentTarget","getAttribute","_props","onAnchorClick","_this2","_props2","createElement","className","anchor","isSelected","data-index","dangerouslySetInnerHTML","__html","getSVG","backgroundColor","components_anchors","defaultProps","category_Category","_React$Component","Category","setContainerRef","setLabelRef","Component","parent","container","parentNode","margin","minMargin","memoizeSize","nextProps","nextState","hasStickyPosition","emojiProps","nextPerLine","nextNative","nextHasStickyPosition","nextEmojis","nextEmojiProps","nextSkin","nextSize","nextSet","shouldUpdate","_container$getBoundin","getBoundingClientRect","top","height","parentTop","labelHeight","label","scrollTop","maxMargin","frequentlyUsed","display","getEmojis","c","_this3","_props3","labelStyles","labelSpanStyles","containerStyles","position","ref","data-name","nimble_emoji","notfound","components_category","preview_Preview","Preview","skinsProps","idleEmoji","_emojiData$emoticons","knownEmoticons","listedEmoticons","forEach","emoticon","short_name","skins","preview","onChange","nimble_emoji_index","NimbleEmojiIndex","compressed","originalPool","customEmojisList","buildIndex","_loop","pool","emojiId","clearCustomEmojis","_this4","_ref","maxResults","include","exclude","_ref$custom","addCustomToPool","results","allResults","values","isIncluded","isExcluded","customIsIncluded","customIsExcluded","aPool","aIndex","charIndex","char","scores","_id","sub","substr","subIndex","score","uniqA","uniqB","search_Search","Search","emojiIndex","setRef","handleChange","input","onSearch","type","placeholder","components_search","skins_Skins","Skins","opened","setState","skinToneNodes","skinTone","data-skin","nimble_emoji_getData","nimble_emoji_getSanitizedData","_isNumeric","isNaN","parseFloat","nimble_emoji_NimbleEmoji","NimbleEmoji","children","fontSize","width","backgroundImage","backgroundSize","backgroundPosition","_getData2","sheet_x","sheet_y","_getPosition","html","div","document","_convertStyleToCSS","_handleClick","onMouseEnter","_handleOver","onMouseLeave","_handleLeave","emoji_Emoji","Emoji","propTypes","data_all","emoji_emoji","I18N","nimble_picker_NimblePicker","NimblePicker","RECENT_CATEGORY","CUSTOM_CATEGORY","SEARCH_CATEGORY","deepMerge","o","originalValue","firstRender","allCategories","concat","hideRecent","categoryIndex","newEmojis","newCategory","includeRecent","excludeRecent","unshift","setAnchorsRef","handleAnchorClick","setSearchRef","handleSearch","setScrollRef","handleScroll","handleScrollPaint","handleEmojiOver","handleEmojiLeave","handleEmojiClick","handleEmojiSelect","setPreviewRef","handleSkinChange","handleKeyDown","testStickyPosition","firstRenderTimeout","setTimeout","updateCategoriesSize","clearTimeout","leaveTimeout","stickyTestElement","prefix","customEmoji","component","categoryRefs","forceUpdate","requestAnimationFrame","scroll","updateDisplay","waitingForPaint","activeCategory","scrollingDown","minTop","l","ii","active","clientHeight","scrollHeight","anchors","categoryName","scrollToComponent","clear","newState","handled","keyCode","preventDefault","overflow","body","appendChild","scrollbarWidth","offsetWidth","clientWidth","removeChild","measureScrollbar","onKeyDown","onScroll","getCategories","setCategoryRef","nimble_picker","picker_Picker","Picker","picker","mapping","non_qualified","has_img_apple","has_img_google","has_img_twitter","has_img_emojione","has_img_facebook","has_img_messenger","sheet","text","added_in","buildSearch","addToSearch","strings","Array","isArray","s","join","module","exports","compress","_key","uncompress","toFixed","toObject","__webpack_require__","$keys","it","keys","default","__esModule","lastTime","vendors","x","cancelAnimationFrame","callback","element","currTime","Date","getTime","timeToCall","max"],"mappings":"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","file":"emoji_picker.js","sourcesContent":["var _Object = Object;\n\nexport default _Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","var _Object = Object;\n\nexport default _Object.getPrototypeOf || function (O) {\n O = Object(O);\n\n if (typeof O.constructor === 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? Object.prototype : null;\n};","var _Object = Object;\n\nexport default (function createClass() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n _Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n})();","export default function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === 'object' || typeof call === 'function') ? call : self;\n}","var _Object = Object;\n\nexport default function inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n\n subClass.prototype = _Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) {\n _Object.setPrototypeOf ? _Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n}","var NAMESPACE = 'emoji-mart';\n\nvar _JSON = JSON;\n\nvar isLocalStorageSupported = typeof window !== 'undefined' && 'localStorage' in window;\n\nvar getter = void 0;\nvar setter = void 0;\n\nfunction setHandlers(handlers) {\n handlers || (handlers = {});\n\n getter = handlers.getter;\n setter = handlers.setter;\n}\n\nfunction setNamespace(namespace) {\n NAMESPACE = namespace;\n}\n\nfunction update(state) {\n for (var key in state) {\n var value = state[key];\n set(key, value);\n }\n}\n\nfunction set(key, value) {\n if (setter) {\n setter(key, value);\n } else {\n if (!isLocalStorageSupported) return;\n try {\n window.localStorage[NAMESPACE + '.' + key] = _JSON.stringify(value);\n } catch (e) {}\n }\n}\n\nfunction get(key) {\n if (getter) {\n return getter(key);\n } else {\n if (!isLocalStorageSupported) return;\n try {\n var value = window.localStorage[NAMESPACE + '.' + key];\n } catch (e) {\n return;\n }\n\n if (value) {\n return JSON.parse(value);\n }\n }\n}\n\nexport default { update: update, set: set, get: get, setNamespace: setNamespace, setHandlers: setHandlers };","import store from './store';\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'scream', 'disappointed', 'unamused', 'weary', 'sob', 'sunglasses', 'heart', 'poop'];\n\nvar frequently = void 0,\n initialized = void 0;\nvar defaults = {};\n\nfunction init() {\n initialized = true;\n frequently = store.get('frequently');\n}\n\nfunction add(emoji) {\n if (!initialized) init();\n var id = emoji.id;\n\n\n frequently || (frequently = defaults);\n frequently[id] || (frequently[id] = 0);\n frequently[id] += 1;\n\n store.set('last', id);\n store.set('frequently', frequently);\n}\n\nfunction get(perLine) {\n if (!initialized) init();\n if (!frequently) {\n defaults = {};\n\n var result = [];\n\n for (var i = 0; i < perLine; i++) {\n defaults[DEFAULTS[i]] = perLine - i;\n result.push(DEFAULTS[i]);\n }\n\n return result;\n }\n\n var quantity = perLine * 4;\n var frequentlyKeys = [];\n\n for (var key in frequently) {\n if (frequently.hasOwnProperty(key)) {\n frequentlyKeys.push(key);\n }\n }\n\n var sorted = frequentlyKeys.sort(function (a, b) {\n return frequently[a] - frequently[b];\n }).reverse();\n var sliced = sorted.slice(0, quantity);\n\n var last = store.get('last');\n\n if (last && sliced.indexOf(last) == -1) {\n sliced.pop();\n sliced.push(last);\n }\n\n return sliced;\n}\n\nexport default { add: add, get: get };","var _String = String;\n\nexport default _String.fromCodePoint || function stringFromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = codePoint % 0x400 + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += String.fromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};","import _Object$keys from 'babel-runtime/core-js/object/keys';\nimport { buildSearch } from './data';\nimport stringFromCodePoint from '../polyfills/stringFromCodePoint';\n\nvar _JSON = JSON;\n\nvar COLONS_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/;\nvar SKINS = ['1F3FA', '1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF'];\n\nfunction unifiedToNative(unified) {\n var unicodes = unified.split('-'),\n codePoints = unicodes.map(function (u) {\n return '0x' + u;\n });\n\n return stringFromCodePoint.apply(null, codePoints);\n}\n\nfunction sanitize(emoji) {\n var name = emoji.name;\n var short_names = emoji.short_names;\n var skin_tone = emoji.skin_tone;\n var skin_variations = emoji.skin_variations;\n var emoticons = emoji.emoticons;\n var unified = emoji.unified;\n var custom = emoji.custom;\n var imageUrl = emoji.imageUrl;\n var id = emoji.id || short_names[0];\n var colons = ':' + id + ':';\n\n if (custom) {\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n custom: custom,\n imageUrl: imageUrl\n };\n }\n\n if (skin_tone) {\n colons += ':skin-tone-' + skin_tone + ':';\n }\n\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n unified: unified.toLowerCase(),\n skin: skin_tone || (skin_variations ? 1 : null),\n native: unifiedToNative(unified)\n };\n}\n\nfunction getSanitizedData() {\n return sanitize(getData.apply(undefined, arguments));\n}\n\nfunction getData(emoji, skin, set, data) {\n var emojiData = {};\n\n if (typeof emoji == 'string') {\n var matches = emoji.match(COLONS_REGEX);\n\n if (matches) {\n emoji = matches[1];\n\n if (matches[2]) {\n skin = parseInt(matches[2], 10);\n }\n }\n\n if (data.aliases.hasOwnProperty(emoji)) {\n emoji = data.aliases[emoji];\n }\n\n if (data.emojis.hasOwnProperty(emoji)) {\n emojiData = data.emojis[emoji];\n } else {\n return null;\n }\n } else if (emoji.id) {\n if (data.aliases.hasOwnProperty(emoji.id)) {\n emoji.id = data.aliases[emoji.id];\n }\n\n if (data.emojis.hasOwnProperty(emoji.id)) {\n emojiData = data.emojis[emoji.id];\n skin || (skin = emoji.skin);\n }\n }\n\n if (!_Object$keys(emojiData).length) {\n emojiData = emoji;\n emojiData.custom = true;\n\n if (!emojiData.search) {\n emojiData.search = buildSearch(emoji);\n }\n }\n\n emojiData.emoticons || (emojiData.emoticons = []);\n emojiData.variations || (emojiData.variations = []);\n\n if (emojiData.skin_variations && skin > 1 && set) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n\n var skinKey = SKINS[skin - 1],\n variationData = emojiData.skin_variations[skinKey];\n\n if (!variationData.variations && emojiData.variations) {\n delete emojiData.variations;\n }\n\n if (variationData['has_img_' + set] == undefined || variationData['has_img_' + set]) {\n emojiData.skin_tone = skin;\n\n for (var k in variationData) {\n var v = variationData[k];\n emojiData[k] = v;\n }\n }\n }\n\n if (emojiData.variations && emojiData.variations.length) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n emojiData.unified = emojiData.variations.shift();\n }\n\n return emojiData;\n}\n\nfunction uniq(arr) {\n return arr.reduce(function (acc, item) {\n if (acc.indexOf(item) === -1) {\n acc.push(item);\n }\n return acc;\n }, []);\n}\n\nfunction intersect(a, b) {\n var uniqA = uniq(a);\n var uniqB = uniq(b);\n\n return uniqA.filter(function (item) {\n return uniqB.indexOf(item) >= 0;\n });\n}\n\nfunction deepMerge(a, b) {\n var o = {};\n\n for (var key in a) {\n var originalValue = a[key],\n value = originalValue;\n\n if (b.hasOwnProperty(key)) {\n value = b[key];\n }\n\n if (typeof value === 'object') {\n value = deepMerge(originalValue, value);\n }\n\n o[key] = value;\n }\n\n return o;\n}\n\n// https://github.com/sonicdoe/measure-scrollbar\nfunction measureScrollbar() {\n if (typeof document == 'undefined') return 0;\n var div = document.createElement('div');\n\n div.style.width = '100px';\n div.style.height = '100px';\n div.style.overflow = 'scroll';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n\n document.body.appendChild(div);\n var scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n\n return scrollbarWidth;\n}\n\nexport { getData, getSanitizedData, uniq, intersect, deepMerge, unifiedToNative, measureScrollbar };","import PropTypes from 'prop-types';\n\nvar EmojiPropTypes = {\n data: PropTypes.object.isRequired,\n onOver: PropTypes.func,\n onLeave: PropTypes.func,\n onClick: PropTypes.func,\n fallback: PropTypes.func,\n backgroundImageFn: PropTypes.func,\n native: PropTypes.bool,\n forceSize: PropTypes.bool,\n tooltip: PropTypes.bool,\n skin: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n sheetSize: PropTypes.oneOf([16, 20, 32, 64]),\n set: PropTypes.oneOf(['apple', 'google', 'twitter', 'emojione', 'messenger', 'facebook']),\n size: PropTypes.number.isRequired,\n emoji: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n};\n\nvar EmojiDefaultProps = {\n skin: 1,\n set: 'apple',\n sheetSize: 64,\n native: false,\n forceSize: false,\n tooltip: false,\n backgroundImageFn: function backgroundImageFn(set, sheetSize) {\n return 'https://unpkg.com/emoji-datasource-' + set + '@' + '4.0.4' + '/img/' + set + '/sheets-256/' + sheetSize + '.png';\n },\n onOver: function onOver() {},\n onLeave: function onLeave() {},\n onClick: function onClick() {}\n};\n\nvar PickerPropTypes = {\n onClick: PropTypes.func,\n onSelect: PropTypes.func,\n onSkinChange: PropTypes.func,\n perLine: PropTypes.number,\n emojiSize: PropTypes.number,\n i18n: PropTypes.object,\n style: PropTypes.object,\n title: PropTypes.string,\n emoji: PropTypes.string,\n color: PropTypes.string,\n set: EmojiPropTypes.set,\n skin: EmojiPropTypes.skin,\n native: PropTypes.bool,\n backgroundImageFn: EmojiPropTypes.backgroundImageFn,\n sheetSize: EmojiPropTypes.sheetSize,\n emojisToShowFilter: PropTypes.func,\n showPreview: PropTypes.bool,\n showSkinTones: PropTypes.bool,\n emojiTooltip: EmojiPropTypes.tooltip,\n include: PropTypes.arrayOf(PropTypes.string),\n exclude: PropTypes.arrayOf(PropTypes.string),\n recent: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n custom: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n short_names: PropTypes.arrayOf(PropTypes.string).isRequired,\n emoticons: PropTypes.arrayOf(PropTypes.string),\n keywords: PropTypes.arrayOf(PropTypes.string),\n imageUrl: PropTypes.string.isRequired\n }))\n};\n\nvar PickerDefaultProps = {\n onClick: function onClick() {},\n onSelect: function onSelect() {},\n onSkinChange: function onSkinChange() {},\n emojiSize: 24,\n perLine: 9,\n i18n: {},\n style: {},\n title: 'Emoji Mart™',\n emoji: 'department_store',\n color: '#ae65c5',\n set: EmojiDefaultProps.set,\n skin: null,\n defaultSkin: EmojiDefaultProps.skin,\n native: EmojiDefaultProps.native,\n sheetSize: EmojiDefaultProps.sheetSize,\n backgroundImageFn: EmojiDefaultProps.backgroundImageFn,\n emojisToShowFilter: null,\n showPreview: true,\n showSkinTones: true,\n emojiTooltip: EmojiDefaultProps.tooltip,\n autoFocus: false,\n custom: []\n};\n\nexport { EmojiPropTypes, EmojiDefaultProps, PickerPropTypes, PickerDefaultProps };","var SVGs = {\n activity: \"<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\\\"/>\",\n\n custom: \"<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>\",\n\n flags: \"<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\\\"/>\",\n\n foods: \"<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\\\"/>\",\n\n nature: \"<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\\\"/>\",\n\n objects: \"<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\\\"/>\",\n\n people: \"<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\\\"/>\",\n\n places: \"<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\\\"/>\",\n\n recent: \"<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\\\"/>\",\n\n symbols: \"<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\\\"/>\"\n};\n\nexport default SVGs;","import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport SVGs from '../svgs';\n\nvar Anchors = function (_React$PureComponent) {\n _inherits(Anchors, _React$PureComponent);\n\n function Anchors(props) {\n _classCallCheck(this, Anchors);\n\n var _this = _possibleConstructorReturn(this, (Anchors.__proto__ || _Object$getPrototypeOf(Anchors)).call(this, props));\n\n var defaultCategory = props.categories.filter(function (category) {\n return category.first;\n })[0];\n\n _this.state = {\n selected: defaultCategory.name\n };\n\n _this.handleClick = _this.handleClick.bind(_this);\n return _this;\n }\n\n _createClass(Anchors, [{\n key: 'getSVG',\n value: function getSVG(id) {\n this.SVGs || (this.SVGs = {});\n\n if (this.SVGs[id]) {\n return this.SVGs[id];\n } else {\n var svg = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\\n ' + SVGs[id] + '\\n </svg>';\n\n this.SVGs[id] = svg;\n return svg;\n }\n }\n }, {\n key: 'handleClick',\n value: function handleClick(e) {\n var index = e.currentTarget.getAttribute('data-index');\n var _props = this.props;\n var categories = _props.categories;\n var onAnchorClick = _props.onAnchorClick;\n\n\n onAnchorClick(categories[index], index);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props2 = this.props;\n var categories = _props2.categories;\n var onAnchorClick = _props2.onAnchorClick;\n var color = _props2.color;\n var i18n = _props2.i18n;\n var selected = this.state.selected;\n\n\n return React.createElement(\n 'div',\n { className: 'emoji-mart-anchors' },\n categories.map(function (category, i) {\n var id = category.id;\n var name = category.name;\n var anchor = category.anchor;\n var isSelected = name == selected;\n\n if (anchor === false) {\n return null;\n }\n\n return React.createElement(\n 'span',\n {\n key: id,\n title: i18n.categories[id],\n 'data-index': i,\n onClick: _this2.handleClick,\n className: 'emoji-mart-anchor ' + (isSelected ? 'emoji-mart-anchor-selected' : ''),\n style: { color: isSelected ? color : null }\n },\n React.createElement('div', { dangerouslySetInnerHTML: { __html: _this2.getSVG(id) } }),\n React.createElement('span', {\n className: 'emoji-mart-anchor-bar',\n style: { backgroundColor: color }\n })\n );\n })\n );\n }\n }]);\n\n return Anchors;\n}(React.PureComponent);\n\nexport default Anchors;\n\n\nAnchors.defaultProps = {\n categories: [],\n onAnchorClick: function onAnchorClick() {}\n};","import _extends from '../polyfills/extends';\nimport _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport frequently from '../utils/frequently';\nimport { getData } from '../utils';\nimport { NimbleEmoji } from '.';\n\nvar Category = function (_React$Component) {\n _inherits(Category, _React$Component);\n\n function Category(props) {\n _classCallCheck(this, Category);\n\n var _this = _possibleConstructorReturn(this, (Category.__proto__ || _Object$getPrototypeOf(Category)).call(this, props));\n\n _this.data = props.data;\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n _this.setLabelRef = _this.setLabelRef.bind(_this);\n return _this;\n }\n\n _createClass(Category, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.parent = this.container.parentNode;\n\n this.margin = 0;\n this.minMargin = 0;\n\n this.memoizeSize();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n var _props = this.props;\n var name = _props.name;\n var perLine = _props.perLine;\n var native = _props.native;\n var hasStickyPosition = _props.hasStickyPosition;\n var emojis = _props.emojis;\n var emojiProps = _props.emojiProps;\n var skin = emojiProps.skin;\n var size = emojiProps.size;\n var set = emojiProps.set;\n var nextPerLine = nextProps.perLine;\n var nextNative = nextProps.native;\n var nextHasStickyPosition = nextProps.hasStickyPosition;\n var nextEmojis = nextProps.emojis;\n var nextEmojiProps = nextProps.emojiProps;\n var nextSkin = nextEmojiProps.skin;\n var nextSize = nextEmojiProps.size;\n var nextSet = nextEmojiProps.set;\n var shouldUpdate = false;\n\n if (name == 'Recent' && perLine != nextPerLine) {\n shouldUpdate = true;\n }\n\n if (name == 'Search') {\n shouldUpdate = !(emojis == nextEmojis);\n }\n\n if (skin != nextSkin || size != nextSize || native != nextNative || set != nextSet || hasStickyPosition != nextHasStickyPosition) {\n shouldUpdate = true;\n }\n\n return shouldUpdate;\n }\n }, {\n key: 'memoizeSize',\n value: function memoizeSize() {\n var _container$getBoundin = this.container.getBoundingClientRect();\n\n var top = _container$getBoundin.top;\n var height = _container$getBoundin.height;\n\n var _parent$getBoundingCl = this.parent.getBoundingClientRect();\n\n var parentTop = _parent$getBoundingCl.top;\n\n var _label$getBoundingCli = this.label.getBoundingClientRect();\n\n var labelHeight = _label$getBoundingCli.height;\n\n\n this.top = top - parentTop + this.parent.scrollTop;\n\n if (height == 0) {\n this.maxMargin = 0;\n } else {\n this.maxMargin = height - labelHeight;\n }\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll(scrollTop) {\n var margin = scrollTop - this.top;\n margin = margin < this.minMargin ? this.minMargin : margin;\n margin = margin > this.maxMargin ? this.maxMargin : margin;\n\n if (margin == this.margin) return;\n\n if (!this.props.hasStickyPosition) {\n this.label.style.top = margin + 'px';\n }\n\n this.margin = margin;\n return true;\n }\n }, {\n key: 'getEmojis',\n value: function getEmojis() {\n var _this2 = this;\n\n var _props2 = this.props;\n var name = _props2.name;\n var emojis = _props2.emojis;\n var recent = _props2.recent;\n var perLine = _props2.perLine;\n\n\n if (name == 'Recent') {\n var custom = this.props.custom;\n\n var frequentlyUsed = recent || frequently.get(perLine);\n\n if (frequentlyUsed.length) {\n emojis = frequentlyUsed.map(function (id) {\n var emoji = custom.filter(function (e) {\n return e.id === id;\n })[0];\n if (emoji) {\n return emoji;\n }\n\n return id;\n }).filter(function (id) {\n return !!getData(id, null, null, _this2.data);\n });\n }\n\n if (emojis.length === 0 && frequentlyUsed.length > 0) {\n return null;\n }\n }\n\n if (emojis) {\n emojis = emojis.slice(0);\n }\n\n return emojis;\n }\n }, {\n key: 'updateDisplay',\n value: function updateDisplay(display) {\n var emojis = this.getEmojis();\n\n if (!emojis) {\n return;\n }\n\n this.container.style.display = display;\n }\n }, {\n key: 'setContainerRef',\n value: function setContainerRef(c) {\n this.container = c;\n }\n }, {\n key: 'setLabelRef',\n value: function setLabelRef(c) {\n this.label = c;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var _props3 = this.props;\n var id = _props3.id;\n var name = _props3.name;\n var hasStickyPosition = _props3.hasStickyPosition;\n var emojiProps = _props3.emojiProps;\n var i18n = _props3.i18n;\n var emojis = this.getEmojis();\n var labelStyles = {};\n var labelSpanStyles = {};\n var containerStyles = {};\n\n if (!emojis) {\n containerStyles = {\n display: 'none'\n };\n }\n\n if (!hasStickyPosition) {\n labelStyles = {\n height: 28\n };\n\n labelSpanStyles = {\n position: 'absolute'\n };\n }\n\n return React.createElement(\n 'div',\n {\n ref: this.setContainerRef,\n className: 'emoji-mart-category ' + (emojis && !emojis.length ? 'emoji-mart-no-results' : ''),\n style: containerStyles\n },\n React.createElement(\n 'div',\n {\n style: labelStyles,\n 'data-name': name,\n className: 'emoji-mart-category-label'\n },\n React.createElement(\n 'span',\n { style: labelSpanStyles, ref: this.setLabelRef },\n i18n.categories[id]\n )\n ),\n emojis && emojis.map(function (emoji) {\n return NimbleEmoji(_extends({ emoji: emoji, data: _this3.data }, emojiProps));\n }),\n emojis && !emojis.length && React.createElement(\n 'div',\n null,\n React.createElement(\n 'div',\n null,\n NimbleEmoji(_extends({\n data: this.data\n }, emojiProps, {\n size: 38,\n emoji: 'sleuth_or_spy',\n onOver: null,\n onLeave: null,\n onClick: null\n }))\n ),\n React.createElement(\n 'div',\n { className: 'emoji-mart-no-results-label' },\n i18n.notfound\n )\n )\n );\n }\n }]);\n\n return Category;\n}(React.Component);\n\nexport default Category;\n\n\nCategory.defaultProps = {\n emojis: [],\n hasStickyPosition: true\n};","import _extends from '../polyfills/extends';\nimport _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getData } from '../utils';\nimport { NimbleEmoji, Skins } from '.';\n\nvar Preview = function (_React$PureComponent) {\n _inherits(Preview, _React$PureComponent);\n\n function Preview(props) {\n _classCallCheck(this, Preview);\n\n var _this = _possibleConstructorReturn(this, (Preview.__proto__ || _Object$getPrototypeOf(Preview)).call(this, props));\n\n _this.data = props.data;\n _this.state = { emoji: null };\n return _this;\n }\n\n _createClass(Preview, [{\n key: 'render',\n value: function render() {\n var emoji = this.state.emoji;\n var _props = this.props;\n var emojiProps = _props.emojiProps;\n var skinsProps = _props.skinsProps;\n var showSkinTones = _props.showSkinTones;\n var title = _props.title;\n var idleEmoji = _props.emoji;\n\n\n if (emoji) {\n var emojiData = getData(emoji, null, null, this.data);\n var _emojiData$emoticons = emojiData.emoticons;\n var emoticons = _emojiData$emoticons === undefined ? [] : _emojiData$emoticons;\n var knownEmoticons = [];\n var listedEmoticons = [];\n\n emoticons.forEach(function (emoticon) {\n if (knownEmoticons.indexOf(emoticon.toLowerCase()) >= 0) {\n return;\n }\n\n knownEmoticons.push(emoticon.toLowerCase());\n listedEmoticons.push(emoticon);\n });\n\n return React.createElement(\n 'div',\n { className: 'emoji-mart-preview' },\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-emoji' },\n NimbleEmoji(_extends({\n key: emoji.id,\n emoji: emoji,\n data: this.data\n }, emojiProps))\n ),\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-data' },\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-name' },\n emoji.name\n ),\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-shortnames' },\n emojiData.short_names.map(function (short_name) {\n return React.createElement(\n 'span',\n { key: short_name, className: 'emoji-mart-preview-shortname' },\n ':',\n short_name,\n ':'\n );\n })\n ),\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-emoticons' },\n listedEmoticons.map(function (emoticon) {\n return React.createElement(\n 'span',\n { key: emoticon, className: 'emoji-mart-preview-emoticon' },\n emoticon\n );\n })\n )\n )\n );\n } else {\n return React.createElement(\n 'div',\n { className: 'emoji-mart-preview' },\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-emoji' },\n idleEmoji && idleEmoji.length && NimbleEmoji(_extends({ emoji: idleEmoji, data: this.data }, emojiProps))\n ),\n React.createElement(\n 'div',\n { className: 'emoji-mart-preview-data' },\n React.createElement(\n 'span',\n { className: 'emoji-mart-title-label' },\n title\n )\n ),\n showSkinTones && React.createElement(\n 'div',\n { className: 'emoji-mart-preview-skins' },\n React.createElement(Skins, skinsProps)\n )\n );\n }\n }\n }]);\n\n return Preview;\n}(React.PureComponent);\n\nexport default Preview;\n\n\nPreview.defaultProps = {\n showSkinTones: true,\n onChange: function onChange() {}\n};","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../../polyfills/createClass';\nimport { getData, getSanitizedData, intersect } from '..';\nimport { uncompress } from '../data';\n\nvar NimbleEmojiIndex = function () {\n function NimbleEmojiIndex(data) {\n _classCallCheck(this, NimbleEmojiIndex);\n\n if (data.compressed) {\n uncompress(data);\n }\n\n this.data = data || {};\n this.originalPool = {};\n this.index = {};\n this.emojis = {};\n this.emoticons = {};\n this.customEmojisList = [];\n\n this.buildIndex();\n }\n\n _createClass(NimbleEmojiIndex, [{\n key: 'buildIndex',\n value: function buildIndex() {\n var _this = this;\n\n var _loop = function _loop(emoji) {\n var emojiData = _this.data.emojis[emoji];\n var short_names = emojiData.short_names;\n var emoticons = emojiData.emoticons;\n var id = short_names[0];\n\n if (emoticons) {\n emoticons.forEach(function (emoticon) {\n if (_this.emoticons[emoticon]) {\n return;\n }\n\n _this.emoticons[emoticon] = id;\n });\n }\n\n _this.emojis[id] = getSanitizedData(id, null, null, _this.data);\n _this.originalPool[id] = emojiData;\n };\n\n for (var emoji in this.data.emojis) {\n _loop(emoji);\n }\n }\n }, {\n key: 'clearCustomEmojis',\n value: function clearCustomEmojis(pool) {\n var _this2 = this;\n\n this.customEmojisList.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n\n delete pool[emojiId];\n delete _this2.emojis[emojiId];\n });\n }\n }, {\n key: 'addCustomToPool',\n value: function addCustomToPool(custom, pool) {\n var _this3 = this;\n\n if (this.customEmojisList.length) this.clearCustomEmojis(pool);\n\n custom.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n\n if (emojiId && !pool[emojiId]) {\n pool[emojiId] = getData(emoji, null, null, _this3.data);\n _this3.emojis[emojiId] = getSanitizedData(emoji, null, null, _this3.data);\n }\n });\n\n this.customEmojisList = custom;\n this.index = {};\n }\n }, {\n key: 'search',\n value: function search(value) {\n var _this4 = this;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var emojisToShowFilter = _ref.emojisToShowFilter;\n var maxResults = _ref.maxResults;\n var include = _ref.include;\n var exclude = _ref.exclude;\n var _ref$custom = _ref.custom;\n var custom = _ref$custom === undefined ? [] : _ref$custom;\n\n if (this.customEmojisList != custom) this.addCustomToPool(custom, this.originalPool);\n\n maxResults || (maxResults = 75);\n include || (include = []);\n exclude || (exclude = []);\n\n var results = null,\n pool = this.originalPool;\n\n if (value.length) {\n if (value == '-' || value == '-1') {\n return [this.emojis['-1']];\n }\n\n var values = value.toLowerCase().split(/[\\s|,|\\-|_]+/),\n allResults = [];\n\n if (values.length > 2) {\n values = [values[0], values[1]];\n }\n\n if (include.length || exclude.length) {\n pool = {};\n\n this.data.categories.forEach(function (category) {\n var isIncluded = include && include.length ? include.indexOf(category.id) > -1 : true;\n var isExcluded = exclude && exclude.length ? exclude.indexOf(category.id) > -1 : false;\n if (!isIncluded || isExcluded) {\n return;\n }\n\n category.emojis.forEach(function (emojiId) {\n return pool[emojiId] = _this4.data.emojis[emojiId];\n });\n });\n\n if (custom.length) {\n var customIsIncluded = include && include.length ? include.indexOf('custom') > -1 : true;\n var customIsExcluded = exclude && exclude.length ? exclude.indexOf('custom') > -1 : false;\n if (customIsIncluded && !customIsExcluded) {\n this.addCustomToPool(custom, pool);\n }\n }\n }\n\n allResults = values.map(function (value) {\n var aPool = pool,\n aIndex = _this4.index,\n length = 0;\n\n for (var charIndex = 0; charIndex < value.length; charIndex++) {\n var char = value[charIndex];\n length++;\n\n aIndex[char] || (aIndex[char] = {});\n aIndex = aIndex[char];\n\n if (!aIndex.results) {\n (function () {\n var scores = {};\n\n aIndex.results = [];\n aIndex.pool = {};\n\n for (var _id in aPool) {\n var emoji = aPool[_id];\n var search = emoji.search;\n var sub = value.substr(0, length);\n var subIndex = search.indexOf(sub);\n\n if (subIndex != -1) {\n var score = subIndex + 1;\n if (sub == _id) score = 0;\n\n aIndex.results.push(_this4.emojis[_id]);\n aIndex.pool[_id] = emoji;\n\n scores[_id] = score;\n }\n }\n\n aIndex.results.sort(function (a, b) {\n var aScore = scores[a.id],\n bScore = scores[b.id];\n\n return aScore - bScore;\n });\n })();\n }\n\n aPool = aIndex.pool;\n }\n\n return aIndex.results;\n }).filter(function (a) {\n return a;\n });\n\n if (allResults.length > 1) {\n results = intersect.apply(null, allResults);\n } else if (allResults.length) {\n results = allResults[0];\n } else {\n results = [];\n }\n }\n\n if (results) {\n if (emojisToShowFilter) {\n results = results.filter(function (result) {\n return emojisToShowFilter(pool[result.id]);\n });\n }\n\n if (results && results.length > maxResults) {\n results = results.slice(0, maxResults);\n }\n }\n\n return results;\n }\n }]);\n\n return NimbleEmojiIndex;\n}();\n\nexport default NimbleEmojiIndex;","import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport NimbleEmojiIndex from '../utils/emoji-index/nimble-emoji-index';\n\nvar Search = function (_React$PureComponent) {\n _inherits(Search, _React$PureComponent);\n\n function Search(props) {\n _classCallCheck(this, Search);\n\n var _this = _possibleConstructorReturn(this, (Search.__proto__ || _Object$getPrototypeOf(Search)).call(this, props));\n\n _this.data = props.data;\n _this.emojiIndex = new NimbleEmojiIndex(_this.data);\n _this.setRef = _this.setRef.bind(_this);\n _this.handleChange = _this.handleChange.bind(_this);\n return _this;\n }\n\n _createClass(Search, [{\n key: 'handleChange',\n value: function handleChange() {\n var value = this.input.value;\n\n this.props.onSearch(this.emojiIndex.search(value, {\n emojisToShowFilter: this.props.emojisToShowFilter,\n maxResults: this.props.maxResults,\n include: this.props.include,\n exclude: this.props.exclude,\n custom: this.props.custom\n }));\n }\n }, {\n key: 'setRef',\n value: function setRef(c) {\n this.input = c;\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.input.value = '';\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props;\n var i18n = _props.i18n;\n var autoFocus = _props.autoFocus;\n\n\n return React.createElement(\n 'div',\n { className: 'emoji-mart-search' },\n React.createElement('input', {\n ref: this.setRef,\n type: 'text',\n onChange: this.handleChange,\n placeholder: i18n.search,\n autoFocus: autoFocus\n })\n );\n }\n }]);\n\n return Search;\n}(React.PureComponent);\n\nexport default Search;\n\n\nSearch.defaultProps = {\n onSearch: function onSearch() {},\n maxResults: 75,\n emojisToShowFilter: null,\n autoFocus: false\n};","import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Skins = function (_React$PureComponent) {\n _inherits(Skins, _React$PureComponent);\n\n function Skins(props) {\n _classCallCheck(this, Skins);\n\n var _this = _possibleConstructorReturn(this, (Skins.__proto__ || _Object$getPrototypeOf(Skins)).call(this, props));\n\n _this.state = {\n opened: false\n };\n\n _this.handleClick = _this.handleClick.bind(_this);\n return _this;\n }\n\n _createClass(Skins, [{\n key: 'handleClick',\n value: function handleClick(e) {\n var skin = parseInt(e.currentTarget.getAttribute('data-skin'));\n var onChange = this.props.onChange;\n\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n } else {\n this.setState({ opened: false });\n if (skin != this.props.skin) {\n onChange(skin);\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var skin = this.props.skin;\n var opened = this.state.opened;\n\n\n var skinToneNodes = [];\n\n for (var i = 0; i < 6; i++) {\n var skinTone = i + 1;\n var selected = skinTone == skin;\n\n skinToneNodes.push(React.createElement(\n 'span',\n {\n key: 'skin-tone-' + skinTone,\n className: 'emoji-mart-skin-swatch ' + (selected ? 'emoji-mart-skin-swatch-selected' : '')\n },\n React.createElement('span', {\n onClick: this.handleClick,\n 'data-skin': skinTone,\n className: 'emoji-mart-skin emoji-mart-skin-tone-' + skinTone\n })\n ));\n }\n\n return React.createElement(\n 'div',\n null,\n React.createElement(\n 'div',\n {\n className: 'emoji-mart-skin-swatches ' + (opened ? 'emoji-mart-skin-swatches-opened' : '')\n },\n skinToneNodes\n )\n );\n }\n }]);\n\n return Skins;\n}(React.PureComponent);\n\nexport default Skins;\n\n\nSkins.defaultProps = {\n onChange: function onChange() {}\n};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getData, getSanitizedData, unifiedToNative } from '../../utils';\nimport { uncompress } from '../../utils/data';\nimport { EmojiPropTypes, EmojiDefaultProps } from '../../utils/shared-props';\n\nvar SHEET_COLUMNS = 52;\n\nvar _getData = function _getData(props) {\n var emoji = props.emoji;\n var skin = props.skin;\n var set = props.set;\n var data = props.data;\n\n return getData(emoji, skin, set, data);\n};\n\nvar _getPosition = function _getPosition(props) {\n var _getData2 = _getData(props);\n\n var sheet_x = _getData2.sheet_x;\n var sheet_y = _getData2.sheet_y;\n var multiply = 100 / (SHEET_COLUMNS - 1);\n\n return multiply * sheet_x + '% ' + multiply * sheet_y + '%';\n};\n\nvar _getSanitizedData = function _getSanitizedData(props) {\n var emoji = props.emoji;\n var skin = props.skin;\n var set = props.set;\n var data = props.data;\n\n return getSanitizedData(emoji, skin, set, data);\n};\n\nvar _handleClick = function _handleClick(e, props) {\n if (!props.onClick) {\n return;\n }\n var onClick = props.onClick;\n var emoji = _getSanitizedData(props);\n\n onClick(emoji, e);\n};\n\nvar _handleOver = function _handleOver(e, props) {\n if (!props.onOver) {\n return;\n }\n var onOver = props.onOver;\n var emoji = _getSanitizedData(props);\n\n onOver(emoji, e);\n};\n\nvar _handleLeave = function _handleLeave(e, props) {\n if (!props.onLeave) {\n return;\n }\n var onLeave = props.onLeave;\n var emoji = _getSanitizedData(props);\n\n onLeave(emoji, e);\n};\n\nvar _isNumeric = function _isNumeric(value) {\n return !isNaN(value - parseFloat(value));\n};\n\nvar _convertStyleToCSS = function _convertStyleToCSS(style) {\n var div = document.createElement('div');\n\n for (var key in style) {\n var value = style[key];\n\n if (_isNumeric(value)) {\n value += 'px';\n }\n\n div.style[key] = value;\n }\n\n return div.getAttribute('style');\n};\n\nvar NimbleEmoji = function NimbleEmoji(props) {\n if (props.data.compressed) {\n uncompress(props.data);\n }\n\n for (var k in NimbleEmoji.defaultProps) {\n if (props[k] == undefined && NimbleEmoji.defaultProps[k] != undefined) {\n props[k] = NimbleEmoji.defaultProps[k];\n }\n }\n\n var data = _getData(props);\n if (!data) {\n return null;\n }\n\n var unified = data.unified;\n var custom = data.custom;\n var short_names = data.short_names;\n var colons = data.colons;\n var imageUrl = data.imageUrl;\n var style = {};\n var children = props.children;\n var className = 'emoji-mart-emoji';\n var title = null;\n\n if (!unified && !custom) {\n return null;\n }\n\n if (props.tooltip) {\n title = short_names ? ':' + short_names[0] + ':' : colons;\n }\n\n if (props.native && unified) {\n className += ' emoji-mart-emoji-native';\n style = { fontSize: props.size };\n children = unifiedToNative(unified);\n\n if (props.forceSize) {\n style.display = 'inline-block';\n style.width = props.size;\n style.height = props.size;\n }\n } else if (custom) {\n className += ' emoji-mart-emoji-custom';\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block',\n backgroundImage: 'url(' + imageUrl + ')',\n backgroundSize: 'contain'\n };\n } else {\n var setHasEmoji = data['has_img_' + props.set] == undefined || data['has_img_' + props.set];\n\n if (!setHasEmoji) {\n if (props.fallback) {\n return props.fallback(data);\n } else {\n return null;\n }\n } else {\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block',\n backgroundImage: 'url(' + props.backgroundImageFn(props.set, props.sheetSize) + ')',\n backgroundSize: 100 * SHEET_COLUMNS + '%',\n backgroundPosition: _getPosition(props)\n };\n }\n }\n\n if (props.html) {\n style = _convertStyleToCSS(style);\n return '<span style=\\'' + style + '\\' ' + (title ? 'title=\\'' + title + '\\'' : '') + ' class=\\'' + className + '\\'>' + (children || '') + '</span>';\n } else {\n return React.createElement(\n 'span',\n {\n key: props.emoji.id || props.emoji,\n onClick: function onClick(e) {\n return _handleClick(e, props);\n },\n onMouseEnter: function onMouseEnter(e) {\n return _handleOver(e, props);\n },\n onMouseLeave: function onMouseLeave(e) {\n return _handleLeave(e, props);\n },\n title: title,\n className: className\n },\n React.createElement(\n 'span',\n { style: style },\n children\n )\n );\n }\n};\n\nNimbleEmoji.defaultProps = EmojiDefaultProps;\n\nexport default NimbleEmoji;","import _extends from '../../polyfills/extends';\nimport React from 'react';\n\nimport data from '../../../data/all.json';\nimport NimbleEmoji from './nimble-emoji';\n\nimport { EmojiPropTypes, EmojiDefaultProps } from '../../utils/shared-props';\n\nvar Emoji = function Emoji(props) {\n for (var k in Emoji.defaultProps) {\n if (props[k] == undefined && Emoji.defaultProps[k] != undefined) {\n props[k] = Emoji.defaultProps[k];\n }\n }\n\n return NimbleEmoji(_extends({}, props));\n};\n\nEmoji.propTypes = EmojiPropTypes;\nEmoji.defaultProps = _extends({}, EmojiDefaultProps, { data: data });\n\nexport default Emoji;","import _extends from '../../polyfills/extends';\nimport _Object$getPrototypeOf from '../../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../../polyfills/createClass';\nimport _possibleConstructorReturn from '../../polyfills/possibleConstructorReturn';\nimport _inherits from '../../polyfills/inherits';\nimport '../../vendor/raf-polyfill';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport store from '../../utils/store';\nimport frequently from '../../utils/frequently';\nimport { deepMerge, measureScrollbar } from '../../utils';\nimport { uncompress } from '../../utils/data';\nimport { PickerPropTypes, PickerDefaultProps } from '../../utils/shared-props';\n\nimport { Anchors, Category, Preview, Search } from '..';\n\nvar I18N = {\n search: 'Search',\n notfound: 'No Emoji Found',\n categories: {\n search: 'Search Results',\n recent: 'Frequently Used',\n people: 'Smileys & People',\n nature: 'Animals & Nature',\n foods: 'Food & Drink',\n activity: 'Activity',\n places: 'Travel & Places',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags',\n custom: 'Custom'\n }\n};\n\nvar NimblePicker = function (_React$PureComponent) {\n _inherits(NimblePicker, _React$PureComponent);\n\n function NimblePicker(props) {\n _classCallCheck(this, NimblePicker);\n\n var _this = _possibleConstructorReturn(this, (NimblePicker.__proto__ || _Object$getPrototypeOf(NimblePicker)).call(this, props));\n\n _this.RECENT_CATEGORY = { id: 'recent', name: 'Recent', emojis: null };\n _this.CUSTOM_CATEGORY = { id: 'custom', name: 'Custom', emojis: [] };\n _this.SEARCH_CATEGORY = {\n id: 'search',\n name: 'Search',\n emojis: null,\n anchor: false\n };\n\n if (props.data.compressed) {\n uncompress(props.data);\n }\n\n _this.data = props.data;\n _this.i18n = deepMerge(I18N, props.i18n);\n _this.state = {\n skin: props.skin || store.get('skin') || props.defaultSkin,\n firstRender: true\n };\n\n _this.categories = [];\n var allCategories = [].concat(_this.data.categories);\n\n if (props.custom.length > 0) {\n _this.CUSTOM_CATEGORY.emojis = props.custom.map(function (emoji) {\n return _extends({}, emoji, {\n // `<Category />` expects emoji to have an `id`.\n id: emoji.short_names[0],\n custom: true\n });\n });\n\n allCategories.push(_this.CUSTOM_CATEGORY);\n }\n\n _this.hideRecent = true;\n\n if (props.include != undefined) {\n allCategories.sort(function (a, b) {\n if (props.include.indexOf(a.id) > props.include.indexOf(b.id)) {\n return 1;\n }\n\n return -1;\n });\n }\n\n for (var categoryIndex = 0; categoryIndex < allCategories.length; categoryIndex++) {\n var category = allCategories[categoryIndex];\n var isIncluded = props.include && props.include.length ? props.include.indexOf(category.id) > -1 : true;\n var isExcluded = props.exclude && props.exclude.length ? props.exclude.indexOf(category.id) > -1 : false;\n if (!isIncluded || isExcluded) {\n continue;\n }\n\n if (props.emojisToShowFilter) {\n var newEmojis = [];\n\n var emojis = category.emojis;\n\n for (var emojiIndex = 0; emojiIndex < emojis.length; emojiIndex++) {\n var emoji = emojis[emojiIndex];\n if (props.emojisToShowFilter(_this.data.emojis[emoji] || emoji)) {\n newEmojis.push(emoji);\n }\n }\n\n if (newEmojis.length) {\n var newCategory = {\n emojis: newEmojis,\n name: category.name,\n id: category.id\n };\n\n _this.categories.push(newCategory);\n }\n } else {\n _this.categories.push(category);\n }\n }\n\n var includeRecent = props.include && props.include.length ? props.include.indexOf(_this.RECENT_CATEGORY.id) > -1 : true;\n var excludeRecent = props.exclude && props.exclude.length ? props.exclude.indexOf(_this.RECENT_CATEGORY.id) > -1 : false;\n if (includeRecent && !excludeRecent) {\n _this.hideRecent = false;\n _this.categories.unshift(_this.RECENT_CATEGORY);\n }\n\n if (_this.categories[0]) {\n _this.categories[0].first = true;\n }\n\n _this.categories.unshift(_this.SEARCH_CATEGORY);\n\n _this.setAnchorsRef = _this.setAnchorsRef.bind(_this);\n _this.handleAnchorClick = _this.handleAnchorClick.bind(_this);\n _this.setSearchRef = _this.setSearchRef.bind(_this);\n _this.handleSearch = _this.handleSearch.bind(_this);\n _this.setScrollRef = _this.setScrollRef.bind(_this);\n _this.handleScroll = _this.handleScroll.bind(_this);\n _this.handleScrollPaint = _this.handleScrollPaint.bind(_this);\n _this.handleEmojiOver = _this.handleEmojiOver.bind(_this);\n _this.handleEmojiLeave = _this.handleEmojiLeave.bind(_this);\n _this.handleEmojiClick = _this.handleEmojiClick.bind(_this);\n _this.handleEmojiSelect = _this.handleEmojiSelect.bind(_this);\n _this.setPreviewRef = _this.setPreviewRef.bind(_this);\n _this.handleSkinChange = _this.handleSkinChange.bind(_this);\n _this.handleKeyDown = _this.handleKeyDown.bind(_this);\n return _this;\n }\n\n _createClass(NimblePicker, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n if (props.skin) {\n this.setState({ skin: props.skin });\n } else if (props.defaultSkin && !store.get('skin')) {\n this.setState({ skin: props.defaultSkin });\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n if (this.state.firstRender) {\n this.testStickyPosition();\n this.firstRenderTimeout = setTimeout(function () {\n _this2.setState({ firstRender: false });\n }, 60);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.updateCategoriesSize();\n this.handleScroll();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.SEARCH_CATEGORY.emojis = null;\n\n clearTimeout(this.leaveTimeout);\n clearTimeout(this.firstRenderTimeout);\n }\n }, {\n key: 'testStickyPosition',\n value: function testStickyPosition() {\n var stickyTestElement = document.createElement('div');\n\n var prefixes = ['', '-webkit-', '-ms-', '-moz-', '-o-'];\n\n prefixes.forEach(function (prefix) {\n return stickyTestElement.style.position = prefix + 'sticky';\n });\n\n this.hasStickyPosition = !!stickyTestElement.style.position.length;\n }\n }, {\n key: 'handleEmojiOver',\n value: function handleEmojiOver(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n }\n\n // Use Array.prototype.find() when it is more widely supported.\n var emojiData = this.CUSTOM_CATEGORY.emojis.filter(function (customEmoji) {\n return customEmoji.id === emoji.id;\n })[0];\n for (var key in emojiData) {\n if (emojiData.hasOwnProperty(key)) {\n emoji[key] = emojiData[key];\n }\n }\n\n preview.setState({ emoji: emoji });\n clearTimeout(this.leaveTimeout);\n }\n }, {\n key: 'handleEmojiLeave',\n value: function handleEmojiLeave(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n }\n\n this.leaveTimeout = setTimeout(function () {\n preview.setState({ emoji: null });\n }, 16);\n }\n }, {\n key: 'handleEmojiClick',\n value: function handleEmojiClick(emoji, e) {\n this.props.onClick(emoji, e);\n this.handleEmojiSelect(emoji);\n }\n }, {\n key: 'handleEmojiSelect',\n value: function handleEmojiSelect(emoji) {\n var _this3 = this;\n\n this.props.onSelect(emoji);\n if (!this.hideRecent && !this.props.recent) frequently.add(emoji);\n\n var component = this.categoryRefs['category-1'];\n if (component) {\n var maxMargin = component.maxMargin;\n component.forceUpdate();\n\n window.requestAnimationFrame(function () {\n if (!_this3.scroll) return;\n component.memoizeSize();\n if (maxMargin == component.maxMargin) return;\n\n _this3.updateCategoriesSize();\n _this3.handleScrollPaint();\n\n if (_this3.SEARCH_CATEGORY.emojis) {\n component.updateDisplay('none');\n }\n });\n }\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll() {\n if (!this.waitingForPaint) {\n this.waitingForPaint = true;\n window.requestAnimationFrame(this.handleScrollPaint);\n }\n }\n }, {\n key: 'handleScrollPaint',\n value: function handleScrollPaint() {\n this.waitingForPaint = false;\n\n if (!this.scroll) {\n return;\n }\n\n var activeCategory = null;\n\n if (this.SEARCH_CATEGORY.emojis) {\n activeCategory = this.SEARCH_CATEGORY;\n } else {\n var target = this.scroll,\n scrollTop = target.scrollTop,\n scrollingDown = scrollTop > (this.scrollTop || 0),\n minTop = 0;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var ii = scrollingDown ? this.categories.length - 1 - i : i,\n category = this.categories[ii],\n component = this.categoryRefs['category-' + ii];\n\n if (component) {\n var active = component.handleScroll(scrollTop);\n\n if (!minTop || component.top < minTop) {\n if (component.top > 0) {\n minTop = component.top;\n }\n }\n\n if (active && !activeCategory) {\n activeCategory = category;\n }\n }\n }\n\n if (scrollTop < minTop) {\n activeCategory = this.categories.filter(function (category) {\n return !(category.anchor === false);\n })[0];\n } else if (scrollTop + this.clientHeight >= this.scrollHeight) {\n activeCategory = this.categories[this.categories.length - 1];\n }\n }\n\n if (activeCategory) {\n var anchors = this.anchors;\n var _activeCategory = activeCategory;\n var categoryName = _activeCategory.name;\n\n\n if (anchors.state.selected != categoryName) {\n anchors.setState({ selected: categoryName });\n }\n }\n\n this.scrollTop = scrollTop;\n }\n }, {\n key: 'handleSearch',\n value: function handleSearch(emojis) {\n this.SEARCH_CATEGORY.emojis = emojis;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs['category-' + i];\n\n if (component && component.props.name != 'Search') {\n var display = emojis ? 'none' : 'inherit';\n component.updateDisplay(display);\n }\n }\n\n this.forceUpdate();\n this.scroll.scrollTop = 0;\n this.handleScroll();\n }\n }, {\n key: 'handleAnchorClick',\n value: function handleAnchorClick(category, i) {\n var component = this.categoryRefs['category-' + i];\n var scroll = this.scroll;\n var anchors = this.anchors;\n var scrollToComponent = null;\n\n scrollToComponent = function scrollToComponent() {\n if (component) {\n var top = component.top;\n\n\n if (category.first) {\n top = 0;\n } else {\n top += 1;\n }\n\n scroll.scrollTop = top;\n }\n };\n\n if (this.SEARCH_CATEGORY.emojis) {\n this.handleSearch(null);\n this.search.clear();\n\n window.requestAnimationFrame(scrollToComponent);\n } else {\n scrollToComponent();\n }\n }\n }, {\n key: 'handleSkinChange',\n value: function handleSkinChange(skin) {\n var newState = { skin: skin };\n var onSkinChange = this.props.onSkinChange;\n\n\n this.setState(newState);\n store.update(newState);\n\n onSkinChange(skin);\n }\n }, {\n key: 'handleKeyDown',\n value: function handleKeyDown(e) {\n var handled = false;\n\n switch (e.keyCode) {\n case 13:\n var emoji = void 0;\n\n if (this.SEARCH_CATEGORY.emojis && (emoji = this.SEARCH_CATEGORY.emojis[0])) {\n this.handleEmojiSelect(emoji);\n }\n\n handled = true;\n break;\n }\n\n if (handled) {\n e.preventDefault();\n }\n }\n }, {\n key: 'updateCategoriesSize',\n value: function updateCategoriesSize() {\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs['category-' + i];\n if (component) component.memoizeSize();\n }\n\n if (this.scroll) {\n var target = this.scroll;\n this.scrollHeight = target.scrollHeight;\n this.clientHeight = target.clientHeight;\n }\n }\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.state.firstRender ? this.categories.slice(0, 3) : this.categories;\n }\n }, {\n key: 'setAnchorsRef',\n value: function setAnchorsRef(c) {\n this.anchors = c;\n }\n }, {\n key: 'setSearchRef',\n value: function setSearchRef(c) {\n this.search = c;\n }\n }, {\n key: 'setPreviewRef',\n value: function setPreviewRef(c) {\n this.preview = c;\n }\n }, {\n key: 'setScrollRef',\n value: function setScrollRef(c) {\n this.scroll = c;\n }\n }, {\n key: 'setCategoryRef',\n value: function setCategoryRef(name, c) {\n if (!this.categoryRefs) {\n this.categoryRefs = {};\n }\n\n this.categoryRefs[name] = c;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props = this.props;\n var perLine = _props.perLine;\n var emojiSize = _props.emojiSize;\n var set = _props.set;\n var sheetSize = _props.sheetSize;\n var style = _props.style;\n var title = _props.title;\n var emoji = _props.emoji;\n var color = _props.color;\n var native = _props.native;\n var backgroundImageFn = _props.backgroundImageFn;\n var emojisToShowFilter = _props.emojisToShowFilter;\n var showPreview = _props.showPreview;\n var showSkinTones = _props.showSkinTones;\n var emojiTooltip = _props.emojiTooltip;\n var include = _props.include;\n var exclude = _props.exclude;\n var recent = _props.recent;\n var autoFocus = _props.autoFocus;\n var skin = this.state.skin;\n var width = perLine * (emojiSize + 12) + 12 + 2 + measureScrollbar();\n\n return React.createElement(\n 'div',\n {\n style: _extends({ width: width }, style),\n className: 'emoji-mart',\n onKeyDown: this.handleKeyDown\n },\n React.createElement(\n 'div',\n { className: 'emoji-mart-bar' },\n React.createElement(Anchors, {\n ref: this.setAnchorsRef,\n data: this.data,\n i18n: this.i18n,\n color: color,\n categories: this.categories,\n onAnchorClick: this.handleAnchorClick\n })\n ),\n React.createElement(Search, {\n ref: this.setSearchRef,\n onSearch: this.handleSearch,\n data: this.data,\n i18n: this.i18n,\n emojisToShowFilter: emojisToShowFilter,\n include: include,\n exclude: exclude,\n custom: this.CUSTOM_CATEGORY.emojis,\n autoFocus: autoFocus\n }),\n React.createElement(\n 'div',\n {\n ref: this.setScrollRef,\n className: 'emoji-mart-scroll',\n onScroll: this.handleScroll\n },\n this.getCategories().map(function (category, i) {\n return React.createElement(Category, {\n ref: _this4.setCategoryRef.bind(_this4, 'category-' + i),\n key: category.name,\n id: category.id,\n name: category.name,\n emojis: category.emojis,\n perLine: perLine,\n native: native,\n hasStickyPosition: _this4.hasStickyPosition,\n data: _this4.data,\n i18n: _this4.i18n,\n recent: category.id == _this4.RECENT_CATEGORY.id ? recent : undefined,\n custom: category.id == _this4.RECENT_CATEGORY.id ? _this4.CUSTOM_CATEGORY.emojis : undefined,\n emojiProps: {\n native: native,\n skin: skin,\n size: emojiSize,\n set: set,\n sheetSize: sheetSize,\n forceSize: native,\n tooltip: emojiTooltip,\n backgroundImageFn: backgroundImageFn,\n onOver: _this4.handleEmojiOver,\n onLeave: _this4.handleEmojiLeave,\n onClick: _this4.handleEmojiClick\n }\n });\n })\n ),\n showPreview && React.createElement(\n 'div',\n { className: 'emoji-mart-bar' },\n React.createElement(Preview, {\n ref: this.setPreviewRef,\n data: this.data,\n title: title,\n emoji: emoji,\n showSkinTones: showSkinTones,\n emojiProps: {\n native: native,\n size: 38,\n skin: skin,\n set: set,\n sheetSize: sheetSize,\n backgroundImageFn: backgroundImageFn\n },\n skinsProps: {\n skin: skin,\n onChange: this.handleSkinChange\n }\n })\n )\n );\n }\n }]);\n\n return NimblePicker;\n}(React.PureComponent);\n\nexport default NimblePicker;\n\nNimblePicker.defaultProps = _extends({}, PickerDefaultProps);","import _extends from '../../polyfills/extends';\nimport _Object$getPrototypeOf from '../../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../../polyfills/createClass';\nimport _possibleConstructorReturn from '../../polyfills/possibleConstructorReturn';\nimport _inherits from '../../polyfills/inherits';\nimport React from 'react';\n\nimport data from '../../../data/all.json';\nimport NimblePicker from './nimble-picker';\n\nimport { PickerPropTypes, PickerDefaultProps } from '../../utils/shared-props';\n\nvar Picker = function (_React$PureComponent) {\n _inherits(Picker, _React$PureComponent);\n\n function Picker() {\n _classCallCheck(this, Picker);\n\n return _possibleConstructorReturn(this, (Picker.__proto__ || _Object$getPrototypeOf(Picker)).apply(this, arguments));\n }\n\n _createClass(Picker, [{\n key: 'render',\n value: function render() {\n return React.createElement(NimblePicker, _extends({}, this.props, this.state));\n }\n }]);\n\n return Picker;\n}(React.PureComponent);\n\nexport default Picker;\n\nPicker.defaultProps = _extends({}, PickerDefaultProps, { data: data });","var mapping = {\n name: 'a',\n unified: 'b',\n non_qualified: 'c',\n has_img_apple: 'd',\n has_img_google: 'e',\n has_img_twitter: 'f',\n has_img_emojione: 'g',\n has_img_facebook: 'h',\n has_img_messenger: 'i',\n keywords: 'j',\n sheet: 'k',\n emoticons: 'l',\n text: 'm',\n short_names: 'n',\n added_in: 'o'\n};\n\nvar buildSearch = function buildSearch(emoji) {\n var search = [];\n\n var addToSearch = function addToSearch(strings, split) {\n if (!strings) {\n return;\n }\n\n ;(Array.isArray(strings) ? strings : [strings]).forEach(function (string) {\n ;(split ? string.split(/[-|_|\\s]+/) : [string]).forEach(function (s) {\n s = s.toLowerCase();\n\n if (search.indexOf(s) == -1) {\n search.push(s);\n }\n });\n });\n };\n\n addToSearch(emoji.short_names, true);\n addToSearch(emoji.name, true);\n addToSearch(emoji.keywords, false);\n addToSearch(emoji.emoticons, false);\n\n return search.join(',');\n};\n\nvar compress = function compress(emoji) {\n emoji.short_names = emoji.short_names.filter(function (short_name) {\n return short_name !== emoji.short_name;\n });\n delete emoji.short_name;\n\n emoji.sheet = [emoji.sheet_x, emoji.sheet_y];\n delete emoji.sheet_x;\n delete emoji.sheet_y;\n\n emoji.added_in = parseInt(emoji.added_in);\n if (emoji.added_in === 6) {\n delete emoji.added_in;\n }\n\n for (var key in mapping) {\n emoji[mapping[key]] = emoji[key];\n delete emoji[key];\n }\n\n for (var _key in emoji) {\n var value = emoji[_key];\n\n if (Array.isArray(value) && !value.length) {\n delete emoji[_key];\n } else if (typeof value === 'string' && !value.length) {\n delete emoji[_key];\n } else if (value === null) {\n delete emoji[_key];\n }\n }\n};\n\nvar uncompress = function uncompress(data) {\n data.compressed = false;\n\n for (var id in data.emojis) {\n var emoji = data.emojis[id];\n\n for (var key in mapping) {\n emoji[key] = emoji[mapping[key]];\n delete emoji[mapping[key]];\n }\n\n if (!emoji.short_names) emoji.short_names = [];\n emoji.short_names.unshift(id);\n\n emoji.sheet_x = emoji.sheet[0];\n emoji.sheet_y = emoji.sheet[1];\n delete emoji.sheet;\n\n if (!emoji.text) emoji.text = '';\n\n if (!emoji.added_in) emoji.added_in = 6;\n emoji.added_in = emoji.added_in.toFixed(1);\n\n emoji.search = buildSearch(emoji);\n }\n};\n\nmodule.exports = { buildSearch: buildSearch, compress: compress, uncompress: uncompress };","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n\n// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel\n\n// MIT license\n\nvar isWindowAvailable = typeof window !== 'undefined';\n\nisWindowAvailable && function () {\n var lastTime = 0;\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\n }\n\n if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback, element) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n var id = window.setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n\n lastTime = currTime + timeToCall;\n return id;\n };\n\n if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {\n clearTimeout(id);\n };\n}();"],"sourceRoot":""} |