allow undoing
[akkoma] / priv / static / packs / emoji_picker.js.map
index 5b3e258f1f31fdd847c1622db88735ecd1a308b7..8deead92fa21250dfb46d9300ff204ce12906325 100644 (file)
@@ -1 +1 @@
-{"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":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/emoji/emoji_picker.js"],"names":[],"mappings":"2FAAA","file":"emoji_picker.js","sourcesContent":["import Picker from 'emoji-mart/dist-es/components/picker/picker';\nimport Emoji from 'emoji-mart/dist-es/components/emoji/emoji';\n\nexport {\n  Picker,\n  Emoji,\n};\n"],"sourceRoot":""}
\ No newline at end of file