{"version":3,"file":"js/842-f5f15eb5699070433f28.js","mappings":"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","sources":["webpack://decidem/./vendor/bundle/ruby/2.7.0/bundler/gems/decidim-d0c925e2dfd1/decidim-core/app/packs/src/decidim/vendor/tribute.js"],"sourcesContent":["/* eslint-disable */\n\n/*\n Modified file from the original tribute.js\n Adding inside click event the conditional if the li element has no disabled-tribute-element class name. if true, then it must continue with normal behaviour.\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Tribute = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i',\n post: _this2.current.collection.searchOpts.post || '',\n skip: _this2.current.collection.searchOpts.skip,\n extract: function extract(el) {\n if (typeof _this2.current.collection.lookup === 'string') {\n return el[_this2.current.collection.lookup];\n } else if (typeof _this2.current.collection.lookup === 'function') {\n return _this2.current.collection.lookup(el, _this2.current.mentionText);\n } else {\n throw new Error('Invalid lookup attribute, lookup must be string or function.');\n }\n }\n });\n\n if (_this2.current.collection.menuItemLimit) {\n items = items.slice(0, _this2.current.collection.menuItemLimit);\n }\n\n _this2.current.filteredItems = items;\n\n var ul = _this2.menu.querySelector('ul');\n\n _this2.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n var noMatchEvent = new CustomEvent('tribute-no-match', {\n detail: _this2.menu\n });\n\n _this2.current.element.dispatchEvent(noMatchEvent);\n\n if (typeof _this2.current.collection.noMatchTemplate === 'function' && !_this2.current.collection.noMatchTemplate() || !_this2.current.collection.noMatchTemplate) {\n _this2.hideMenu();\n } else {\n typeof _this2.current.collection.noMatchTemplate === 'function' ? ul.innerHTML = _this2.current.collection.noMatchTemplate() : ul.innerHTML = _this2.current.collection.noMatchTemplate;\n }\n\n return;\n }\n\n ul.innerHTML = '';\n\n var fragment = _this2.range.getDocument().createDocumentFragment();\n\n items.forEach(function (item, index) {\n var li = _this2.range.getDocument().createElement('li');\n li.setAttribute('role', 'option');\n li.setAttribute('data-index', index);\n li.addEventListener('mousemove', function (e) {\n var _this2$_findLiTarget = _this2._findLiTarget(e.target),\n _this2$_findLiTarget2 = _slicedToArray(_this2$_findLiTarget, 2),\n li = _this2$_findLiTarget2[0],\n index = _this2$_findLiTarget2[1];\n\n if (e.movementY !== 0) {\n _this2.events.setActiveLi(index);\n }\n });\n\n if (_this2.menuSelected === index) {\n li.className = _this2.current.collection.selectClass;\n }\n\n li.innerHTML = _this2.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === 'function') {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n }, {\n key: \"_findLiTarget\",\n value: function _findLiTarget(el) {\n if (!el) return [];\n var index = el.getAttribute('data-index');\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n }, {\n key: \"showMenuForCollection\",\n value: function showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n if (element.isContentEditable) this.insertTextAtCursor(this.current.collection.trigger);else this.insertAtCaret(element, this.current.collection.trigger);\n this.showMenuFor(element);\n } // TODO: make sure this works for inputs/textareas\n\n }, {\n key: \"placeCaretAtEnd\",\n value: function placeCaretAtEnd(el) {\n el.focus();\n\n if (typeof window.getSelection != \"undefined\" && typeof document.createRange != \"undefined\") {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n } // for contenteditable\n\n }, {\n key: \"insertTextAtCursor\",\n value: function insertTextAtCursor(text) {\n var sel, range, html;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n } // for regular inputs\n\n }, {\n key: \"insertAtCaret\",\n value: function insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(textarea.selectionEnd, textarea.value.length);\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n }, {\n key: \"hideMenu\",\n value: function hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = 'display: none;';\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n }, {\n key: \"selectItemAtIndex\",\n value: function selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== 'number' || isNaN(index)) return;\n var item = this.current.filteredItems[index];\n var content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n }, {\n key: \"replaceText\",\n value: function replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n }, {\n key: \"_append\",\n value: function _append(collection, newValues, replace) {\n if (typeof collection.values === 'function') {\n throw new Error('Unable to append to values, as it is a function.');\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n }, {\n key: \"append\",\n value: function append(collectionIndex, newValues, replace) {\n var index = parseInt(collectionIndex);\n if (typeof index !== 'number') throw new Error('please provide an index for the collection to update.');\n var collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n }, {\n key: \"appendCurrent\",\n value: function appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error('No active state. Please use append instead and pass an index.');\n }\n }\n }, {\n key: \"detach\",\n value: function detach(el) {\n if (!el) {\n throw new Error('[Tribute] Must pass in a DOM node or NodeList.');\n } // Check if it is a jQuery collection\n\n\n if (typeof jQuery !== 'undefined' && el instanceof jQuery) {\n el = el.get();\n } // Is el an Array/Array-like object?\n\n\n if (el.constructor === NodeList || el.constructor === HTMLCollection || el.constructor === Array) {\n var length = el.length;\n\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n }, {\n key: \"_detach\",\n value: function _detach(el) {\n var _this3 = this;\n\n this.events.unbind(el);\n\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(function () {\n el.removeAttribute('data-tribute');\n _this3.isActive = false;\n\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n }], [{\n key: \"defaultSelectTemplate\",\n value: function defaultSelectTemplate(item) {\n if (typeof item === 'undefined') return null;\n\n if (this.range.isContentEditable(this.current.element)) {\n return '' + (this.current.collection.trigger + item.original[this.current.collection.fillAttr]) + '';\n }\n\n return this.current.collection.trigger + item.original[this.current.collection.fillAttr];\n }\n }, {\n key: \"defaultMenuItemTemplate\",\n value: function defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n }, {\n key: \"inputTypes\",\n value: function inputTypes() {\n return ['TEXTAREA', 'INPUT'];\n }\n }]);\n\n return Tribute;\n}();\n\nvar _default = Tribute;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{\"./TributeEvents\":2,\"./TributeMenuEvents\":3,\"./TributeRange\":4,\"./TributeSearch\":5,\"./utils\":7}],2:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar TributeEvents =\n/*#__PURE__*/\nfunction () {\n function TributeEvents(tribute) {\n _classCallCheck(this, TributeEvents);\n\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n _createClass(TributeEvents, [{\n key: \"bind\",\n value: function bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n element.addEventListener('keydown', element.boundKeydown, false);\n element.addEventListener('keyup', element.boundKeyup, false);\n element.addEventListener('input', element.boundInput, false);\n }\n }, {\n key: \"unbind\",\n value: function unbind(element) {\n element.removeEventListener('keydown', element.boundKeydown, false);\n element.removeEventListener('keyup', element.boundKeyup, false);\n element.removeEventListener('input', element.boundInput, false);\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n }, {\n key: \"keydown\",\n value: function keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n var element = this;\n instance.commandEvent = false;\n TributeEvents.keys().forEach(function (o) {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n }, {\n key: \"input\",\n value: function input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n }, {\n key: \"click\",\n value: function click(instance, event) {\n var tribute = instance.tribute;\n\n if (tribute.menu && tribute.menu.contains(event.target)) {\n var li = event.target;\n event.preventDefault();\n event.stopPropagation();\n\n while (li.nodeName.toLowerCase() !== 'li') {\n li = li.parentNode;\n\n if (!li || li === tribute.menu) {\n throw new Error('cannot find the
  • container for the click');\n }\n }\n\n if (li.getElementsByClassName(\"disabled-tribute-element\")[0]==undefined){\n tribute.selectItemAtIndex(li.getAttribute('data-index'), event);\n tribute.hideMenu(); // TODO: should fire with externalTrigger and target is outside of menu\n }\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(function () {\n return tribute.hideMenu();\n });\n }\n }\n }, {\n key: \"keyup\",\n value: function keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n\n instance.updateSelection(this);\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, '');\n } else {\n var keyCode = instance.getKeyCode(instance, this, event);\n if (isNaN(keyCode) || !keyCode) return;\n var trigger = instance.tribute.triggers().find(function (trigger) {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== 'undefined') {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if ((instance.tribute.current.trigger || instance.tribute.autocompleteMode) && instance.commandEvent === false || instance.tribute.isActive && event.keyCode === 8) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n }, {\n key: \"shouldDeactivate\",\n value: function shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n var eventKeyPressed = false;\n TributeEvents.keys().forEach(function (o) {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n return !eventKeyPressed;\n }\n\n return false;\n }\n }, {\n key: \"getKeyCode\",\n value: function getKeyCode(instance, el, event) {\n var _char;\n\n var tribute = instance.tribute;\n var info = tribute.range.getTriggerInfo(false, tribute.hasTrailingSpace, true, tribute.allowSpaces, tribute.autocompleteMode);\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n }, {\n key: \"updateSelection\",\n value: function updateSelection(el) {\n this.tribute.current.element = el;\n var info = this.tribute.range.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n }, {\n key: \"callbacks\",\n value: function callbacks() {\n var _this = this;\n\n return {\n triggerChar: function triggerChar(e, el, trigger) {\n var tribute = _this.tribute;\n tribute.current.trigger = trigger;\n var collectionItem = tribute.collection.find(function (item) {\n return item.trigger === trigger;\n });\n tribute.current.collection = collectionItem;\n if (tribute.inputEvent) tribute.showMenuFor(el, true);\n },\n enter: function enter(e, el) {\n // choose selection\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(function () {\n _this.tribute.selectItemAtIndex(_this.tribute.menuSelected, e);\n\n _this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: function escape(e, el) {\n if (_this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n _this.tribute.isActive = false;\n\n _this.tribute.hideMenu();\n }\n },\n tab: function tab(e, el) {\n // choose first match\n _this.callbacks().enter(e, el);\n },\n space: function space(e, el) {\n if (_this.tribute.isActive) {\n if (_this.tribute.spaceSelectsMatch) {\n _this.callbacks().enter(e, el);\n } else if (!_this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(function () {\n _this.tribute.hideMenu();\n\n _this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: function up(e, el) {\n // navigate up ul\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n var count = _this.tribute.current.filteredItems.length,\n selected = _this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n _this.tribute.menuSelected--;\n\n _this.setActiveLi();\n } else if (selected === 0) {\n _this.tribute.menuSelected = count - 1;\n\n _this.setActiveLi();\n\n _this.tribute.menu.scrollTop = _this.tribute.menu.scrollHeight;\n }\n }\n },\n down: function down(e, el) {\n // navigate down ul\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n var count = _this.tribute.current.filteredItems.length - 1,\n selected = _this.tribute.menuSelected;\n\n if (count > selected) {\n _this.tribute.menuSelected++;\n\n _this.setActiveLi();\n } else if (count === selected) {\n _this.tribute.menuSelected = 0;\n\n _this.setActiveLi();\n\n _this.tribute.menu.scrollTop = 0;\n }\n }\n },\n \"delete\": function _delete(e, el) {\n if (_this.tribute.isActive && _this.tribute.current.mentionText.length < 1) {\n _this.tribute.hideMenu();\n } else if (_this.tribute.isActive) {\n _this.tribute.showMenuFor(el);\n }\n }\n };\n }\n }, {\n key: \"setActiveLi\",\n value: function setActiveLi(index) {\n var lis = this.tribute.menu.querySelectorAll('li'),\n length = lis.length >>> 0;\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (var i = 0; i < length; i++) {\n var li = lis[i];\n\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n var liClientRect = li.getBoundingClientRect();\n var menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n var scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n var _scrollDistance = menuClientRect.top - liClientRect.top;\n\n this.tribute.menu.scrollTop -= _scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n }, {\n key: \"getFullHeight\",\n value: function getFullHeight(elem, includeMargin) {\n var height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n var style = elem.currentStyle || window.getComputedStyle(elem);\n return height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n }], [{\n key: \"keys\",\n value: function keys() {\n return [{\n key: 9,\n value: 'TAB'\n }, {\n key: 8,\n value: 'DELETE'\n }, {\n key: 13,\n value: 'ENTER'\n }, {\n key: 27,\n value: 'ESCAPE'\n }, {\n key: 32,\n value: 'SPACE'\n }, {\n key: 38,\n value: 'UP'\n }, {\n key: 40,\n value: 'DOWN'\n }];\n }\n }]);\n\n return TributeEvents;\n}();\n\nvar _default = TributeEvents;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],3:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar TributeMenuEvents =\n/*#__PURE__*/\nfunction () {\n function TributeMenuEvents(tribute) {\n _classCallCheck(this, TributeMenuEvents);\n\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n _createClass(TributeMenuEvents, [{\n key: \"bind\",\n value: function bind(menu) {\n var _this = this;\n\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(function () {\n if (_this.tribute.isActive) {\n _this.tribute.showMenuFor(_this.tribute.current.element, false);\n }\n }, 300, false);\n this.windowResizeEvent = this.debounce(function () {\n if (_this.tribute.isActive) {\n _this.tribute.range.positionMenuAtCaret(true);\n }\n }, 300, false); // fixes IE11 issues with mousedown\n\n this.tribute.range.getDocument().addEventListener('MSPointerDown', this.menuClickEvent, false);\n this.tribute.range.getDocument().addEventListener('mousedown', this.menuClickEvent, false);\n window.addEventListener('resize', this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener('scroll', this.menuContainerScrollEvent, false);\n } else {\n window.addEventListener('scroll', this.menuContainerScrollEvent);\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind(menu) {\n this.tribute.range.getDocument().removeEventListener('mousedown', this.menuClickEvent, false);\n this.tribute.range.getDocument().removeEventListener('MSPointerDown', this.menuClickEvent, false);\n window.removeEventListener('resize', this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener('scroll', this.menuContainerScrollEvent, false);\n } else {\n window.removeEventListener('scroll', this.menuContainerScrollEvent);\n }\n }\n }, {\n key: \"debounce\",\n value: function debounce(func, wait, immediate) {\n var _this2 = this,\n _arguments = arguments;\n\n var timeout;\n return function () {\n var context = _this2,\n args = _arguments;\n\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n }]);\n\n return TributeMenuEvents;\n}();\n\nvar _default = TributeMenuEvents;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],4:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// Thanks to https://github.com/jeff-collins/ment.io\nvar TributeRange =\n/*#__PURE__*/\nfunction () {\n function TributeRange(tribute) {\n _classCallCheck(this, TributeRange);\n\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n _createClass(TributeRange, [{\n key: \"getDocument\",\n value: function getDocument() {\n var iframe;\n\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document;\n }\n\n return iframe.contentWindow.document;\n }\n }, {\n key: \"positionMenuAtCaret\",\n value: function positionMenuAtCaret(scrollTo) {\n var _this = this;\n\n var context = this.tribute.current,\n coordinates;\n var info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n if (!this.tribute.positionMenu) {\n this.tribute.menu.style.cssText = \"display: block;\";\n return;\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element, info.mentionPosition);\n } else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = \"top: \".concat(coordinates.top, \"px;\\n left: \").concat(coordinates.left, \"px;\\n right: \").concat(coordinates.right, \"px;\\n bottom: \").concat(coordinates.bottom, \"px;\\n position: absolute;\\n display: block;\");\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n window.setTimeout(function () {\n var menuDimensions = {\n width: _this.tribute.menu.offsetWidth,\n height: _this.tribute.menu.offsetHeight\n };\n\n var menuIsOffScreen = _this.isMenuOffScreen(coordinates, menuDimensions);\n\n var menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n var menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n _this.tribute.menu.style.cssText = 'display: none';\n\n _this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n }, {\n key: \"selectElement\",\n value: function selectElement(targetElement, path, offset) {\n var range;\n var elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n\n if (elem === undefined) {\n return;\n }\n\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n\n var sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n }, {\n key: \"replaceTriggerText\",\n value: function replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n var info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n var context = this.tribute.current;\n var replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n var myField = this.tribute.current.element;\n var textSuffix = typeof this.tribute.replaceTextSuffix == 'string' ? this.tribute.replaceTextSuffix : ' ';\n text += textSuffix;\n var startPos = info.mentionPosition;\n var endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n myField.value = myField.value.substring(0, startPos) + text + myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n var _textSuffix = typeof this.tribute.replaceTextSuffix == 'string' ? this.tribute.replaceTextSuffix : '\\xA0';\n\n text += _textSuffix;\n this.pasteHtml(text, info.mentionPosition, info.mentionPosition + info.mentionText.length + !this.tribute.autocompleteMode);\n }\n\n context.element.dispatchEvent(replaceEvent);\n }\n }\n }, {\n key: \"pasteHtml\",\n value: function pasteHtml(html, startPos, endPos) {\n var range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n var el = this.getDocument().createElement('div');\n el.innerHTML = html;\n var frag = this.getDocument().createDocumentFragment(),\n node,\n lastNode;\n\n while (node = el.firstChild) {\n lastNode = frag.appendChild(node);\n }\n\n range.insertNode(frag); // Preserve the selection\n\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n }, {\n key: \"getWindowSelection\",\n value: function getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection();\n }\n\n return window.getSelection();\n }\n }, {\n key: \"getNodePositionInParent\",\n value: function getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0;\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n var node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i;\n }\n }\n }\n }, {\n key: \"getContentEditableSelectedPath\",\n value: function getContentEditableSelectedPath(ctx) {\n var sel = this.getWindowSelection();\n var selected = sel.anchorNode;\n var path = [];\n var offset;\n\n if (selected != null) {\n var i;\n var ce = selected.contentEditable;\n\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n\n path.reverse(); // getRangeAt may not exist, need alternative\n\n offset = sel.getRangeAt(0).startOffset;\n return {\n selected: selected,\n path: path,\n offset: offset\n };\n }\n }\n }, {\n key: \"getTextPrecedingCurrentSelection\",\n value: function getTextPrecedingCurrentSelection() {\n var context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n var textComponent = this.tribute.current.element;\n\n if (textComponent) {\n var startPos = textComponent.selectionStart;\n\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n } else {\n var selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n var workingNodeContent = selectedElem.textContent;\n var selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text;\n }\n }, {\n key: \"getLastWordInText\",\n value: function getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n\n var wordsArray = text.split(/\\s+/);\n var worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim();\n }\n }, {\n key: \"getTriggerInfo\",\n value: function getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n var _this2 = this;\n\n var ctx = this.tribute.current;\n var selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n var selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n var effectiveRange = this.getTextPrecedingCurrentSelection();\n var lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n };\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n var mostRecentTriggerCharPos = -1;\n var triggerChar;\n this.tribute.collection.forEach(function (config) {\n var c = config.trigger;\n var idx = config.requireLeadingSpace ? _this2.lastIndexWithLeadingSpace(effectiveRange, c) : effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 && (mostRecentTriggerCharPos === 0 || !requireLeadingSpace || /[\\xA0\\s]/g.test(effectiveRange.substring(mostRecentTriggerCharPos - 1, mostRecentTriggerCharPos)))) {\n var currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + 1, effectiveRange.length);\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + 1);\n var firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n var leadingSpace = currentTriggerSnippet.length > 0 && (firstSnippetChar === ' ' || firstSnippetChar === '\\xA0');\n\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n var regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !regex.test(currentTriggerSnippet))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n };\n }\n }\n }\n }\n }, {\n key: \"lastIndexWithLeadingSpace\",\n value: function lastIndexWithLeadingSpace(str, _char) {\n var reversedStr = str.split('').reverse().join('');\n var index = -1;\n\n for (var cidx = 0, len = str.length; cidx < len; cidx++) {\n var firstChar = cidx === str.length - 1;\n var leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n var match = _char === reversedStr[cidx];\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break;\n }\n }\n\n return index;\n }\n }, {\n key: \"isContentEditable\",\n value: function isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA';\n }\n }, {\n key: \"isMenuOffScreen\",\n value: function isMenuOffScreen(coordinates, menuDimensions) {\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n var menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n var menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n var menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n };\n }\n }, {\n key: \"getMenuDimensions\",\n value: function getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n var dimensions = {\n width: null,\n height: null\n };\n this.tribute.menu.style.cssText = \"top: 0px;\\n left: 0px;\\n position: fixed;\\n display: block;\\n visibility; hidden;\";\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n this.tribute.menu.style.cssText = \"display: none;\";\n return dimensions;\n }\n }, {\n key: \"getTextAreaOrInputUnderlinePosition\",\n value: function getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n var properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX', 'overflowY', 'borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch', 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily', 'textAlign', 'textTransform', 'textIndent', 'textDecoration', 'letterSpacing', 'wordSpacing'];\n var isFirefox = window.mozInnerScreenX !== null;\n var div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n var style = div.style;\n var computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n style.whiteSpace = 'pre-wrap';\n\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n } // position off-screen\n\n\n style.position = 'absolute';\n style.visibility = 'hidden'; // transfer the element's properties to the div\n\n properties.forEach(function (prop) {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = \"\".concat(parseInt(computed.width) - 2, \"px\");\n if (element.scrollHeight > parseInt(computed.height)) style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n var span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n var rect = element.getBoundingClientRect();\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var top = 0;\n var left = 0;\n\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n var coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var menuDimensions = this.getMenuDimensions();\n var menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n var parentHeight = this.tribute.menuContainer ? this.tribute.menuContainer.offsetHeight : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n var parentRect = this.tribute.menuContainer ? this.tribute.menuContainer.getBoundingClientRect() : this.getDocument().body.getBoundingClientRect();\n var scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width ? windowLeft + windowWidth - menuDimensions.width : windowLeft;\n delete coordinates.right;\n }\n\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height ? windowTop + windowHeight - menuDimensions.height : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates;\n }\n }, {\n key: \"getContentEditableCaretPosition\",\n value: function getContentEditableCaretPosition(selectedNodePosition) {\n var markerTextChar = '';\n var markerEl,\n markerId = \"sel_\".concat(new Date().getTime(), \"_\").concat(Math.random().toString().substr(2));\n var range;\n var sel = this.getWindowSelection();\n var prevRange = sel.getRangeAt(0);\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n range.collapse(false); // Create the marker element containing a single invisible character using DOM methods and insert it\n\n markerEl = this.getDocument().createElement('span');\n markerEl.id = markerId;\n markerEl.appendChild(this.getDocument().createTextNode(markerTextChar));\n range.insertNode(markerEl);\n sel.removeAllRanges();\n sel.addRange(prevRange);\n var rect = markerEl.getBoundingClientRect();\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var left = 0;\n var top = 0;\n\n if (this.menuContainerIsBody) {\n left = rect.left;\n top = rect.top;\n } else {\n left = markerEl.offsetLeft;\n top = markerEl.offsetTop;\n }\n\n var coordinates = {\n left: left + windowLeft,\n top: top + markerEl.offsetHeight + windowTop\n };\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var menuDimensions = this.getMenuDimensions();\n var menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n var parentHeight = this.tribute.menuContainer ? this.tribute.menuContainer.offsetHeight : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n var parentRect = this.tribute.menuContainer ? this.tribute.menuContainer.getBoundingClientRect() : this.getDocument().body.getBoundingClientRect();\n var scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width ? windowLeft + windowWidth - menuDimensions.width : windowLeft;\n delete coordinates.right;\n }\n\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height ? windowTop + windowHeight - menuDimensions.height : windowTop;\n delete coordinates.bottom;\n }\n\n markerEl.parentNode.removeChild(markerEl);\n return coordinates;\n }\n }, {\n key: \"scrollIntoView\",\n value: function scrollIntoView(elem) {\n var reasonableBuffer = 20,\n clientRect;\n var maxScrollDisplacement = 100;\n var e = this.menu;\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n\n if (e === undefined || !e.getBoundingClientRect) {\n return;\n }\n }\n }\n\n var elemTop = clientRect.top;\n var elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n var maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n var targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n }, {\n key: \"menuContainerIsBody\",\n get: function get() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n }]);\n\n return TributeRange;\n}();\n\nvar _default = TributeRange;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],5:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// Thanks to https://github.com/mattyork/fuzzy\nvar TributeSearch =\n/*#__PURE__*/\nfunction () {\n function TributeSearch(tribute) {\n _classCallCheck(this, TributeSearch);\n\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n _createClass(TributeSearch, [{\n key: \"simpleFilter\",\n value: function simpleFilter(pattern, array) {\n var _this = this;\n\n return array.filter(function (string) {\n return _this.test(pattern, string);\n });\n }\n }, {\n key: \"test\",\n value: function test(pattern, string) {\n return this.match(pattern, string) !== null;\n }\n }, {\n key: \"match\",\n value: function match(pattern, string, opts) {\n opts = opts || {};\n var patternIdx = 0,\n result = [],\n len = string.length,\n totalScore = 0,\n currScore = 0,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase(),\n ch,\n compareChar;\n\n if (opts.skip) {\n return {\n rendered: string,\n score: 0\n };\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n var patternCache = this.traverse(compareString, pattern, 0, 0, []);\n\n if (!patternCache) {\n return null;\n }\n\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n };\n }\n }, {\n key: \"traverse\",\n value: function traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n };\n } // if string at end or remaining pattern > remaining string\n\n\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined;\n }\n\n var c = pattern[patternIndex];\n var index = string.indexOf(c, stringIndex);\n var best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop(); // if downstream traversal failed, return best answer so far\n\n if (!temp) {\n return best;\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best;\n }\n }, {\n key: \"calculateScore\",\n value: function calculateScore(patternCache) {\n var score = 0;\n var temp = 1;\n patternCache.forEach(function (index, i) {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n } else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n return score;\n }\n }, {\n key: \"render\",\n value: function render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n indices.forEach(function (index, i) {\n rendered += pre + string[index] + post + string.substring(index + 1, indices[i + 1] ? indices[i + 1] : string.length);\n });\n return rendered;\n }\n }, {\n key: \"filter\",\n value: function filter(pattern, arr, opts) {\n var _this2 = this;\n\n opts = opts || {};\n return arr.reduce(function (prev, element, idx, arr) {\n var str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) {\n // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n var rendered = _this2.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev;\n }, []).sort(function (a, b) {\n var compare = b.score - a.score;\n if (compare) return compare;\n return a.index - b.index;\n });\n }\n }]);\n\n return TributeSearch;\n}();\n\nvar _default = TributeSearch;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],6:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Tribute = _interopRequireDefault(require(\"./Tribute\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n* Tribute.js\n* Native ES6 JavaScript @mention Plugin\n**/\nvar _default = _Tribute[\"default\"];\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{\"./Tribute\":1}],7:[function(require,module,exports){\n\"use strict\";\n\nif (!Array.prototype.find) {\n Array.prototype.find = function (predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n\n return undefined;\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n var CustomEvent = function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent;\n}\n\n},{}]},{},[6])(6)\n});\n"],"names":["module","r","e","n","t","o","i","f","u","a","Error","p","exports","require","Object","value","_TributeEvents","_interopRequireDefault","_TributeMenuEvents","_TributeRange","_TributeSearch","obj","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","Symbol","_s","Array","_classCallCheck","instance","_defineProperties","target","props","descriptor","_createClass","Constructor","_default","Tribute","_ref","_this","_ref$values","values","_ref$iframe","iframe","_ref$selectClass","selectClass","_ref$trigger","trigger","_ref$autocompleteMode","autocompleteMode","_ref$selectTemplate","selectTemplate","_ref$menuItemTemplate","menuItemTemplate","_ref$lookup","lookup","_ref$fillAttr","fillAttr","_ref$collection","collection","_ref$menuContainer","menuContainer","_ref$noMatchTemplate","noMatchTemplate","_ref$requireLeadingSp","requireLeadingSpace","_ref$allowSpaces","allowSpaces","_ref$replaceTextSuffi","replaceTextSuffix","_ref$positionMenu","positionMenu","_ref$spaceSelectsMatc","spaceSelectsMatch","_ref$searchOpts","searchOpts","_ref$menuItemLimit","menuItemLimit","this","menuSelected","current","inputEvent","isActive","hasTrailingSpace","console","item","key","config","el","jQuery","length","_attach","ensureEditable","events","bind","element","wrapper","range","getDocument","createElement","ul","_this2","mentionText","currentMentionTextSnapshot","menu","menuEvents","processValues","items","pre","post","skip","extract","noMatchEvent","CustomEvent","detail","fragment","li","_this2$_findLiTarget2","index","_findLiTarget","document","placeCaretAtEnd","collectionIndex","externalTrigger","insertTextAtCursor","showMenuFor","window","sel","textRange","text","textNode","textarea","scrollPos","caretPos","front","back","style","cssText","parseInt","isNaN","filteredItems","content","replaceText","replaceTriggerText","_append","newValues","_detach","_this3","unbind","setTimeout","isContentEditable","matchItem","TributeEvents","tribute","keydown","keyup","input","event","keyCode","eventKeyPressed","info","getTriggerInfo","selectedPath","selectedOffset","triggerChar","collectionItem","enter","escape","tab","space","up","count","selected","down","lis","querySelectorAll","liClientRect","menuClientRect","scrollDistance","scrollTop","_scrollDistance","elem","height","parseFloat","TributeMenuEvents","menuClickEvent","click","menuContainerScrollEvent","debounce","windowResizeEvent","addEventListener","removeEventListener","func","timeout","_arguments","context","args","later","callNow","immediate","clearTimeout","TributeRange","scrollTo","coordinates","getContentEditableCaretPosition","getTextAreaOrInputUnderlinePosition","concat","left","top","scrollIntoView","menuDimensions","width","offsetHeight","menuIsOffScreen","menuIsOffScreenHorizontally","menuIsOffScreenVertically","targetElement","path","offset","replaceEvent","originalEvent","pasteHtml","myField","textSuffix","startPos","endPos","html","frag","node","lastNode","ctx","ce","getNodePositionInParent","selectedElem","getWindowSelection","workingNodeContent","selectStartOffset","getRangeAt","textComponent","wordsArray","menuAlreadyActive","selectionInfo","getContentEditableSelectedPath","effectiveRange","lastWordOfEffectiveRange","getLastWordInText","mentionPosition","mentionSelectedElement","mentionSelectedPath","mentionSelectedOffset","mostRecentTriggerCharPos","forEach","c","idx","test","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","mentionTriggerChar","str","reversedStr","cidx","len","firstChar","_char","windowWidth","windowHeight","doc","windowLeft","windowTop","menuTop","menuRight","menuBottom","menuLeft","Math","right","bottom","dimensions","properties","isFirefox","div","body","appendChild","computed","getComputedStyle","span","rect","isMenuOffScreen","parentHeight","scrollStillAvailable","removeChild","selectedNodePosition","markerEl","markerTextChar","markerId","Date","prevRange","createTextNode","reasonableBuffer","maxScrollDisplacement","clientRect","elemTop","elemBottom","maxY","targetY","get","TributeSearch","search","pattern","array","opts","string","compareString","rendered","score","patternCache","traverse","render","calculateScore","cache","best","temp","patternIndex","indices","prev","original","compare","b","predicate","list","thisArg","arguments","params","bubbles","cancelable","undefined","evt"],"sourceRoot":""}