{"version":3,"sources":["webpack://@flarum/emoji/webpack/bootstrap","webpack://@flarum/emoji/external \"flarum.core.compat['extend']\"","webpack://@flarum/emoji/external \"flarum.core.compat['components/TextEditor']\"","webpack://@flarum/emoji/external \"flarum.core.compat['app']\"","webpack://@flarum/emoji/./node_modules/textarea-caret/index.js","webpack://@flarum/emoji/external \"flarum.core.compat['components/TextEditorButton']\"","webpack://@flarum/emoji/external \"flarum.core.compat['utils/KeyboardNavigatable']\"","webpack://@flarum/emoji/external \"flarum.core.compat['Fragment']\"","webpack://@flarum/emoji/external \"flarum.core.compat['models/Post']\"","webpack://@flarum/emoji/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@flarum/emoji/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@flarum/emoji/./src/forum/fragments/AutocompleteDropdown.js","webpack://@flarum/emoji/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@flarum/emoji/./node_modules/twemoji/dist/twemoji.esm.js","webpack://@flarum/emoji/./src/forum/helpers/getEmojiIconCode.js","webpack://@flarum/emoji/./src/forum/cdn.js","webpack://@flarum/emoji/./src/forum/addComposerAutocomplete.js","webpack://@flarum/emoji/./src/forum/index.js","webpack://@flarum/emoji/./src/forum/renderEmoji.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","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","flarum","core","compat","properties","isBrowser","window","isFirefox","mozInnerScreenX","getCaretCoordinates","element","position","options","Error","debug","el","document","querySelector","parentNode","removeChild","div","createElement","id","body","appendChild","style","computed","getComputedStyle","currentStyle","isInput","nodeName","whiteSpace","wordWrap","visibility","forEach","prop","lineHeight","height","scrollHeight","parseInt","overflowY","overflow","textContent","substring","replace","span","coordinates","top","offsetTop","left","offsetLeft","backgroundColor","_assertThisInitialized","self","ReferenceError","_defineProperty","obj","configurable","writable","AutocompleteDropdown","subClass","superClass","constructor","__proto__","view","className","app","translator","trans","this","items","map","item","attrs","show","$","css","active","hide","navigate","delta","keyWasJustPressed","setIndex","index","clearTimeout","keyWasJustPressedTimeout","setTimeout","complete","eq","find","click","scrollToItem","$dropdown","$items","rangedIndex","length","$item","removeClass","addClass","scrollTop","dropdownScroll","dropdownTop","offset","dropdownBottom","outerHeight","itemTop","itemBottom","stop","animate","Fragment","twemoji","base","ext","size","convert","fromCodePoint","codepoint","code","fromCharCode","toCodePoint","onerror","replaceChild","createText","alt","parse","what","how","callback","parseString","parseNode","defaultImageSrcGenerator","attributes","returnNull","folder","test","text","re","lastIndex","result","escaper","UFE0Fg","U200D","String","rescaper","shouldntBeParsed","clean","createTextNode","icon","concat","grabTheRightIcon","rawText","indexOf","node","attrib","attrname","modified","fragment","subnode","match","img","iconId","src","allText","grabAllTextNodes","nodeType","childNodes","push","toLowerCase","createDocumentFragment","nodeValue","exec","slice","Image","setAttribute","hasAttribute","str","ret","replacer","unicodeSurrogates","sep","charCodeAt","toString","join","getEmojiIconCode","emoji","addComposerAutocomplete","emojiKeys","keys","emojiMap","extend","TextEditor","emojiStart","typed","$container","dropdown","$textarea","wrap","navigator","KeyboardNavigatable","when","onUp","onDown","onSelect","onCancel","bindTo","after","on","e","which","cursor","selectionStart","selectionEnd","character","substr","makeSuggestion","onclick","replacement","composer","editor","replaceBeforeCursor","onmouseenter","parent","class","draggable","cdn","reEscape","similarEmoji","regTyped","RegExp","maxSuggestions","findMatchingEmojis","matcher","curEmoji","suggestions","render","width","outerWidth","offsetParent","Math","max","buildSuggestions","add","insertAtCursor","initializers","override","Post","original","contentHtml","oldContentHtml","emojifiedContentHtml","s9e","TextFormatter"],"mappings":"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","file":"forum.js","sourcesContent":[" \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 = 10);\n","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['components/TextEditor'];","module.exports = flarum.core.compat['app'];","/* jshint browser: true */\n\n(function () {\n\n// We'll copy the properties below into the mirror div.\n// Note that some browsers, such as Firefox, do not concatenate properties\n// into their shorthand (e.g. padding-top, padding-bottom etc. -> padding),\n// so we have to list every single property explicitly.\nvar properties = [\n 'direction', // RTL support\n 'boxSizing',\n 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n 'height',\n 'overflowX',\n 'overflowY', // copy the scrollbar for IE\n\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration', // might not make a difference, but better be safe\n\n 'letterSpacing',\n 'wordSpacing',\n\n 'tabSize',\n 'MozTabSize'\n\n];\n\nvar isBrowser = (typeof window !== 'undefined');\nvar isFirefox = (isBrowser && window.mozInnerScreenX != null);\n\nfunction getCaretCoordinates(element, position, options) {\n if (!isBrowser) {\n throw new Error('textarea-caret-position#getCaretCoordinates should only be called in a browser');\n }\n\n var debug = options && options.debug || false;\n if (debug) {\n var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n if (el) el.parentNode.removeChild(el);\n }\n\n // The mirror div will replicate the textarea's style\n var div = document.createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n document.body.appendChild(div);\n\n var style = div.style;\n var computed = window.getComputedStyle ? window.getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n var isInput = element.nodeName === 'INPUT';\n\n // Default textarea styles\n style.whiteSpace = 'pre-wrap';\n if (!isInput)\n style.wordWrap = 'break-word'; // only for textarea-s\n\n // Position off-screen\n style.position = 'absolute'; // required to return coordinates properly\n if (!debug)\n style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n // Transfer the element's properties to the div\n properties.forEach(function (prop) {\n if (isInput && prop === 'lineHeight') {\n // Special case for s because text is rendered centered and line height may be != height\n style.lineHeight = computed.height;\n } else {\n style[prop] = computed[prop];\n }\n });\n\n if (isFirefox) {\n // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n }\n\n div.textContent = element.value.substring(0, position);\n // The second special handling for input type=\"text\" vs textarea:\n // spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n if (isInput)\n div.textContent = div.textContent.replace(/\\s/g, '\\u00a0');\n\n var span = document.createElement('span');\n // Wrapping must be replicated *exactly*, including when a long word gets\n // onto the next line, with whitespace at the end of the line before (#7).\n // The *only* reliable way to do that is to copy the *entire* rest of the\n // textarea's content into the created at the caret position.\n // For inputs, just '.' would be enough, but no need to bother.\n span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n div.appendChild(span);\n\n var coordinates = {\n top: span.offsetTop + parseInt(computed['borderTopWidth']),\n left: span.offsetLeft + parseInt(computed['borderLeftWidth']),\n height: parseInt(computed['lineHeight'])\n };\n\n if (debug) {\n span.style.backgroundColor = '#aaa';\n } else {\n document.body.removeChild(div);\n }\n\n return coordinates;\n}\n\nif (typeof module != 'undefined' && typeof module.exports != 'undefined') {\n module.exports = getCaretCoordinates;\n} else if(isBrowser) {\n window.getCaretCoordinates = getCaretCoordinates;\n}\n\n}());\n","module.exports = flarum.core.compat['components/TextEditorButton'];","module.exports = flarum.core.compat['utils/KeyboardNavigatable'];","module.exports = flarum.core.compat['Fragment'];","module.exports = flarum.core.compat['models/Post'];","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default 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}","import Fragment from 'flarum/Fragment';\n\nexport default class AutocompleteDropdown extends Fragment {\n items = [];\n active = false;\n index = 0;\n keyWasJustPressed = false;\n\n view() {\n return (\n