emoji-picker-react 3.4.9 → 3.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://EmojiPicker/webpack/universalModuleDefinition","webpack://EmojiPicker/webpack/bootstrap","webpack://EmojiPicker/external \"react\"","webpack://EmojiPicker/./node_modules/prop-types/index.js","webpack://EmojiPicker/./lib/constants/index.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://EmojiPicker/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://EmojiPicker/./node_modules/css-loader/dist/runtime/api.js","webpack://EmojiPicker/./node_modules/classnames/index.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/extends.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://EmojiPicker/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://EmojiPicker/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://EmojiPicker/./src/components/SkinTones/style.css?70fd","webpack://EmojiPicker/./src/components/SkinTones/style.css","webpack://EmojiPicker/./src/components/EmojiImg/style.css?d019","webpack://EmojiPicker/./src/components/EmojiImg/style.css","webpack://EmojiPicker/./src/components/VariationsMenu/style.css?a78e","webpack://EmojiPicker/./src/components/VariationsMenu/style.css","webpack://EmojiPicker/./src/components/CategoriesNav/style.css?51a7","webpack://EmojiPicker/./src/components/CategoriesNav/style.css","webpack://EmojiPicker/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://EmojiPicker/./src/components/CategoriesNav/svg/activities.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/animals_nature.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/flags.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/food_drink.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/objects.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/smileys_people.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/symbols.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/travel_places.svg","webpack://EmojiPicker/./src/components/Emoji/style.css?7102","webpack://EmojiPicker/./src/components/Emoji/style.css","webpack://EmojiPicker/./src/components/EmojiList/style.css?ab89","webpack://EmojiPicker/./src/components/EmojiList/style.css","webpack://EmojiPicker/./src/components/Search/style.css?0442","webpack://EmojiPicker/./src/components/Search/style.css","webpack://EmojiPicker/./src/style.css?7163","webpack://EmojiPicker/./src/style.css","webpack://EmojiPicker/./src/lib/globalObject/index.js","webpack://EmojiPicker/./src/lib/constants/index.js","webpack://EmojiPicker/./src/lib/recentlyUsed/index.js","webpack://EmojiPicker/./src/lib/emojiOutput/index.js","webpack://EmojiPicker/./src/lib/clickHandler/index.js","webpack://EmojiPicker/./src/components/SkinTones/constants.js","webpack://EmojiPicker/./src/components/SkinTones/index.js","webpack://EmojiPicker/./src/PickerContext/index.js","webpack://EmojiPicker/./src/lib/propTypes/index.js","webpack://EmojiPicker/./src/hooks/useEmojiUrl.js","webpack://EmojiPicker/./src/lib/emojiSrc/index.js","webpack://EmojiPicker/./src/components/EmojiImg/index.js","webpack://EmojiPicker/./src/components/VariationsMenu/index.js","webpack://EmojiPicker/./src/components/CategoriesNav/index.js","webpack://EmojiPicker/./lib/emojiStorage/index.js","webpack://EmojiPicker/./src/hooks/useIntersectionObserver.js","webpack://EmojiPicker/./src/hooks/useScrollUpOnFilterChange.js","webpack://EmojiPicker/./src/lib/setEmojiName/index.js","webpack://EmojiPicker/./src/components/Emoji/index.js","webpack://EmojiPicker/./src/components/Emoji/colors.js","webpack://EmojiPicker/./src/components/EmojiList/index.js","webpack://EmojiPicker/./lib/reduceBatch/index.js","webpack://EmojiPicker/./src/hooks/useFilter.js","webpack://EmojiPicker/./lib/initSearch/index.js","webpack://EmojiPicker/./src/components/Search/index.js","webpack://EmojiPicker/./src/components/RecentlyUsed/index.js","webpack://EmojiPicker/./src/index.js"],"names":["root","factory","exports","module","require","define","amd","global","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","EMOJI_PROPERTY_NAME","EMOJI_PROPERTY_UNIFIED","EMOJI_PROPERTY_SKIN_VARIATIONS","EMOJI_PROPERTY_GROUP","GROUP_NAME_PEOPLE","GROUP_NAME_NATURE","GROUP_NAME_FOOD","GROUP_NAME_TRAVEL","GROUP_NAME_ACTIVITIES","GROUP_NAME_OBJECTS","GROUP_NAME_SYMBOLS","GROUP_NAME_FLAGS","GROUP_NAME_RECENTLY_USED","obj","configurable","writable","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arr","arrayWithoutHoles","iterableToArray","nonIterableSpread","memo","isOldIE","Boolean","window","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","id","base","count","concat","index","css","media","sourceMap","references","updater","push","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","join","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","btoa","unescape","encodeURIComponent","JSON","stringify","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","toString","newLastIdentifiers","_i","_index","splice","useSourceMap","this","map","content","cssMapping","sourceMapping","base64","data","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","hasOwn","classNames","classes","arguments","arg","argType","Array","isArray","inner","apply","default","_extends","assign","len","arr2","arrayLikeToArray","minLen","slice","constructor","from","test","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","iter","iterator","TypeError","_arr","_n","_d","_e","undefined","_s","next","done","api","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","url","hash","needQuotes","replace","globalObject","GROUP_NAMES_ENGLISH","LOCAL_STORAGE_PRESENT","getRecentlyUsed","ruList","localStorage","getItem","parse","setRecentlyUsed","unified","originalUnified","unifiedParts","split","skinVariation","output","setItem","emojiOutput","emoji","activeSkinTone","extra","hex","parseInt","String","fromCodePoint","names","clickHandler","onClickRef","current","SKIN_TONE_NEUTRAL","SKIN_TONE_LIGHT","SKIN_TONE_MEDIUM_LIGHT","SKIN_TONE_MEDIUM","SKIN_TONE_MEDIUM_DARK","SKIN_TONE_DARK","SkinTones","setSkinToneSpread","toggleSkinTonesSpread","useContext","PickerContext","skinToneSpreadState","skinToneSpread","useSkinToneSpreadValue","setActiveSkinTone","activeSkinToneState","skinTone","useSetActiveSkinTone","useActiveSkinTone","handleClick","className","skinTones","tone","isActive","transform","zIndex","type","onChange","htmlFor","data-name","onClick","groupNamesPropType","smileys_people","animals_nature","food_drink","travel_places","activities","objects","symbols","flags","recently_used","configPropTypes","emojiUrl","preload","groupNames","native","groupVisibility","disableAutoFocus","disableSearchBar","disableSkinTonePicker","createContext","PickerContextProvider","children","config","recentlyUsed","onEmojiClick","activeCategoryState","useState","filterState","filterResult","seenGroupsState","missingEmojiState","variationMenuState","Provider","useActiveCategory","useFilterValue","useFilterResult","useSetSeenGroups","setSeenGroups","group","seenGroups","useMissingEmojis","useVariationMenuValue","useCloseVariationMenu","setVariationMenu","skinToneSpreadValue","collapseSkinTones","getAttribute","useConfig","useOnEmojiClick","propTypes","useEmojiUrl","emojiSrc","src","EmojiImg","shouldLoad","Img","setMissingEmoji","missingEmoji","useSetMissingEmoji","onError","VariationsMenu","showMenu","setShowMenu","closeVariations","variationMenu","useEffect","cn","visible","find","v","includes","onMouseDown","stopPropagation","CategoriesNav","emojiListRef","refNav","useRef","activeCategory","setActiveCategory","inactive","$group","left","barOpacity","offsetLeft","category","scrollTop","offsetTop","ref","groups","active","Math","max","opacity","display","Element","initEmojis","groupedEmojis","storage","emojis","reduce","useIntersectionObserver","activeCategoryRef","filterResultRef","renderOne","observer","refActiveCategory","IntersectionObserver","entries","entry","intersectionRatio","parentElement","querySelectorAll","observe","threshold","disconnect","useScrollUpOnFilterChange","setEmojiName","emojiName","closest","pastels","mouseDownTimeout","handleMouseUp","clearTimeout","Emoji","order","hidden","openVariationMenu","variationMenuOpenRef","handleMouseEnter","handleMouseLeave","hasSkinVariation","color","u","indexOf","setTimeout","onMouseEnter","onMouseLeave","onMouseUp","createEmojiList","searchTerm","activeVariation","unsetEmojiName","useCallback","useMemo","listToUse","emojiStorage","accumulator","shown","EmojiList","setRenderOne","requestAnimationFrame","Fragment","ListRender","React","data-display-name","searchTerms","mappedSearchTerms","reduceBatch","cb","initialValue","batchSize","Promise","resolve","batch","allEmojis","values","term","toLowerCase","then","char","res","useFilter","dispatch","setFilterResult","setFilter","nextFilter","prevKey","trim","terms","sliceIndex","last","Search","position","autoFocus","RecentlyUsed","EmojiPicker","DEFAULT_EMOJI_URL","pickerStyle","isMounted","Aside","onScroll"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"EmojiPicker\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"EmojiPicker\"] = factory(root[\"react\"]);\n})(global, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = {\n EMOJI_PROPERTY_NAME: 'n',\n EMOJI_PROPERTY_UNIFIED: 'u',\n EMOJI_PROPERTY_SKIN_VARIATIONS: 'v',\n EMOJI_PROPERTY_GROUP: 'g',\n GROUP_NAME_PEOPLE: 'smileys_people',\n GROUP_NAME_NATURE: 'animals_nature',\n GROUP_NAME_FOOD: 'food_drink',\n GROUP_NAME_TRAVEL: 'travel_places',\n GROUP_NAME_ACTIVITIES: 'activities',\n GROUP_NAME_OBJECTS: 'objects',\n GROUP_NAME_SYMBOLS: 'symbols',\n GROUP_NAME_FLAGS: 'flags',\n GROUP_NAME_RECENTLY_USED: 'recently_used',\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function _extends() {\n module.exports = _extends = 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 };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react ul.skin-tones-list {\\n padding: 0;\\n margin: 0;\\n list-style-type: none;\\n position: absolute;\\n top: 13px;\\n right: 40px;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list li {\\n background-color: currentColor;\\n position: absolute;\\n padding: 0;\\n border-radius: 2px;\\n overflow: hidden;\\n transition: transform 0.3s ease;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list label {\\n height: 10px;\\n width: 10px;\\n padding: 0;\\n display: block;\\n cursor: pointer;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list input {\\n height: 0;\\n width: 0;\\n opacity: 0;\\n visibility: hidden;\\n display: none;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list li.tneutral {\\n color: #ffd225;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fb {\\n color: #ffdfbd;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fc {\\n color: #e9c197;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fd {\\n color: #c88e62;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fe {\\n color: #a86637;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3ff {\\n color: #60463a;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react img.emoji-img {\\n height: 25px;\\n width: 25px;\\n margin: 5px;\\n}\\n\\n.emoji-picker-react .native {\\n height: 25px;\\n width: 25px;\\n margin: 5px;\\n font-size: 25px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n font-family: 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', Times,\\n Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .variation-wrapper {\\n position: relative;\\n}\\n\\n.emoji-picker-react .variation-list {\\n background: #f4f4f4;\\n border-bottom: 1px solid #efefef;\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 10;\\n margin: 0;\\n padding: 0;\\n display: flex;\\n justify-content: space-evenly;\\n list-style-type: none;\\n transition: transform 0.1s;\\n transform: translateY(-100%);\\n}\\n\\n.emoji-picker-react .variation-list.visible {\\n transform: translateY(0);\\n}\\n\\n.emoji-picker-react .variation-list button {\\n display: flex;\\n}\\n\\n.emoji-picker-react .variation-list button {\\n border-radius: 5px;\\n transition: background 0.1s;\\n background: none;\\n padding: 0;\\n}\\n\\n.emoji-picker-react .variation-list button:hover {\\n background-color: #dbdbdb;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./svg/activities.svg\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"./svg/animals_nature.svg\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"./svg/flags.svg\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"./svg/food_drink.svg\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"./svg/objects.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"./svg/smileys_people.svg\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"./svg/symbols.svg\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"./svg/travel_places.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji-categories button {\\n height: 40px;\\n width: 20px;\\n padding: 5px 0;\\n background-repeat: no-repeat;\\n background-size: 20px;\\n background-position: 50% 50%;\\n cursor: pointer;\\n opacity: 0.5;\\n transition: opacity 0.1s;\\n}\\n\\n.emoji-picker-react .active-category-indicator-wrapper {\\n position: relative;\\n width: 100%;\\n}\\n.emoji-picker-react\\n .active-category-indicator-wrapper\\n .active-category-indicator {\\n background: #99c2f1;\\n height: 3px;\\n width: 5px;\\n position: absolute;\\n bottom: 3px;\\n border-radius: 5px;\\n transition: 0.3s;\\n width: 30px;\\n left: -7px;\\n}\\n\\n.emoji-picker-react .emoji-categories button.icn-activities {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-animals_nature {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-flags {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-food_drink {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-objects {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-smileys_people {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-symbols {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-travel_places {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \");\\n}\\n\\n.emoji-picker-react .emoji-categories {\\n padding: 0 15px;\\n display: flex;\\n justify-content: space-between;\\n box-sizing: border-box;\\n}\\n\\n.emoji-picker-react .emoji-categories.inactive button,\\n.emoji-picker-react .emoji-categories.inactive button.active,\\n.emoji-picker-react .emoji-categories.inactive button:hover {\\n opacity: 0.4;\\n cursor: default;\\n}\\n\\n.emoji-picker-react .emoji-categories button.active {\\n opacity: 1;\\n}\\n\\n.emoji-picker-react .emoji-categories button:hover {\\n opacity: 0.7;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== 'string') {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n }\n\n return url;\n};","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 0C14.355 0 0 14.355 0 32s14.355 32 32 32 32-14.355 32-32S49.645 0 32 0zm29.624 36.731l-3.885-6.439 2.681-7.88a29.867 29.867 0 0 1 1.204 14.319zm-7.558 15.567a.994.994 0 0 0-.408-.02L43.98 53.83a.993.993 0 0 0-.123-.345l-5.502-9.17 8.896-13.7h8.428a.992.992 0 0 0 .105.312l5.236 8.678a29.956 29.956 0 0 1-6.954 12.693zm-10.085 3.557l7.688-1.232a29.958 29.958 0 0 1-11.706 6.296l4.018-5.064zM12.65 9.1a29.858 29.858 0 0 1 18.628-7.082.982.982 0 0 0 .24.376l5.525 5.214-2.185 8.156-14.237 5.465c-.052-.042-.093-.094-.154-.126l-8.87-4.701L12.65 9.1zm25.736-2.976l-4.283-4.042a29.763 29.763 0 0 1 10.989 2.931l-6.706 1.111zM21.93 38.737l-.816-15.554L35.655 17.6l9.803 12.106-8.483 13.063-15.045-4.032zm37.375-19.141c-.031.054-.072.098-.093.159l-3.015 8.86h-9.048L36.882 15.937l2.113-7.887 8.27-1.371a.979.979 0 0 0 .453-.218 30.2 30.2 0 0 1 11.587 13.135zm-48.994-8.289l-.802 5.561-5.349 3.975a30.035 30.035 0 0 1 6.151-9.536zm-7.255 12.82c.044-.023.09-.037.131-.068l7.737-5.751 8.158 4.323.888 16.936c.002.025.013.048.016.073l-7.71 7.629c-.066.065-.105.145-.149.222L4.734 44.32c-.028-.012-.057-.009-.085-.018A29.822 29.822 0 0 1 2 32c0-2.725.372-5.362 1.056-7.873zm3.022 22.945l5.415 2.322 4.141 7.729a30.222 30.222 0 0 1-9.556-10.051zm12.759 11.879c-.019-.064-.025-.131-.058-.192l-5.317-9.924c.076-.043.155-.08.22-.145l8.027-7.942 14.507 3.888 5.927 9.879c.05.083.11.154.178.217l-5.449 6.867c-1.587.26-3.213.401-4.872.401-4.72 0-9.186-1.099-13.163-3.049z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83 0 172.229 0 235s24.444 121.784 68.83 166.17S172.229 470 235 470s121.784-24.444 166.17-68.83S470 297.771 470 235s-24.444-121.784-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Cpath d='M382.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM322.5 135.459c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM117.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM436.826 253.173a7.5 7.5 0 0 0-5.443-2.6c-12.664-.4-24.343-7.548-32.041-19.608a7.5 7.5 0 0 0-12.643-.001c-7.974 12.489-20.074 19.652-33.2 19.652-13.089 0-25.177-7.164-33.162-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.192 19.66-13.098 0-25.189-7.164-33.175-19.656a7.5 7.5 0 0 0-12.64.004c-7.974 12.489-20.069 19.652-33.187 19.652-13.098 0-25.19-7.164-33.176-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.191 19.66-13.099 0-25.19-7.164-33.175-19.655a7.5 7.5 0 0 0-12.64.004c-7.699 12.061-19.389 19.207-32.07 19.608a7.494 7.494 0 0 0-5.443 2.6 7.497 7.497 0 0 0-1.769 5.767c5.786 49.506 29.545 95.215 66.901 128.706C135.964 421.407 184.509 440 235 440c45.241 0 88.17-14.518 124.145-41.982a7.498 7.498 0 0 0 1.41-10.512 7.496 7.496 0 0 0-10.512-1.41C316.705 411.547 276.924 425 235 425c-93.882 0-173.276-68.424-187.68-160.366 11.265-2.217 21.561-8.215 29.707-17.284 10.49 11.584 24.673 18.267 39.476 18.267 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.685 18.291 39.498 18.291 14.828 0 29.022-6.689 39.511-18.284 10.493 11.595 24.682 18.284 39.491 18.284 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.679 18.291 39.485 18.291 14.826 0 29.018-6.681 39.505-18.264 8.14 9.065 18.422 15.061 29.671 17.278-6.044 38.177-24.008 74.246-51.068 102.269a7.5 7.5 0 1 0 10.791 10.419c31.08-32.185 51.038-74.226 56.198-118.38a7.495 7.495 0 0 0-1.769-5.766z'/%3E%3Cpath d='M289.513 310.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM358.49 280.616h-10c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5zM111.503 280.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM235 191.25c30.327 0 55-24.673 55-55s-24.673-55-55-55-55 24.673-55 55 24.673 55 55 55zm0-95c22.056 0 40 17.944 40 40s-17.944 40-40 40-40-17.944-40-40 17.944-40 40-40z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 502 502'%3E%3Cpath d='M428.484 73.516C381.076 26.108 318.044 0 251 0S120.924 26.108 73.516 73.516 0 183.956 0 251s26.108 130.076 73.516 177.484S183.956 502 251 502s130.076-26.108 177.484-73.516C475.892 381.076 502 318.044 502 251s-26.108-130.076-73.516-177.484zM283.829 39h58.868c58.354 25.338 104.274 74.079 125.849 134.317h-41.725a21.139 21.139 0 0 0-19.587 13.087 21.139 21.139 0 0 0 4.595 23.104l3.3 3.3c4.638 4.637 4.638 12.184 0 16.821a11.42 11.42 0 0 1-8.13 3.368 11.422 11.422 0 0 1-8.13-3.368l-7.969-7.969c-13.135-13.135-30.599-20.369-49.175-20.369h-6.397v-8.036c0-19.265-7.502-37.376-21.124-50.999l-9.952-9.952c-10.216-10.216-23.799-15.843-38.247-15.843h-19.931c-7.721 0-14.98 3.007-20.439 8.466l-5.17 5.169c-5.459 5.459-8.466 12.718-8.466 20.439a4.736 4.736 0 0 1-4.73 4.73h-8.66v-12.154c0-8.648 3.368-16.78 9.483-22.895l5.849-5.849c5.244-5.243 8.131-12.214 8.131-19.629V92.71c0-.394.32-.713.713-.713H320.5c12.407 0 22.5-10.093 22.5-22.5S332.907 47 320.5 47h-36.671c-2.206 0-4-1.794-4-4s1.794-4 4-4zm74.893 252.437l-5.452 5.484a155.066 155.066 0 0 0-22.913 29.41l-9.918 16.5-12.403 20.492a48.673 48.673 0 0 0-7.036 25.21v.615a.857.857 0 0 1-.856.856h-.004a8.78 8.78 0 0 1-6.247-2.586 8.776 8.776 0 0 1-2.589-6.25c0-12.58-4.899-24.407-13.794-33.303l-4.591-4.591c-6.947-6.947-10.773-16.183-10.773-26.007v-29.475c0-14.806-12.045-26.851-26.852-26.851H231.8c-8.349 0-15.142-6.792-15.142-15.142v-15.343c0-9.034 7.35-16.384 16.384-16.384h79.886l24.099 24.1c6.003 6.003 9.309 13.984 9.309 22.473v11.464c0 8.56 5.082 15.955 12.386 19.328zM20 251c0-9.444.583-18.752 1.69-27.902h30.619c10.153 0 19.698 3.954 26.876 11.133l8.781 8.78c7.527 7.527 17.534 11.672 28.179 11.672 5.65 0 10.962 2.2 14.957 6.195l.193.193c7.233 7.233 11.217 16.851 11.217 27.081v17.886c0 13.63-5.308 26.444-14.945 36.082l-19.15 19.15c-13.442 13.443-21.939 30.512-24.58 49.002C44.303 368.799 20 312.684 20 251zm231 231c-56.288 0-107.93-20.247-148.049-53.827v-5.423c0-17.881 6.963-34.693 19.607-47.337l19.15-19.15c13.415-13.416 20.803-31.252 20.803-50.224v-17.886c0-15.573-6.064-30.213-17.075-41.224l-.193-.192c-7.772-7.772-18.106-12.053-29.099-12.053a19.72 19.72 0 0 1-14.036-5.814l-8.781-8.781c-10.957-10.956-25.524-16.99-41.019-16.99h-27.3C47.126 98.635 140.047 20 251 20c7.743 0 15.396.39 22.946 1.138-8.316 3.774-14.117 12.151-14.117 21.862 0 13.234 10.766 24 24 24H320.5c1.378 0 2.5 1.122 2.5 2.5s-1.122 2.5-2.5 2.5h-97.713c-11.421 0-20.713 9.292-20.713 20.713v2.028a7.706 7.706 0 0 1-2.273 5.486l-5.85 5.85c-9.893 9.893-15.341 23.047-15.341 37.037v13.574c0 10.245 8.334 18.58 18.579 18.58h10.081c13.636 0 24.73-11.094 24.73-24.73 0-2.379.926-4.615 2.608-6.297l5.169-5.169c.203-.203.414-.393.632-.574.167.195.334.389.518.574l19.932 19.932c-3.833 3.911-3.813 10.186.068 14.068 1.953 1.953 4.512 2.929 7.071 2.929s5.119-.976 7.071-2.929l7-7c3.905-3.905 3.905-10.237 0-14.143l-15.45-15.45c8.875.156 17.197 3.677 23.489 9.97l9.953 9.952c9.844 9.844 15.266 22.934 15.266 36.856v.817H233.04c-20.062 0-36.384 16.322-36.384 36.384V245.8c0 19.377 15.765 35.142 35.142 35.142h3.493a6.86 6.86 0 0 1 6.852 6.851v29.475c0 15.167 5.906 29.425 16.63 40.15l4.591 4.591c5.118 5.118 7.937 11.923 7.937 19.161 0 7.705 3.001 14.948 8.451 20.396 5.446 5.443 12.685 8.44 20.384 8.44h.015C311.648 410 321 400.644 321 389.149v-.614a28.68 28.68 0 0 1 4.146-14.854l12.409-20.502a.226.226 0 0 1 .016-.026l9.928-16.517a135.064 135.064 0 0 1 19.955-25.613l11.147-11.213c4.428-4.455 5.731-11.08 3.319-16.879s-8.029-9.546-14.31-9.546a1.274 1.274 0 0 1-1.273-1.273v-11.464c0-13.832-5.386-26.835-15.167-36.616l-2.215-2.215c10.49 1.524 20.173 6.357 27.804 13.988l7.969 7.969c6.141 6.141 14.207 9.211 22.272 9.211s16.132-3.07 22.272-9.211c6.024-6.024 9.341-14.033 9.341-22.553 0-8.519-3.317-16.528-9.341-22.553l-3.3-3.3c-.198-.198-.567-.567-.26-1.308.307-.741.829-.741 1.109-.741h47.888C479.468 211.761 482 231.09 482 251c0 127.374-103.626 231-231 231z'/%3E%3Cpath d='M184 85c5.523 0 10-4.477 10-10V54.494c0-5.523-4.477-10-10-10s-10 4.477-10 10V75c0 5.523 4.477 10 10 10zM450.39 314.63c-5.176-1.93-10.935.702-12.863 5.877C408.652 397.961 333.692 450 251 450c-5.523 0-10 4.477-10 10s4.477 10 10 10c45.543 0 89.207-13.849 126.272-40.048 36.24-25.617 63.556-61.046 78.995-102.458 1.929-5.175-.702-10.934-5.877-12.864zM202.433 444.034a198.232 198.232 0 0 1-28.554-9.526c-5.092-2.144-10.954.249-13.096 5.339-2.142 5.09.249 10.954 5.339 13.096a218.202 218.202 0 0 0 31.445 10.491c.817.205 1.635.303 2.44.303 4.478 0 8.554-3.03 9.692-7.57 1.344-5.358-1.909-10.79-7.266-12.133z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M337.502 61.244c-46.267-19.341-98.094-21.573-145.933-6.282-5.497 1.758-8.528 7.638-6.772 13.134 1.758 5.497 7.64 8.528 13.134 6.772 43.115-13.782 89.819-11.772 131.51 5.657 1.317.55 2.682.811 4.026.811 4.087 0 7.969-2.415 9.644-6.422 2.228-5.324-.284-11.445-5.609-13.67zM368.323 77.252a11.31 11.31 0 0 0-.375-.239c-4.925-3.009-11.356-1.458-14.364 3.467-2.984 4.884-1.483 11.249 3.346 14.29a10.398 10.398 0 0 0 5.587 1.626c3.377 0 6.69-1.633 8.704-4.654 3.201-4.801 1.904-11.289-2.898-14.49zM447.293 161.884c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.389-3.06l14.629-14.629c4.081-4.081 4.081-10.698.001-14.778zM83.999 214.617c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.39-3.06l14.629-14.629c4.081-4.082 4.081-10.698 0-14.778zM115.508 100.235c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.348-1.02 7.39-3.06l14.629-14.629c4.081-4.081 4.081-10.698 0-14.778zM386.754 116.24h-20.688c-5.771 0-10.449 4.678-10.449 10.449s4.678 10.449 10.449 10.449h20.688c5.771 0 10.449-4.678 10.449-10.449s-4.678-10.449-10.449-10.449zM151.326 161.908l-14.618-14.618c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.618 14.618a10.413 10.413 0 0 0 7.388 3.06c2.674 0 5.349-1.02 7.39-3.06 4.081-4.081 4.081-10.698 0-14.778zM411.753 229.241l-14.618-14.617c-4.08-4.081-10.696-4.08-14.777 0s-4.08 10.697 0 14.777l14.618 14.617c2.041 2.041 4.715 3.06 7.388 3.06s5.348-1.021 7.388-3.06c4.083-4.08 4.082-10.696.001-14.777zM318.326 126.607l-14.617-14.617c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.617 14.617a10.414 10.414 0 0 0 7.388 3.061 10.42 10.42 0 0 0 7.39-3.061c4.08-4.081 4.08-10.698 0-14.778zM195.194 97.387c-3.904-4.25-10.515-4.528-14.763-.622l-15.22 13.989c-4.249 3.905-4.527 10.515-.622 14.763a10.42 10.42 0 0 0 7.696 3.378c2.528 0 5.063-.911 7.068-2.756l15.22-13.989c4.248-3.905 4.526-10.515.621-14.763zM256.153 145.241H255.865c-5.762 0-10.437 4.665-10.449 10.429-.011 5.771 4.658 10.457 10.429 10.469H256.134c5.762 0 10.438-4.664 10.449-10.429.01-5.771-4.659-10.458-10.43-10.469z'/%3E%3Cpath d='M437.019 74.981C388.668 26.628 324.38 0 256 0S123.332 26.628 74.981 74.981C26.629 123.333 0 187.62 0 256c0 68.38 26.628 132.668 74.981 181.019C123.333 485.371 187.62 512 256 512c68.38 0 132.668-26.628 181.019-74.981C485.371 388.667 512 324.38 512 256s-26.628-132.668-74.981-181.019zM256 491.102c-94.256 0-175.718-55.763-213.173-136.024 6.781-.56 13.126-3.458 18.112-8.35 5.756-5.647 9.057-13.495 9.057-21.531v-9.364c0-7.449 6.027-13.624 13.435-13.767 3.561-.079 6.976 1.322 9.617 3.913 2.77 2.718 4.359 6.484 4.359 10.332v23.709c0 18.754 15.222 34.302 33.932 34.66.221.004.442.006.664.006 8.973 0 17.47-3.499 23.989-9.895 6.751-6.623 10.623-15.826 10.623-25.25v-18.215c20.172 27.524 52.723 45.432 89.384 45.432 52.209 0 96.09-36.312 107.73-85.007a10.027 10.027 0 0 1 2.18 6.23v25.773c0 19.673 15.968 35.984 35.596 36.361.233.004.464.006.696.006 9.409 0 18.321-3.671 25.161-10.38 7.086-6.951 11.149-16.61 11.149-26.5v-24.856c0-2.83 1.17-5.6 3.21-7.602 1.927-1.889 4.429-2.882 6.986-2.854 5.403.104 9.8 4.612 9.8 10.05v2.721c0 14.409 10.071 26.69 23.526 30.04C453.848 418.996 363.189 491.102 256 491.102zm223.405-200.399v-2.721c0-16.741-13.591-30.624-30.297-30.944-8.235-.159-16.057 2.978-22.022 8.829-6.021 5.906-9.473 14.113-9.473 22.52v24.856c0 4.314-1.782 8.536-4.886 11.582-2.97 2.912-6.846 4.462-10.82 4.397-8.326-.16-15.099-7.098-15.099-15.468v-25.773c0-13.154-8.392-24.538-20.091-28.971.027-1.001.043-2.004.043-3.011 0-46.06-29.007-87.788-72.182-103.836-5.411-2.01-11.425.745-13.434 6.154-2.01 5.409.745 11.424 6.154 13.434 35.027 13.021 58.562 46.877 58.562 84.248 0 49.549-40.312 89.861-89.861 89.861-49.549 0-89.861-40.312-89.861-89.861 0-37.372 23.535-71.228 58.565-84.246 5.409-2.01 8.164-8.026 6.154-13.434s-8.022-8.165-13.434-6.154C174.248 168.21 145.239 209.938 145.239 256a110.22 110.22 0 0 0 7.085 38.971 30.145 30.145 0 0 0-6.607 18.808v25.763c0 3.848-1.589 7.614-4.359 10.332-2.642 2.591-6.036 3.973-9.617 3.913-7.407-.142-13.434-6.317-13.434-13.766v-23.709c0-9.424-3.872-18.627-10.623-25.251-6.681-6.554-15.435-10.081-24.652-9.889-18.71.358-33.932 15.907-33.932 34.66v9.364c0 2.461-1.019 4.871-2.794 6.613-1.668 1.635-3.808 2.506-6.034 2.47-3.374-.065-6.387-2.139-7.733-5.21-7.543-23.011-11.64-47.569-11.64-73.07C20.898 126.365 126.365 20.898 256 20.898S491.102 126.365 491.102 256c0 15.182-1.464 30.026-4.227 44.414-4.281-1.138-7.47-5.083-7.47-9.711z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58.153 58.153'%3E%3Cpath d='M40.076 29.153h-7.142a3.995 3.995 0 0 0-2.858-2.858V16.153a1 1 0 1 0-2 0v10.142c-1.72.447-3 1.999-3 3.858 0 2.206 1.794 4 4 4 1.858 0 3.411-1.28 3.858-3h7.142a1 1 0 1 0 0-2zm-11 3c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z'/%3E%3Cpath d='M50.188 9.764l4.096 4.096a1 1 0 0 0 1.414 0c3.167-3.166 3.167-8.319 0-11.485s-8.319-3.166-11.485 0a.997.997 0 0 0 0 1.414l4.561 4.561-1.699 1.699c-4.78-4.284-11.089-6.896-17.998-6.896s-13.218 2.612-17.998 6.896l-1.7-1.699 4.561-4.561a.997.997 0 0 0 0-1.414c-3.166-3.166-8.318-3.166-11.485 0s-3.167 8.319 0 11.485a1 1 0 0 0 1.414 0l4.096-4.096 1.676 1.676c-4.679 4.857-7.565 11.453-7.565 18.713 0 9.898 5.357 18.564 13.321 23.265l-3.028 3.028a.999.999 0 1 0 1.414 1.414l3.45-3.45c3.578 1.754 7.597 2.743 11.843 2.743s8.265-.989 11.843-2.743l3.45 3.45a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-3.028-3.028c7.964-4.701 13.321-13.367 13.321-23.265 0-7.26-2.886-13.856-7.565-18.713l1.677-1.676zm4.095-5.975c2.146 2.146 2.362 5.502.649 7.893L46.391 3.14a6.13 6.13 0 0 1 7.892.649zM3.22 11.681c-1.713-2.39-1.497-5.746.649-7.892s5.502-2.361 7.892-.649L3.22 11.681zm25.856 43.472c-13.785 0-25-11.215-25-25s11.215-25 25-25 25 11.215 25 25-11.214 25-25 25z'/%3E%3Cpath d='M29.076 10.032a1 1 0 0 0 1-1v-1a1 1 0 1 0-2 0v1a1 1 0 0 0 1 1zM29.076 50.032a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1zM50.076 31.032h1a1 1 0 1 0 0-2h-1a1 1 0 1 0 0 2zM8.076 29.032h-1a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2zM43.926 13.768l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM13.52 44.174l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM44.633 44.174a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707zM14.227 13.768a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 33'%3E%3Cpath d='M16.5 33C7.402 33 0 25.598 0 16.5S7.402 0 16.5 0 33 7.402 33 16.5 25.598 33 16.5 33zm0-32C7.953 1 1 7.953 1 16.5S7.953 32 16.5 32 32 25.047 32 16.5 25.047 1 16.5 1z'/%3E%3Cpath d='M16.5 33a16.38 16.38 0 0 1-9.549-3.06.5.5 0 1 1 .116-.876c4.146-1.535 4.815-2.781 4.815-5.169 0-.631-.142-.838-.398-1.214-.339-.494-.803-1.171-1.129-2.939-.048-.254-.089-.274-.316-.384-.606-.292-1.163-.712-1.309-2.628 0-.928.32-1.441.585-1.708-.058-.33-.153-.899-.242-1.519-.453-2.777-.473-6.178 3.433-7.759 3.404-1.38 6.121-.626 6.974.273.604.019 2.162.177 3.246 1.438 1.668 1.94 1.137 6.363.955 7.562.266.261.589.767.589 1.675-.146 1.954-.703 2.375-1.31 2.666-.228.11-.269.129-.316.384-.326 1.768-.789 2.445-1.128 2.939-.257.375-.398.583-.398 1.214 0 2.388.669 3.634 4.815 5.169a.498.498 0 0 1 .116.876A16.38 16.38 0 0 1 16.5 33zm-8.183-3.349C10.779 31.191 13.589 32 16.5 32s5.721-.809 8.183-2.349c-3.474-1.426-4.565-2.864-4.565-5.755 0-.941.278-1.348.573-1.779.304-.444.682-.996.971-2.556.139-.754.576-.964.865-1.103.311-.149.631-.303.744-1.803-.001-.764-.344-.972-.358-.98a.533.533 0 0 1-.264-.537c.248-1.329.656-5.474-.681-7.031-.913-1.062-2.352-1.091-2.626-1.08-.046-.004-.091-.005-.134-.016-.13-.033-.35-.146-.417-.262-.272-.466-2.641-1.403-5.91-.08-3.231 1.308-3.238 4.112-2.819 6.682.138.957.289 1.784.29 1.788a.5.5 0 0 1-.283.544c.003 0-.339.209-.339 1.008.112 1.461.433 1.616.743 1.765.289.139.727.349.866 1.103.288 1.56.666 2.112.97 2.556.296.431.574.838.574 1.779 0 2.894-1.091 4.332-4.566 5.757z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 490.4 490.4'%3E%3Cpath d='M229 381.2c4.4 4.4 10.1 6.8 16.3 6.8 6.2 0 12-2.4 16.3-6.8l96.3-96.3c15.7-15.7 24.4-36.6 24.4-58.7 0-22.2-8.6-43.1-24.3-58.8-15.7-15.7-36.6-24.3-58.7-24.3-20 0-38.9 7-54 19.9-15.1-13-34.1-20-54.1-20-22.2 0-43 8.6-58.7 24.3s-24.3 36.6-24.3 58.8 8.7 43 24.4 58.7l96.4 96.4zm-79.3-196.7c11.1-11.1 25.7-17.1 41.4-17.1s30.4 6.1 41.5 17.2l4 4c4.8 4.8 12.5 4.8 17.3 0l3.9-3.9c11.1-11.1 25.8-17.2 41.5-17.2 15.6 0 30.3 6.1 41.4 17.2 11.1 11.1 17.2 25.8 17.1 41.4 0 15.7-6.1 30.4-17.2 41.5l-95.3 95.3-95.5-95.5c-11.1-11.1-17.2-25.8-17.2-41.4 0-15.7 6.1-30.4 17.1-41.5z'/%3E%3Cpath d='M245.2 490.4c135.2 0 245.2-110 245.2-245.2S380.4 0 245.2 0 0 110 0 245.2s110 245.2 245.2 245.2zm0-465.9c121.7 0 220.7 99 220.7 220.7s-99 220.7-220.7 220.7-220.7-99-220.7-220.7 99-220.7 220.7-220.7z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83C24.444 113.215 0 172.229 0 235s24.444 121.785 68.83 166.17C113.216 445.556 172.229 470 235 470s121.784-24.444 166.17-68.83C445.556 356.785 470 297.771 470 235s-24.444-121.785-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Ccircle cx='235' cy='97.5' r='7.5'/%3E%3Cpath d='M437.56 242.365a7.501 7.501 0 0 0-5.467-2.365h-26.046v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V240H372.5v-52.5a7.5 7.5 0 0 0-3.525-6.36L292.5 133.343V97.5A7.5 7.5 0 0 0 285 90h-13.253C268.262 72.905 253.109 60 235 60s-33.262 12.905-36.747 30H185a7.5 7.5 0 0 0-7.5 7.5V130h-25v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V130H105a7.5 7.5 0 0 0-7.5 7.5v102.499l-59.593-.01a7.504 7.504 0 0 0-7.487 7.969c3.523 56.171 29.666 105.984 69.187 140.798.281.291.587.556.911.799 23.389 20.362 51.39 35.496 82.128 43.638.307.102.622.184.946.246A204.258 204.258 0 0 0 235 440c17.409 0 34.679-2.229 51.386-6.558a7.297 7.297 0 0 0 1.002-.262 203.842 203.842 0 0 0 50.574-20.966c30.222-17.629 55.631-42.86 73.479-72.965a7.5 7.5 0 0 0-12.902-7.65 189.49 189.49 0 0 1-26.039 34.299V255h51.438a188.457 188.457 0 0 1-12.616 50.728 7.499 7.499 0 0 0 4.156 9.758 7.498 7.498 0 0 0 9.758-4.157 203.511 203.511 0 0 0 14.342-63.359 7.499 7.499 0 0 0-2.018-5.605zM192.5 175h85v215h-85V175zm0-70H205a7.5 7.5 0 0 0 7.5-7.5c0-12.407 10.094-22.5 22.5-22.5s22.5 10.093 22.5 22.5a7.5 7.5 0 0 0 7.5 7.5h12.5v55h-85v-55zM46.059 254.99l51.441.009V307.5c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5V145h65v245H175c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h2.5v11.078c-24.056-7.668-46.091-20.018-65-35.997V337.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v28.458c-28.127-29.492-46.937-68.033-51.441-110.968zM192.5 420.179V405h85v15.106A187.644 187.644 0 0 1 235 425a189.427 189.427 0 0 1-42.5-4.821zm100-4.235V405h2.5c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-2.5V151.032l65 40.625v188.307a191.989 191.989 0 0 1-65 35.98z'/%3E%3Cpath d='M325 320a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 280a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 240a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 200a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM145 345a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 305a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 265a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 185a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 225a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM235 350a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 310a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 270a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 230a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 190a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM215 145h40c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-40c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5z'/%3E%3C/svg%3E\"","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji {\\n position: relative;\\n}\\n\\n.emoji-picker-react .emoji.has-skin-variation button:before {\\n content: '';\\n display: block;\\n width: 0;\\n height: 0;\\n right: -2px;\\n bottom: 0px;\\n position: absolute;\\n border-left: 4px solid transparent;\\n border-right: 4px solid transparent;\\n border-bottom: 4px solid rgba(0, 0, 0, 0.1);\\n transform: rotate(135deg);\\n z-index: 1;\\n}\\n\\n.emoji-picker-react .emoji.has-skin-variation button:hover:before,\\n.emoji-picker-react .emoji.has-skin-variation button:focus-visible:before {\\n border-bottom: 4px solid rgba(0, 0, 0, 0.4);\\n}\\n\\n.emoji-picker-react .emoji button {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n color: inherit;\\n border-radius: 5px;\\n transition: 0.1s background;\\n padding: 0;\\n margin: 0;\\n}\\n\\n.emoji-picker-react .emoji button:hover,\\n.emoji-picker-react .emoji button:focus-visible {\\n background-color: currentColor;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji-group {\\n clear: both;\\n padding: 0 15px;\\n list-style: none;\\n margin: 0;\\n display: flex;\\n flex-flow: row wrap;\\n justify-content: space-between;\\n}\\n\\n.emoji-picker-react .emoji-group:before {\\n content: attr(data-display-name);\\n color: #aaa;\\n font-size: 14px;\\n position: sticky;\\n background: rgba(255, 255, 255, 0.95);\\n width: 100%;\\n z-index: 1;\\n top: 0;\\n text-transform: uppercase;\\n line-height: 45px;\\n font-weight: 700;\\n}\\n\\n.emoji-picker-react .emoji-group:after {\\n content: '';\\n flex: 1000;\\n order: 99999;\\n flex-basis: 25px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react input.emoji-search {\\n width: calc(100% - 30px);\\n margin-left: 15px;\\n outline: none;\\n box-shadow: none;\\n padding: 10px;\\n box-sizing: border-box;\\n border: 1px solid #efefef;\\n border-radius: 3px;\\n transition: border 0.1s;\\n}\\n\\n.emoji-picker-react input.emoji-search:focus {\\n border: 1px solid #d6d6d6;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"aside.emoji-picker-react {\\n background: #fff;\\n display: flex;\\n flex-direction: column;\\n height: 320px;\\n width: 280px;\\n font-family: sans-serif;\\n border: 1px solid #efefef;\\n border-radius: 5px;\\n box-sizing: border-box;\\n box-shadow: 0 5px 10px #efefef;\\n overflow: hidden;\\n position: relative;\\n}\\n\\naside.emoji-picker-react .content-wrapper {\\n flex: 1;\\n overflow-y: hidden;\\n position: relative;\\n}\\n\\n.emoji-picker-react .emoji-scroll-wrapper {\\n overflow-y: scroll;\\n position: relative;\\n height: 100%;\\n box-sizing: border-box;\\n}\\n\\naside.emoji-picker-react .content-wrapper:before {\\n content: attr(data-name);\\n color: #aaa;\\n font-size: 11px;\\n display: block;\\n position: absolute;\\n right: 15px;\\n z-index: 10;\\n line-height: 45px;\\n max-height: 45px;\\n overflow: hidden;\\n max-width: 100px;\\n text-overflow: ellipsis;\\n text-align: right;\\n}\\n\\naside.emoji-picker-react button {\\n border: none;\\n cursor: pointer;\\n outline: none;\\n background: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","let globalObject;\n\ntry {\n globalObject = window;\n} catch (e) {\n globalObject = {};\n}\n\nexport default globalObject;\n","import {\n GROUP_NAME_PEOPLE,\n GROUP_NAME_NATURE,\n GROUP_NAME_FOOD,\n GROUP_NAME_TRAVEL,\n GROUP_NAME_ACTIVITIES,\n GROUP_NAME_OBJECTS,\n GROUP_NAME_SYMBOLS,\n GROUP_NAME_FLAGS,\n GROUP_NAME_RECENTLY_USED,\n} from '../../../lib/constants';\n\nexport const PROPERTY_DATA_NAME = 'data-name';\n\nexport const GROUP_NAMES_ENGLISH = {\n [GROUP_NAME_PEOPLE]: 'smileys & people',\n [GROUP_NAME_NATURE]: 'animals & nature',\n [GROUP_NAME_FOOD]: 'food & drink',\n [GROUP_NAME_TRAVEL]: 'travel & places',\n [GROUP_NAME_OBJECTS]: GROUP_NAME_OBJECTS,\n [GROUP_NAME_ACTIVITIES]: GROUP_NAME_ACTIVITIES,\n [GROUP_NAME_SYMBOLS]: GROUP_NAME_SYMBOLS,\n [GROUP_NAME_FLAGS]: GROUP_NAME_FLAGS,\n [GROUP_NAME_RECENTLY_USED]: 'Recently Used',\n};\n","import {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\nimport globalObject from '../globalObject';\n\nconst RECENTLY_USED_KEY = 'epr_ru';\n\nconst LOCAL_STORAGE_PRESENT = 'localStorage' in globalObject;\n\nexport const getRecentlyUsed = () => {\n if (!LOCAL_STORAGE_PRESENT) {\n return [];\n }\n\n const ruList = globalObject.localStorage.getItem(RECENTLY_USED_KEY);\n\n return !ruList ? [] : JSON.parse(ruList);\n};\n\nexport const setRecentlyUsed = ({ unified, originalUnified }) => {\n if (!LOCAL_STORAGE_PRESENT) {\n return;\n }\n\n const unifiedParts = unified.split('-');\n\n let skinVariation = '';\n\n if (unified !== originalUnified && unifiedParts.length > 1) {\n skinVariation = unifiedParts[1];\n }\n\n const ruList = [\n {\n [EMOJI_PROPERTY_UNIFIED]: originalUnified,\n ...(skinVariation && { [EMOJI_PROPERTY_SKIN_VARIATIONS]: skinVariation }),\n },\n ...getRecentlyUsed().filter(\n item => item[EMOJI_PROPERTY_UNIFIED] !== originalUnified\n ),\n ];\n\n const output = ruList.splice(0, 14);\n\n globalObject.localStorage.setItem(RECENTLY_USED_KEY, JSON.stringify(output));\n};\n","import {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_NAME,\n} from '../../../lib/constants';\n\nconst emojiOutput = (unified, emoji, activeSkinTone, extra = {}) =>\n Object.assign(\n {\n unified,\n emoji: unified\n .split('-')\n .map(hex => parseInt(hex, 16))\n .map(hex => String.fromCodePoint(hex))\n .join(''),\n originalUnified: emoji[EMOJI_PROPERTY_UNIFIED],\n names: emoji[EMOJI_PROPERTY_NAME],\n activeSkinTone,\n },\n extra\n );\n\nexport default emojiOutput;\n","import { setRecentlyUsed } from '../recentlyUsed';\nimport emojiOutput from '../emojiOutput';\n\nconst clickHandler = (onClickRef = {}) => (\n e,\n unified,\n emoji,\n activeSkinTone\n) => {\n const output = emojiOutput(unified, emoji, activeSkinTone);\n setRecentlyUsed(output);\n return onClickRef.current && onClickRef.current(e, output);\n};\n\nexport default clickHandler;\n","export const SKIN_TONE_NEUTRAL = 'neutral';\nexport const SKIN_TONE_LIGHT = '1f3fb';\nexport const SKIN_TONE_MEDIUM_LIGHT = '1f3fc';\nexport const SKIN_TONE_MEDIUM = '1f3fe';\nexport const SKIN_TONE_MEDIUM_DARK = '1f3ff';\nexport const SKIN_TONE_DARK = '1f3fd';\nexport const DATA_NAME = 'tones';\n","import React from 'react';\nimport skinTones from '../../skinTones';\nimport {\n useActiveSkinTone,\n useSetActiveSkinTone,\n useSkinToneSpreadValue,\n useToggleSpreadSkinTones,\n} from '../../PickerContext';\nimport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n DATA_NAME,\n} from './constants';\nimport './style.css';\n\nexport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n DATA_NAME,\n};\n\nconst SkinTones = () => {\n const toggleSkinTonesSpread = useToggleSpreadSkinTones();\n const skinToneSpread = useSkinToneSpreadValue();\n const setActiveSkinTone = useSetActiveSkinTone();\n const activeSkinTone = useActiveSkinTone();\n\n const handleClick = () => {\n toggleSkinTonesSpread();\n };\n\n return (\n <ul className=\"skin-tones-list\">\n {skinTones.map((tone, i) => {\n const isActive = tone === activeSkinTone;\n\n return (\n <li\n key={tone}\n className={`t${tone}`}\n style={{\n transform: `translateX(-${skinToneSpread ? i * 20 : 0}px) scale(${\n isActive ? '1.5' : 1\n })`,\n zIndex: isActive ? 2 : 1,\n }}\n >\n <input\n type=\"radio\"\n onChange={({ target: { value } }) => setActiveSkinTone(value)}\n name=\"skin-tone\"\n value={tone}\n id={`tone_${tone}`}\n />\n <label\n htmlFor={`tone_${tone}`}\n data-name={DATA_NAME}\n onClick={handleClick}\n />\n </li>\n );\n })}\n </ul>\n );\n};\n\nexport default SkinTones;\n","import * as React from 'react';\nimport { createContext, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { GROUP_NAME_PEOPLE } from '../../lib/constants';\nimport { PROPERTY_DATA_NAME } from '../lib/constants';\nimport { DATA_NAME } from '../components/SkinTones';\nimport { configPropTypes } from '../lib/propTypes';\n\nconst PickerContext = createContext({});\n\nexport function PickerContextProvider({\n children,\n config,\n recentlyUsed,\n onEmojiClick,\n}) {\n const activeCategoryState = useState(null);\n const filterState = useState([]);\n const filterResult = useState(null);\n const seenGroupsState = useState({ [GROUP_NAME_PEOPLE]: true });\n const missingEmojiState = useState({});\n const variationMenuState = useState(null);\n const skinToneSpreadState = useState(false);\n const activeSkinToneState = useState(null);\n\n return (\n <PickerContext.Provider\n value={{\n activeCategoryState,\n filterState,\n filterResult,\n seenGroupsState,\n missingEmojiState,\n variationMenuState,\n skinToneSpreadState,\n activeSkinToneState,\n config,\n recentlyUsed,\n onEmojiClick,\n }}\n >\n {children}\n </PickerContext.Provider>\n );\n}\n\nPickerContextProvider.propTypes = {\n children: PropTypes.node,\n};\n\nexport function useActiveCategory() {\n return useContext(PickerContext).activeCategoryState;\n}\n\nexport function useSetFilter() {\n const [, dispatch] = useContext(PickerContext).filterState;\n const [, setFilterResult] = useContext(PickerContext).filterResult;\n return ({ filter, filterResult }) => {\n dispatch(filter);\n setFilterResult(filterResult);\n };\n}\n\nexport function useFilterValue() {\n const [value] = useContext(PickerContext).filterState;\n return value;\n}\n\nexport function useFilterResult() {\n const [result] = useContext(PickerContext).filterResult;\n return result;\n}\n\nexport function useSeenGroups() {\n const [seenGroups] = useContext(PickerContext).seenGroupsState;\n\n return seenGroups;\n}\n\nexport function useSetSeenGroups() {\n const [, setSeenGroups] = useContext(PickerContext).seenGroupsState;\n\n return group => {\n setSeenGroups((seenGroups = {}) => {\n return seenGroups[group] ? seenGroups : { ...seenGroups, [group]: true };\n });\n };\n}\n\nexport function useSetMissingEmoji() {\n const [, setMissingEmoji] = useContext(PickerContext).missingEmojiState;\n\n return emoji => {\n setMissingEmoji(missingEmoji => {\n return { ...missingEmoji, [emoji]: true };\n });\n };\n}\n\nexport function useMissingEmojis() {\n const [missingEmojis] = useContext(PickerContext).missingEmojiState;\n\n return missingEmojis;\n}\n\nexport function useVariationMenuValue() {\n const [value] = useContext(PickerContext).variationMenuState;\n return value;\n}\n\nexport function useOpenVariationMenu() {\n const [, setVariationMenu] = useContext(PickerContext).variationMenuState;\n\n return emoji => {\n setVariationMenu(activeVariation => {\n if (activeVariation === emoji) {\n return activeVariation;\n }\n\n return emoji;\n });\n };\n}\n\nexport function useCloseVariationMenu() {\n const [, setVariationMenu] = useContext(PickerContext).variationMenuState;\n const skinToneSpreadValue = useSkinToneSpreadValue();\n const collapseSkinTones = useCollapseSkinTones();\n\n return ({ target }) => {\n setVariationMenu(current => {\n if (current) {\n return null;\n }\n });\n\n if (\n skinToneSpreadValue &&\n target.getAttribute(PROPERTY_DATA_NAME) !== DATA_NAME\n ) {\n collapseSkinTones();\n }\n };\n}\n\nexport function useSkinToneSpreadValue() {\n const [skinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return skinToneSpread;\n}\n\nexport function useToggleSpreadSkinTones() {\n const [, setSkinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return () => setSkinToneSpread(skinToneSpread => !skinToneSpread);\n}\n\nexport function useCollapseSkinTones() {\n const [, setSkinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return () => setSkinToneSpread(false);\n}\n\nexport function useActiveSkinTone() {\n const [activeSkinTone] = useContext(PickerContext).activeSkinToneState;\n\n return activeSkinTone;\n}\n\nexport function useSetActiveSkinTone() {\n const [, setActiveSkinTone] = useContext(PickerContext).activeSkinToneState;\n\n return skinTone => {\n setActiveSkinTone(skinTone);\n };\n}\n\nexport function useConfig() {\n return useContext(PickerContext).config;\n}\n\nexport function useRecentlyUsed() {\n return useContext(PickerContext).recentlyUsed;\n}\n\nexport function useOnEmojiClick() {\n return useContext(PickerContext).onEmojiClick;\n}\n\nPickerContextProvider.propTypes = {\n children: PropTypes.node,\n config: PropTypes.shape({\n ...configPropTypes,\n }),\n recentlyUsed: PropTypes.arrayOf(PropTypes.object),\n onEmojiClick: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_NAME,\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n EMOJI_PROPERTY_GROUP,\n} from '../../../lib/constants';\n\nexport const emoji = PropTypes.shape({\n [EMOJI_PROPERTY_NAME]: PropTypes.arrayOf(PropTypes.string),\n [EMOJI_PROPERTY_UNIFIED]: PropTypes.string,\n [EMOJI_PROPERTY_SKIN_VARIATIONS]: PropTypes.arrayOf(PropTypes.string),\n [EMOJI_PROPERTY_GROUP]: PropTypes.string,\n});\n\nexport const groupNamesPropType = PropTypes.shape({\n smileys_people: PropTypes.string,\n animals_nature: PropTypes.string,\n food_drink: PropTypes.string,\n travel_places: PropTypes.string,\n activities: PropTypes.string,\n objects: PropTypes.string,\n symbols: PropTypes.string,\n flags: PropTypes.string,\n recently_used: PropTypes.string,\n});\n\nexport const configPropTypes = PropTypes.shape({\n emojiUrl: PropTypes.string,\n preload: PropTypes.bool,\n skinTone: PropTypes.string,\n groupNames: groupNamesPropType,\n native: PropTypes.bool,\n groupVisibility: PropTypes.objectOf(PropTypes.bool),\n disableAutoFocus: PropTypes.bool,\n disableSearchBar: PropTypes.bool,\n disableSkinTonePicker: PropTypes.bool,\n});\n","import { useConfig } from '../PickerContext';\n\nconst useEmojiUrl = unified => {\n const config = useConfig();\n\n return unified ? `${config.emojiUrl}/${unified}.png` : config.emojiUrl;\n};\n\nexport default useEmojiUrl;\n","import useEmojiUrl from '../../hooks/useEmojiUrl';\n\nconst emojiSrc = unified => ({\n src: useEmojiUrl(unified),\n});\n\nexport default emojiSrc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport emojiSrc from '../../lib/emojiSrc';\nimport './style.css';\nimport { useSetMissingEmoji } from '../../PickerContext';\n\nconst EmojiImg = ({ unified, shouldLoad = true, native = false }) => {\n return native ? (\n <div className=\"native\">\n {unified\n .split('-')\n .map(hex => parseInt(hex, 16))\n .map(hex => String.fromCodePoint(hex))\n .join('')}\n </div>\n ) : (\n <Img shouldLoad={shouldLoad} unified={unified} />\n );\n};\n\nfunction Img({ unified, shouldLoad }) {\n const setMissingEmoji = useSetMissingEmoji();\n const src = emojiSrc(unified);\n return (\n <img\n className=\"emoji-img\"\n onError={() => setMissingEmoji(unified)}\n {...(shouldLoad && src)}\n />\n );\n}\n\nexport default EmojiImg;\n\nImg.propTypes = {\n unified: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n};\n\nEmojiImg.propTypes = {\n unified: PropTypes.string,\n shouldLoad: PropTypes.bool,\n native: PropTypes.bool,\n};\n","import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\nimport skinTones from '../../skinTones';\nimport {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\nimport EmojiImg from '../EmojiImg';\nimport './style.css';\nimport {\n useActiveSkinTone,\n useCloseVariationMenu,\n useConfig,\n useOnEmojiClick,\n useVariationMenuValue,\n} from '../../PickerContext';\n\nconst VariationsMenu = () => {\n const [showMenu, setShowMenu] = useState(false);\n const closeVariations = useCloseVariationMenu();\n const variationMenu = useVariationMenuValue();\n const activeSkinTone = useActiveSkinTone();\n\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n\n useEffect(() => {\n if (variationMenu && !showMenu) {\n setShowMenu(true);\n }\n return () => {\n setShowMenu(false);\n };\n }, [variationMenu]);\n\n if (!variationMenu) {\n return null;\n }\n\n const classes = cn('variation-list', {\n visible: showMenu,\n });\n\n return (\n <div className=\"variations-wrapper\">\n <ul className={classes}>\n {skinTones.map(tone => {\n const unified =\n variationMenu[EMOJI_PROPERTY_SKIN_VARIATIONS].find(v =>\n v.includes(tone)\n ) || variationMenu[EMOJI_PROPERTY_UNIFIED];\n\n const handleClick = e => {\n closeVariations(e);\n\n return onEmojiClick(e, unified, variationMenu, activeSkinTone);\n };\n\n return (\n <li key={unified}>\n <button\n onClick={handleClick}\n onMouseDown={e => e.stopPropagation()}\n >\n <EmojiImg native={config.native} unified={unified} />\n </button>\n </li>\n );\n })}\n </ul>\n </div>\n );\n};\n\nexport default VariationsMenu;\n\nVariationsMenu.propTypes = {\n closeVariations: PropTypes.func,\n};\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { PROPERTY_DATA_NAME } from '../../lib/constants';\n\nimport groups from '../../groups.json';\nimport './style.css';\nimport {\n useActiveCategory,\n useConfig,\n useFilterValue,\n useSetSeenGroups,\n} from '../../PickerContext';\n\nconst CategoriesNav = ({ emojiListRef }) => {\n const refNav = useRef(null);\n const setSeenGroups = useSetSeenGroups();\n const filter = useFilterValue();\n const { groupVisibility } = useConfig();\n const [activeCategory, setActiveCategory] = useActiveCategory();\n\n let inactive = false;\n if (filter && filter.length) {\n inactive = true;\n }\n\n const handleClick = ({ target }) => {\n if (inactive) {\n return;\n }\n\n const id = target.getAttribute(PROPERTY_DATA_NAME);\n\n if (!emojiListRef || !emojiListRef.current || !id) {\n return;\n }\n\n setActiveCategory(id);\n\n setSeenGroups(id);\n\n const { current } = emojiListRef;\n const category = current.querySelector(`[${PROPERTY_DATA_NAME}=\"${id}\"]`);\n\n current.scrollTop = category.offsetTop;\n };\n\n let $group;\n let left = 0;\n let index = 0;\n let barOpacity = '0';\n\n if (refNav && refNav.current) {\n $group = refNav.current.querySelector(\n `[${PROPERTY_DATA_NAME}=\"${activeCategory}\"]`\n );\n\n if ($group) {\n left =\n ($group && $group.offsetLeft) || refNav.current.firstChild.offsetLeft;\n barOpacity = '1';\n } else {\n left = refNav.current.firstChild.offsetLeft;\n barOpacity = '0';\n }\n }\n\n return (\n <>\n <nav\n onClick={handleClick}\n className={cn('emoji-categories', { inactive })}\n ref={refNav}\n >\n {groups.map((group, i) => {\n if (groupVisibility[group] === false) {\n return null;\n }\n const active = activeCategory === group;\n\n if (active) {\n index = i;\n }\n return (\n <button\n key={group}\n type=\"button\"\n className={cn(`icn-${group}`, {\n active,\n })}\n data-name={group}\n />\n );\n })}\n </nav>\n <div className=\"active-category-indicator-wrapper\">\n <div\n className=\"active-category-indicator\"\n style={{\n transform: `translateX(${Math.max(left + index / 2, left)}px)`,\n opacity: barOpacity,\n ...(inactive && {\n display: 'none',\n opacity: '0',\n transform: 'translateX(0)',\n }),\n }}\n ></div>\n </div>\n </>\n );\n};\n\nexport default CategoriesNav;\n\nCategoriesNav.propTypes = {\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n};\n","import groupedEmojis from '../../src/emojis.json';\nimport { EMOJI_PROPERTY_GROUP, EMOJI_PROPERTY_UNIFIED } from '../constants';\n\nconst initEmojis = groupedEmojis => {\n const storage = {\n groups: {},\n emojis: {},\n };\n\n for (const group in groupedEmojis) {\n groupedEmojis[group].reduce((storage, current) => {\n const unified = current[EMOJI_PROPERTY_UNIFIED];\n current[EMOJI_PROPERTY_GROUP] = group;\n storage.emojis[unified] = current;\n storage.groups[group] = storage.groups[group] || [];\n storage.groups[group].push(unified);\n return storage;\n }, storage);\n }\n\n return storage;\n};\n\nexport default initEmojis(groupedEmojis);\n","import { useEffect, useRef } from 'react';\nimport { PROPERTY_DATA_NAME } from '../lib/constants';\nimport globalObject from '../lib/globalObject';\nimport { useActiveCategory, useSetSeenGroups } from '../PickerContext';\n\nconst useIntersectionObserver = (\n root,\n activeCategoryRef,\n filterResultRef,\n renderOne\n) => {\n const observer = useRef(null);\n const [, setActiveCategory] = useActiveCategory();\n const setSeenGroups = useSetSeenGroups();\n\n useEffect(() => {\n const refActiveCategory = activeCategoryRef.current;\n\n if (\n globalObject.IntersectionObserver !== undefined &&\n root.current &&\n !filterResultRef.current &&\n !renderOne\n ) {\n observer.current = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n const { target } = entry;\n const id = target.getAttribute(PROPERTY_DATA_NAME);\n if (entry.intersectionRatio === 0) {\n return;\n }\n setSeenGroups(id);\n if (!refActiveCategory) {\n setActiveCategory(id);\n }\n });\n },\n {\n root: root.current.parentElement,\n }\n );\n }\n if (observer.current) {\n [...root.current.querySelectorAll('.emoji-group')].forEach(target => {\n observer.current.observe(target, { threshold: 1 });\n });\n\n return () => {\n observer.current.disconnect();\n };\n }\n }, [root.current, renderOne]);\n};\n\nexport default useIntersectionObserver;\n","import { useRef, useEffect } from 'react';\n\nconst useScrollUpOnFilterChange = (value, emojiListRef) => {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef();\n\n // Store current value in ref\n useEffect(() => {\n if (emojiListRef && emojiListRef.current) {\n emojiListRef.current.scrollTop = 0;\n }\n\n ref.current = value;\n }, [value]); // Only re-run if value changes\n\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n};\n\nexport default useScrollUpOnFilterChange;\n","import { PROPERTY_DATA_NAME } from '../constants';\n\nconst setEmojiName = (emojiName = '', emojiListRef) => {\n let className = '.content-wrapper';\n const node =\n emojiListRef && emojiListRef.current\n ? emojiListRef.current.closest(`${className}`)\n : document.querySelector(`.emoji-picker-react ${className}`);\n\n node.setAttribute(PROPERTY_DATA_NAME, emojiName);\n};\n\nexport default setEmojiName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport * as propTypes from '../../lib/propTypes';\nimport {\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n EMOJI_PROPERTY_UNIFIED,\n} from '../../../lib/constants';\nimport EmojiImg from '../EmojiImg';\nimport {\n PASTEL_BLUE,\n PASTEL_RED,\n PASTEL_GREEN,\n PASTEL_PURPLE,\n PASTEL_YELLOW,\n} from './colors';\nimport './style.css';\n\nconst pastels = [\n PASTEL_BLUE,\n PASTEL_RED,\n PASTEL_GREEN,\n PASTEL_PURPLE,\n PASTEL_YELLOW,\n];\nconst bgColor = order => pastels[order % pastels.length];\n\nlet mouseDownTimeout = null;\n\nconst handleMouseUp = () => clearTimeout(mouseDownTimeout);\n\nconst Emoji = ({\n emoji,\n shouldLoad,\n hidden,\n activeSkinTone,\n openVariationMenu,\n variationMenuOpenRef,\n handleMouseEnter,\n handleMouseLeave,\n onEmojiClick,\n index,\n native = false,\n}) => {\n const hasSkinVariation = emoji[EMOJI_PROPERTY_SKIN_VARIATIONS];\n let unified;\n\n const style = {\n ...(hidden && { display: 'none' }),\n color: bgColor(index),\n };\n\n if (hasSkinVariation && emoji[EMOJI_PROPERTY_SKIN_VARIATIONS]) {\n unified = emoji[EMOJI_PROPERTY_SKIN_VARIATIONS].find(\n u => u.indexOf(activeSkinTone) >= 0\n );\n }\n\n if (!unified) {\n unified = emoji[EMOJI_PROPERTY_UNIFIED];\n }\n\n const handleMouseDown = () => {\n if (!hasSkinVariation || !openVariationMenu) {\n return;\n }\n\n mouseDownTimeout = setTimeout(() => {\n openVariationMenu(emoji);\n }, 500);\n };\n\n const handleEmojiClick = e => {\n if (variationMenuOpenRef && variationMenuOpenRef.current) {\n return;\n }\n\n onEmojiClick(e, unified, emoji, activeSkinTone);\n };\n\n return (\n <li\n style={style}\n className={cn('emoji', {\n 'has-skin-variation': hasSkinVariation && openVariationMenu,\n })}\n >\n <button\n onMouseDown={handleMouseDown}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseUp={handleMouseUp}\n type=\"button\"\n onClick={handleEmojiClick}\n >\n <EmojiImg unified={unified} shouldLoad={shouldLoad} native={native} />\n </button>\n </li>\n );\n};\n\nexport default Emoji;\n\nEmoji.propTypes = {\n emoji: propTypes.emoji,\n shouldLoad: PropTypes.bool,\n hidden: PropTypes.bool,\n activeSkinTone: PropTypes.string,\n openVariationMenu: PropTypes.func,\n variationMenuOpenRef: PropTypes.shape({ current: PropTypes.bool }),\n handleMouseEnter: PropTypes.func,\n handleMouseLeave: PropTypes.func,\n onEmojiClick: PropTypes.func,\n index: PropTypes.number,\n native: PropTypes.bool,\n};\n","export const PASTEL_BLUE = '#aeeff0';\nexport const PASTEL_RED = '#ffe0e0';\nexport const PASTEL_GREEN = '#d6f8b8';\nexport const PASTEL_PURPLE = '#c6cfff';\nexport const PASTEL_YELLOW = '#f1f0d1';\n","import React, {\n useMemo,\n useCallback,\n useEffect,\n useState,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_NAME,\n} from '../../../lib/constants';\nimport globalObject from '../../lib/globalObject';\nimport emojiStorage from '../../../lib/emojiStorage';\nimport useIntersectionObserver from '../../hooks/useIntersectionObserver';\nimport useScrollUpOnFilterChange from '../../hooks/useScrollUpOnFilterChange';\nimport groups from '../../groups.json';\nimport setEmojiName from '../../lib/setEmojiName';\nimport Emoji from '../Emoji';\nimport './style.css';\nimport { groupNamesPropType } from '../../lib/propTypes';\nimport {\n useActiveCategory,\n useActiveSkinTone,\n useConfig,\n useFilterResult,\n useFilterValue,\n useMissingEmojis,\n useOnEmojiClick,\n useOpenVariationMenu,\n useSeenGroups,\n useVariationMenuValue,\n} from '../../PickerContext';\n\nconst createEmojiList = (name, { emojiListRef, searchTerm }) => {\n const filterResult = useFilterResult();\n const missingEmoji = useMissingEmojis();\n const openVariationMenu = useOpenVariationMenu();\n const variationMenu = useVariationMenuValue();\n const activeSkinTone = useActiveSkinTone();\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n const seenGroups = useSeenGroups();\n\n const variationMenuOpenRef = useRef(!!variationMenu);\n const unsetEmojiName = useCallback(() => setEmojiName('', emojiListRef));\n\n useEffect(() => {\n variationMenuOpenRef.current = !!variationMenu;\n }, [variationMenu]);\n\n const shouldLoad =\n config.preload ||\n !!(\n seenGroups[name] ||\n filterResult ||\n typeof globalObject.IntersectionObserver !== 'function'\n );\n\n return useMemo(() => {\n const listToUse = filterResult\n ? Object.keys(filterResult[name] || {})\n : emojiStorage.groups[name];\n\n return listToUse.reduce(\n (accumulator, emojiName, index) => {\n if (missingEmoji && missingEmoji[emojiName]) {\n return accumulator;\n }\n\n const emoji = emojiStorage.emojis[emojiName];\n const hidden = !listToUse.length;\n\n if (!accumulator.shown && !hidden) {\n accumulator.shown = true;\n }\n\n accumulator.list.push(\n <Emoji\n emoji={emoji}\n openVariationMenu={openVariationMenu}\n activeSkinTone={activeSkinTone}\n handleMouseLeave={unsetEmojiName}\n variationMenuOpenRef={variationMenuOpenRef}\n handleMouseEnter={() =>\n setEmojiName(emoji[EMOJI_PROPERTY_NAME][0], emojiListRef)\n }\n hidden={hidden}\n shouldLoad={shouldLoad}\n onEmojiClick={onEmojiClick}\n index={index}\n key={emoji[EMOJI_PROPERTY_UNIFIED]}\n native={config.native}\n />\n );\n\n return accumulator;\n },\n { list: [], shown: false }\n );\n }, [activeSkinTone, searchTerm, shouldLoad, missingEmoji, config.native]);\n};\n\nconst EmojiList = ({ emojiListRef }) => {\n const [activeCategory] = useActiveCategory();\n const { groupNames } = useConfig();\n const filterResult = useFilterResult();\n const filter = useFilterValue();\n const activeCategoryRef = useRef(activeCategory);\n const filterResultRef = useRef(filterResult);\n\n const [renderOne, setRenderOne] = useState(true);\n\n const searchTerm =\n filter && filter.length ? filter[filter.length - 1].value : '';\n\n useEffect(() => {\n if (!searchTerm) {\n requestAnimationFrame(() => {\n setRenderOne(true);\n });\n }\n }, [searchTerm]);\n\n useEffect(() => {\n if (renderOne) {\n requestAnimationFrame(() => {\n setRenderOne(false);\n });\n }\n }, [renderOne]);\n\n useIntersectionObserver(\n emojiListRef,\n activeCategoryRef,\n filterResultRef,\n renderOne\n );\n useScrollUpOnFilterChange(filterResult, emojiListRef);\n\n const props = {\n emojiListRef,\n searchTerm,\n groupNames,\n };\n\n return (\n <React.Fragment>\n <ListRender name={groups[0]} {...props} />\n {!renderOne &&\n groups\n .slice(1)\n .map(name => <ListRender key={name} name={name} {...props} />)}\n </React.Fragment>\n );\n};\n\nconst ListRender = React.memo(function ListRender({\n name,\n searchTerm,\n emojiListRef,\n groupNames,\n}) {\n const { groupVisibility } = useConfig();\n\n if (groupVisibility[name] === false) {\n return null;\n }\n\n const { list, shown } = createEmojiList(name, {\n searchTerm,\n emojiListRef,\n });\n\n const style = {\n ...(!shown && { display: 'none' }),\n };\n\n return (\n <ul\n className=\"emoji-group\"\n data-name={name}\n data-display-name={groupNames[name]}\n key={name}\n style={style}\n >\n {list}\n </ul>\n );\n});\n\nexport default EmojiList;\n\nEmojiList.propTypes = {\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n unsetEmojiName: PropTypes.func,\n};\n\nListRender.propTypes = {\n name: PropTypes.string,\n searchTerm: PropTypes.string,\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n groupNames: groupNamesPropType,\n};\n","const reduceBatch = (array, cb, initialValue, batchSize = 100) => {\n let accumulator = initialValue;\n\n return new Promise(resolve => {\n let index = 0;\n\n const batch = () => {\n for (let i = index; i < index + batchSize && i < array.length; i++) {\n accumulator = cb(accumulator, array[i], i, array);\n }\n\n index += batchSize;\n if (index < array.length) {\n setTimeout(() => {\n batch();\n });\n } else {\n return resolve(accumulator);\n }\n };\n\n batch();\n });\n};\n\nexport default reduceBatch;\n","import reduceBatch from '../../lib/reduceBatch';\nimport { EMOJI_PROPERTY_GROUP } from '../../lib/constants';\nimport emojiStorage from '../../lib/emojiStorage';\n\nimport keywordsPromise from '../../lib/initSearch';\nimport { useFilterValue, useSetFilter } from '../PickerContext';\n\nlet searchTerms, mappedSearchTerms;\n\nkeywordsPromise.then(res => {\n searchTerms = res.searchTerms;\n mappedSearchTerms = res.mappedSearchTerms;\n});\n\nconst useFilter = () => {\n const filter = useFilterValue();\n const setFilter = useSetFilter();\n\n const handleChange = ({ target: { value } }) => {\n const prevKey = filter[filter.length - 1];\n let nextFilter;\n\n value = value.trim().toLowerCase();\n\n if (prevKey && prevKey.value === value) {\n return;\n }\n\n if (value.length === 1) {\n nextFilter = [\n {\n value,\n terms: mappedSearchTerms[value] || [],\n },\n ];\n } else if (\n prevKey &&\n value.length > prevKey.value.length &&\n value.includes(prevKey.value)\n ) {\n nextFilter = [\n ...filter,\n {\n value,\n terms: prevKey.terms.filter(term => term.includes(value)),\n },\n ];\n } else if (\n prevKey &&\n value.length < prevKey.value.length &&\n prevKey.value.includes(value)\n ) {\n let sliceIndex = 0;\n for (let index = filter.length; index > 0; index--) {\n if (value.includes(filter[index - 1].value)) {\n sliceIndex = index;\n break;\n }\n }\n\n filter.length = sliceIndex;\n nextFilter = [...filter];\n } else if (filter.length === 0 || !value.includes(prevKey.value)) {\n nextFilter = [\n {\n value,\n terms: (mappedSearchTerms[value[0]] || []).filter(term =>\n term.includes(value)\n ),\n },\n ];\n }\n\n const last = nextFilter && nextFilter[nextFilter.length - 1];\n const filterPresent = !!(last && last.value);\n\n if (!filterPresent) {\n setFilter({\n filter: nextFilter,\n filterResult: null,\n });\n return;\n }\n\n reduceBatch(\n (last && last.terms) || [],\n (accumulator, term) => {\n if (!searchTerms[term]) {\n return accumulator;\n }\n\n return (searchTerms[term] || []).reduce((accumulator, unified) => {\n const group = emojiStorage.emojis[unified][EMOJI_PROPERTY_GROUP];\n accumulator[group] = accumulator[group] || {};\n accumulator[group][unified] = true;\n return accumulator;\n }, accumulator);\n },\n {}\n ).then(filterResult => {\n setFilter({\n filter: nextFilter,\n filterResult,\n });\n });\n };\n\n return handleChange;\n};\n\nexport default useFilter;\n","import reduceBatch from '../reduceBatch';\nimport groupedEmojis from '../../src/emojis.json';\n\nimport { EMOJI_PROPERTY_UNIFIED, EMOJI_PROPERTY_NAME } from '../constants';\n\nconst allEmojis = Array.prototype.concat.apply(\n [],\n Object.values(groupedEmojis)\n);\n\nexport default reduceBatch(\n allEmojis,\n (accumulator, emoji) => {\n if (!emoji) {\n return accumulator;\n }\n\n return emoji[EMOJI_PROPERTY_NAME].reduce(\n (accumulator, term) =>\n [...accumulator, ...(term || '').split(/[- _]/)].filter(Boolean),\n []\n ).reduce((accumulator, term) => {\n const key = term.toLowerCase();\n accumulator[key] = accumulator[key] || [];\n\n accumulator[key].push(emoji[EMOJI_PROPERTY_UNIFIED]);\n return accumulator;\n }, accumulator);\n },\n {}\n).then(searchTerms =>\n reduceBatch(\n Object.keys(searchTerms),\n (accumulator, term) => {\n if (!term) {\n return accumulator;\n }\n\n const chars = term.split('').filter(Boolean);\n\n return (chars || []).reduce((accumulator, char) => {\n accumulator[char] = accumulator[char] || [];\n if (!accumulator[char].includes(term)) {\n accumulator[char].push(term);\n }\n return accumulator;\n }, accumulator);\n },\n {}\n ).then(mappedSearchTerms => {\n return {\n searchTerms,\n mappedSearchTerms,\n };\n })\n);\n","import React from 'react';\nimport useFilter from '../../hooks/useFilter';\nimport './style.css';\nimport SkinTones from '../SkinTones';\nimport { useConfig } from '../../PickerContext';\n\nfunction Search() {\n const config = useConfig();\n const onChange = useFilter();\n\n if (config.disableSearchBar) {\n return null;\n }\n\n return (\n <div style={{ position: 'relative' }}>\n <input\n className=\"emoji-search\"\n onChange={onChange}\n autoFocus={!config.disableAutoFocus}\n />\n {config.disableSkinTonePicker ? null : <SkinTones />}\n </div>\n );\n}\n\nexport default Search;\n","import React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_NAME,\n GROUP_NAME_RECENTLY_USED,\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\n\nimport emojiStorage from '../../../lib/emojiStorage';\nimport setEmojiName from '../../lib/setEmojiName';\nimport Emoji from '../Emoji';\nimport {\n useConfig,\n useFilterResult,\n useMissingEmojis,\n useOnEmojiClick,\n useRecentlyUsed,\n} from '../../PickerContext';\n\nconst RecentlyUsed = ({ emojiListRef }) => {\n const filterResult = useFilterResult();\n const missingEmoji = useMissingEmojis();\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n const recentlyUsed = useRecentlyUsed();\n\n const unsetEmojiName = useCallback(() => setEmojiName('', emojiListRef));\n\n if (\n !recentlyUsed.length ||\n filterResult ||\n config.groupVisibility[GROUP_NAME_RECENTLY_USED] === false\n ) {\n return null;\n }\n\n return (\n <ul\n className=\"emoji-group\"\n data-display-name={config.groupNames[GROUP_NAME_RECENTLY_USED]}\n data-name={GROUP_NAME_RECENTLY_USED}\n >\n {recentlyUsed.map((item, index) => {\n const unified = item[EMOJI_PROPERTY_UNIFIED];\n\n const emoji = emojiStorage.emojis[unified];\n\n if (missingEmoji[unified] || !emoji) {\n return null;\n }\n\n return (\n <Emoji\n key={index}\n emoji={emoji}\n {...(item[EMOJI_PROPERTY_SKIN_VARIATIONS] && {\n activeSkinTone: item[EMOJI_PROPERTY_SKIN_VARIATIONS],\n })}\n index={index}\n native={config.native}\n handleMouseLeave={unsetEmojiName}\n onEmojiClick={onEmojiClick}\n handleMouseEnter={() =>\n setEmojiName(emoji[EMOJI_PROPERTY_NAME][0], emojiListRef)\n }\n shouldLoad\n />\n );\n })}\n </ul>\n );\n};\n\nexport default RecentlyUsed;\n\nRecentlyUsed.propTypes = {\n unsetEmojiName: PropTypes.func,\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n};\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { GROUP_NAMES_ENGLISH } from './lib/constants';\nimport clickHandler from './lib/clickHandler';\nimport { getRecentlyUsed } from './lib/recentlyUsed';\nimport { PickerContextProvider, useCloseVariationMenu } from './PickerContext';\nimport SkinTones, {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n} from './components/SkinTones';\nimport VariationsMenu from './components/VariationsMenu';\nimport CategoriesNav from './components/CategoriesNav';\nimport EmojiList from './components/EmojiList';\nimport Search from './components/Search';\nimport RecentlyUsed from './components/RecentlyUsed';\nimport './style.css';\nimport { configPropTypes } from './lib/propTypes';\n\nconst EmojiPicker = ({\n emojiUrl = DEFAULT_EMOJI_URL,\n onEmojiClick,\n preload = false,\n native = false,\n skinTone = SKIN_TONE_NEUTRAL,\n disableAutoFocus = false,\n disableSearchBar = false,\n disableSkinTonePicker = false,\n groupNames = {},\n pickerStyle = {},\n groupVisibility = {},\n}) => {\n const emojiListRef = useRef(null);\n const isMounted = useRef(true);\n const onClickRef = useRef(onEmojiClick);\n\n onClickRef.current = onEmojiClick;\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return (\n <PickerContextProvider\n config={{\n activeSkinTone: skinTone,\n emojiUrl,\n preload,\n native,\n groupNames: Object.assign(GROUP_NAMES_ENGLISH, groupNames),\n groupVisibility,\n disableSearchBar,\n disableAutoFocus,\n disableSkinTonePicker,\n }}\n recentlyUsed={getRecentlyUsed()}\n onEmojiClick={clickHandler(onClickRef)}\n >\n <Aside pickerStyle={pickerStyle}>\n <CategoriesNav emojiListRef={emojiListRef} />\n <Search />\n\n <div className=\"content-wrapper\">\n <VariationsMenu />\n <section className=\"emoji-scroll-wrapper\" ref={emojiListRef}>\n <RecentlyUsed emojiListRef={emojiListRef} />\n <EmojiList emojiListRef={emojiListRef} />\n </section>\n </div>\n </Aside>\n </PickerContextProvider>\n );\n};\n\nfunction Aside({ children, pickerStyle }) {\n const closeVariations = useCloseVariationMenu();\n return (\n <aside\n className=\"emoji-picker-react\"\n style={pickerStyle}\n onScroll={closeVariations}\n onMouseDown={closeVariations}\n >\n {children}\n </aside>\n );\n}\n\nexport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n};\n\nexport default EmojiPicker;\n\nAside.propTypes = {\n children: PropTypes.node,\n pickerStyle: PropTypes.object,\n};\n\nEmojiPicker.propTypes = {\n onEmojiClick: PropTypes.func,\n pickerStyle: PropTypes.objectOf(PropTypes.string),\n ...configPropTypes,\n};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://EmojiPicker/webpack/universalModuleDefinition","webpack://EmojiPicker/webpack/bootstrap","webpack://EmojiPicker/external \"react\"","webpack://EmojiPicker/./node_modules/prop-types/index.js","webpack://EmojiPicker/./lib/constants/index.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://EmojiPicker/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://EmojiPicker/./node_modules/css-loader/dist/runtime/api.js","webpack://EmojiPicker/./node_modules/classnames/index.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/extends.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://EmojiPicker/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://EmojiPicker/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://EmojiPicker/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://EmojiPicker/./src/components/SkinTones/style.css?70fd","webpack://EmojiPicker/./src/components/SkinTones/style.css","webpack://EmojiPicker/./src/components/EmojiImg/style.css?d019","webpack://EmojiPicker/./src/components/EmojiImg/style.css","webpack://EmojiPicker/./src/components/VariationsMenu/style.css?a78e","webpack://EmojiPicker/./src/components/VariationsMenu/style.css","webpack://EmojiPicker/./src/components/CategoriesNav/style.css?51a7","webpack://EmojiPicker/./src/components/CategoriesNav/style.css","webpack://EmojiPicker/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://EmojiPicker/./src/components/CategoriesNav/svg/activities.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/animals_nature.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/flags.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/food_drink.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/objects.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/smileys_people.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/symbols.svg","webpack://EmojiPicker/./src/components/CategoriesNav/svg/travel_places.svg","webpack://EmojiPicker/./src/components/Emoji/style.css?7102","webpack://EmojiPicker/./src/components/Emoji/style.css","webpack://EmojiPicker/./src/components/EmojiList/style.css?ab89","webpack://EmojiPicker/./src/components/EmojiList/style.css","webpack://EmojiPicker/./src/components/Search/style.css?0442","webpack://EmojiPicker/./src/components/Search/style.css","webpack://EmojiPicker/./src/style.css?7163","webpack://EmojiPicker/./src/style.css","webpack://EmojiPicker/./src/lib/globalObject/index.js","webpack://EmojiPicker/./src/lib/constants/index.js","webpack://EmojiPicker/./src/lib/recentlyUsed/index.js","webpack://EmojiPicker/./src/lib/emojiOutput/index.js","webpack://EmojiPicker/./src/lib/clickHandler/index.js","webpack://EmojiPicker/./src/components/SkinTones/constants.js","webpack://EmojiPicker/./src/components/SkinTones/index.js","webpack://EmojiPicker/./src/PickerContext/index.js","webpack://EmojiPicker/./src/lib/propTypes/index.js","webpack://EmojiPicker/./src/hooks/useEmojiUrl.js","webpack://EmojiPicker/./src/lib/emojiSrc/index.js","webpack://EmojiPicker/./src/components/EmojiImg/index.js","webpack://EmojiPicker/./src/components/VariationsMenu/index.js","webpack://EmojiPicker/./src/components/CategoriesNav/index.js","webpack://EmojiPicker/./lib/emojiStorage/index.js","webpack://EmojiPicker/./src/hooks/useIntersectionObserver.js","webpack://EmojiPicker/./src/hooks/useScrollUpOnFilterChange.js","webpack://EmojiPicker/./src/lib/setEmojiName/index.js","webpack://EmojiPicker/./src/components/Emoji/index.js","webpack://EmojiPicker/./src/components/Emoji/colors.js","webpack://EmojiPicker/./src/components/EmojiList/index.js","webpack://EmojiPicker/./lib/reduceBatch/index.js","webpack://EmojiPicker/./src/hooks/useFilter.js","webpack://EmojiPicker/./lib/initSearch/index.js","webpack://EmojiPicker/./src/components/Search/index.js","webpack://EmojiPicker/./src/components/RecentlyUsed/index.js","webpack://EmojiPicker/./src/index.js"],"names":["root","factory","exports","module","require","define","amd","global","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","EMOJI_PROPERTY_NAME","EMOJI_PROPERTY_UNIFIED","EMOJI_PROPERTY_SKIN_VARIATIONS","EMOJI_PROPERTY_GROUP","GROUP_NAME_PEOPLE","GROUP_NAME_NATURE","GROUP_NAME_FOOD","GROUP_NAME_TRAVEL","GROUP_NAME_ACTIVITIES","GROUP_NAME_OBJECTS","GROUP_NAME_SYMBOLS","GROUP_NAME_FLAGS","GROUP_NAME_RECENTLY_USED","obj","configurable","writable","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arr","arrayWithoutHoles","iterableToArray","nonIterableSpread","memo","isOldIE","Boolean","window","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","id","base","count","concat","index","css","media","sourceMap","references","updater","push","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","join","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","btoa","unescape","encodeURIComponent","JSON","stringify","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","toString","newLastIdentifiers","_i","_index","splice","useSourceMap","this","map","content","cssMapping","sourceMapping","base64","data","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","hasOwn","classNames","classes","arguments","arg","argType","Array","isArray","inner","apply","default","_extends","assign","len","arr2","arrayLikeToArray","minLen","slice","constructor","from","test","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","iter","iterator","TypeError","_arr","_n","_d","_e","undefined","_s","next","done","api","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","url","hash","needQuotes","replace","globalObject","GROUP_NAMES_ENGLISH","getRecentlyUsed","localStorage","ruList","getItem","parse","setRecentlyUsed","unified","originalUnified","unifiedParts","split","skinVariation","output","setItem","emojiOutput","emoji","activeSkinTone","extra","hex","parseInt","String","fromCodePoint","names","clickHandler","onClickRef","current","SKIN_TONE_NEUTRAL","SKIN_TONE_LIGHT","SKIN_TONE_MEDIUM_LIGHT","SKIN_TONE_MEDIUM","SKIN_TONE_MEDIUM_DARK","SKIN_TONE_DARK","SkinTones","setSkinToneSpread","toggleSkinTonesSpread","useContext","PickerContext","skinToneSpreadState","skinToneSpread","useSkinToneSpreadValue","setActiveSkinTone","activeSkinToneState","skinTone","useSetActiveSkinTone","useActiveSkinTone","handleClick","className","skinTones","tone","isActive","transform","zIndex","type","onChange","htmlFor","data-name","onClick","groupNamesPropType","smileys_people","animals_nature","food_drink","travel_places","activities","objects","symbols","flags","recently_used","configPropTypes","emojiUrl","preload","groupNames","native","groupVisibility","disableAutoFocus","disableSearchBar","disableSkinTonePicker","createContext","PickerContextProvider","children","config","recentlyUsed","onEmojiClick","activeCategoryState","useState","filterState","filterResult","seenGroupsState","missingEmojiState","variationMenuState","Provider","useActiveCategory","useFilterValue","useFilterResult","useSetSeenGroups","setSeenGroups","group","seenGroups","useMissingEmojis","useVariationMenuValue","useCloseVariationMenu","setVariationMenu","skinToneSpreadValue","collapseSkinTones","getAttribute","useConfig","useOnEmojiClick","propTypes","useEmojiUrl","emojiSrc","src","EmojiImg","shouldLoad","Img","setMissingEmoji","missingEmoji","useSetMissingEmoji","onError","VariationsMenu","showMenu","setShowMenu","closeVariations","variationMenu","useEffect","cn","visible","find","v","includes","onMouseDown","stopPropagation","CategoriesNav","emojiListRef","refNav","useRef","activeCategory","setActiveCategory","inactive","$group","left","barOpacity","offsetLeft","category","scrollTop","offsetTop","ref","groups","active","Math","max","opacity","display","Element","initEmojis","groupedEmojis","storage","emojis","reduce","useIntersectionObserver","activeCategoryRef","filterResultRef","renderOne","observer","refActiveCategory","IntersectionObserver","entries","entry","intersectionRatio","parentElement","querySelectorAll","observe","threshold","disconnect","useScrollUpOnFilterChange","setEmojiName","emojiName","closest","pastels","mouseDownTimeout","handleMouseUp","clearTimeout","Emoji","order","hidden","openVariationMenu","variationMenuOpenRef","handleMouseEnter","handleMouseLeave","hasSkinVariation","color","u","indexOf","setTimeout","onMouseEnter","onMouseLeave","onMouseUp","createEmojiList","searchTerm","activeVariation","unsetEmojiName","useCallback","useMemo","listToUse","emojiStorage","accumulator","shown","EmojiList","setRenderOne","requestAnimationFrame","Fragment","ListRender","React","data-display-name","searchTerms","mappedSearchTerms","reduceBatch","cb","initialValue","batchSize","Promise","resolve","batch","allEmojis","values","term","toLowerCase","then","char","res","useFilter","dispatch","setFilterResult","setFilter","nextFilter","prevKey","trim","terms","sliceIndex","last","Search","position","autoFocus","RecentlyUsed","EmojiPicker","DEFAULT_EMOJI_URL","pickerStyle","isMounted","Aside","onScroll"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"EmojiPicker\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"EmojiPicker\"] = factory(root[\"react\"]);\n})(global, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = {\n EMOJI_PROPERTY_NAME: 'n',\n EMOJI_PROPERTY_UNIFIED: 'u',\n EMOJI_PROPERTY_SKIN_VARIATIONS: 'v',\n EMOJI_PROPERTY_GROUP: 'g',\n GROUP_NAME_PEOPLE: 'smileys_people',\n GROUP_NAME_NATURE: 'animals_nature',\n GROUP_NAME_FOOD: 'food_drink',\n GROUP_NAME_TRAVEL: 'travel_places',\n GROUP_NAME_ACTIVITIES: 'activities',\n GROUP_NAME_OBJECTS: 'objects',\n GROUP_NAME_SYMBOLS: 'symbols',\n GROUP_NAME_FLAGS: 'flags',\n GROUP_NAME_RECENTLY_USED: 'recently_used',\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function _extends() {\n module.exports = _extends = 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 };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react ul.skin-tones-list {\\n padding: 0;\\n margin: 0;\\n list-style-type: none;\\n position: absolute;\\n top: 13px;\\n right: 40px;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list li {\\n background-color: currentColor;\\n position: absolute;\\n padding: 0;\\n border-radius: 2px;\\n overflow: hidden;\\n transition: transform 0.3s ease;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list label {\\n height: 10px;\\n width: 10px;\\n padding: 0;\\n display: block;\\n cursor: pointer;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list input {\\n height: 0;\\n width: 0;\\n opacity: 0;\\n visibility: hidden;\\n display: none;\\n}\\n\\n.emoji-picker-react ul.skin-tones-list li.tneutral {\\n color: #ffd225;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fb {\\n color: #ffdfbd;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fc {\\n color: #e9c197;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fd {\\n color: #c88e62;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3fe {\\n color: #a86637;\\n}\\n.emoji-picker-react ul.skin-tones-list li.t1f3ff {\\n color: #60463a;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react img.emoji-img {\\n height: 25px;\\n width: 25px;\\n margin: 5px;\\n}\\n\\n.emoji-picker-react .native {\\n height: 25px;\\n width: 25px;\\n margin: 5px;\\n font-size: 25px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n font-family: 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', Times,\\n Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .variation-wrapper {\\n position: relative;\\n}\\n\\n.emoji-picker-react .variation-list {\\n background: #f4f4f4;\\n border-bottom: 1px solid #efefef;\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 10;\\n margin: 0;\\n padding: 0;\\n display: flex;\\n justify-content: space-evenly;\\n list-style-type: none;\\n transition: transform 0.1s;\\n transform: translateY(-100%);\\n}\\n\\n.emoji-picker-react .variation-list.visible {\\n transform: translateY(0);\\n}\\n\\n.emoji-picker-react .variation-list button {\\n display: flex;\\n}\\n\\n.emoji-picker-react .variation-list button {\\n border-radius: 5px;\\n transition: background 0.1s;\\n background: none;\\n padding: 0;\\n}\\n\\n.emoji-picker-react .variation-list button:hover {\\n background-color: #dbdbdb;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./svg/activities.svg\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"./svg/animals_nature.svg\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"./svg/flags.svg\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"./svg/food_drink.svg\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"./svg/objects.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"./svg/smileys_people.svg\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"./svg/symbols.svg\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"./svg/travel_places.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji-categories button {\\n height: 40px;\\n width: 20px;\\n padding: 5px 0;\\n background-repeat: no-repeat;\\n background-size: 20px;\\n background-position: 50% 50%;\\n cursor: pointer;\\n opacity: 0.5;\\n transition: opacity 0.1s;\\n}\\n\\n.emoji-picker-react .active-category-indicator-wrapper {\\n position: relative;\\n width: 100%;\\n}\\n.emoji-picker-react\\n .active-category-indicator-wrapper\\n .active-category-indicator {\\n background: #99c2f1;\\n height: 3px;\\n width: 5px;\\n position: absolute;\\n bottom: 3px;\\n border-radius: 5px;\\n transition: 0.3s;\\n width: 30px;\\n left: -7px;\\n}\\n\\n.emoji-picker-react .emoji-categories button.icn-activities {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-animals_nature {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-flags {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-food_drink {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-objects {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-smileys_people {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-symbols {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");\\n}\\n.emoji-picker-react .emoji-categories button.icn-travel_places {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \");\\n}\\n\\n.emoji-picker-react .emoji-categories {\\n padding: 0 15px;\\n display: flex;\\n justify-content: space-between;\\n box-sizing: border-box;\\n}\\n\\n.emoji-picker-react .emoji-categories.inactive button,\\n.emoji-picker-react .emoji-categories.inactive button.active,\\n.emoji-picker-react .emoji-categories.inactive button:hover {\\n opacity: 0.4;\\n cursor: default;\\n}\\n\\n.emoji-picker-react .emoji-categories button.active {\\n opacity: 1;\\n}\\n\\n.emoji-picker-react .emoji-categories button:hover {\\n opacity: 0.7;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== 'string') {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n }\n\n return url;\n};","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 0C14.355 0 0 14.355 0 32s14.355 32 32 32 32-14.355 32-32S49.645 0 32 0zm29.624 36.731l-3.885-6.439 2.681-7.88a29.867 29.867 0 0 1 1.204 14.319zm-7.558 15.567a.994.994 0 0 0-.408-.02L43.98 53.83a.993.993 0 0 0-.123-.345l-5.502-9.17 8.896-13.7h8.428a.992.992 0 0 0 .105.312l5.236 8.678a29.956 29.956 0 0 1-6.954 12.693zm-10.085 3.557l7.688-1.232a29.958 29.958 0 0 1-11.706 6.296l4.018-5.064zM12.65 9.1a29.858 29.858 0 0 1 18.628-7.082.982.982 0 0 0 .24.376l5.525 5.214-2.185 8.156-14.237 5.465c-.052-.042-.093-.094-.154-.126l-8.87-4.701L12.65 9.1zm25.736-2.976l-4.283-4.042a29.763 29.763 0 0 1 10.989 2.931l-6.706 1.111zM21.93 38.737l-.816-15.554L35.655 17.6l9.803 12.106-8.483 13.063-15.045-4.032zm37.375-19.141c-.031.054-.072.098-.093.159l-3.015 8.86h-9.048L36.882 15.937l2.113-7.887 8.27-1.371a.979.979 0 0 0 .453-.218 30.2 30.2 0 0 1 11.587 13.135zm-48.994-8.289l-.802 5.561-5.349 3.975a30.035 30.035 0 0 1 6.151-9.536zm-7.255 12.82c.044-.023.09-.037.131-.068l7.737-5.751 8.158 4.323.888 16.936c.002.025.013.048.016.073l-7.71 7.629c-.066.065-.105.145-.149.222L4.734 44.32c-.028-.012-.057-.009-.085-.018A29.822 29.822 0 0 1 2 32c0-2.725.372-5.362 1.056-7.873zm3.022 22.945l5.415 2.322 4.141 7.729a30.222 30.222 0 0 1-9.556-10.051zm12.759 11.879c-.019-.064-.025-.131-.058-.192l-5.317-9.924c.076-.043.155-.08.22-.145l8.027-7.942 14.507 3.888 5.927 9.879c.05.083.11.154.178.217l-5.449 6.867c-1.587.26-3.213.401-4.872.401-4.72 0-9.186-1.099-13.163-3.049z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83 0 172.229 0 235s24.444 121.784 68.83 166.17S172.229 470 235 470s121.784-24.444 166.17-68.83S470 297.771 470 235s-24.444-121.784-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Cpath d='M382.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM322.5 135.459c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM117.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM436.826 253.173a7.5 7.5 0 0 0-5.443-2.6c-12.664-.4-24.343-7.548-32.041-19.608a7.5 7.5 0 0 0-12.643-.001c-7.974 12.489-20.074 19.652-33.2 19.652-13.089 0-25.177-7.164-33.162-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.192 19.66-13.098 0-25.189-7.164-33.175-19.656a7.5 7.5 0 0 0-12.64.004c-7.974 12.489-20.069 19.652-33.187 19.652-13.098 0-25.19-7.164-33.176-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.191 19.66-13.099 0-25.19-7.164-33.175-19.655a7.5 7.5 0 0 0-12.64.004c-7.699 12.061-19.389 19.207-32.07 19.608a7.494 7.494 0 0 0-5.443 2.6 7.497 7.497 0 0 0-1.769 5.767c5.786 49.506 29.545 95.215 66.901 128.706C135.964 421.407 184.509 440 235 440c45.241 0 88.17-14.518 124.145-41.982a7.498 7.498 0 0 0 1.41-10.512 7.496 7.496 0 0 0-10.512-1.41C316.705 411.547 276.924 425 235 425c-93.882 0-173.276-68.424-187.68-160.366 11.265-2.217 21.561-8.215 29.707-17.284 10.49 11.584 24.673 18.267 39.476 18.267 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.685 18.291 39.498 18.291 14.828 0 29.022-6.689 39.511-18.284 10.493 11.595 24.682 18.284 39.491 18.284 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.679 18.291 39.485 18.291 14.826 0 29.018-6.681 39.505-18.264 8.14 9.065 18.422 15.061 29.671 17.278-6.044 38.177-24.008 74.246-51.068 102.269a7.5 7.5 0 1 0 10.791 10.419c31.08-32.185 51.038-74.226 56.198-118.38a7.495 7.495 0 0 0-1.769-5.766z'/%3E%3Cpath d='M289.513 310.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM358.49 280.616h-10c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5zM111.503 280.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM235 191.25c30.327 0 55-24.673 55-55s-24.673-55-55-55-55 24.673-55 55 24.673 55 55 55zm0-95c22.056 0 40 17.944 40 40s-17.944 40-40 40-40-17.944-40-40 17.944-40 40-40z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 502 502'%3E%3Cpath d='M428.484 73.516C381.076 26.108 318.044 0 251 0S120.924 26.108 73.516 73.516 0 183.956 0 251s26.108 130.076 73.516 177.484S183.956 502 251 502s130.076-26.108 177.484-73.516C475.892 381.076 502 318.044 502 251s-26.108-130.076-73.516-177.484zM283.829 39h58.868c58.354 25.338 104.274 74.079 125.849 134.317h-41.725a21.139 21.139 0 0 0-19.587 13.087 21.139 21.139 0 0 0 4.595 23.104l3.3 3.3c4.638 4.637 4.638 12.184 0 16.821a11.42 11.42 0 0 1-8.13 3.368 11.422 11.422 0 0 1-8.13-3.368l-7.969-7.969c-13.135-13.135-30.599-20.369-49.175-20.369h-6.397v-8.036c0-19.265-7.502-37.376-21.124-50.999l-9.952-9.952c-10.216-10.216-23.799-15.843-38.247-15.843h-19.931c-7.721 0-14.98 3.007-20.439 8.466l-5.17 5.169c-5.459 5.459-8.466 12.718-8.466 20.439a4.736 4.736 0 0 1-4.73 4.73h-8.66v-12.154c0-8.648 3.368-16.78 9.483-22.895l5.849-5.849c5.244-5.243 8.131-12.214 8.131-19.629V92.71c0-.394.32-.713.713-.713H320.5c12.407 0 22.5-10.093 22.5-22.5S332.907 47 320.5 47h-36.671c-2.206 0-4-1.794-4-4s1.794-4 4-4zm74.893 252.437l-5.452 5.484a155.066 155.066 0 0 0-22.913 29.41l-9.918 16.5-12.403 20.492a48.673 48.673 0 0 0-7.036 25.21v.615a.857.857 0 0 1-.856.856h-.004a8.78 8.78 0 0 1-6.247-2.586 8.776 8.776 0 0 1-2.589-6.25c0-12.58-4.899-24.407-13.794-33.303l-4.591-4.591c-6.947-6.947-10.773-16.183-10.773-26.007v-29.475c0-14.806-12.045-26.851-26.852-26.851H231.8c-8.349 0-15.142-6.792-15.142-15.142v-15.343c0-9.034 7.35-16.384 16.384-16.384h79.886l24.099 24.1c6.003 6.003 9.309 13.984 9.309 22.473v11.464c0 8.56 5.082 15.955 12.386 19.328zM20 251c0-9.444.583-18.752 1.69-27.902h30.619c10.153 0 19.698 3.954 26.876 11.133l8.781 8.78c7.527 7.527 17.534 11.672 28.179 11.672 5.65 0 10.962 2.2 14.957 6.195l.193.193c7.233 7.233 11.217 16.851 11.217 27.081v17.886c0 13.63-5.308 26.444-14.945 36.082l-19.15 19.15c-13.442 13.443-21.939 30.512-24.58 49.002C44.303 368.799 20 312.684 20 251zm231 231c-56.288 0-107.93-20.247-148.049-53.827v-5.423c0-17.881 6.963-34.693 19.607-47.337l19.15-19.15c13.415-13.416 20.803-31.252 20.803-50.224v-17.886c0-15.573-6.064-30.213-17.075-41.224l-.193-.192c-7.772-7.772-18.106-12.053-29.099-12.053a19.72 19.72 0 0 1-14.036-5.814l-8.781-8.781c-10.957-10.956-25.524-16.99-41.019-16.99h-27.3C47.126 98.635 140.047 20 251 20c7.743 0 15.396.39 22.946 1.138-8.316 3.774-14.117 12.151-14.117 21.862 0 13.234 10.766 24 24 24H320.5c1.378 0 2.5 1.122 2.5 2.5s-1.122 2.5-2.5 2.5h-97.713c-11.421 0-20.713 9.292-20.713 20.713v2.028a7.706 7.706 0 0 1-2.273 5.486l-5.85 5.85c-9.893 9.893-15.341 23.047-15.341 37.037v13.574c0 10.245 8.334 18.58 18.579 18.58h10.081c13.636 0 24.73-11.094 24.73-24.73 0-2.379.926-4.615 2.608-6.297l5.169-5.169c.203-.203.414-.393.632-.574.167.195.334.389.518.574l19.932 19.932c-3.833 3.911-3.813 10.186.068 14.068 1.953 1.953 4.512 2.929 7.071 2.929s5.119-.976 7.071-2.929l7-7c3.905-3.905 3.905-10.237 0-14.143l-15.45-15.45c8.875.156 17.197 3.677 23.489 9.97l9.953 9.952c9.844 9.844 15.266 22.934 15.266 36.856v.817H233.04c-20.062 0-36.384 16.322-36.384 36.384V245.8c0 19.377 15.765 35.142 35.142 35.142h3.493a6.86 6.86 0 0 1 6.852 6.851v29.475c0 15.167 5.906 29.425 16.63 40.15l4.591 4.591c5.118 5.118 7.937 11.923 7.937 19.161 0 7.705 3.001 14.948 8.451 20.396 5.446 5.443 12.685 8.44 20.384 8.44h.015C311.648 410 321 400.644 321 389.149v-.614a28.68 28.68 0 0 1 4.146-14.854l12.409-20.502a.226.226 0 0 1 .016-.026l9.928-16.517a135.064 135.064 0 0 1 19.955-25.613l11.147-11.213c4.428-4.455 5.731-11.08 3.319-16.879s-8.029-9.546-14.31-9.546a1.274 1.274 0 0 1-1.273-1.273v-11.464c0-13.832-5.386-26.835-15.167-36.616l-2.215-2.215c10.49 1.524 20.173 6.357 27.804 13.988l7.969 7.969c6.141 6.141 14.207 9.211 22.272 9.211s16.132-3.07 22.272-9.211c6.024-6.024 9.341-14.033 9.341-22.553 0-8.519-3.317-16.528-9.341-22.553l-3.3-3.3c-.198-.198-.567-.567-.26-1.308.307-.741.829-.741 1.109-.741h47.888C479.468 211.761 482 231.09 482 251c0 127.374-103.626 231-231 231z'/%3E%3Cpath d='M184 85c5.523 0 10-4.477 10-10V54.494c0-5.523-4.477-10-10-10s-10 4.477-10 10V75c0 5.523 4.477 10 10 10zM450.39 314.63c-5.176-1.93-10.935.702-12.863 5.877C408.652 397.961 333.692 450 251 450c-5.523 0-10 4.477-10 10s4.477 10 10 10c45.543 0 89.207-13.849 126.272-40.048 36.24-25.617 63.556-61.046 78.995-102.458 1.929-5.175-.702-10.934-5.877-12.864zM202.433 444.034a198.232 198.232 0 0 1-28.554-9.526c-5.092-2.144-10.954.249-13.096 5.339-2.142 5.09.249 10.954 5.339 13.096a218.202 218.202 0 0 0 31.445 10.491c.817.205 1.635.303 2.44.303 4.478 0 8.554-3.03 9.692-7.57 1.344-5.358-1.909-10.79-7.266-12.133z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M337.502 61.244c-46.267-19.341-98.094-21.573-145.933-6.282-5.497 1.758-8.528 7.638-6.772 13.134 1.758 5.497 7.64 8.528 13.134 6.772 43.115-13.782 89.819-11.772 131.51 5.657 1.317.55 2.682.811 4.026.811 4.087 0 7.969-2.415 9.644-6.422 2.228-5.324-.284-11.445-5.609-13.67zM368.323 77.252a11.31 11.31 0 0 0-.375-.239c-4.925-3.009-11.356-1.458-14.364 3.467-2.984 4.884-1.483 11.249 3.346 14.29a10.398 10.398 0 0 0 5.587 1.626c3.377 0 6.69-1.633 8.704-4.654 3.201-4.801 1.904-11.289-2.898-14.49zM447.293 161.884c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.389-3.06l14.629-14.629c4.081-4.081 4.081-10.698.001-14.778zM83.999 214.617c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.39-3.06l14.629-14.629c4.081-4.082 4.081-10.698 0-14.778zM115.508 100.235c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.348-1.02 7.39-3.06l14.629-14.629c4.081-4.081 4.081-10.698 0-14.778zM386.754 116.24h-20.688c-5.771 0-10.449 4.678-10.449 10.449s4.678 10.449 10.449 10.449h20.688c5.771 0 10.449-4.678 10.449-10.449s-4.678-10.449-10.449-10.449zM151.326 161.908l-14.618-14.618c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.618 14.618a10.413 10.413 0 0 0 7.388 3.06c2.674 0 5.349-1.02 7.39-3.06 4.081-4.081 4.081-10.698 0-14.778zM411.753 229.241l-14.618-14.617c-4.08-4.081-10.696-4.08-14.777 0s-4.08 10.697 0 14.777l14.618 14.617c2.041 2.041 4.715 3.06 7.388 3.06s5.348-1.021 7.388-3.06c4.083-4.08 4.082-10.696.001-14.777zM318.326 126.607l-14.617-14.617c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.617 14.617a10.414 10.414 0 0 0 7.388 3.061 10.42 10.42 0 0 0 7.39-3.061c4.08-4.081 4.08-10.698 0-14.778zM195.194 97.387c-3.904-4.25-10.515-4.528-14.763-.622l-15.22 13.989c-4.249 3.905-4.527 10.515-.622 14.763a10.42 10.42 0 0 0 7.696 3.378c2.528 0 5.063-.911 7.068-2.756l15.22-13.989c4.248-3.905 4.526-10.515.621-14.763zM256.153 145.241H255.865c-5.762 0-10.437 4.665-10.449 10.429-.011 5.771 4.658 10.457 10.429 10.469H256.134c5.762 0 10.438-4.664 10.449-10.429.01-5.771-4.659-10.458-10.43-10.469z'/%3E%3Cpath d='M437.019 74.981C388.668 26.628 324.38 0 256 0S123.332 26.628 74.981 74.981C26.629 123.333 0 187.62 0 256c0 68.38 26.628 132.668 74.981 181.019C123.333 485.371 187.62 512 256 512c68.38 0 132.668-26.628 181.019-74.981C485.371 388.667 512 324.38 512 256s-26.628-132.668-74.981-181.019zM256 491.102c-94.256 0-175.718-55.763-213.173-136.024 6.781-.56 13.126-3.458 18.112-8.35 5.756-5.647 9.057-13.495 9.057-21.531v-9.364c0-7.449 6.027-13.624 13.435-13.767 3.561-.079 6.976 1.322 9.617 3.913 2.77 2.718 4.359 6.484 4.359 10.332v23.709c0 18.754 15.222 34.302 33.932 34.66.221.004.442.006.664.006 8.973 0 17.47-3.499 23.989-9.895 6.751-6.623 10.623-15.826 10.623-25.25v-18.215c20.172 27.524 52.723 45.432 89.384 45.432 52.209 0 96.09-36.312 107.73-85.007a10.027 10.027 0 0 1 2.18 6.23v25.773c0 19.673 15.968 35.984 35.596 36.361.233.004.464.006.696.006 9.409 0 18.321-3.671 25.161-10.38 7.086-6.951 11.149-16.61 11.149-26.5v-24.856c0-2.83 1.17-5.6 3.21-7.602 1.927-1.889 4.429-2.882 6.986-2.854 5.403.104 9.8 4.612 9.8 10.05v2.721c0 14.409 10.071 26.69 23.526 30.04C453.848 418.996 363.189 491.102 256 491.102zm223.405-200.399v-2.721c0-16.741-13.591-30.624-30.297-30.944-8.235-.159-16.057 2.978-22.022 8.829-6.021 5.906-9.473 14.113-9.473 22.52v24.856c0 4.314-1.782 8.536-4.886 11.582-2.97 2.912-6.846 4.462-10.82 4.397-8.326-.16-15.099-7.098-15.099-15.468v-25.773c0-13.154-8.392-24.538-20.091-28.971.027-1.001.043-2.004.043-3.011 0-46.06-29.007-87.788-72.182-103.836-5.411-2.01-11.425.745-13.434 6.154-2.01 5.409.745 11.424 6.154 13.434 35.027 13.021 58.562 46.877 58.562 84.248 0 49.549-40.312 89.861-89.861 89.861-49.549 0-89.861-40.312-89.861-89.861 0-37.372 23.535-71.228 58.565-84.246 5.409-2.01 8.164-8.026 6.154-13.434s-8.022-8.165-13.434-6.154C174.248 168.21 145.239 209.938 145.239 256a110.22 110.22 0 0 0 7.085 38.971 30.145 30.145 0 0 0-6.607 18.808v25.763c0 3.848-1.589 7.614-4.359 10.332-2.642 2.591-6.036 3.973-9.617 3.913-7.407-.142-13.434-6.317-13.434-13.766v-23.709c0-9.424-3.872-18.627-10.623-25.251-6.681-6.554-15.435-10.081-24.652-9.889-18.71.358-33.932 15.907-33.932 34.66v9.364c0 2.461-1.019 4.871-2.794 6.613-1.668 1.635-3.808 2.506-6.034 2.47-3.374-.065-6.387-2.139-7.733-5.21-7.543-23.011-11.64-47.569-11.64-73.07C20.898 126.365 126.365 20.898 256 20.898S491.102 126.365 491.102 256c0 15.182-1.464 30.026-4.227 44.414-4.281-1.138-7.47-5.083-7.47-9.711z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58.153 58.153'%3E%3Cpath d='M40.076 29.153h-7.142a3.995 3.995 0 0 0-2.858-2.858V16.153a1 1 0 1 0-2 0v10.142c-1.72.447-3 1.999-3 3.858 0 2.206 1.794 4 4 4 1.858 0 3.411-1.28 3.858-3h7.142a1 1 0 1 0 0-2zm-11 3c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z'/%3E%3Cpath d='M50.188 9.764l4.096 4.096a1 1 0 0 0 1.414 0c3.167-3.166 3.167-8.319 0-11.485s-8.319-3.166-11.485 0a.997.997 0 0 0 0 1.414l4.561 4.561-1.699 1.699c-4.78-4.284-11.089-6.896-17.998-6.896s-13.218 2.612-17.998 6.896l-1.7-1.699 4.561-4.561a.997.997 0 0 0 0-1.414c-3.166-3.166-8.318-3.166-11.485 0s-3.167 8.319 0 11.485a1 1 0 0 0 1.414 0l4.096-4.096 1.676 1.676c-4.679 4.857-7.565 11.453-7.565 18.713 0 9.898 5.357 18.564 13.321 23.265l-3.028 3.028a.999.999 0 1 0 1.414 1.414l3.45-3.45c3.578 1.754 7.597 2.743 11.843 2.743s8.265-.989 11.843-2.743l3.45 3.45a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-3.028-3.028c7.964-4.701 13.321-13.367 13.321-23.265 0-7.26-2.886-13.856-7.565-18.713l1.677-1.676zm4.095-5.975c2.146 2.146 2.362 5.502.649 7.893L46.391 3.14a6.13 6.13 0 0 1 7.892.649zM3.22 11.681c-1.713-2.39-1.497-5.746.649-7.892s5.502-2.361 7.892-.649L3.22 11.681zm25.856 43.472c-13.785 0-25-11.215-25-25s11.215-25 25-25 25 11.215 25 25-11.214 25-25 25z'/%3E%3Cpath d='M29.076 10.032a1 1 0 0 0 1-1v-1a1 1 0 1 0-2 0v1a1 1 0 0 0 1 1zM29.076 50.032a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1zM50.076 31.032h1a1 1 0 1 0 0-2h-1a1 1 0 1 0 0 2zM8.076 29.032h-1a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2zM43.926 13.768l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM13.52 44.174l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM44.633 44.174a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707zM14.227 13.768a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 33'%3E%3Cpath d='M16.5 33C7.402 33 0 25.598 0 16.5S7.402 0 16.5 0 33 7.402 33 16.5 25.598 33 16.5 33zm0-32C7.953 1 1 7.953 1 16.5S7.953 32 16.5 32 32 25.047 32 16.5 25.047 1 16.5 1z'/%3E%3Cpath d='M16.5 33a16.38 16.38 0 0 1-9.549-3.06.5.5 0 1 1 .116-.876c4.146-1.535 4.815-2.781 4.815-5.169 0-.631-.142-.838-.398-1.214-.339-.494-.803-1.171-1.129-2.939-.048-.254-.089-.274-.316-.384-.606-.292-1.163-.712-1.309-2.628 0-.928.32-1.441.585-1.708-.058-.33-.153-.899-.242-1.519-.453-2.777-.473-6.178 3.433-7.759 3.404-1.38 6.121-.626 6.974.273.604.019 2.162.177 3.246 1.438 1.668 1.94 1.137 6.363.955 7.562.266.261.589.767.589 1.675-.146 1.954-.703 2.375-1.31 2.666-.228.11-.269.129-.316.384-.326 1.768-.789 2.445-1.128 2.939-.257.375-.398.583-.398 1.214 0 2.388.669 3.634 4.815 5.169a.498.498 0 0 1 .116.876A16.38 16.38 0 0 1 16.5 33zm-8.183-3.349C10.779 31.191 13.589 32 16.5 32s5.721-.809 8.183-2.349c-3.474-1.426-4.565-2.864-4.565-5.755 0-.941.278-1.348.573-1.779.304-.444.682-.996.971-2.556.139-.754.576-.964.865-1.103.311-.149.631-.303.744-1.803-.001-.764-.344-.972-.358-.98a.533.533 0 0 1-.264-.537c.248-1.329.656-5.474-.681-7.031-.913-1.062-2.352-1.091-2.626-1.08-.046-.004-.091-.005-.134-.016-.13-.033-.35-.146-.417-.262-.272-.466-2.641-1.403-5.91-.08-3.231 1.308-3.238 4.112-2.819 6.682.138.957.289 1.784.29 1.788a.5.5 0 0 1-.283.544c.003 0-.339.209-.339 1.008.112 1.461.433 1.616.743 1.765.289.139.727.349.866 1.103.288 1.56.666 2.112.97 2.556.296.431.574.838.574 1.779 0 2.894-1.091 4.332-4.566 5.757z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 490.4 490.4'%3E%3Cpath d='M229 381.2c4.4 4.4 10.1 6.8 16.3 6.8 6.2 0 12-2.4 16.3-6.8l96.3-96.3c15.7-15.7 24.4-36.6 24.4-58.7 0-22.2-8.6-43.1-24.3-58.8-15.7-15.7-36.6-24.3-58.7-24.3-20 0-38.9 7-54 19.9-15.1-13-34.1-20-54.1-20-22.2 0-43 8.6-58.7 24.3s-24.3 36.6-24.3 58.8 8.7 43 24.4 58.7l96.4 96.4zm-79.3-196.7c11.1-11.1 25.7-17.1 41.4-17.1s30.4 6.1 41.5 17.2l4 4c4.8 4.8 12.5 4.8 17.3 0l3.9-3.9c11.1-11.1 25.8-17.2 41.5-17.2 15.6 0 30.3 6.1 41.4 17.2 11.1 11.1 17.2 25.8 17.1 41.4 0 15.7-6.1 30.4-17.2 41.5l-95.3 95.3-95.5-95.5c-11.1-11.1-17.2-25.8-17.2-41.4 0-15.7 6.1-30.4 17.1-41.5z'/%3E%3Cpath d='M245.2 490.4c135.2 0 245.2-110 245.2-245.2S380.4 0 245.2 0 0 110 0 245.2s110 245.2 245.2 245.2zm0-465.9c121.7 0 220.7 99 220.7 220.7s-99 220.7-220.7 220.7-220.7-99-220.7-220.7 99-220.7 220.7-220.7z'/%3E%3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83C24.444 113.215 0 172.229 0 235s24.444 121.785 68.83 166.17C113.216 445.556 172.229 470 235 470s121.784-24.444 166.17-68.83C445.556 356.785 470 297.771 470 235s-24.444-121.785-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Ccircle cx='235' cy='97.5' r='7.5'/%3E%3Cpath d='M437.56 242.365a7.501 7.501 0 0 0-5.467-2.365h-26.046v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V240H372.5v-52.5a7.5 7.5 0 0 0-3.525-6.36L292.5 133.343V97.5A7.5 7.5 0 0 0 285 90h-13.253C268.262 72.905 253.109 60 235 60s-33.262 12.905-36.747 30H185a7.5 7.5 0 0 0-7.5 7.5V130h-25v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V130H105a7.5 7.5 0 0 0-7.5 7.5v102.499l-59.593-.01a7.504 7.504 0 0 0-7.487 7.969c3.523 56.171 29.666 105.984 69.187 140.798.281.291.587.556.911.799 23.389 20.362 51.39 35.496 82.128 43.638.307.102.622.184.946.246A204.258 204.258 0 0 0 235 440c17.409 0 34.679-2.229 51.386-6.558a7.297 7.297 0 0 0 1.002-.262 203.842 203.842 0 0 0 50.574-20.966c30.222-17.629 55.631-42.86 73.479-72.965a7.5 7.5 0 0 0-12.902-7.65 189.49 189.49 0 0 1-26.039 34.299V255h51.438a188.457 188.457 0 0 1-12.616 50.728 7.499 7.499 0 0 0 4.156 9.758 7.498 7.498 0 0 0 9.758-4.157 203.511 203.511 0 0 0 14.342-63.359 7.499 7.499 0 0 0-2.018-5.605zM192.5 175h85v215h-85V175zm0-70H205a7.5 7.5 0 0 0 7.5-7.5c0-12.407 10.094-22.5 22.5-22.5s22.5 10.093 22.5 22.5a7.5 7.5 0 0 0 7.5 7.5h12.5v55h-85v-55zM46.059 254.99l51.441.009V307.5c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5V145h65v245H175c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h2.5v11.078c-24.056-7.668-46.091-20.018-65-35.997V337.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v28.458c-28.127-29.492-46.937-68.033-51.441-110.968zM192.5 420.179V405h85v15.106A187.644 187.644 0 0 1 235 425a189.427 189.427 0 0 1-42.5-4.821zm100-4.235V405h2.5c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-2.5V151.032l65 40.625v188.307a191.989 191.989 0 0 1-65 35.98z'/%3E%3Cpath d='M325 320a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 280a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 240a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 200a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM145 345a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 305a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 265a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 185a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 225a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM235 350a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 310a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 270a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 230a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 190a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM215 145h40c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-40c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5z'/%3E%3C/svg%3E\"","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji {\\n position: relative;\\n}\\n\\n.emoji-picker-react .emoji.has-skin-variation button:before {\\n content: '';\\n display: block;\\n width: 0;\\n height: 0;\\n right: -2px;\\n bottom: 0px;\\n position: absolute;\\n border-left: 4px solid transparent;\\n border-right: 4px solid transparent;\\n border-bottom: 4px solid rgba(0, 0, 0, 0.1);\\n transform: rotate(135deg);\\n z-index: 1;\\n}\\n\\n.emoji-picker-react .emoji.has-skin-variation button:hover:before,\\n.emoji-picker-react .emoji.has-skin-variation button:focus-visible:before {\\n border-bottom: 4px solid rgba(0, 0, 0, 0.4);\\n}\\n\\n.emoji-picker-react .emoji button {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n color: inherit;\\n border-radius: 5px;\\n transition: 0.1s background;\\n padding: 0;\\n margin: 0;\\n}\\n\\n.emoji-picker-react .emoji button:hover,\\n.emoji-picker-react .emoji button:focus-visible {\\n background-color: currentColor;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react .emoji-group {\\n clear: both;\\n padding: 0 15px;\\n list-style: none;\\n margin: 0;\\n display: flex;\\n flex-flow: row wrap;\\n justify-content: space-between;\\n}\\n\\n.emoji-picker-react .emoji-group:before {\\n content: attr(data-display-name);\\n color: #aaa;\\n font-size: 14px;\\n position: sticky;\\n background: rgba(255, 255, 255, 0.95);\\n width: 100%;\\n z-index: 1;\\n top: 0;\\n text-transform: uppercase;\\n line-height: 45px;\\n font-weight: 700;\\n}\\n\\n.emoji-picker-react .emoji-group:after {\\n content: '';\\n flex: 1000;\\n order: 99999;\\n flex-basis: 25px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emoji-picker-react input.emoji-search {\\n width: calc(100% - 30px);\\n margin-left: 15px;\\n outline: none;\\n box-shadow: none;\\n padding: 10px;\\n box-sizing: border-box;\\n border: 1px solid #efefef;\\n border-radius: 3px;\\n transition: border 0.1s;\\n}\\n\\n.emoji-picker-react input.emoji-search:focus {\\n border: 1px solid #d6d6d6;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../node_modules/css-loader/dist/cjs.js!./style.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"aside.emoji-picker-react {\\n background: #fff;\\n display: flex;\\n flex-direction: column;\\n height: 320px;\\n width: 280px;\\n font-family: sans-serif;\\n border: 1px solid #efefef;\\n border-radius: 5px;\\n box-sizing: border-box;\\n box-shadow: 0 5px 10px #efefef;\\n overflow: hidden;\\n position: relative;\\n}\\n\\naside.emoji-picker-react .content-wrapper {\\n flex: 1;\\n overflow-y: hidden;\\n position: relative;\\n}\\n\\n.emoji-picker-react .emoji-scroll-wrapper {\\n overflow-y: scroll;\\n position: relative;\\n height: 100%;\\n box-sizing: border-box;\\n}\\n\\naside.emoji-picker-react .content-wrapper:before {\\n content: attr(data-name);\\n color: #aaa;\\n font-size: 11px;\\n display: block;\\n position: absolute;\\n right: 15px;\\n z-index: 10;\\n line-height: 45px;\\n max-height: 45px;\\n overflow: hidden;\\n max-width: 100px;\\n text-overflow: ellipsis;\\n text-align: right;\\n}\\n\\naside.emoji-picker-react button {\\n border: none;\\n cursor: pointer;\\n outline: none;\\n background: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","let globalObject;\n\ntry {\n globalObject = window;\n} catch (e) {\n globalObject = {};\n}\n\nexport default globalObject;\n","import {\n GROUP_NAME_PEOPLE,\n GROUP_NAME_NATURE,\n GROUP_NAME_FOOD,\n GROUP_NAME_TRAVEL,\n GROUP_NAME_ACTIVITIES,\n GROUP_NAME_OBJECTS,\n GROUP_NAME_SYMBOLS,\n GROUP_NAME_FLAGS,\n GROUP_NAME_RECENTLY_USED,\n} from '../../../lib/constants';\n\nexport const PROPERTY_DATA_NAME = 'data-name';\n\nexport const GROUP_NAMES_ENGLISH = {\n [GROUP_NAME_PEOPLE]: 'smileys & people',\n [GROUP_NAME_NATURE]: 'animals & nature',\n [GROUP_NAME_FOOD]: 'food & drink',\n [GROUP_NAME_TRAVEL]: 'travel & places',\n [GROUP_NAME_OBJECTS]: GROUP_NAME_OBJECTS,\n [GROUP_NAME_ACTIVITIES]: GROUP_NAME_ACTIVITIES,\n [GROUP_NAME_SYMBOLS]: GROUP_NAME_SYMBOLS,\n [GROUP_NAME_FLAGS]: GROUP_NAME_FLAGS,\n [GROUP_NAME_RECENTLY_USED]: 'Recently Used',\n};\n","import {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\nimport globalObject from '../globalObject';\n\nconst RECENTLY_USED_KEY = 'epr_ru';\n\nexport const getRecentlyUsed = () => {\n try {\n if (!globalObject.localStorage) {\n return [];\n }\n\n const ruList = globalObject.localStorage.getItem(RECENTLY_USED_KEY);\n\n return !ruList ? [] : JSON.parse(ruList);\n } catch (e) {\n return;\n }\n};\n\nexport const setRecentlyUsed = ({ unified, originalUnified }) => {\n try {\n if (!globalObject.localStorage) {\n return;\n }\n\n const unifiedParts = unified.split('-');\n\n let skinVariation = '';\n\n if (unified !== originalUnified && unifiedParts.length > 1) {\n skinVariation = unifiedParts[1];\n }\n\n const ruList = [\n {\n [EMOJI_PROPERTY_UNIFIED]: originalUnified,\n ...(skinVariation && {\n [EMOJI_PROPERTY_SKIN_VARIATIONS]: skinVariation,\n }),\n },\n ...getRecentlyUsed().filter(\n item => item[EMOJI_PROPERTY_UNIFIED] !== originalUnified\n ),\n ];\n\n const output = ruList.splice(0, 14);\n\n globalObject.localStorage.setItem(\n RECENTLY_USED_KEY,\n JSON.stringify(output)\n );\n } catch (e) {\n return;\n }\n};\n","import {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_NAME,\n} from '../../../lib/constants';\n\nconst emojiOutput = (unified, emoji, activeSkinTone, extra = {}) =>\n Object.assign(\n {\n unified,\n emoji: unified\n .split('-')\n .map(hex => parseInt(hex, 16))\n .map(hex => String.fromCodePoint(hex))\n .join(''),\n originalUnified: emoji[EMOJI_PROPERTY_UNIFIED],\n names: emoji[EMOJI_PROPERTY_NAME],\n activeSkinTone,\n },\n extra\n );\n\nexport default emojiOutput;\n","import { setRecentlyUsed } from '../recentlyUsed';\nimport emojiOutput from '../emojiOutput';\n\nconst clickHandler = (onClickRef = {}) => (\n e,\n unified,\n emoji,\n activeSkinTone\n) => {\n const output = emojiOutput(unified, emoji, activeSkinTone);\n setRecentlyUsed(output);\n return onClickRef.current && onClickRef.current(e, output);\n};\n\nexport default clickHandler;\n","export const SKIN_TONE_NEUTRAL = 'neutral';\nexport const SKIN_TONE_LIGHT = '1f3fb';\nexport const SKIN_TONE_MEDIUM_LIGHT = '1f3fc';\nexport const SKIN_TONE_MEDIUM = '1f3fe';\nexport const SKIN_TONE_MEDIUM_DARK = '1f3ff';\nexport const SKIN_TONE_DARK = '1f3fd';\nexport const DATA_NAME = 'tones';\n","import React from 'react';\nimport skinTones from '../../skinTones';\nimport {\n useActiveSkinTone,\n useSetActiveSkinTone,\n useSkinToneSpreadValue,\n useToggleSpreadSkinTones,\n} from '../../PickerContext';\nimport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n DATA_NAME,\n} from './constants';\nimport './style.css';\n\nexport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n DATA_NAME,\n};\n\nconst SkinTones = () => {\n const toggleSkinTonesSpread = useToggleSpreadSkinTones();\n const skinToneSpread = useSkinToneSpreadValue();\n const setActiveSkinTone = useSetActiveSkinTone();\n const activeSkinTone = useActiveSkinTone();\n\n const handleClick = () => {\n toggleSkinTonesSpread();\n };\n\n return (\n <ul className=\"skin-tones-list\">\n {skinTones.map((tone, i) => {\n const isActive = tone === activeSkinTone;\n\n return (\n <li\n key={tone}\n className={`t${tone}`}\n style={{\n transform: `translateX(-${skinToneSpread ? i * 20 : 0}px) scale(${\n isActive ? '1.5' : 1\n })`,\n zIndex: isActive ? 2 : 1,\n }}\n >\n <input\n type=\"radio\"\n onChange={({ target: { value } }) => setActiveSkinTone(value)}\n name=\"skin-tone\"\n value={tone}\n id={`tone_${tone}`}\n />\n <label\n htmlFor={`tone_${tone}`}\n data-name={DATA_NAME}\n onClick={handleClick}\n />\n </li>\n );\n })}\n </ul>\n );\n};\n\nexport default SkinTones;\n","import * as React from 'react';\nimport { createContext, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { GROUP_NAME_PEOPLE } from '../../lib/constants';\nimport { PROPERTY_DATA_NAME } from '../lib/constants';\nimport { DATA_NAME } from '../components/SkinTones';\nimport { configPropTypes } from '../lib/propTypes';\n\nconst PickerContext = createContext({});\n\nexport function PickerContextProvider({\n children,\n config,\n recentlyUsed,\n onEmojiClick,\n}) {\n const activeCategoryState = useState(null);\n const filterState = useState([]);\n const filterResult = useState(null);\n const seenGroupsState = useState({ [GROUP_NAME_PEOPLE]: true });\n const missingEmojiState = useState({});\n const variationMenuState = useState(null);\n const skinToneSpreadState = useState(false);\n const activeSkinToneState = useState(null);\n\n return (\n <PickerContext.Provider\n value={{\n activeCategoryState,\n filterState,\n filterResult,\n seenGroupsState,\n missingEmojiState,\n variationMenuState,\n skinToneSpreadState,\n activeSkinToneState,\n config,\n recentlyUsed,\n onEmojiClick,\n }}\n >\n {children}\n </PickerContext.Provider>\n );\n}\n\nPickerContextProvider.propTypes = {\n children: PropTypes.node,\n};\n\nexport function useActiveCategory() {\n return useContext(PickerContext).activeCategoryState;\n}\n\nexport function useSetFilter() {\n const [, dispatch] = useContext(PickerContext).filterState;\n const [, setFilterResult] = useContext(PickerContext).filterResult;\n return ({ filter, filterResult }) => {\n dispatch(filter);\n setFilterResult(filterResult);\n };\n}\n\nexport function useFilterValue() {\n const [value] = useContext(PickerContext).filterState;\n return value;\n}\n\nexport function useFilterResult() {\n const [result] = useContext(PickerContext).filterResult;\n return result;\n}\n\nexport function useSeenGroups() {\n const [seenGroups] = useContext(PickerContext).seenGroupsState;\n\n return seenGroups;\n}\n\nexport function useSetSeenGroups() {\n const [, setSeenGroups] = useContext(PickerContext).seenGroupsState;\n\n return group => {\n setSeenGroups((seenGroups = {}) => {\n return seenGroups[group] ? seenGroups : { ...seenGroups, [group]: true };\n });\n };\n}\n\nexport function useSetMissingEmoji() {\n const [, setMissingEmoji] = useContext(PickerContext).missingEmojiState;\n\n return emoji => {\n setMissingEmoji(missingEmoji => {\n return { ...missingEmoji, [emoji]: true };\n });\n };\n}\n\nexport function useMissingEmojis() {\n const [missingEmojis] = useContext(PickerContext).missingEmojiState;\n\n return missingEmojis;\n}\n\nexport function useVariationMenuValue() {\n const [value] = useContext(PickerContext).variationMenuState;\n return value;\n}\n\nexport function useOpenVariationMenu() {\n const [, setVariationMenu] = useContext(PickerContext).variationMenuState;\n\n return emoji => {\n setVariationMenu(activeVariation => {\n if (activeVariation === emoji) {\n return activeVariation;\n }\n\n return emoji;\n });\n };\n}\n\nexport function useCloseVariationMenu() {\n const [, setVariationMenu] = useContext(PickerContext).variationMenuState;\n const skinToneSpreadValue = useSkinToneSpreadValue();\n const collapseSkinTones = useCollapseSkinTones();\n\n return ({ target }) => {\n setVariationMenu(current => {\n if (current) {\n return null;\n }\n });\n\n if (\n skinToneSpreadValue &&\n target.getAttribute(PROPERTY_DATA_NAME) !== DATA_NAME\n ) {\n collapseSkinTones();\n }\n };\n}\n\nexport function useSkinToneSpreadValue() {\n const [skinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return skinToneSpread;\n}\n\nexport function useToggleSpreadSkinTones() {\n const [, setSkinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return () => setSkinToneSpread(skinToneSpread => !skinToneSpread);\n}\n\nexport function useCollapseSkinTones() {\n const [, setSkinToneSpread] = useContext(PickerContext).skinToneSpreadState;\n\n return () => setSkinToneSpread(false);\n}\n\nexport function useActiveSkinTone() {\n const [activeSkinTone] = useContext(PickerContext).activeSkinToneState;\n\n return activeSkinTone;\n}\n\nexport function useSetActiveSkinTone() {\n const [, setActiveSkinTone] = useContext(PickerContext).activeSkinToneState;\n\n return skinTone => {\n setActiveSkinTone(skinTone);\n };\n}\n\nexport function useConfig() {\n return useContext(PickerContext).config;\n}\n\nexport function useRecentlyUsed() {\n return useContext(PickerContext).recentlyUsed;\n}\n\nexport function useOnEmojiClick() {\n return useContext(PickerContext).onEmojiClick;\n}\n\nPickerContextProvider.propTypes = {\n children: PropTypes.node,\n config: PropTypes.shape({\n ...configPropTypes,\n }),\n recentlyUsed: PropTypes.arrayOf(PropTypes.object),\n onEmojiClick: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_NAME,\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n EMOJI_PROPERTY_GROUP,\n} from '../../../lib/constants';\n\nexport const emoji = PropTypes.shape({\n [EMOJI_PROPERTY_NAME]: PropTypes.arrayOf(PropTypes.string),\n [EMOJI_PROPERTY_UNIFIED]: PropTypes.string,\n [EMOJI_PROPERTY_SKIN_VARIATIONS]: PropTypes.arrayOf(PropTypes.string),\n [EMOJI_PROPERTY_GROUP]: PropTypes.string,\n});\n\nexport const groupNamesPropType = PropTypes.shape({\n smileys_people: PropTypes.string,\n animals_nature: PropTypes.string,\n food_drink: PropTypes.string,\n travel_places: PropTypes.string,\n activities: PropTypes.string,\n objects: PropTypes.string,\n symbols: PropTypes.string,\n flags: PropTypes.string,\n recently_used: PropTypes.string,\n});\n\nexport const configPropTypes = PropTypes.shape({\n emojiUrl: PropTypes.string,\n preload: PropTypes.bool,\n skinTone: PropTypes.string,\n groupNames: groupNamesPropType,\n native: PropTypes.bool,\n groupVisibility: PropTypes.objectOf(PropTypes.bool),\n disableAutoFocus: PropTypes.bool,\n disableSearchBar: PropTypes.bool,\n disableSkinTonePicker: PropTypes.bool,\n});\n","import { useConfig } from '../PickerContext';\n\nconst useEmojiUrl = unified => {\n const config = useConfig();\n\n return unified ? `${config.emojiUrl}/${unified}.png` : config.emojiUrl;\n};\n\nexport default useEmojiUrl;\n","import useEmojiUrl from '../../hooks/useEmojiUrl';\n\nconst emojiSrc = unified => ({\n src: useEmojiUrl(unified),\n});\n\nexport default emojiSrc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport emojiSrc from '../../lib/emojiSrc';\nimport './style.css';\nimport { useSetMissingEmoji } from '../../PickerContext';\n\nconst EmojiImg = ({ unified, shouldLoad = true, native = false }) => {\n return native ? (\n <div className=\"native\">\n {unified\n .split('-')\n .map(hex => parseInt(hex, 16))\n .map(hex => String.fromCodePoint(hex))\n .join('')}\n </div>\n ) : (\n <Img shouldLoad={shouldLoad} unified={unified} />\n );\n};\n\nfunction Img({ unified, shouldLoad }) {\n const setMissingEmoji = useSetMissingEmoji();\n const src = emojiSrc(unified);\n return (\n <img\n className=\"emoji-img\"\n onError={() => setMissingEmoji(unified)}\n {...(shouldLoad && src)}\n />\n );\n}\n\nexport default EmojiImg;\n\nImg.propTypes = {\n unified: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n};\n\nEmojiImg.propTypes = {\n unified: PropTypes.string,\n shouldLoad: PropTypes.bool,\n native: PropTypes.bool,\n};\n","import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\nimport skinTones from '../../skinTones';\nimport {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\nimport EmojiImg from '../EmojiImg';\nimport './style.css';\nimport {\n useActiveSkinTone,\n useCloseVariationMenu,\n useConfig,\n useOnEmojiClick,\n useVariationMenuValue,\n} from '../../PickerContext';\n\nconst VariationsMenu = () => {\n const [showMenu, setShowMenu] = useState(false);\n const closeVariations = useCloseVariationMenu();\n const variationMenu = useVariationMenuValue();\n const activeSkinTone = useActiveSkinTone();\n\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n\n useEffect(() => {\n if (variationMenu && !showMenu) {\n setShowMenu(true);\n }\n return () => {\n setShowMenu(false);\n };\n }, [variationMenu]);\n\n if (!variationMenu) {\n return null;\n }\n\n const classes = cn('variation-list', {\n visible: showMenu,\n });\n\n return (\n <div className=\"variations-wrapper\">\n <ul className={classes}>\n {skinTones.map(tone => {\n const unified =\n variationMenu[EMOJI_PROPERTY_SKIN_VARIATIONS].find(v =>\n v.includes(tone)\n ) || variationMenu[EMOJI_PROPERTY_UNIFIED];\n\n const handleClick = e => {\n closeVariations(e);\n\n return onEmojiClick(e, unified, variationMenu, activeSkinTone);\n };\n\n return (\n <li key={unified}>\n <button\n onClick={handleClick}\n onMouseDown={e => e.stopPropagation()}\n >\n <EmojiImg native={config.native} unified={unified} />\n </button>\n </li>\n );\n })}\n </ul>\n </div>\n );\n};\n\nexport default VariationsMenu;\n\nVariationsMenu.propTypes = {\n closeVariations: PropTypes.func,\n};\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { PROPERTY_DATA_NAME } from '../../lib/constants';\n\nimport groups from '../../groups.json';\nimport './style.css';\nimport {\n useActiveCategory,\n useConfig,\n useFilterValue,\n useSetSeenGroups,\n} from '../../PickerContext';\n\nconst CategoriesNav = ({ emojiListRef }) => {\n const refNav = useRef(null);\n const setSeenGroups = useSetSeenGroups();\n const filter = useFilterValue();\n const { groupVisibility } = useConfig();\n const [activeCategory, setActiveCategory] = useActiveCategory();\n\n let inactive = false;\n if (filter && filter.length) {\n inactive = true;\n }\n\n const handleClick = ({ target }) => {\n if (inactive) {\n return;\n }\n\n const id = target.getAttribute(PROPERTY_DATA_NAME);\n\n if (!emojiListRef || !emojiListRef.current || !id) {\n return;\n }\n\n setActiveCategory(id);\n\n setSeenGroups(id);\n\n const { current } = emojiListRef;\n const category = current.querySelector(`[${PROPERTY_DATA_NAME}=\"${id}\"]`);\n\n current.scrollTop = category.offsetTop;\n };\n\n let $group;\n let left = 0;\n let index = 0;\n let barOpacity = '0';\n\n if (refNav && refNav.current) {\n $group = refNav.current.querySelector(\n `[${PROPERTY_DATA_NAME}=\"${activeCategory}\"]`\n );\n\n if ($group) {\n left =\n ($group && $group.offsetLeft) || refNav.current.firstChild.offsetLeft;\n barOpacity = '1';\n } else {\n left = refNav.current.firstChild.offsetLeft;\n barOpacity = '0';\n }\n }\n\n return (\n <>\n <nav\n onClick={handleClick}\n className={cn('emoji-categories', { inactive })}\n ref={refNav}\n >\n {groups.map((group, i) => {\n if (groupVisibility[group] === false) {\n return null;\n }\n const active = activeCategory === group;\n\n if (active) {\n index = i;\n }\n return (\n <button\n key={group}\n type=\"button\"\n className={cn(`icn-${group}`, {\n active,\n })}\n data-name={group}\n />\n );\n })}\n </nav>\n <div className=\"active-category-indicator-wrapper\">\n <div\n className=\"active-category-indicator\"\n style={{\n transform: `translateX(${Math.max(left + index / 2, left)}px)`,\n opacity: barOpacity,\n ...(inactive && {\n display: 'none',\n opacity: '0',\n transform: 'translateX(0)',\n }),\n }}\n ></div>\n </div>\n </>\n );\n};\n\nexport default CategoriesNav;\n\nCategoriesNav.propTypes = {\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n};\n","import groupedEmojis from '../../src/emojis.json';\nimport { EMOJI_PROPERTY_GROUP, EMOJI_PROPERTY_UNIFIED } from '../constants';\n\nconst initEmojis = groupedEmojis => {\n const storage = {\n groups: {},\n emojis: {},\n };\n\n for (const group in groupedEmojis) {\n groupedEmojis[group].reduce((storage, current) => {\n const unified = current[EMOJI_PROPERTY_UNIFIED];\n current[EMOJI_PROPERTY_GROUP] = group;\n storage.emojis[unified] = current;\n storage.groups[group] = storage.groups[group] || [];\n storage.groups[group].push(unified);\n return storage;\n }, storage);\n }\n\n return storage;\n};\n\nexport default initEmojis(groupedEmojis);\n","import { useEffect, useRef } from 'react';\nimport { PROPERTY_DATA_NAME } from '../lib/constants';\nimport globalObject from '../lib/globalObject';\nimport { useActiveCategory, useSetSeenGroups } from '../PickerContext';\n\nconst useIntersectionObserver = (\n root,\n activeCategoryRef,\n filterResultRef,\n renderOne\n) => {\n const observer = useRef(null);\n const [, setActiveCategory] = useActiveCategory();\n const setSeenGroups = useSetSeenGroups();\n\n useEffect(() => {\n const refActiveCategory = activeCategoryRef.current;\n\n if (\n globalObject.IntersectionObserver !== undefined &&\n root.current &&\n !filterResultRef.current &&\n !renderOne\n ) {\n observer.current = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n const { target } = entry;\n const id = target.getAttribute(PROPERTY_DATA_NAME);\n if (entry.intersectionRatio === 0) {\n return;\n }\n setSeenGroups(id);\n if (!refActiveCategory) {\n setActiveCategory(id);\n }\n });\n },\n {\n root: root.current.parentElement,\n }\n );\n }\n if (observer.current) {\n [...root.current.querySelectorAll('.emoji-group')].forEach(target => {\n observer.current.observe(target, { threshold: 1 });\n });\n\n return () => {\n observer.current.disconnect();\n };\n }\n }, [root.current, renderOne]);\n};\n\nexport default useIntersectionObserver;\n","import { useRef, useEffect } from 'react';\n\nconst useScrollUpOnFilterChange = (value, emojiListRef) => {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef();\n\n // Store current value in ref\n useEffect(() => {\n if (emojiListRef && emojiListRef.current) {\n emojiListRef.current.scrollTop = 0;\n }\n\n ref.current = value;\n }, [value]); // Only re-run if value changes\n\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n};\n\nexport default useScrollUpOnFilterChange;\n","import { PROPERTY_DATA_NAME } from '../constants';\n\nconst setEmojiName = (emojiName = '', emojiListRef) => {\n let className = '.content-wrapper';\n const node =\n emojiListRef && emojiListRef.current\n ? emojiListRef.current.closest(`${className}`)\n : document.querySelector(`.emoji-picker-react ${className}`);\n\n node.setAttribute(PROPERTY_DATA_NAME, emojiName);\n};\n\nexport default setEmojiName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport * as propTypes from '../../lib/propTypes';\nimport {\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n EMOJI_PROPERTY_UNIFIED,\n} from '../../../lib/constants';\nimport EmojiImg from '../EmojiImg';\nimport {\n PASTEL_BLUE,\n PASTEL_RED,\n PASTEL_GREEN,\n PASTEL_PURPLE,\n PASTEL_YELLOW,\n} from './colors';\nimport './style.css';\n\nconst pastels = [\n PASTEL_BLUE,\n PASTEL_RED,\n PASTEL_GREEN,\n PASTEL_PURPLE,\n PASTEL_YELLOW,\n];\nconst bgColor = order => pastels[order % pastels.length];\n\nlet mouseDownTimeout = null;\n\nconst handleMouseUp = () => clearTimeout(mouseDownTimeout);\n\nconst Emoji = ({\n emoji,\n shouldLoad,\n hidden,\n activeSkinTone,\n openVariationMenu,\n variationMenuOpenRef,\n handleMouseEnter,\n handleMouseLeave,\n onEmojiClick,\n index,\n native = false,\n}) => {\n const hasSkinVariation = emoji[EMOJI_PROPERTY_SKIN_VARIATIONS];\n let unified;\n\n const style = {\n ...(hidden && { display: 'none' }),\n color: bgColor(index),\n };\n\n if (hasSkinVariation && emoji[EMOJI_PROPERTY_SKIN_VARIATIONS]) {\n unified = emoji[EMOJI_PROPERTY_SKIN_VARIATIONS].find(\n u => u.indexOf(activeSkinTone) >= 0\n );\n }\n\n if (!unified) {\n unified = emoji[EMOJI_PROPERTY_UNIFIED];\n }\n\n const handleMouseDown = () => {\n if (!hasSkinVariation || !openVariationMenu) {\n return;\n }\n\n mouseDownTimeout = setTimeout(() => {\n openVariationMenu(emoji);\n }, 500);\n };\n\n const handleEmojiClick = e => {\n if (variationMenuOpenRef && variationMenuOpenRef.current) {\n return;\n }\n\n onEmojiClick(e, unified, emoji, activeSkinTone);\n };\n\n return (\n <li\n style={style}\n className={cn('emoji', {\n 'has-skin-variation': hasSkinVariation && openVariationMenu,\n })}\n >\n <button\n onMouseDown={handleMouseDown}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseUp={handleMouseUp}\n type=\"button\"\n onClick={handleEmojiClick}\n >\n <EmojiImg unified={unified} shouldLoad={shouldLoad} native={native} />\n </button>\n </li>\n );\n};\n\nexport default Emoji;\n\nEmoji.propTypes = {\n emoji: propTypes.emoji,\n shouldLoad: PropTypes.bool,\n hidden: PropTypes.bool,\n activeSkinTone: PropTypes.string,\n openVariationMenu: PropTypes.func,\n variationMenuOpenRef: PropTypes.shape({ current: PropTypes.bool }),\n handleMouseEnter: PropTypes.func,\n handleMouseLeave: PropTypes.func,\n onEmojiClick: PropTypes.func,\n index: PropTypes.number,\n native: PropTypes.bool,\n};\n","export const PASTEL_BLUE = '#aeeff0';\nexport const PASTEL_RED = '#ffe0e0';\nexport const PASTEL_GREEN = '#d6f8b8';\nexport const PASTEL_PURPLE = '#c6cfff';\nexport const PASTEL_YELLOW = '#f1f0d1';\n","import React, {\n useMemo,\n useCallback,\n useEffect,\n useState,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_NAME,\n} from '../../../lib/constants';\nimport globalObject from '../../lib/globalObject';\nimport emojiStorage from '../../../lib/emojiStorage';\nimport useIntersectionObserver from '../../hooks/useIntersectionObserver';\nimport useScrollUpOnFilterChange from '../../hooks/useScrollUpOnFilterChange';\nimport groups from '../../groups.json';\nimport setEmojiName from '../../lib/setEmojiName';\nimport Emoji from '../Emoji';\nimport './style.css';\nimport { groupNamesPropType } from '../../lib/propTypes';\nimport {\n useActiveCategory,\n useActiveSkinTone,\n useConfig,\n useFilterResult,\n useFilterValue,\n useMissingEmojis,\n useOnEmojiClick,\n useOpenVariationMenu,\n useSeenGroups,\n useVariationMenuValue,\n} from '../../PickerContext';\n\nconst createEmojiList = (name, { emojiListRef, searchTerm }) => {\n const filterResult = useFilterResult();\n const missingEmoji = useMissingEmojis();\n const openVariationMenu = useOpenVariationMenu();\n const variationMenu = useVariationMenuValue();\n const activeSkinTone = useActiveSkinTone();\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n const seenGroups = useSeenGroups();\n\n const variationMenuOpenRef = useRef(!!variationMenu);\n const unsetEmojiName = useCallback(() => setEmojiName('', emojiListRef));\n\n useEffect(() => {\n variationMenuOpenRef.current = !!variationMenu;\n }, [variationMenu]);\n\n const shouldLoad =\n config.preload ||\n !!(\n seenGroups[name] ||\n filterResult ||\n typeof globalObject.IntersectionObserver !== 'function'\n );\n\n return useMemo(() => {\n const listToUse = filterResult\n ? Object.keys(filterResult[name] || {})\n : emojiStorage.groups[name];\n\n return listToUse.reduce(\n (accumulator, emojiName, index) => {\n if (missingEmoji && missingEmoji[emojiName]) {\n return accumulator;\n }\n\n const emoji = emojiStorage.emojis[emojiName];\n const hidden = !listToUse.length;\n\n if (!accumulator.shown && !hidden) {\n accumulator.shown = true;\n }\n\n accumulator.list.push(\n <Emoji\n emoji={emoji}\n openVariationMenu={openVariationMenu}\n activeSkinTone={activeSkinTone}\n handleMouseLeave={unsetEmojiName}\n variationMenuOpenRef={variationMenuOpenRef}\n handleMouseEnter={() =>\n setEmojiName(emoji[EMOJI_PROPERTY_NAME][0], emojiListRef)\n }\n hidden={hidden}\n shouldLoad={shouldLoad}\n onEmojiClick={onEmojiClick}\n index={index}\n key={emoji[EMOJI_PROPERTY_UNIFIED]}\n native={config.native}\n />\n );\n\n return accumulator;\n },\n { list: [], shown: false }\n );\n }, [activeSkinTone, searchTerm, shouldLoad, missingEmoji, config.native]);\n};\n\nconst EmojiList = ({ emojiListRef }) => {\n const [activeCategory] = useActiveCategory();\n const { groupNames } = useConfig();\n const filterResult = useFilterResult();\n const filter = useFilterValue();\n const activeCategoryRef = useRef(activeCategory);\n const filterResultRef = useRef(filterResult);\n\n const [renderOne, setRenderOne] = useState(true);\n\n const searchTerm =\n filter && filter.length ? filter[filter.length - 1].value : '';\n\n useEffect(() => {\n if (!searchTerm) {\n requestAnimationFrame(() => {\n setRenderOne(true);\n });\n }\n }, [searchTerm]);\n\n useEffect(() => {\n if (renderOne) {\n requestAnimationFrame(() => {\n setRenderOne(false);\n });\n }\n }, [renderOne]);\n\n useIntersectionObserver(\n emojiListRef,\n activeCategoryRef,\n filterResultRef,\n renderOne\n );\n useScrollUpOnFilterChange(filterResult, emojiListRef);\n\n const props = {\n emojiListRef,\n searchTerm,\n groupNames,\n };\n\n return (\n <React.Fragment>\n <ListRender name={groups[0]} {...props} />\n {!renderOne &&\n groups\n .slice(1)\n .map(name => <ListRender key={name} name={name} {...props} />)}\n </React.Fragment>\n );\n};\n\nconst ListRender = React.memo(function ListRender({\n name,\n searchTerm,\n emojiListRef,\n groupNames,\n}) {\n const { groupVisibility } = useConfig();\n\n if (groupVisibility[name] === false) {\n return null;\n }\n\n const { list, shown } = createEmojiList(name, {\n searchTerm,\n emojiListRef,\n });\n\n const style = {\n ...(!shown && { display: 'none' }),\n };\n\n return (\n <ul\n className=\"emoji-group\"\n data-name={name}\n data-display-name={groupNames[name]}\n key={name}\n style={style}\n >\n {list}\n </ul>\n );\n});\n\nexport default EmojiList;\n\nEmojiList.propTypes = {\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n unsetEmojiName: PropTypes.func,\n};\n\nListRender.propTypes = {\n name: PropTypes.string,\n searchTerm: PropTypes.string,\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n groupNames: groupNamesPropType,\n};\n","const reduceBatch = (array, cb, initialValue, batchSize = 100) => {\n let accumulator = initialValue;\n\n return new Promise(resolve => {\n let index = 0;\n\n const batch = () => {\n for (let i = index; i < index + batchSize && i < array.length; i++) {\n accumulator = cb(accumulator, array[i], i, array);\n }\n\n index += batchSize;\n if (index < array.length) {\n setTimeout(() => {\n batch();\n });\n } else {\n return resolve(accumulator);\n }\n };\n\n batch();\n });\n};\n\nexport default reduceBatch;\n","import reduceBatch from '../../lib/reduceBatch';\nimport { EMOJI_PROPERTY_GROUP } from '../../lib/constants';\nimport emojiStorage from '../../lib/emojiStorage';\n\nimport keywordsPromise from '../../lib/initSearch';\nimport { useFilterValue, useSetFilter } from '../PickerContext';\n\nlet searchTerms, mappedSearchTerms;\n\nkeywordsPromise.then(res => {\n searchTerms = res.searchTerms;\n mappedSearchTerms = res.mappedSearchTerms;\n});\n\nconst useFilter = () => {\n const filter = useFilterValue();\n const setFilter = useSetFilter();\n\n const handleChange = ({ target: { value } }) => {\n const prevKey = filter[filter.length - 1];\n let nextFilter;\n\n value = value.trim().toLowerCase();\n\n if (prevKey && prevKey.value === value) {\n return;\n }\n\n if (value.length === 1) {\n nextFilter = [\n {\n value,\n terms: mappedSearchTerms[value] || [],\n },\n ];\n } else if (\n prevKey &&\n value.length > prevKey.value.length &&\n value.includes(prevKey.value)\n ) {\n nextFilter = [\n ...filter,\n {\n value,\n terms: prevKey.terms.filter(term => term.includes(value)),\n },\n ];\n } else if (\n prevKey &&\n value.length < prevKey.value.length &&\n prevKey.value.includes(value)\n ) {\n let sliceIndex = 0;\n for (let index = filter.length; index > 0; index--) {\n if (value.includes(filter[index - 1].value)) {\n sliceIndex = index;\n break;\n }\n }\n\n filter.length = sliceIndex;\n nextFilter = [...filter];\n } else if (filter.length === 0 || !value.includes(prevKey.value)) {\n nextFilter = [\n {\n value,\n terms: (mappedSearchTerms[value[0]] || []).filter(term =>\n term.includes(value)\n ),\n },\n ];\n }\n\n const last = nextFilter && nextFilter[nextFilter.length - 1];\n const filterPresent = !!(last && last.value);\n\n if (!filterPresent) {\n setFilter({\n filter: nextFilter,\n filterResult: null,\n });\n return;\n }\n\n reduceBatch(\n (last && last.terms) || [],\n (accumulator, term) => {\n if (!searchTerms[term]) {\n return accumulator;\n }\n\n return (searchTerms[term] || []).reduce((accumulator, unified) => {\n const group = emojiStorage.emojis[unified][EMOJI_PROPERTY_GROUP];\n accumulator[group] = accumulator[group] || {};\n accumulator[group][unified] = true;\n return accumulator;\n }, accumulator);\n },\n {}\n ).then(filterResult => {\n setFilter({\n filter: nextFilter,\n filterResult,\n });\n });\n };\n\n return handleChange;\n};\n\nexport default useFilter;\n","import reduceBatch from '../reduceBatch';\nimport groupedEmojis from '../../src/emojis.json';\n\nimport { EMOJI_PROPERTY_UNIFIED, EMOJI_PROPERTY_NAME } from '../constants';\n\nconst allEmojis = Array.prototype.concat.apply(\n [],\n Object.values(groupedEmojis)\n);\n\nexport default reduceBatch(\n allEmojis,\n (accumulator, emoji) => {\n if (!emoji) {\n return accumulator;\n }\n\n return emoji[EMOJI_PROPERTY_NAME].reduce(\n (accumulator, term) =>\n [...accumulator, ...(term || '').split(/[- _]/)].filter(Boolean),\n []\n ).reduce((accumulator, term) => {\n const key = term.toLowerCase();\n accumulator[key] = accumulator[key] || [];\n\n accumulator[key].push(emoji[EMOJI_PROPERTY_UNIFIED]);\n return accumulator;\n }, accumulator);\n },\n {}\n).then(searchTerms =>\n reduceBatch(\n Object.keys(searchTerms),\n (accumulator, term) => {\n if (!term) {\n return accumulator;\n }\n\n const chars = term.split('').filter(Boolean);\n\n return (chars || []).reduce((accumulator, char) => {\n accumulator[char] = accumulator[char] || [];\n if (!accumulator[char].includes(term)) {\n accumulator[char].push(term);\n }\n return accumulator;\n }, accumulator);\n },\n {}\n ).then(mappedSearchTerms => {\n return {\n searchTerms,\n mappedSearchTerms,\n };\n })\n);\n","import React from 'react';\nimport useFilter from '../../hooks/useFilter';\nimport './style.css';\nimport SkinTones from '../SkinTones';\nimport { useConfig } from '../../PickerContext';\n\nfunction Search() {\n const config = useConfig();\n const onChange = useFilter();\n\n if (config.disableSearchBar) {\n return null;\n }\n\n return (\n <div style={{ position: 'relative' }}>\n <input\n className=\"emoji-search\"\n onChange={onChange}\n autoFocus={!config.disableAutoFocus}\n />\n {config.disableSkinTonePicker ? null : <SkinTones />}\n </div>\n );\n}\n\nexport default Search;\n","import React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n EMOJI_PROPERTY_NAME,\n GROUP_NAME_RECENTLY_USED,\n EMOJI_PROPERTY_UNIFIED,\n EMOJI_PROPERTY_SKIN_VARIATIONS,\n} from '../../../lib/constants';\n\nimport emojiStorage from '../../../lib/emojiStorage';\nimport setEmojiName from '../../lib/setEmojiName';\nimport Emoji from '../Emoji';\nimport {\n useConfig,\n useFilterResult,\n useMissingEmojis,\n useOnEmojiClick,\n useRecentlyUsed,\n} from '../../PickerContext';\n\nconst RecentlyUsed = ({ emojiListRef }) => {\n const filterResult = useFilterResult();\n const missingEmoji = useMissingEmojis();\n const onEmojiClick = useOnEmojiClick();\n const config = useConfig();\n const recentlyUsed = useRecentlyUsed();\n\n const unsetEmojiName = useCallback(() => setEmojiName('', emojiListRef));\n\n if (\n !recentlyUsed.length ||\n filterResult ||\n config.groupVisibility[GROUP_NAME_RECENTLY_USED] === false\n ) {\n return null;\n }\n\n return (\n <ul\n className=\"emoji-group\"\n data-display-name={config.groupNames[GROUP_NAME_RECENTLY_USED]}\n data-name={GROUP_NAME_RECENTLY_USED}\n >\n {recentlyUsed.map((item, index) => {\n const unified = item[EMOJI_PROPERTY_UNIFIED];\n\n const emoji = emojiStorage.emojis[unified];\n\n if (missingEmoji[unified] || !emoji) {\n return null;\n }\n\n return (\n <Emoji\n key={index}\n emoji={emoji}\n {...(item[EMOJI_PROPERTY_SKIN_VARIATIONS] && {\n activeSkinTone: item[EMOJI_PROPERTY_SKIN_VARIATIONS],\n })}\n index={index}\n native={config.native}\n handleMouseLeave={unsetEmojiName}\n onEmojiClick={onEmojiClick}\n handleMouseEnter={() =>\n setEmojiName(emoji[EMOJI_PROPERTY_NAME][0], emojiListRef)\n }\n shouldLoad\n />\n );\n })}\n </ul>\n );\n};\n\nexport default RecentlyUsed;\n\nRecentlyUsed.propTypes = {\n unsetEmojiName: PropTypes.func,\n emojiListRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n};\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { GROUP_NAMES_ENGLISH } from './lib/constants';\nimport clickHandler from './lib/clickHandler';\nimport { getRecentlyUsed } from './lib/recentlyUsed';\nimport { PickerContextProvider, useCloseVariationMenu } from './PickerContext';\nimport SkinTones, {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n} from './components/SkinTones';\nimport VariationsMenu from './components/VariationsMenu';\nimport CategoriesNav from './components/CategoriesNav';\nimport EmojiList from './components/EmojiList';\nimport Search from './components/Search';\nimport RecentlyUsed from './components/RecentlyUsed';\nimport './style.css';\nimport { configPropTypes } from './lib/propTypes';\n\nconst EmojiPicker = ({\n emojiUrl = DEFAULT_EMOJI_URL,\n onEmojiClick,\n preload = false,\n native = false,\n skinTone = SKIN_TONE_NEUTRAL,\n disableAutoFocus = false,\n disableSearchBar = false,\n disableSkinTonePicker = false,\n groupNames = {},\n pickerStyle = {},\n groupVisibility = {},\n}) => {\n const emojiListRef = useRef(null);\n const isMounted = useRef(true);\n const onClickRef = useRef(onEmojiClick);\n\n onClickRef.current = onEmojiClick;\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return (\n <PickerContextProvider\n config={{\n activeSkinTone: skinTone,\n emojiUrl,\n preload,\n native,\n groupNames: Object.assign(GROUP_NAMES_ENGLISH, groupNames),\n groupVisibility,\n disableSearchBar,\n disableAutoFocus,\n disableSkinTonePicker,\n }}\n recentlyUsed={getRecentlyUsed()}\n onEmojiClick={clickHandler(onClickRef)}\n >\n <Aside pickerStyle={pickerStyle}>\n <CategoriesNav emojiListRef={emojiListRef} />\n <Search />\n\n <div className=\"content-wrapper\">\n <VariationsMenu />\n <section className=\"emoji-scroll-wrapper\" ref={emojiListRef}>\n <RecentlyUsed emojiListRef={emojiListRef} />\n <EmojiList emojiListRef={emojiListRef} />\n </section>\n </div>\n </Aside>\n </PickerContextProvider>\n );\n};\n\nfunction Aside({ children, pickerStyle }) {\n const closeVariations = useCloseVariationMenu();\n return (\n <aside\n className=\"emoji-picker-react\"\n style={pickerStyle}\n onScroll={closeVariations}\n onMouseDown={closeVariations}\n >\n {children}\n </aside>\n );\n}\n\nexport {\n SKIN_TONE_NEUTRAL,\n SKIN_TONE_LIGHT,\n SKIN_TONE_MEDIUM_LIGHT,\n SKIN_TONE_MEDIUM,\n SKIN_TONE_MEDIUM_DARK,\n SKIN_TONE_DARK,\n};\n\nexport default EmojiPicker;\n\nAside.propTypes = {\n children: PropTypes.node,\n pickerStyle: PropTypes.object,\n};\n\nEmojiPicker.propTypes = {\n onEmojiClick: PropTypes.func,\n pickerStyle: PropTypes.objectOf(PropTypes.string),\n ...configPropTypes,\n};\n"],"sourceRoot":""}