{"version":3,"sources":["webpack:///./node_modules/floating-vue/dist/floating-vue.es.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./src/components/basics/modal/CustomModal.vue","webpack:///src/components/basics/modal/CustomModal.vue","webpack:///./src/components/basics/modal/CustomModal.vue?b6ef","webpack:///./src/components/basics/modal/CustomModal.vue?e072","webpack:///./src/components/chat/components/Chat.vue?b8db","webpack:///./node_modules/vue-mention/dist/vue-mention.esm.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./src/components/basics/modal/CustomModal.vue?83ed","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","webpack:///./src/constants/status/WaitingRoomStatus.js","webpack:///./src/components/chat/components/Chat.vue","webpack:///src/components/chat/components/Chat.vue","webpack:///./src/components/chat/components/Chat.vue?8ee2","webpack:///./src/components/chat/components/Chat.vue?99be","webpack:///./src/components/chat/components/Chat.vue?d3f0","webpack:///./node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js"],"names":["__defProp","Object","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","obj","key","value","enumerable","configurable","writable","__spreadValues","a","b","prop","call","__spreadProps","__objRest","source","exclude","target","indexOf","assign","to","from","config","disabled","distance","skidding","container","boundary","instantMove","disposeTimeout","popperTriggers","strategy","preventOverflow","flip","shift","overflowPadding","arrowPadding","arrowOverflow","themes","tooltip","placement","triggers","hideTriggers","events","delay","show","hide","handleResize","html","loadingContent","dropdown","autoHide","menu","$extend","getDefaultConfig","theme","themeConfig","getThemeClasses","result","$resetCss","push","map","c","getAllParentThemes","supportsPassive","window","opts","addEventListener","e","isIOS","navigator","test","userAgent","MSStream","placements","reduce","acc","base","concat","SHOW_EVENT_MAP","hover","focus","click","touch","HIDE_EVENT_MAP","removeFromArray","array","item","index","splice","nextFrame","Promise","resolve","requestAnimationFrame","shownPoppers","hidingPopper","shownPoppersByTheme","getShownPoppersByTheme","list","Element","defaultPropFactory","props","this","$props","PROVIDE_KEY","PrivatePopper","name","type","String","required","targetNodes","Function","referenceNode","popperNode","shown","Boolean","default","showGroup","ariaId","positioningDisabled","validator","includes","Number","Array","showTriggers","popperShowTriggers","popperHideTriggers","eagerMount","popperClass","computeTransformOrigin","autoMinSize","autoSize","autoMaxSize","autoBoundaryMaxSize","shiftCrossAxis","noAutoFocus","parentPopper","inject","isShown","isMounted","skipTransition","classes","showFrom","showTo","hideFrom","hideTo","x","y","arrow","centerOffset","transformOrigin","shownChildren","Set","lastAutoHide","computed","randomId","popperId","shouldMountContent","onResize","_a","_b","watch","dispose","init","$_ensureTeleport","$_computePosition","$_isDisposed","Math","random","Date","now","n","toString","substring","join","console","warn","$_detachPopperNode","$_autoShowHide","methods","event","skipDelay","force","lockedChild","$_pendingHide","$_scheduleShow","$emit","$_showFrameLocked","skipAiming","$_hideInProgress","size","hasPopperShowTriggerHover","$_isAimingPopper","clearTimeout","lockedChildTimer","setTimeout","$_scheduleHide","$_events","$_preventShow","$_referenceNode","$_targetNodes","filter","nodeType","ELEMENT_NODE","$_popperNode","$_innerNode","querySelector","$_arrowNode","$_swapTargetAttrs","length","$_addEventListeners","$_removeEventListeners","$_updateParentShownChildren","options2","middleware","mainAxis","crossAxis","isPlacementAuto","startsWith","alignment","split","padding","element","fn","rects","middlewareData","overflow","abs","reference","width","height","data","_a2","skip","style","reset","maxWidth","maxHeight","apply","$_scheduleTimer","$_applyHide","$_applyShow","bind","$_computeDelay","parseInt","$_disposeTimer","$_applyShowEffect","$_registerEventListeners","bounds","getBoundingClientRect","popperWrapper","parentBounds","parentNode","left","offsetLeft","top","offsetTop","$_applyAttrsToTarget","popover","i","document","body","classList","add","remove","disposeTime","Error","appendChild","handleShow","usedByTooltip","$_registerTriggerListeners","handleHide","eventType","handler","forEach","node","passive","eventMap","commonTriggers","customTrigger","trigger","filterEventType","newList","listener","removeEventListener","closePopover","removeChild","attrFrom","attrTo","el","getAttribute","removeAttribute","setAttribute","attrs","parent","delete","referenceBounds","$el","mouseX","right","mouseY","bottom","popperBounds","vectorX","mousePreviousX","vectorY","mousePreviousY","newVectorLength","edgeX","edgeY","lineIntersectsLine","$scopedSlots","slotData","handleGlobalMousedown","popper","popperContent","$_mouseDownContains","contains","handleGlobalClick","handleGlobalClose","handleGlobalTouchend","preventClose","$_containsGlobalTarget","isContainingEventTarget","shouldAutoHide","$_handleGlobalClose","closeAllPopover","parent2","getAutoHideResult","computePositionAllShownPoppers","capture","x1","y1","x2","y2","x3","y3","x4","y4","uA","uB","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","clientX","clientY","script","emitOnMount","ignoreWidth","ignoreHeight","mounted","_this","$nextTick","_w","offsetWidth","_h","offsetHeight","emitSize","object","createElement","_resizeObject","onload","addResizeHandlers","beforeDestroy","removeResizeHandlers","compareAndNotify","contentDocument","defaultView","normalizeComponent$1","template","script2","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","options","render","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","__vue_script__","__vue_render__","_vm","$createElement","_c","_self","staticClass","tabindex","__vue_staticRenderFns__","_withStripped","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","install$1","Vue2","component","plugin$1","version","install","GlobalVue$1","Vue","global","use","PrivateThemeClass","__vue2_script$5","components","ResizeObserver","mixins","isNaN","render$2","ref","class","themeClass","position","transform","round","on","$event","_k","keyCode","_t","_e","toPx","staticRenderFns$2","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","_injectStyles","exports","__cssModules$5","__component__$5","__vue2_injectStyles$5","o","PrivatePopperContent","PrivatePopperMethods","args","$refs","__vue2_script$4","Popper","PopperContent","inheritAttrs","vPopperTheme","children","render$1","_g","getTargetNodes","scopedSlots","_u","$attrs","$listeners","staticRenderFns$1","__cssModules$4","__component__$4","__vue2_injectStyles$4","PrivatePopperWrapper","__vue2_script$3","__vue2_render$2","__vue2_staticRenderFns$2","__cssModules$3","__component__$3","__vue2_injectStyles$3","PrivateDropdown","__vue2_script$2","__vue2_render$1","__vue2_staticRenderFns$1","__cssModules$2","__component__$2","__vue2_injectStyles$2","PrivateMenu","__vue2_script$1","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","PrivateTooltip","__vue2_script","content","asyncContent","isContentAsync","loading","fetchContent","immediate","$_fetchId","$_isShown","$_loading","fetchId","then","res","onResult","onShow","onHide","domProps","_s","finalContent","__cssModules","__component__","__vue2_injectStyles","PrivateTooltipDirective","TARGET_CLASS","getPlacement","modifiers","pos","getOptions","createTooltip","tooltipApp","$_popper","otherOptions","devtools","mountTarget","$mount","destroyTooltip","$destroy","$_popperOldShown","oldValue","PrivateVTooltip","update","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","$_vclosepopover_touch","$_closePopoverModifiers","all","changedTouches","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","PrivateVClosePopper","Dropdown","app","$_vTooltipInstalled","directive","plugin","GlobalVue","uncurryThis","toObject","floor","charAt","replace","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","module","matched","str","captures","namedCaptures","replacement","tailPos","m","symbols","undefined","match","ch","f","isObject","classof","wellKnownSymbol","MATCH","it","isRegExp","$","requireObjectCoercible","isCallable","isNullOrUndefined","getMethod","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","$TypeError","TypeError","max","stringIndexOf","string","searchValue","fromIndex","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","O","endOfLastMatch","id","hasFooterTemplate","hasHeaderTemplate","title","noCloseOnBackDrop","hideHeaderClose","noCloseOnEsc","proxy","model","callback","$$v","expression","toggle","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","isArray","Symbol","iterator","_arr","_n","_d","_i","next","done","err","minLen","_arrayLikeToArray","constructor","len","arr2","createCommonjsModule","textareaCaret","properties","isBrowser","isFirefox","mozInnerScreenX","getCaretCoordinates","debug","div","getComputedStyle","currentStyle","isInput","nodeName","whiteSpace","wordWrap","visibility","lineHeight","scrollHeight","overflowY","textContent","span","coordinates","backgroundColor","mentionable","isIe","VDropdown","keys","items","omitKey","filteringDisabled","insertSpace","mapInsert","limit","caretHeight","oldKey","searchText","caretPosition","selectedIndex","filteredItems","toLowerCase","text","label","displayedItems","input","getInput","attach","updated","detach","_this$$scopedSlots$de","_this$$scopedSlots$de2","vnode","elm","tagName","isContentEditable","onInput","onKeyDown","onKeyUp","onScroll","onBlur","checkKey","closeMenu","cancelEvent","applyMention","cancelKeyUp","cancelKeyCode","preventDefault","stopPropagation","updateCaretPosition","getSelectionStart","getSelection","anchorOffset","selectionStart","setCaretPosition","selectionEnd","getValue","anchorNode","setValue","emitInputEvent","createEvent","initEvent","Event","dispatchEvent","_this$getLastKeyBefor","getLastKeyBeforeCaret","keyIndex","lastSearchText","getLastSearchText","openMenu","caretIndex","_this2","_this$keys$map$sort","lastIndexOf","sort","_this$keys$map$sort2","keyData","rect","getRangeAt","inputRect","scrollTop","itemIndex","range","setStart","startContainer","startOffset","deleteContents","insertNode","createTextNode","endContainer","endOffset","replaceText","newText","staticStyle","_v","_l","mouseover","mousedown","registerComponents","prefix","finalOptions","installComponents","componentsPrefix","hasOwn","isPrototypeOf","regExpFlags","RegExpPrototype","RegExp","R","anObject","that","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","getBasePlacement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","floating","commonX","commonY","coords","computePosition","async","platform","getElementRects","statefulPlacement","nextX","nextY","initialPlacement","elements","expandPaddingObject","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","rootBoundary","elementContext","altBoundary","paddingObject","altContext","clippingClientRect","getClippingClientRect","isElement","contextElement","getDocumentElement","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","offsetParent","getOffsetParent","min","within","min$1","max$1","basePlacement","arrowDimensions","getDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","hash$1","getOppositePlacement","getAlignmentSides","isStart","mainAlignmentSide","main","cross","hash","start","end","getOppositeAlignmentPlacement","basePlacements","allPlacements","getPlacementList","autoAlignment","allowedPlacements","allowedPlacementsSortedByAlignment","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","currentIndex","currentPlacement","currentOverflows","allOverflows","overflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","find","every","getExpandedPlacements","oppositePlacement","_middlewareData$flip","_middlewareData$flip2","checkMainAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","isBasePlacement","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","nextIndex","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","rawValue","diffCoords","getCrossAxis","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","WaitingRoomStatus","freeze","Created","WaitingPassive","WaitingCitizen","SessionInProgress","SessionCompleted","SessionFinished","SessionCancelled","mention","showMention","room","messages","isFirstMessage","showDate","getDate","date","showMessage","mine","owner","currentUserId","username","mainUserName","small","isInfoNotification","showFullName","getTextMessage","getTime","showPresavedMessages","preservedMessages","message","presavedMessageSelect","isEnglish","nameEN","membersTyping","$t","names","typingNames","members","onOpen","loadingMembers","onInputChange","handleEnter","arguments","onFocus","onSubmit","Mentionable","startMessage","hideUserEntries","hideMentions","showInfoNotifications","language","hideMineName","selectingMember","currentUsername","showInternalChat","hubLoaded","loadPresavedMessages","_getChatPresavedMessages","RocketChatService","setMembers","autoresize","findMember","msg","scrollToBottom","chatContainer","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","HTMLElement","isNode","Node","isShadowRoot","OwnElement","ShadowRoot","isScrollParent","overflowX","isTableElement","isContainingBlock","css","perspective","contain","willChange","includeScale","clientRect","scaleX","scaleY","documentElement","getNodeScroll","scrollLeft","pageXOffset","pageYOffset","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","isOffsetParentAnElement","scroll","offsets","offsetRect","clientLeft","clientTop","getParentNode","assignedSlot","host","getTrueOffsetParent","getContainingBlock","currentNode","getViewportRect","win","visualViewport","innerWidth","scale","getDocumentRect","_element$ownerDocumen","scrollWidth","direction","getScrollParent","getScrollParents","_node$ownerDocument","scrollParent","isBody","updatedList","child","rootNode","getRootNode","getInnerBoundingClientRect","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","canEscapeClipping","clipperElement","mainClippingParents","firstClippingParent","clippingRect","accRect","_ref2","_ref3","_ref4","getClientRects","_ref5"],"mappings":"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B,uBAGA9xB,aACA,8DACA,sCACA,UACA,6BAEA,mDACAiyB,YACA,2BAEApB,WACA,gCACA,oBAEArT,QACA,+BACA,kBACA,gCAEA+V,kBAAA,MACA,sBAIA,sIACAjC,SAJA,wFACAA,UAKAa,gBACA,gCACA3yB,IAAA,aACAA,UACAA,6DACAA,gCAGA8yB,cACA,8DAGA7lB,UACA,sBACA,wDAEA4V,UACA,uBAEA9hB,OACAizB,mBACA,uBAEA5C,OACA,iBAEA,wBACA,mBAEA6C,WACArd,aACA7O,WACA,4BAIA9F,SACAiyB,uBACAC,eACA,oDACA,OAAA9uB,UAAA,2BAEAmtB,yBACA4B,2CAEA,+BACA,mDAEAf,UACA,mBACA,uBAGAgB,aACA,mDACA,+BACA9wB,OACAvD,IAAA,eACAA,kEACAA,+DACA,yCAEArF,YACA,EACAzD,qBACAqrB,uBAEA3mB,QACA,CACA1E,YACAqrB,oCAIAyQ,SACA,wBACA,mBAEAsB,aACA,wCACA,iCACA,uCAEA,6BACA,kEACA,4BACA,kBACA,yBAEAlC,WACA,iCAEAZ,WACA,qCAEAU,gBACA,2BACA,UACA,wCAEAX,YACA,2BACA,UACA,mDAEAD,kBACA,SACA,4CACA,MAGA,GAEAiD,cACA,iDAEAtC,sBACA,sDAEAP,eACA,yBACA,kCACA,mCACAa,sBAGA,SACA,sCAIAJ,kBACA,iCACA,+BACA,4BACA,kEAIA,kBACA,+BACA,8BACA,kEAGA,YAEA,qDACA,uCACAqC,2BAIA,uBAEA,kBACA,UACA,mBACAhS,kBACA,oBACAA,mBACA,OACAA,UAEAA,cAEAgS,6CAGA,UAEAC,iBAEA,oBAEA,iCACAC,8BAGAvB,eAEA,eAEA,gCACA,8BACA,4BAEA,sBAGA,oBACAjxB,oCACA,yBAEA,iBAEAoxB,gBAAAlxB,UAAAmwB,GAAA,CAAAnwB,SAAAmwB,aACA,wBACA,aACA,qBACA,gBACA,+CACA,+BAEA,QACA,8BACAiC,oDAEAJ,0CACA,gBACA,2CCja4W,I,kCCSxWljB,EAAY,eACd,EACAnC,EACAC,GACA,EACA,KACA,WACA,MAIa,OAAAkC,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","file":"js/chunk-8d962a04.39789ea5.js","sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nimport Vue from \"vue\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function() {\n const props = this.$props;\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => ({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: true\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide === \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\n }, {})), [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeDestroy() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false, skipAiming = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (!skipAiming && this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (skipAiming) => (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event, skipAiming });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide(false));\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide(true));\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$el.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$scopedSlots.default(this.slotData)[0];\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nvar isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n initCompat();\n this.$nextTick(function() {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nfunction normalizeComponent$1(template, style, script2, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== \"boolean\") {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n var options2 = typeof script2 === \"function\" ? script2.options : script2;\n if (template && template.render) {\n options2.render = template.render;\n options2.staticRenderFns = template.staticRenderFns;\n options2._compiled = true;\n if (isFunctionalTemplate) {\n options2.functional = true;\n }\n }\n if (scopeId) {\n options2._scopeId = scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function hook2(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function(context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options2.functional) {\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script2;\n}\nvar __vue_script__ = script;\nvar __vue_render__ = function __vue_render__2() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\nvar __vue_inject_styles__ = void 0;\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\nvar __vue_module_identifier__ = void 0;\nvar __vue_is_functional_template__ = false;\nvar __vue_component__ = /* @__PURE__ */ normalizeComponent$1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, void 0, void 0, void 0);\nfunction install$1(Vue2) {\n Vue2.component(\"resize-observer\", __vue_component__);\n Vue2.component(\"ResizeObserver\", __vue_component__);\n}\nvar plugin$1 = {\n version: \"1.0.1\",\n install: install$1\n};\nvar GlobalVue$1 = null;\nif (typeof window !== \"undefined\") {\n GlobalVue$1 = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n GlobalVue$1.use(plugin$1);\n}\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar __vue2_script$5 = {\n name: \"VPopperContent\",\n components: {\n ResizeObserver: __vue_component__\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n};\nvar render$2 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"popover\", staticClass: \"v-popper__popper\", class: [\n _vm.themeClass,\n _vm.classes.popperClass,\n {\n \"v-popper__popper--shown\": _vm.shown,\n \"v-popper__popper--hidden\": !_vm.shown,\n \"v-popper__popper--show-from\": _vm.classes.showFrom,\n \"v-popper__popper--show-to\": _vm.classes.showTo,\n \"v-popper__popper--hide-from\": _vm.classes.hideFrom,\n \"v-popper__popper--hide-to\": _vm.classes.hideTo,\n \"v-popper__popper--skip-transition\": _vm.skipTransition,\n \"v-popper__popper--arrow-overflow\": _vm.result && _vm.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_vm.result\n }\n ], style: _vm.result ? {\n position: _vm.result.strategy,\n transform: \"translate3d(\" + Math.round(_vm.result.x) + \"px,\" + Math.round(_vm.result.y) + \"px,0)\"\n } : void 0, attrs: { \"id\": _vm.popperId, \"aria-hidden\": _vm.shown ? \"false\" : \"true\", \"tabindex\": _vm.autoHide ? 0 : void 0, \"data-popper-placement\": _vm.result ? _vm.result.placement : void 0 }, on: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }, [_c(\"div\", { staticClass: \"v-popper__backdrop\", on: { \"click\": function($event) {\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }), _c(\"div\", { staticClass: \"v-popper__wrapper\", style: _vm.result ? {\n transformOrigin: _vm.result.transformOrigin\n } : void 0 }, [_c(\"div\", { ref: \"inner\", staticClass: \"v-popper__inner\" }, [_vm.mounted ? [_c(\"div\", [_vm._t(\"default\")], 2), _vm.handleResize ? _c(\"ResizeObserver\", { on: { \"notify\": function($event) {\n return _vm.$emit(\"resize\", $event);\n } } }) : _vm._e()] : _vm._e()], 2), _c(\"div\", { ref: \"arrow\", staticClass: \"v-popper__arrow-container\", style: _vm.result ? {\n left: _vm.toPx(_vm.result.arrow.x),\n top: _vm.toPx(_vm.result.arrow.y)\n } : void 0 }, [_c(\"div\", { staticClass: \"v-popper__arrow-outer\" }), _c(\"div\", { staticClass: \"v-popper__arrow-inner\" })])])]);\n};\nvar staticRenderFns$2 = [];\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options2 = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options2.render = render2;\n options2.staticRenderFns = staticRenderFns2;\n options2._compiled = true;\n }\n if (functionalTemplate) {\n options2.functional = true;\n }\n if (scopeId) {\n options2._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options2.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options2.functional) {\n options2._injectStyles = hook;\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options: options2\n };\n}\nconst __cssModules$5 = {};\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, null, null, null);\nfunction __vue2_injectStyles$5(context) {\n for (let o in __cssModules$5) {\n this[o] = __cssModules$5[o];\n }\n}\nvar PrivatePopperContent = /* @__PURE__ */ function() {\n return __component__$5.exports;\n}();\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar __vue2_script$4 = {\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default() {\n return this.$options.vPopperTheme;\n }\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n};\nvar render$1 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"target-nodes\": _vm.getTargetNodes, \"reference-node\": function() {\n return _vm.$refs.reference;\n }, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var show = ref.show;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"div\", { ref: \"reference\", staticClass: \"v-popper\", class: [\n _vm.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ] }, [_vm._t(\"default\", null, { \"shown\": isShown, \"show\": show, \"hide\": hide }), _c(\"PopperContent\", { ref: \"popperContent\", attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm._t(\"popper\", null, { \"shown\": isShown, \"hide\": hide })], 2)], 2)];\n } }], null, true) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns$1 = [];\nconst __cssModules$4 = {};\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null);\nfunction __vue2_injectStyles$4(context) {\n for (let o in __cssModules$4) {\n this[o] = __cssModules$4[o];\n }\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ function() {\n return __component__$4.exports;\n}();\nvar __vue2_script$3 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n});\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render$2, __vue2_staticRenderFns$2;\nconst __cssModules$3 = {};\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$3, null, null, null);\nfunction __vue2_injectStyles$3(context) {\n for (let o in __cssModules$3) {\n this[o] = __cssModules$3[o];\n }\n}\nvar PrivateDropdown = /* @__PURE__ */ function() {\n return __component__$3.exports;\n}();\nvar __vue2_script$2 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n});\nlet __vue2_render$1, __vue2_staticRenderFns$1;\nconst __cssModules$2 = {};\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$2, null, null, null);\nfunction __vue2_injectStyles$2(context) {\n for (let o in __cssModules$2) {\n this[o] = __cssModules$2[o];\n }\n}\nvar PrivateMenu = /* @__PURE__ */ function() {\n return __component__$2.exports;\n}();\nvar __vue2_script$1 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n});\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar PrivateTooltip = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar __vue2_script = {\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default() {\n return getDefaultConfig(this.theme, \"html\");\n }\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default() {\n return getDefaultConfig(this.theme, \"loadingContent\");\n }\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent(value) {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n};\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, on: { \"apply-show\": _vm.onShow, \"apply-hide\": _vm.onHide }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"PopperContent\", { ref: \"popperContent\", class: {\n \"v-popper--tooltip-loading\": _vm.loading\n }, attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.finalContent) } }) : _c(\"div\", { domProps: { \"textContent\": _vm._s(_vm.finalContent) } })])];\n } }]) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns = [];\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nfunction createTooltip(el, value, modifiers) {\n const options2 = getOptions(el, value, modifiers);\n const tooltipApp = el.$_popper = new Vue({\n mixins: [\n PrivatePopperMethods\n ],\n data() {\n return {\n options: options2\n };\n },\n render(h) {\n const _a = this.options, {\n theme,\n html,\n content,\n loadingContent\n } = _a, otherOptions = __objRest(_a, [\n \"theme\",\n \"html\",\n \"content\",\n \"loadingContent\"\n ]);\n return h(PrivateTooltipDirective, {\n props: {\n theme,\n html,\n content,\n loadingContent\n },\n attrs: otherOptions,\n ref: \"popper\"\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n tooltipApp.$mount(mountTarget);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n return tooltipApp;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n el.$_popper.$destroy();\n delete el.$_popper;\n delete el.$_popperOldShown;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let tooltipApp;\n if (el.$_popper) {\n tooltipApp = el.$_popper;\n tooltipApp.options = options2;\n } else {\n tooltipApp = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? tooltipApp.show() : tooltipApp.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n bind,\n update: bind,\n unbind(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n bind(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n update(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = PrivateDropdown;\nconst Menu = PrivateMenu;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = PrivateTooltip;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", PrivateTooltip);\n app.component(\"VTooltip\", PrivateTooltip);\n app.component(\"v-dropdown\", PrivateDropdown);\n app.component(\"VDropdown\", PrivateDropdown);\n app.component(\"v-menu\", PrivateMenu);\n app.component(\"VMenu\", PrivateMenu);\n}\nconst plugin = {\n version: \"1.0.0-beta.19\",\n install,\n options: config\n};\nlet GlobalVue = null;\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{ref:\"customModalRef\",staticClass:\"custom-modal-container\",attrs:{\"id\":_vm.id,\"centered\":\"\",\"hide-footer\":!_vm.hasFooterTemplate,\"hide-header\":!_vm.hasHeaderTemplate && !_vm.title,\"no-close-on-backdrop\":_vm.noCloseOnBackDrop,\"hide-header-close\":_vm.hideHeaderClose,\"no-close-on-esc\":_vm.noCloseOnEsc,\"size\":_vm.size,\"title\":!_vm.hasHeaderTemplate ? _vm.title : null},on:{\"change\":function($event){return _vm.$emit('input', false)}},scopedSlots:_vm._u([(_vm.hasHeaderTemplate)?{key:\"modal-header\",fn:function(){return [_vm._t(\"header\")]},proxy:true}:null,(_vm.hasFooterTemplate)?{key:\"modal-footer\",fn:function(){return [_vm._t(\"footer\")]},proxy:true}:null],null,true),model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomModal.vue?vue&type=template&id=08a5593e&\"\nimport script from \"./CustomModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomModal.vue?vue&type=style&index=0&id=08a5593e&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chat.vue?vue&type=style&index=1&id=3de6ef12&prod&scoped=true&lang=scss&\"","import { options, Dropdown } from 'floating-vue';\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _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\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\nfunction _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++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _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\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar textareaCaret = createCommonjsModule(function (module) {\n/* jshint browser: true */\n(function () {\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.\n var properties = ['direction', // RTL support\n 'boxSizing', 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n 'height', 'overflowX', 'overflowY', // copy the scrollbar for IE\n 'borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth', 'borderStyle', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch', 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily', 'textAlign', 'textTransform', 'textIndent', 'textDecoration', // might not make a difference, but better be safe\n 'letterSpacing', 'wordSpacing', 'tabSize', 'MozTabSize'];\n var isBrowser = typeof window !== 'undefined';\n var isFirefox = isBrowser && window.mozInnerScreenX != null;\n\n function 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\n if (debug) {\n var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n if (el) el.parentNode.removeChild(el);\n } // The mirror div will replicate the textarea's style\n\n\n var div = document.createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n document.body.appendChild(div);\n var style = div.style;\n var computed = window.getComputedStyle ? window.getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n\n var isInput = element.nodeName === 'INPUT'; // Default textarea styles\n\n style.whiteSpace = 'pre-wrap';\n if (!isInput) style.wordWrap = 'break-word'; // only for textarea-s\n // Position off-screen\n\n style.position = 'absolute'; // required to return coordinates properly\n\n if (!debug) style.visibility = 'hidden'; // not 'display: none' because we want rendering\n // Transfer the element's properties to the div\n\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)) 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); // 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\n if (isInput) div.textContent = div.textContent.replace(/\\s/g, \"\\xA0\");\n var span = document.createElement('span'); // 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\n span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n\n div.appendChild(span);\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\n {\n module.exports = getCaretCoordinates;\n }\n})();\n});\n\noptions.themes.mentionable = {\n $extend: 'dropdown',\n placement: 'top-start',\n arrowPadding: 6,\n arrowOverflow: false\n};\nvar userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '';\nvar isIe = userAgent.indexOf('MSIE ') !== -1 || userAgent.indexOf('Trident/') !== -1;\nvar script = {\n components: {\n VDropdown: Dropdown\n },\n inheritAttrs: false,\n props: {\n keys: {\n type: Array,\n required: true\n },\n placement: {\n type: String,\n default: 'top-start'\n },\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n omitKey: {\n type: Boolean,\n default: false\n },\n filteringDisabled: {\n type: Boolean,\n default: false\n },\n insertSpace: {\n type: Boolean,\n default: false\n },\n mapInsert: {\n type: Function,\n default: null\n },\n limit: {\n type: Number,\n default: 8\n },\n theme: {\n type: String,\n default: 'mentionable'\n },\n caretHeight: {\n type: Number,\n default: 0\n }\n },\n data: function data() {\n return {\n key: null,\n oldKey: null,\n searchText: null,\n caretPosition: null,\n selectedIndex: 0\n };\n },\n computed: {\n filteredItems: function filteredItems() {\n if (!this.searchText || this.filteringDisabled) {\n return this.items;\n }\n\n var searchText = this.searchText.toLowerCase();\n return this.items.filter(function (item) {\n /** @type {string} */\n var text;\n\n if (item.searchText) {\n text = item.searchText;\n } else if (item.label) {\n text = item.label;\n } else {\n text = '';\n\n for (var key in item) {\n text += item[key];\n }\n }\n\n return text.toLowerCase().includes(searchText);\n });\n },\n displayedItems: function displayedItems() {\n return this.filteredItems.slice(0, this.limit);\n }\n },\n watch: {\n displayedItems: function displayedItems() {\n this.selectedIndex = 0;\n },\n searchText: function searchText(value, oldValue) {\n if (value) {\n this.$emit('search', value, oldValue);\n }\n }\n },\n mounted: function mounted() {\n this.input = this.getInput();\n this.attach();\n },\n updated: function updated() {\n var input = this.getInput();\n\n if (input !== this.input) {\n this.detach();\n this.input = input;\n this.attach();\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.detach();\n },\n methods: {\n getInput: function getInput() {\n var _this$$scopedSlots$de = this.$scopedSlots.default(),\n _this$$scopedSlots$de2 = _slicedToArray(_this$$scopedSlots$de, 1),\n vnode = _this$$scopedSlots$de2[0];\n\n if (vnode) {\n if (vnode.elm.tagName === 'INPUT' || vnode.elm.tagName === 'TEXTAREA' || vnode.elm.isContentEditable) {\n return vnode.elm;\n } else {\n return vnode.elm.querySelector('input') || vnode.elm.querySelector('textarea') || vnode.elm.querySelector('[contenteditable=\"true\"]');\n }\n }\n\n return null;\n },\n attach: function attach() {\n if (this.input) {\n this.input.addEventListener('input', this.onInput);\n this.input.addEventListener('keydown', this.onKeyDown);\n this.input.addEventListener('keyup', this.onKeyUp);\n this.input.addEventListener('scroll', this.onScroll);\n this.input.addEventListener('blur', this.onBlur);\n }\n },\n detach: function detach() {\n if (this.input) {\n this.input.removeEventListener('input', this.onInput);\n this.input.removeEventListener('keydown', this.onKeyDown);\n this.input.removeEventListener('keyup', this.onKeyUp);\n this.input.removeEventListener('scroll', this.onScroll);\n this.input.removeEventListener('blur', this.onBlur);\n }\n },\n onInput: function onInput() {\n this.checkKey();\n },\n onBlur: function onBlur() {\n this.closeMenu();\n },\n onKeyDown: function onKeyDown(e) {\n if (this.key) {\n if (e.key === 'ArrowDown' || e.keyCode === 40) {\n this.selectedIndex++;\n\n if (this.selectedIndex >= this.displayedItems.length) {\n this.selectedIndex = 0;\n }\n\n this.cancelEvent(e);\n }\n\n if (e.key === 'ArrowUp' || e.keyCode === 38) {\n this.selectedIndex--;\n\n if (this.selectedIndex < 0) {\n this.selectedIndex = this.displayedItems.length - 1;\n }\n\n this.cancelEvent(e);\n }\n\n if ((e.key === 'Enter' || e.key === 'Tab' || e.keyCode === 13 || e.keyCode === 9) && this.displayedItems.length > 0) {\n this.applyMention(this.selectedIndex);\n this.cancelEvent(e);\n }\n\n if (e.key === 'Escape' || e.keyCode === 27) {\n this.closeMenu();\n this.cancelEvent(e);\n }\n }\n },\n onKeyUp: function onKeyUp(e) {\n if (this.cancelKeyUp && (e.key === this.cancelKeyUp || e.keyCode === this.cancelKeyCode)) {\n this.cancelEvent(e);\n }\n\n this.cancelKeyUp = null; // IE\n\n this.cancelKeyCode = null;\n },\n cancelEvent: function cancelEvent(e) {\n e.preventDefault();\n e.stopPropagation();\n this.cancelKeyUp = e.key; // IE\n\n this.cancelKeyCode = e.keyCode;\n },\n onScroll: function onScroll() {\n this.updateCaretPosition();\n },\n getSelectionStart: function getSelectionStart() {\n return this.input.isContentEditable ? window.getSelection().anchorOffset : this.input.selectionStart;\n },\n setCaretPosition: function setCaretPosition(index) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.input.selectionEnd = index;\n });\n },\n getValue: function getValue() {\n return this.input.isContentEditable ? window.getSelection().anchorNode.textContent : this.input.value;\n },\n setValue: function setValue(value) {\n this.input.value = value;\n this.emitInputEvent('input');\n },\n emitInputEvent: function emitInputEvent(type) {\n var event;\n\n if (isIe) {\n event = document.createEvent('Event');\n event.initEvent(type, true, true);\n } else {\n event = new Event(type);\n }\n\n this.input.dispatchEvent(event);\n },\n checkKey: function checkKey() {\n var index = this.getSelectionStart();\n\n if (index >= 0) {\n var _this$getLastKeyBefor = this.getLastKeyBeforeCaret(index),\n key = _this$getLastKeyBefor.key,\n keyIndex = _this$getLastKeyBefor.keyIndex;\n\n var searchText = this.lastSearchText = this.getLastSearchText(index, keyIndex);\n\n if (!(keyIndex < 1 || /\\s/.test(this.getValue()[keyIndex - 1]))) {\n return false;\n }\n\n if (searchText != null) {\n this.openMenu(key, keyIndex);\n this.searchText = searchText;\n return true;\n }\n }\n\n this.closeMenu();\n return false;\n },\n getLastKeyBeforeCaret: function getLastKeyBeforeCaret(caretIndex) {\n var _this2 = this;\n\n var _this$keys$map$sort = this.keys.map(function (key) {\n return {\n key: key,\n keyIndex: _this2.getValue().lastIndexOf(key, caretIndex - 1)\n };\n }).sort(function (a, b) {\n return b.keyIndex - a.keyIndex;\n }),\n _this$keys$map$sort2 = _slicedToArray(_this$keys$map$sort, 1),\n keyData = _this$keys$map$sort2[0];\n\n return keyData;\n },\n getLastSearchText: function getLastSearchText(caretIndex, keyIndex) {\n if (keyIndex !== -1) {\n var searchText = this.getValue().substring(keyIndex + 1, caretIndex); // If there is a space we close the menu\n\n if (!/\\s/.test(searchText)) {\n return searchText;\n }\n }\n\n return null;\n },\n openMenu: function openMenu(key, keyIndex) {\n if (this.key !== key) {\n this.key = key;\n this.keyIndex = keyIndex;\n this.updateCaretPosition();\n this.selectedIndex = 0;\n this.$emit('open', key);\n }\n },\n closeMenu: function closeMenu() {\n if (this.key != null) {\n this.oldKey = this.key;\n this.key = null;\n this.$emit('close', this.oldKey);\n }\n },\n updateCaretPosition: function updateCaretPosition() {\n if (this.key) {\n if (this.input.isContentEditable) {\n var rect = window.getSelection().getRangeAt(0).getBoundingClientRect();\n var inputRect = this.input.getBoundingClientRect();\n this.caretPosition = {\n left: rect.left - inputRect.left,\n top: rect.top - inputRect.top,\n height: rect.height\n };\n } else {\n this.caretPosition = textareaCaret(this.input, this.keyIndex);\n }\n\n this.caretPosition.top -= this.input.scrollTop;\n\n if (this.caretHeight) {\n this.caretPosition.height = this.caretHeight;\n } else if (isNaN(this.caretPosition.height)) {\n this.caretPosition.height = 16;\n }\n }\n },\n applyMention: function applyMention(itemIndex) {\n var item = this.displayedItems[itemIndex];\n var value = (this.omitKey ? '' : this.key) + String(this.mapInsert ? this.mapInsert(item, this.key) : item.value) + (this.insertSpace ? ' ' : '');\n\n if (this.input.isContentEditable) {\n var range = window.getSelection().getRangeAt(0);\n range.setStart(range.startContainer, range.startOffset - this.key.length - (this.lastSearchText ? this.lastSearchText.length : 0));\n range.deleteContents();\n range.insertNode(document.createTextNode(value));\n range.setStart(range.endContainer, range.endOffset);\n this.emitInputEvent('input');\n } else {\n this.setValue(this.replaceText(this.getValue(), this.searchText, value, this.keyIndex));\n this.setCaretPosition(this.keyIndex + value.length);\n }\n\n this.$emit('apply', item, this.key, value);\n this.closeMenu();\n },\n replaceText: function replaceText(text, searchText, newText, index) {\n return text.slice(0, index) + newText + text.slice(index + searchText.length + 1, text.length);\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { staticClass: \"mentionable\", staticStyle: { position: \"relative\" } },\n [\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _c(\n \"VDropdown\",\n _vm._b(\n {\n ref: \"popper\",\n staticClass: \"popper\",\n staticStyle: { position: \"absolute\" },\n style: _vm.caretPosition\n ? {\n top: _vm.caretPosition.top + \"px\",\n left: _vm.caretPosition.left + \"px\"\n }\n : {},\n attrs: {\n placement: _vm.placement,\n shown: !!_vm.key,\n triggers: [],\n \"auto-hide\": false,\n theme: _vm.theme\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"popper\",\n fn: function() {\n return [\n !_vm.displayedItems.length\n ? _c(\n \"div\",\n [\n _vm._t(\"no-result\", [\n _vm._v(\"\\n No result\\n \")\n ])\n ],\n 2\n )\n : _vm._l(_vm.displayedItems, function(item, index) {\n return _c(\n \"div\",\n {\n key: index,\n staticClass: \"mention-item\",\n class: {\n \"mention-selected\":\n _vm.selectedIndex === index\n },\n on: {\n mouseover: function($event) {\n _vm.selectedIndex = index;\n },\n mousedown: function($event) {\n return _vm.applyMention(index)\n }\n }\n },\n [\n _vm._t(\n \"item-\" + (_vm.key || _vm.oldKey),\n [\n _vm._t(\n \"item\",\n [\n _vm._v(\n \"\\n \" +\n _vm._s(item.label || item.value) +\n \"\\n \"\n )\n ],\n { item: item, index: index }\n )\n ],\n { item: item, index: index }\n )\n ],\n 2\n )\n })\n ]\n },\n proxy: true\n }\n ],\n null,\n true\n )\n },\n \"VDropdown\",\n _vm.$attrs,\n false\n ),\n [\n _c(\"div\", {\n style: _vm.caretPosition\n ? {\n height: _vm.caretPosition.height + \"px\"\n }\n : {}\n })\n ]\n )\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nfunction registerComponents(Vue, prefix) {\n Vue.component(\"\".concat(prefix, \"mentionable\"), __vue_component__);\n Vue.component(\"\".concat(prefix, \"Mentionable\"), __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.0-floating-vue1\",\n install: function install(Vue, options) {\n var finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: ''\n }, options);\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix);\n }\n }\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as Mentionable };\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomModal.vue?vue&type=style&index=0&id=08a5593e&prod&lang=css&\"","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","const WaitingRoomStatus = Object.freeze({\r\n Created: 1,\r\n WaitingPassive: 2,\r\n WaitingCitizen: 3,\r\n SessionInProgress: 4,\r\n SessionCompleted: 5,\r\n SessionFinished: 6,\r\n SessionCancelled: 7,\r\n});\r\n\r\nexport default WaitingRoomStatus;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"chat\",class:{ mention: _vm.showMention && _vm.room.mention }},[_c('div',{ref:\"chatContainer\",staticClass:\"chat-content\"},_vm._l((_vm.messages),function(item,i){return _c('div',{key:i},[(_vm.isFirstMessage(i))?_c('div',{staticClass:\"start-conversation\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),(_vm.showDate(i))?_c('div',{staticClass:\"start-conversation-date\"},[_c('hr'),_c('div',{staticClass:\"date\"},[_vm._v(_vm._s(_vm.getDate(item.date)))])]):_vm._e(),(_vm.showMessage(i))?_c('div',{staticClass:\"message-content\",class:{\n mine:\n item.owner.id === _vm.currentUserId ||\n item.owner.username === _vm.mainUserName,\n small: !!item.type,\n 'info-noti': _vm.isInfoNotification(i),\n }},[_c('div',{staticClass:\"message\"},[(_vm.showFullName(i))?_c('div',{staticClass:\"full-name\"},[_vm._v(\" \"+_vm._s(item.owner.name)+\" \")]):_vm._e(),_c('div',{staticClass:\"message-text\",domProps:{\"innerHTML\":_vm._s(_vm.getTextMessage(item))}}),_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.getTime(item.date)))])])]):_vm._e()])}),0),(!_vm.disabled && _vm.showPresavedMessages && _vm.preservedMessages.length)?_c('div',{staticClass:\"presaved-messages\"},[_c('div',{staticClass:\"pm-container\"},_vm._l((_vm.preservedMessages),function(message,i){return _c('div',{key:i,staticClass:\"presaved-message\",on:{\"click\":function($event){return _vm.presavedMessageSelect(_vm.isEnglish ? message.nameEN : message.name)}}},[_vm._v(\" \"+_vm._s(_vm.isEnglish ? message.nameEN : message.name)+\" \")])}),0)]):_vm._e(),(_vm.disabled)?_c('div',{staticClass:\"chat-typing-members\"},[(_vm.membersTyping.length)?_c('small',[_vm._v(\" \"+_vm._s(_vm.$t('isWriting', { names: _vm.typingNames }))+\" \")]):_vm._e()]):_vm._e(),(!_vm.disabled)?_c('div',{staticClass:\"chat-form\"},[_c('div',{staticClass:\"d-flex mx-3 align-items-center\"},[_c('div',{staticClass:\"flex-grow-1 pr-2 chat-input\"},[_c('div',{staticClass:\"typing-message\"},[(_vm.membersTyping.length)?_c('small',{staticClass:\"d-inline-block text-truncate\",staticStyle:{\"max-width\":\"350px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('isWriting', { names: _vm.typingNames }))+\" \")]):_vm._e()]),_c('Mentionable',{ref:\"mentionable\",attrs:{\"keys\":['@'],\"items\":_vm.members,\"offset\":\"6\",\"insert-space\":\"\"},on:{\"open\":_vm.onOpen},scopedSlots:_vm._u([{key:\"no-result\",fn:function(){return [_c('div',{staticClass:\"mention-no-result\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.room.loadingMembers ? 'loading' : 'noResultsFound'))+\" \")])]},proxy:true},{key:\"item-@\",fn:function({ item }){return [_c('div',{staticClass:\"user\"},[_vm._v(\" \"+_vm._s(item.text)+\" \")])]}}],null,false,399377189)},[_c('textarea',{ref:\"textarea\",staticClass:\"textarea\",attrs:{\"placeholder\":`${_vm.$t('writeYourMessage')}...`,\"rows\":\"1\",\"disabled\":_vm.room.loading},domProps:{\"value\":_vm.message},on:{\"input\":_vm.onInputChange,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.handleEnter.apply(null, arguments)},\"focus\":function($event){return _vm.onFocus()}}})])],1),_c('div',{staticClass:\"chat-submit\"},[_c('button',{staticClass:\"btn btn-primary btn-sm d-flex align-items-center\",attrs:{\"disabled\":_vm.room.loading},on:{\"click\":function($event){return _vm.onSubmit({ force: true })}}},[_c('i',{staticClass:\"fad fa-paper-plane\"}),_c('span',{staticClass:\"d-none d-sm-block ml-2\"},[_vm._v(_vm._s(_vm.$t('send')))])])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chat.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chat.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Chat.vue?vue&type=template&id=3de6ef12&scoped=true&\"\nimport script from \"./Chat.vue?vue&type=script&lang=js&\"\nexport * from \"./Chat.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Chat.vue?vue&type=style&index=0&id=3de6ef12&prod&lang=css&\"\nimport style1 from \"./Chat.vue?vue&type=style&index=1&id=3de6ef12&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3de6ef12\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chat.vue?vue&type=style&index=0&id=3de6ef12&prod&lang=css&\"","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n"],"sourceRoot":""}