Welcome to mirror list, hosted at ThFree Co, Russian Federation.

vendors~editor-collab~editor-guest.js.map « js - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9bc986099f74988e91e7e38921f098872d22d7f1 (plain)
1
{"version":3,"sources":["webpack:///../lib/index.ts","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///NextcloudVue.[name]/webpack/universalModuleDefinition","webpack:///NextcloudVue.[name]/webpack/bootstrap","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/api.js","webpack:///NextcloudVue.[name]/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///NextcloudVue.[name]/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/getUrl.js","webpack:///webpack:/NextcloudVue.[name]/external \"vue\"","webpack:///NextcloudVue.[name]/src/fonts/iconfont-vue-ed18ae7.eot","webpack:///webpack:/NextcloudVue.[name]/external \"v-tooltip\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.index-of.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.map.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/router\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.exec.js\"","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss?0d1f","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.replace.js\"","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.number.constructor.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.concat.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/event-bus\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack:///NextcloudVue.[name]/src/utils/IsMobileState.js","webpack:///NextcloudVue.[name]/src/mixins/isMobile/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/auth\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/axios\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"v-click-outside\"","webpack:///webpack:/NextcloudVue.[name]/external \"striptags\"","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?931e","webpack:///NextcloudVue.[name]/src/mixins/userStatus.js","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?a8b9","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?a0e4","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?0a3b","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.join.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.promise.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"regenerator-runtime/runtime.js\"","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?d102","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?6682","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?50ea","webpack:///NextcloudVue.[name]/src/mixins/richEditor/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.starts-with.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"escape-html\"","webpack:///NextcloudVue.[name]/src/utils/GenColors.js","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?a1a3","webpack:///NextcloudVue.[name]/src/mixins/excludeClickOutsideClasses/index.js","webpack:///NextcloudVue.[name]/src/mixins/isFullscreen/index.js","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?7f21","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?356f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?36a5","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?9a57","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?b983","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?63df","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?4d8f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.split.js\"","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?fcd1","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?125c","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?c9c3","webpack:///NextcloudVue.[name]/src/components/Avatar/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/capabilities\"","webpack:///webpack:/NextcloudVue.[name]/external \"md5\"","webpack:///NextcloudVue.[name]/src/functions/usernameToColor/index.js","webpack:///NextcloudVue.[name]/src/functions/usernameToColor/usernameToColor.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/browser-storage\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.flat.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.unscopables.flat.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.constructor.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.includes.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.match.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.code-point-at.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.from-code-point.js\"","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///../lib/scopedstorage.ts","webpack:///../src/v-click-outside.js","webpack:///../src/index.js","webpack:///./node_modules/striptags/src/striptags.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///../lib/storagebuilder.ts","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/modules/es.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es.string.from-code-point.js"],"names":["elem","document","fallback","JSON","atob","DESCRIPTORS","require","global","isForced","redefine","has","classof","inheritIfRequired","toPrimitive","fails","create","getOwnPropertyNames","f","getOwnPropertyDescriptor","defineProperty","trim","NativeNumber","NumberPrototype","prototype","BROKEN_CLASSOF","toNumber","argument","first","third","radix","maxCode","digits","length","index","code","it","charCodeAt","NaN","slice","parseInt","key","NumberWrapper","value","arguments","dummy","this","valueOf","call","keys","split","j","constructor","module","exports","process","descriptor","$","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","nativeStartsWith","startsWith","min","Math","CORRECT_IS_REGEXP_LOGIC","target","proto","forced","String","writable","searchString","that","undefined","search","isObject","MATCH","wellKnownSymbol","isRegExp","factory","window","installedModules","__webpack_require__","moduleId","i","l","modules","m","c","d","name","getter","o","Object","enumerable","get","r","Symbol","toStringTag","t","mode","__esModule","ns","bind","n","object","property","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","iterator","_arr","_n","_d","_e","_s","_i","next","done","push","err","minLen","_arrayLikeToArray","toString","from","test","TypeError","len","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","mediaQuery","dedupe","alreadyImportedModules","id","memo","getTarget","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","newObj","all","lastIdentifiers","newList","newLastIdentifiers","_index","splice","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","url","default","hash","needQuotes","replace","__webpack_exports__","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","version","names","mappings","sourcesContent","IsMobileState","isMobile","watch","val","$emit","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","documentElement","clientWidth","mounted","$on","onIsMobileChanged","$off","hasStatus","userStatus","status","message","icon","fetchUserStatus","userId","capabilities","getCapabilities","user_status","enabled","getCurrentUser","axios","generateOcsUrl","ocs","_this","_context","response","console","error","RichContenteditable_MentionBubblevue_type_script_lang_js_","props","type","required","label","primary","computed","avatarUrl","mentionText","getAvatarUrl","user","size","MentionBubblevue_type_style_index_0_id_724f9d58_lang_scss_scoped_true_","_vm","_h","$createElement","_c","_self","staticClass","class","mention-bubble--primary","attrs","contenteditable","backgroundImage","_v","role","title","USERID_REGEX","RegExp","USERID_REGEX_WITH_SPACE","userData","renderContent","escapeHtml","part","flat","genSelectTemplate","parseContent","text","stripTags","renderComponentHtml","MentionBubble","indexOf","propsData","component","Item","Vue","extend","wrapper","mount","display","body","$mount","renderedHtml","innerHTML","$destroy","Color","g","b","mixPalette","steps","color1","color2","palette","step","ends","GenColors","red","yellow","blue","palette1","palette2","palette3","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","___CSS_LOADER_URL_REPLACEMENT_0___","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_fonts_iconfont_vue_ed18ae7_eot__WEBPACK_IMPORTED_MODULE_3__","___CSS_LOADER_URL_REPLACEMENT_1___","_fonts_iconfont_vue_ed18ae7_woff__WEBPACK_IMPORTED_MODULE_4__","___CSS_LOADER_URL_REPLACEMENT_2___","_fonts_iconfont_vue_ed18ae7_ttf__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_3___","_fonts_iconfont_vue_ed18ae7_svg__WEBPACK_IMPORTED_MODULE_6__","excludeClickOutsideClasses","clickOutsideMiddleware","event","excludedClassList","hasNodeOrAnyParentClass","node","classArray","className","classList","contains","parentElement","isFullscreen","_isFullscreen","beforeMount","_onResize","outerHeight","screen","height","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","href","validator","iconIsUrl","action","PopoverMenuItemvue_type_style_index_0_id_3ad7b73b_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_3ad7b73b_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","components","PopoverMenuItem","download","rel","on","click","src","longtext","active","input","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","model","change","$$a","$$el","$$c","$$i","$set","_q","composing","for","stopPropagation","disabled","menu","PopoverMenuvue_type_style_index_0_id_81c2afc0_lang_scss_scoped_true_","_l","PopoverMenu","getUserHasAvatar","setUserHasAvatar","flag","browserStorage","Avatar_Avatarvue_type_script_lang_js_","tooltip","ClickOutside","mixins","iconClass","showUserStatus","showUserStatusCompact","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","statusColor","menuPosition","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuActions","contactsMenuOpenState","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isUserDefined","isDisplayNameDefined","isUrlDefined","hasMenu","shouldShowPlaceholder","avatarStyle","width","lineHeight","fontSize","initials","idx","html","actions","beforeDestroyed","handleUserStatusUpdated","toggleMenu","closeMenu","fetchContactsMenu","axios_default","_this2","loadAvatarUrl","srcset","avatarUrlGenerator","updateImageIfValid","userHasAvatar","img","_this3","Avatarvue_type_style_index_0_id_44d6742a_scoped_true_lang_scss_","_g","avatardiv--unknown","avatardiv--with-menu","alt","backgroundColor","xmlns","viewBox","fill","stroke","stroke-width","stroke-linecap","is-open","Avatar","usernameToColor","username","toLowerCase","match","md5","maximum","finalInt","charAt","define","anObject","aFunction","SPECIES","O","defaultConstructor","S","C","defer","channel","port","IS_IOS","IS_NODE","location","set","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","run","fn","runner","listener","post","postMessage","protocol","host","args","Function","apply","nextTick","now","port2","port1","onmessage","importScripts","setTimeout","userAgent","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","charenc","utf8","stringToBytes","str","bin","bytesToString","bytes","decodeURIComponent","escape","fromCharCode","toObject","nativeKeys","stat","ScopedStorage","persistent","scopeKey","wrapped","getItem","removeItem","HAS_WINDOWS","HAS_NAVIGATOR","navigator","EVENTS","msMaxTouchPoints","execHandler","handler","middleware","el","bindingValue","isFunction","events","isActive","detectIframe","processDirectiveArguments","eventName","srcTarget","path","composedPath","detectIframeEvent","activeElement","tagName","unbind","oldValue","install","directive","nonNative","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","allowable_tags","tag_replacement","striptags_internal","init_context","tag_set","Set","exec","parse_allowable_tags","state","tag_buffer","depth","in_quote_char","output","char","normalize_tag","init_streaming_mode","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","separator","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","getBuiltIn","NativePromise","redefineAll","setToStringTag","setSpecies","anInstance","inspectSource","iterate","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","InternalStateModule","V8_VERSION","PROMISE","getInternalState","setInternalState","getInternalPromiseState","getterFor","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","FORCED","FakePromise","then","INCORRECT_ITERATION","iterable","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","initEvent","facade","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","unsafe","fetch","wrap","Promise","capability","x","$promiseResolve","values","remaining","alreadyCalled","race","flush","last","toggle","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","observe","characterData","promiseCapability","a","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","configurable","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","method","arg","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","isNaN","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","pop","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","METHOD_NAME","regexp","error1","error2","fixRegExpWellKnownSymbolLogic","advanceStringIndex","callRegExpExec","regexpExec","arrayPush","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","limit","string","lim","lastIndex","lastLength","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","res","rx","unicodeMatching","q","A","z","crypt","isBuffer","encoding","Uint8Array","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToHex","base64map","rotl","rotr","Number","randomBytes","floor","random","words","hex","hexToBytes","substr","bytesToBase64","triplet","base64ToBytes","imod4","pow","readFloatLE","isSlowBuffer","_isBuffer","appId","StorageBuilder","storages","clearStorage","k","storage","pred","persist","persisted","flattenIntoArray","toInteger","arraySpeciesCreate","depthArg","sourceLen","original","start","mapper","thisArg","element","targetIndex","sourceIndex","mapFn","addToUnscopables","getFlags","stickyHelpers","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","$includes","includes","arrayMethodUsesToLength","ACCESSORS","1","regExpExec","nativeMatch","matcher","fullUnicode","matchStr","codeAt","codePointAt","pos","toAbsoluteIndex","nativeFromCodePoint","fromCodePoint","elements","RangeError"],"mappings":"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","file":"vendors~editor-collab~editor-guest.js?v=70f36aa8b49f135be138","sourcesContent":["import StorageBuilder from './storagebuilder'\nimport ScopedStorage from './scopedstorage'\n\nexport function getBuilder(appId: string): StorageBuilder {\n    return new StorageBuilder(appId)\n}\n\nfunction clearStorage(storage: Storage, pred?: (string) => boolean): void {\n    Object.keys(storage)\n        .filter(k => pred ? pred(k) : true)\n        .map(storage.removeItem.bind(storage))\n}\n\nexport function clearAll(): void {\n    const storages = [\n        window.sessionStorage,\n        window.localStorage,\n    ]\n    storages.map(s => clearStorage(s))\n}\n\nexport function clearNonPersistent(): void {\n    const storages = [\n        window.sessionStorage,\n        window.localStorage,\n    ]\n    storages.map(s => clearStorage(s, k => !k.startsWith(ScopedStorage.GLOBAL_SCOPE_PERSISTENT)))\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = it.charCodeAt(0);\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = it.slice(2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = digits.charCodeAt(index);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var dummy = this;\n    return dummy instanceof NumberWrapper\n      // check on 1..constructor(foo) case\n      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n  };\n  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n    // ESNext\n    'fromString,range'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  redefine(global, NUMBER, NumberWrapper);\n}\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return nativeStartsWith\n      ? nativeStartsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\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.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/Avatar\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/Avatar\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/Avatar\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 71);\n","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n  var _item = _slicedToArray(item, 4),\n      content = _item[1],\n      cssMapping = _item[3];\n\n  if (typeof btoa === 'function') {\n    // eslint-disable-next-line no-undef\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n};","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n  var memo;\n  return function memorize() {\n    if (typeof memo === 'undefined') {\n      // Test for IE <= 9 as proposed by Browserhacks\n      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n      // Tests for existence of standard globals is to allow style-loader\n      // to operate correctly into non-standard environments\n      // @see https://github.com/webpack-contrib/style-loader/issues/177\n      memo = Boolean(window && document && document.all && !window.atob);\n    }\n\n    return memo;\n  };\n}();\n\nvar getTarget = function getTarget() {\n  var memo = {};\n  return function memorize(target) {\n    if (typeof memo[target] === 'undefined') {\n      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n        try {\n          // This will throw an exception if access to iframe is blocked\n          // due to cross-origin restrictions\n          styleTarget = styleTarget.contentDocument.head;\n        } catch (e) {\n          // istanbul ignore next\n          styleTarget = null;\n        }\n      }\n\n      memo[target] = styleTarget;\n    }\n\n    return memo[target];\n  };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDom.length; i++) {\n    if (stylesInDom[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var index = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3]\n    };\n\n    if (index !== -1) {\n      stylesInDom[index].references++;\n      stylesInDom[index].updater(obj);\n    } else {\n      stylesInDom.push({\n        identifier: identifier,\n        updater: addStyle(obj, options),\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction insertStyleElement(options) {\n  var style = document.createElement('style');\n  var attributes = options.attributes || {};\n\n  if (typeof attributes.nonce === 'undefined') {\n    var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n    if (nonce) {\n      attributes.nonce = nonce;\n    }\n  }\n\n  Object.keys(attributes).forEach(function (key) {\n    style.setAttribute(key, attributes[key]);\n  });\n\n  if (typeof options.insert === 'function') {\n    options.insert(style);\n  } else {\n    var target = getTarget(options.insert || 'head');\n\n    if (!target) {\n      throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n    }\n\n    target.appendChild(style);\n  }\n\n  return style;\n}\n\nfunction removeStyleElement(style) {\n  // istanbul ignore if\n  if (style.parentNode === null) {\n    return false;\n  }\n\n  style.parentNode.removeChild(style);\n}\n/* istanbul ignore next  */\n\n\nvar replaceText = function replaceText() {\n  var textStore = [];\n  return function replace(index, replacement) {\n    textStore[index] = replacement;\n    return textStore.filter(Boolean).join('\\n');\n  };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n  var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n  /* istanbul ignore if  */\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = replaceText(index, css);\n  } else {\n    var cssNode = document.createTextNode(css);\n    var childNodes = style.childNodes;\n\n    if (childNodes[index]) {\n      style.removeChild(childNodes[index]);\n    }\n\n    if (childNodes.length) {\n      style.insertBefore(cssNode, childNodes[index]);\n    } else {\n      style.appendChild(cssNode);\n    }\n  }\n}\n\nfunction applyToTag(style, options, obj) {\n  var css = obj.css;\n  var media = obj.media;\n  var sourceMap = obj.sourceMap;\n\n  if (media) {\n    style.setAttribute('media', media);\n  } else {\n    style.removeAttribute('media');\n  }\n\n  if (sourceMap && typeof btoa !== 'undefined') {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    while (style.firstChild) {\n      style.removeChild(style.firstChild);\n    }\n\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n  var style;\n  var update;\n  var remove;\n\n  if (options.singleton) {\n    var styleIndex = singletonCounter++;\n    style = singleton || (singleton = insertStyleElement(options));\n    update = applyToSingletonTag.bind(null, style, styleIndex, false);\n    remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n  } else {\n    style = insertStyleElement(options);\n    update = applyToTag.bind(null, style, options);\n\n    remove = function remove() {\n      removeStyleElement(style);\n    };\n  }\n\n  update(obj);\n  return function updateStyle(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n        return;\n      }\n\n      update(obj = newObj);\n    } else {\n      remove();\n    }\n  };\n}\n\nmodule.exports = function (list, options) {\n  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  // tags it will allow on a page\n\n  if (!options.singleton && typeof options.singleton !== 'boolean') {\n    options.singleton = isOldIE();\n  }\n\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    if (Object.prototype.toString.call(newList) !== '[object Array]') {\n      return;\n    }\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDom[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDom[_index].references === 0) {\n        stylesInDom[_index].updater();\n\n        stylesInDom.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        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      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\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\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = url && url.__esModule ? url.default : url;\n\n  if (typeof url !== 'string') {\n    return url;\n  } // If url is already wrapped in quotes, remove them\n\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    // eslint-disable-next-line no-param-reassign\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n  }\n\n  return url;\n};","module.exports = require(\"vue\");","export default \"data:application/vnd.ms-fontobject;base64,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\"","module.exports = require(\"v-tooltip\");","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"core-js/modules/es.array.index-of.js\");","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"@nextcloud/router\");","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\n\nexport default VTooltip\n","module.exports = require(\"core-js/modules/es.string.replace.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vue-tooltip[data-v-ed18ae7]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-ed18ae7][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-ed18ae7][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-ed18ae7][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-ed18ae7] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-ed18ae7] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\"],\"names\":[],\"mappings\":\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","module.exports = require(\"core-js/modules/es.array.concat.js\");","module.exports = require(\"@nextcloud/event-bus\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\nexport const IsMobileState = new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\twatch: {\n\t\tisMobile(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\tthis.isMobile = document.documentElement.clientWidth < 1024\n\t\t},\n\t},\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { IsMobileState } from '../../utils/IsMobileState'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tIsMobileState.$on('changed', this.onIsMobileChanged)\n\t\tthis.isMobile = IsMobileState.isMobile\n\t},\n\tbeforeDestroy() {\n\t\tIsMobileState.$off('changed', this.onIsMobileChanged)\n\t},\n\tmethods: {\n\t\tonIsMobileChanged(val) {\n\t\t\tthis.isMobile = val\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/auth\");","module.exports = require(\"@nextcloud/axios\");","module.exports = require(\"core-js/modules/web.url.js\");","module.exports = require(\"v-click-outside\");","module.exports = require(\"striptags\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./MentionBubble.vue\"],\"names\":[],\"mappings\":\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t * @param {String} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @returns {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1', 2) + `statuses/${encodeURIComponent(userId)}`)\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nbutton.menuitem[data-v-3ad7b73b] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-3ad7b73b] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-3ad7b73b]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-3ad7b73b] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-3ad7b73b] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AA4HA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n  - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n  -\\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\\n  -\\n  - @license GNU AGPL version 3 or any later version\\n  -\\n  - This program is free software: you can redistribute it and/or modify\\n  - it under the terms of the GNU Affero General Public License as\\n  - published by the Free Software Foundation, either version 3 of the\\n  - License, or (at your option) any later version.\\n  -\\n  - This program is distributed in the hope that it will be useful,\\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n  - GNU Affero General Public License for more details.\\n  -\\n  - You should have received a copy of the GNU Affero General Public License\\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n  -\\n  -->\\n\\n<template>\\n\\t<li>\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<input :id=\\\"key\\\"\\n\\t\\t\\t\\t\\tv-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child)  {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"li[data-v-3ad7b73b]{display:flex;flex:0 0 auto}li.hidden[data-v-3ad7b73b]{display:none}li>button[data-v-3ad7b73b],li>a[data-v-3ad7b73b],li>.menuitem[data-v-3ad7b73b]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-3ad7b73b],li>button span[class*=' icon-'][data-v-3ad7b73b],li>button[class^='icon-'][data-v-3ad7b73b],li>button[class*=' icon-'][data-v-3ad7b73b],li>a span[class^='icon-'][data-v-3ad7b73b],li>a span[class*=' icon-'][data-v-3ad7b73b],li>a[class^='icon-'][data-v-3ad7b73b],li>a[class*=' icon-'][data-v-3ad7b73b],li>.menuitem span[class^='icon-'][data-v-3ad7b73b],li>.menuitem span[class*=' icon-'][data-v-3ad7b73b],li>.menuitem[class^='icon-'][data-v-3ad7b73b],li>.menuitem[class*=' icon-'][data-v-3ad7b73b]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-3ad7b73b],li>button span[class*=' icon-'][data-v-3ad7b73b],li>a span[class^='icon-'][data-v-3ad7b73b],li>a span[class*=' icon-'][data-v-3ad7b73b],li>.menuitem span[class^='icon-'][data-v-3ad7b73b],li>.menuitem span[class*=' icon-'][data-v-3ad7b73b]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-3ad7b73b]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-3ad7b73b],li>button[class*=' icon-'][data-v-3ad7b73b],li>a[class^='icon-'][data-v-3ad7b73b],li>a[class*=' icon-'][data-v-3ad7b73b],li>.menuitem[class^='icon-'][data-v-3ad7b73b],li>.menuitem[class*=' icon-'][data-v-3ad7b73b]{padding:0 14px 0 44px}li>button[data-v-3ad7b73b]:not(:disabled):hover,li>button[data-v-3ad7b73b]:not(:disabled):focus,li>button:not(:disabled).active[data-v-3ad7b73b],li>a[data-v-3ad7b73b]:not(:disabled):hover,li>a[data-v-3ad7b73b]:not(:disabled):focus,li>a:not(:disabled).active[data-v-3ad7b73b],li>.menuitem[data-v-3ad7b73b]:not(:disabled):hover,li>.menuitem[data-v-3ad7b73b]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-3ad7b73b]{opacity:1 !important}li>button.action[data-v-3ad7b73b],li>a.action[data-v-3ad7b73b],li>.menuitem.action[data-v-3ad7b73b]{padding:inherit !important}li>button>span[data-v-3ad7b73b],li>a>span[data-v-3ad7b73b],li>.menuitem>span[data-v-3ad7b73b]{cursor:pointer;white-space:nowrap}li>button>p[data-v-3ad7b73b],li>a>p[data-v-3ad7b73b],li>.menuitem>p[data-v-3ad7b73b]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}li>button>select[data-v-3ad7b73b],li>a>select[data-v-3ad7b73b],li>.menuitem>select[data-v-3ad7b73b]{margin:0;margin-left:6px}li>button[data-v-3ad7b73b]:not(:empty),li>a[data-v-3ad7b73b]:not(:empty),li>.menuitem[data-v-3ad7b73b]:not(:empty){padding-right:14px !important}li>button>img[data-v-3ad7b73b],li>a>img[data-v-3ad7b73b],li>.menuitem>img[data-v-3ad7b73b]{width:44px;padding:14px}li>button>input.radio+label[data-v-3ad7b73b],li>button>input.checkbox+label[data-v-3ad7b73b],li>a>input.radio+label[data-v-3ad7b73b],li>a>input.checkbox+label[data-v-3ad7b73b],li>.menuitem>input.radio+label[data-v-3ad7b73b],li>.menuitem>input.checkbox+label[data-v-3ad7b73b]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-3ad7b73b]::before,li>a>input.checkbox+label[data-v-3ad7b73b]::before,li>.menuitem>input.checkbox+label[data-v-3ad7b73b]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-3ad7b73b]::before,li>a>input.radio+label[data-v-3ad7b73b]::before,li>.menuitem>input.radio+label[data-v-3ad7b73b]::before{margin:-2px 12px 0}li>button>input[data-v-3ad7b73b]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-3ad7b73b]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-3ad7b73b]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-3ad7b73b],li>a form[data-v-3ad7b73b],li>.menuitem form[data-v-3ad7b73b]{display:flex;flex:1 1 auto}li>button form[data-v-3ad7b73b]:not(:first-child),li>a form[data-v-3ad7b73b]:not(:first-child),li>.menuitem form[data-v-3ad7b73b]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-3ad7b73b],li>button>span[style*='display:none']+form[data-v-3ad7b73b],li>a>span.hidden+form[data-v-3ad7b73b],li>a>span[style*='display:none']+form[data-v-3ad7b73b],li>.menuitem>span.hidden+form[data-v-3ad7b73b],li>.menuitem>span[style*='display:none']+form[data-v-3ad7b73b]{margin-left:0}li>button input[data-v-3ad7b73b],li>a input[data-v-3ad7b73b],li>.menuitem input[data-v-3ad7b73b]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-3ad7b73b]:not(:first-child),li>a input[data-v-3ad7b73b]:not(:first-child),li>.menuitem input[data-v-3ad7b73b]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-3ad7b73b]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-3ad7b73b],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-3ad7b73b]{margin-bottom:12px}li>button[data-v-3ad7b73b]{padding:0}li>button span[data-v-3ad7b73b]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AA2MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC9LmB,CD+LnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC1LiB,CDgKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBClNa,CD8KhB,+RA2CG,wBC7NkB,CDkLrB,iqCAoDK,gBCtOgB,CDkLrB,iQA2DG,qBC7OkB,CDkLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAnFtB,oGAwFG,QAAS,CACT,eAAgB,CAzFnB,mHA8FG,6BAAsC,CA9FzC,2FAoGG,UCtRkB,CDuRlB,YC/Q6C,CD0KhD,mRA2GG,oBAAqB,CACrB,UAAW,CA5Gd,sKA+GG,kBAAmB,CA/GtB,6JAkHG,kBAAmB,CAlHtB,4QAqHG,WAAY,CArHf,8FA0HG,YAAa,CACb,aAAc,CA3HjB,oJA+HI,eAAgB,CA/HpB,oTAqIG,aAAc,CArIjB,iGAyIG,cC3TkB,CD4TlB,eAAY,CACZ,YAAa,CACb,aAAc,CA5IjB,uJA+II,eAAgB,CA/IpB,+gBA0JK,eAA8B,CA1JnC,ygBAiKK,kBAAiC,CAjKtC,2BAuKE,SAAU,CAvKZ,gCAyKG,SCxUa\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child)  {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ul[data-v-81c2afc0]{display:flex;flex-direction:column}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenu.vue\"],\"names\":[],\"mappings\":\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.array.join.js\");","module.exports = require(\"core-js/modules/es.promise.js\");","module.exports = require(\"regenerator-runtime/runtime.js\");","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"label\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'MentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn this.id.indexOf(' ') === -1\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl(user, size) {\n\t\t\treturn generateUrl('/avatar/{user}/{size}', {\n\t\t\t\tuser,\n\t\t\t\tsize,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"mention-bubble\",class:{'mention-bubble--primary': _vm.primary},attrs:{\"contenteditable\":\"false\"}},[_c('span',{staticClass:\"mention-bubble__wrapper\"},[_c('span',{staticClass:\"mention-bubble__content\"},[_c('span',{staticClass:\"mention-bubble__icon\",class:[_vm.icon, (\"mention-bubble__icon--\" + (_vm.avatarUrl ? 'with-avatar' : ''))],style:(_vm.avatarUrl ? { backgroundImage: (\"url(\" + _vm.avatarUrl + \")\") } : null)}),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__title\",attrs:{\"role\":\"heading\",\"title\":_vm.label}})]),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__select\",attrs:{\"role\":\"none\"}},[_vm._v(_vm._s(_vm.mentionText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport stripTags from 'striptags'\nimport escapeHtml from 'escape-html'\nimport MentionBubble from '../../components/RichContenteditable/MentionBubble.vue'\n\n// Beginning or whitespace. Non-capturing group\nconst MENTION_START = '(?:^|\\\\s)'\n// Anything that is not text or end-of-line. Non-capturing group\nconst MENTION_END = '(?:[^a-z]|$)'\nexport const USERID_REGEX = new RegExp(`${MENTION_START}(@[a-zA-Z0-9_.@\\\\-']+)(${MENTION_END})`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}(@\"[a-zA-Z0-9 _.@\\\\-']+\")(${MENTION_END})`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @returns {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\treturn part\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the \" and @\n\t\t\t\t\tconst id = part.replace(/[@\"]/gi, '')\n\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn ' ' + this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gm, '<br>')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @returns {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content.replace(/<br>/g, '\\n')\n\t\t\ttext = text.replace(/&nbsp;/g, ' ')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gim, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @returns {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return `@${value}`\n\t\t\t\treturn value.indexOf(' ') === -1\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, MentionBubble).replace(/[\\n\\t]/g, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {Object} propsData the props to pass to the component\n\t\t * @param {Object} component the component to render\n\t\t * @returns {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n","module.exports = require(\"core-js/modules/es.string.starts-with.js\");","module.exports = require(\"escape-html\");","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\n\nfunction Color(r, g, b) {\n\tthis.r = r\n\tthis.g = g\n\tthis.b = b\n}\n\nfunction stepCalc(steps, ends) {\n\tconst step = new Array(3)\n\tstep[0] = (ends[1].r - ends[0].r) / steps\n\tstep[1] = (ends[1].g - ends[0].g) / steps\n\tstep[2] = (ends[1].b - ends[0].b) / steps\n\treturn step\n}\n\nfunction mixPalette(steps, color1, color2) {\n\tconst palette = []\n\tpalette.push(color1)\n\tconst step = stepCalc(steps, [color1, color2])\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = parseInt(color1.r + step[0] * i, 10)\n\t\tconst g = parseInt(color1.g + step[1] * i, 10)\n\t\tconst b = parseInt(color1.b + step[2] * i, 10)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\nfunction GenColors(steps) {\n\tif (!steps) {\n\t\tsteps = 6\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n\nexport default GenColors\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../fonts/iconfont-vue-ed18ae7.eot\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../fonts/iconfont-vue-ed18ae7.woff\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../fonts/iconfont-vue-ed18ae7.ttf\";\nimport ___CSS_LOADER_URL_IMPORT_3___ from \"../../fonts/iconfont-vue-ed18ae7.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"iconfont-vue-ed18ae7\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\")}.icon[data-v-44d6742a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-left[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-right-double[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-right[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.breadcrumb[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.checkmark[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.close[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.confirm[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.info[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.menu[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.more[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.pause[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.play[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.triangle-s[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-away[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-dnd[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-invisible[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-online[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.avatardiv[data-v-44d6742a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-44d6742a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-44d6742a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-44d6742a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-44d6742a]{cursor:pointer}.avatardiv--with-menu .icon-more[data-v-44d6742a]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:inherit;height:inherit;cursor:pointer;opacity:0;background:none;font-size:18px}.avatardiv--with-menu .icon-more[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv--with-menu .icon-more[data-v-44d6742a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-44d6742a],.avatardiv--with-menu:hover .icon-more[data-v-44d6742a]{opacity:1}.avatardiv--with-menu:focus img[data-v-44d6742a],.avatardiv--with-menu:hover img[data-v-44d6742a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-44d6742a],.avatardiv--with-menu img[data-v-44d6742a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-44d6742a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-44d6742a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-44d6742a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-44d6742a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-44d6742a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-44d6742a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-44d6742a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-44d6742a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-44d6742a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-44d6742a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-44d6742a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-44d6742a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--dnd[data-v-44d6742a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--away[data-v-44d6742a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-44d6742a]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--icon[data-v-44d6742a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-44d6742a]{position:relative;display:inline-block}.avatardiv .popovermenu[data-v-44d6742a]{display:block;margin:0;font-size:var(--default-font-size)}.avatar-class-icon[data-v-44d6742a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],\"names\":[],\"mappings\":\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC4cE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,kDAID,iBAEU,CACT,KAAA,CAAA,MAAU,CAAA,YAEV,CAAA,kBAEA,CAAA,sBACA,CAAA,aAAiB,CAAA,cACV,CAAA,cACC,CAAA,SACF,CAAE,eACD,CAAE,cACG,CAAA,yDAXb,kCD9kBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC2fF,aAAU,CAAA,gHAFV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDrrBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCsmBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDzrBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC2mBD,aAAA,CAAA,iEAAA,kCD9rBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC+mBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,yCAhJpB,aAoJC,CAAA,QACC,CAAA,kCAEW,CAAA,oCAAA,iBACX,CAAA,+CAKiB,CAAA,WAAA\",\"sourcesContent\":[\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-ed18ae7\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n  @if (null == $group) {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  @if (false == map-has-key($__iconfont__data, $group)) {\\n    @warn 'Undefined Iconfont Family!';\\n    @return ();\\n  }\\n  @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n  $slash: str-index($name, '/');\\n  $group: null;\\n  @if ($slash) {\\n    $group: str-slice($name, 0, $slash - 1);\\n    $name: str-slice($name, $slash + 1);\\n  } @else {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  $group: iconfont-group($group);\\n  @if (false == map-has-key($group, $name)) {\\n    @warn 'Undefined Iconfont Glyph!';\\n    @return '';\\n  }\\n  @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n  $slash: str-index($icon, '/');\\n  $group: null;\\n  @if ($slash) {\\n    $group: str-slice($icon, 0, $slash - 1);\\n  } @else {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  &:before {\\n    font-family: $group;\\n    font-style: normal;\\n    font-weight: 400;\\n    content: iconfont-item($icon);\\n  }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n  @font-face {\\n   font-family: \\\"iconfont-vue-ed18ae7\\\";\\n   src: url('../iconfont-vue-ed18ae7.eot'); /* IE9 Compat Modes */\\n   src: url('../iconfont-vue-ed18ae7.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n      url('../iconfont-vue-ed18ae7.woff') format('woff'), /* Pretty Modern Browsers */\\n      url('../iconfont-vue-ed18ae7.ttf')  format('truetype'), /* Safari, Android, iOS */\\n      url('../iconfont-vue-ed18ae7.svg') format('svg'); /* Legacy iOS */\\n  }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n  .#{$icon-common-class} {\\n    font-style: normal;\\n    font-weight: 400;\\n\\n    @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-ed18ae7\\\") {\\n      &.#{$icon-prefix}#{$icon}:before {\\n        font-family: \\\"iconfont-vue-ed18ae7\\\";\\n        content: iconfont-item(\\\"iconfont-vue-ed18ae7/#{$icon}\\\");\\n      }\\n    }\\n  }\\n}\\n\",\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t.icon-more {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: inherit;\\n\\t\\t\\theight: inherit;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t.popovermenu {\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\t/**\n\t\t * A class-name or an array of class-names\n\t\t * to be ignored when clicking outside\n\t\t * an element\n\t\t */\n\t\texcludeClickOutsideClasses: {\n\t\t\ttype: String | Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Middleware Handler for V-Click-Outside\n\t\t *\n\t\t * @param {Event} event The click event\n\t\t * @returns {Boolean}\n\t\t */\n\t\tclickOutsideMiddleware(event) {\n\t\t\tconst excludedClassList = Array.isArray(this.excludeClickOutsideClasses)\n\t\t\t\t? this.excludeClickOutsideClasses\n\t\t\t\t: [this.excludeClickOutsideClasses]\n\n\t\t\t// No need to iterate through all parents\n\t\t\t// if class-list is empty\n\t\t\tif (excludedClassList.length === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn !this.hasNodeOrAnyParentClass(event.target, excludedClassList)\n\t\t},\n\t\t/**\n\t\t * Checks if given node or any of it's parents have a class of classArray\n\t\t *\n\t\t * @param {Element} node Node to test\n\t\t * @param {Array} classArray List of classes to check for\n\t\t * @returns {Boolean}\n\t\t */\n\t\thasNodeOrAnyParentClass(node, classArray) {\n\t\t\tfor (const className of classArray) {\n\t\t\t\tif (node.classList.contains(className)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray)\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisFullscreen: this._isFullscreen(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update fullscreen mode\n\t\t\tthis.isFullscreen = this._isFullscreen()\n\t\t},\n\t\t_isFullscreen() {\n\t\t\t// if the window height is equal to the screen height,\n\t\t\t// we're in full screen mode\n\t\t\treturn window.outerHeight === screen.height\n\t\t},\n\t},\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<input :id=\"key\"\n\t\t\t\t\tv-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $clickable-area;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child)  {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=3ad7b73b&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=3ad7b73b&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul>\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\n","module.exports = require(\"core-js/modules/es.string.split.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\n\t\t'avatardiv--unknown': _vm.userDoesNotExist,\n\t\t'avatardiv--with-menu': _vm.hasMenu\n\t},style:(_vm.avatarStyle)},!_vm.disableMenu ? { click: _vm.toggleMenu } : {}),[(_vm.iconClass)?_c('div',{staticClass:\"avatar-class-icon\",class:_vm.iconClass}):(_vm.isAvatarLoaded && !_vm.userDoesNotExist)?_c('img',{attrs:{\"src\":_vm.avatarUrlLoaded,\"srcset\":_vm.avatarSrcSetLoaded,\"alt\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('div',{staticClass:\"icon-more\"}):_vm._e(),_vm._v(\" \"),(_vm.showUserStatusIconOnAvatar)?_c('div',{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.userStatus.icon)+\"\\n\\t\")]):(_vm.canDisplayUserStatus)?_c('div',{staticClass:\"avatardiv__user-status\",class:'avatardiv__user-status--' + _vm.userStatus.status}):(_vm.status)?_c('div',{staticClass:\"avatardiv__status\",class:'avatardiv__status--' + _vm.status,style:({ backgroundColor: (\"#\" + _vm.statusColor) })},[(_vm.status === 'neutral')?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"12\",\"height\":\"11\",\"viewBox\":\"0 0 3.175 2.91\"}},[_c('path',{style:({ fill: (\"#\" + _vm.statusColor) }),attrs:{\"d\":\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",\"stroke\":\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.userDoesNotExist && !_vm.iconClass)?_c('div',{staticClass:\"unknown\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.initials)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.contactsMenuOpenState),expression:\"contactsMenuOpenState\"}],staticClass:\"popovermenu\",class:(\"menu-\" + _vm.menuPosition)},[_c('PopoverMenu',{attrs:{\"is-open\":_vm.contactsMenuOpenState,\"menu\":_vm.menu}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n  -\n  - @author Julius Härtl <jus@bitgrid.net>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<avatar user=\"janedoe\" display-name=\"Jane Doe\" />\n```\n\n### Avatar with image\n\n```vue\n\t<avatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n</docs>\n<template>\n\t<div v-tooltip=\"tooltip\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\tv-on=\"!disableMenu ? { click: toggleMenu } : {}\">\n\t\t<!-- Avatar icon or image -->\n\t\t<div v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\talt=\"\">\n\t\t<div v-if=\"hasMenu\" class=\"icon-more\" />\n\n\t\t<!-- Avatar status -->\n\t\t<div v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</div>\n\t\t<div v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\" />\n\t\t<div v-else-if=\"status\"\n\t\t\tclass=\"avatardiv__status\"\n\t\t\t:class=\"'avatardiv__status--' + status\"\n\t\t\t:style=\"{ backgroundColor: `#${statusColor}` }\">\n\t\t\t<!-- triangle -->\n\t\t\t<svg v-if=\"status === 'neutral'\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"12\"\n\t\t\t\theight=\"11\"\n\t\t\t\tviewBox=\"0 0 3.175 2.91\">\n\t\t\t\t<path d=\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\"\n\t\t\t\t\t:style=\"{ fill: `#${statusColor}` }\"\n\t\t\t\t\tstroke=\"#fff\"\n\t\t\t\t\tstroke-width=\".265\"\n\t\t\t\t\tstroke-linecap=\"square\" />\n\t\t\t</svg>\n\t\t</div>\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<div v-if=\"userDoesNotExist && !iconClass\" class=\"unknown\">\n\t\t\t{{ initials }}\n\t\t</div>\n\n\t\t<!-- Menu container -->\n\t\t<div v-if=\"hasMenu\"\n\t\t\tv-show=\"contactsMenuOpenState\"\n\t\t\tclass=\"popovermenu\"\n\t\t\t:class=\"`menu-${menuPosition}`\">\n\t\t\t<PopoverMenu :is-open=\"contactsMenuOpenState\" :menu=\"menu\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { directive as ClickOutside } from 'v-click-outside'\nimport PopoverMenu from '../PopoverMenu'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport Tooltip from '../../directives/Tooltip'\nimport usernameToColor from '../../functions/usernameToColor'\nimport { userStatus } from '../../mixins'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'Avatar',\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tPopoverMenu,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * DEPRECATED!\n\t\t * This prop will be removed with nc/vue 3.0\n\t\t *\n\t\t * Declares a status indicator on the avatar\n\t\t * Available options are `positive`, `negative`, `neutral`\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\tcase 'positive':\n\t\t\t\tcase 'negative':\n\t\t\t\tcase 'neutral':\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Declares a different color to be used with the status indicator\n\t\t */\n\t\tstatusColor: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: null,\n\t\t\tvalidator: value => {\n\t\t\t\treturn /^([a-f0-9]{3}){1,2}$/i.test(value)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Choose the avatar menu alignment.\n\t\t * Possible values are `left`, `center`, `right`.\n\t\t */\n\t\tmenuPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\twidth: this.size + 'px',\n\t\t\t\theight: this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.55) + 'px',\n\t\t\t}\n\n\t\t\tif (!this.iconClass && !this.avatarSrcSetLoaded) {\n\t\t\t\tconst rgb = usernameToColor(this.getUserIdentifier)\n\t\t\t\tstyle.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\ttext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tthis.fetchUserStatus(this.user)\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroyed() {\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync toggleMenu() {\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, this.size)\n\t\t\tconst srcset = [\n\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 2) + ' 2x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 4) + ' 4x',\n\t\t\t].join(', ')\n\n\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @returns {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet url = '/avatar/{user}/{size}'\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}'\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n@import '../../fonts/scss/iconfont-vue';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t.icon-more {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: inherit;\n\t\t\theight: inherit;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t\tbackground: none;\n\t\t\tfont-size: 18px;\n\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__status {\n\t\tposition: absolute;\n\t\ttop: 22px;\n\t\tleft: 22px;\n\t\twidth: 10px;\n\t\theight: 10px;\n\t\tborder: 1px solid rgba(255, 255, 255, .5);\n\t\tbackground-clip: content-box;\n\t\t&--positive {\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t\t&--negative {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t\t&--neutral {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent !important;\n\t\t\tsvg {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -3px;\n\t\t\t\tleft: -2px;\n\t\t\t\tpath {\n\t\t\t\t\tfill: #aaa;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\t@include iconfont('user-status-online');\n\t\t\tcolor: #49b382;\n\t\t}\n\t\t&--dnd{\n\t\t\t@include iconfont('user-status-dnd');\n\t\t\tbackground-color: #ffffff;\n\t\t\tcolor: #ed484c;\n\t\t}\n\t\t&--away{\n\t\t\t@include iconfont('user-status-away');\n\t\t\tcolor: #f4a331;\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t.popovermenu {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=44d6742a&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Avatar from './Avatar'\n\nexport default Avatar\n","module.exports = require(\"@nextcloud/capabilities\");","module.exports = require(\"md5\");","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport usernameToColor from './usernameToColor'\n\nexport default usernameToColor\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport md5 from 'md5'\nimport GenColors from '../../utils/GenColors'\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n","module.exports = require(\"@nextcloud/browser-storage\");","module.exports = require(\"core-js/modules/es.array.flat.js\");","module.exports = require(\"core-js/modules/es.array.unscopables.flat.js\");","module.exports = require(\"core-js/modules/es.regexp.constructor.js\");","module.exports = require(\"core-js/modules/es.array.includes.js\");","module.exports = require(\"core-js/modules/es.string.match.js\");","module.exports = require(\"core-js/modules/es.string.code-point-at.js\");","module.exports = require(\"core-js/modules/es.string.from-code-point.js\");","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar listener = function (event) {\n  run(event.data);\n};\n\nvar post = function (id) {\n  // old engines have not location.origin\n  global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = bind(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    global.addEventListener &&\n    typeof postMessage == 'function' &&\n    !global.importScripts &&\n    location && location.protocol !== 'file:' &&\n    !fails(post)\n  ) {\n    defer = post;\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      for (var bytes = [], i = 0; i < str.length; i++)\n        bytes.push(str.charCodeAt(i) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++)\n        str.push(String.fromCharCode(bytes[i]));\n      return str.join('');\n    }\n  }\n};\n\nmodule.exports = charenc;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  keys: function keys(it) {\n    return nativeKeys(toObject(it));\n  }\n});\n","import NextcloudStorage from './storage'\n\nexport default class ScopedStorage implements NextcloudStorage {\n\n    public static GLOBAL_SCOPE_VOLATILE = 'nextcloud_vol'\n    public static GLOBAL_SCOPE_PERSISTENT = 'nextcloud_per'\n    private scope: string\n    private wrapped: Storage\n\n    constructor(scope: string, wrapped: Storage, persistent: boolean) {\n        this.scope = `${persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE}_${btoa(scope)}_`\n        this.wrapped = wrapped\n    }\n\n    private scopeKey(key: string) {\n        return `${this.scope}${key}`\n    }\n\n    setItem(key: string, value: string): void {\n        this.wrapped.setItem(this.scopeKey(key), value)\n    }\n\n    getItem(key: string): string | null {\n        return this.wrapped.getItem(this.scopeKey(key))\n    }\n\n    removeItem(key: string): void {\n        this.wrapped.removeItem(this.scopeKey(key))\n    }\n\n    clear(): void {\n        Object.keys(this.wrapped)\n            .filter(key => key.startsWith(this.scope))\n            .map(this.wrapped.removeItem.bind(this.wrapped))\n    }\n\n}\n","const HANDLERS_PROPERTY = '__v-click-outside'\nconst HAS_WINDOWS = typeof window !== 'undefined'\nconst HAS_NAVIGATOR = typeof navigator !== 'undefined'\nconst IS_TOUCH =\n  HAS_WINDOWS &&\n  ('ontouchstart' in window ||\n    (HAS_NAVIGATOR && navigator.msMaxTouchPoints > 0))\nconst EVENTS = IS_TOUCH ? ['touchstart'] : ['click']\n\nfunction processDirectiveArguments(bindingValue) {\n  const isFunction = typeof bindingValue === 'function'\n  if (!isFunction && typeof bindingValue !== 'object') {\n    throw new Error(\n      'v-click-outside: Binding value must be a function or an object',\n    )\n  }\n\n  return {\n    handler: isFunction ? bindingValue : bindingValue.handler,\n    middleware: bindingValue.middleware || ((item) => item),\n    events: bindingValue.events || EVENTS,\n    isActive: !(bindingValue.isActive === false),\n    detectIframe: !(bindingValue.detectIframe === false),\n  }\n}\n\nfunction execHandler({ event, handler, middleware }) {\n  if (middleware(event)) {\n    handler(event)\n  }\n}\n\nfunction onFauxIframeClick({ el, event, handler, middleware }) {\n  // Note: on firefox clicking on iframe triggers blur, but only on\n  //       next event loop it becomes document.activeElement\n  // https://stackoverflow.com/q/2381336#comment61192398_23231136\n  setTimeout(() => {\n    const { activeElement } = document\n    if (\n      activeElement &&\n      activeElement.tagName === 'IFRAME' &&\n      !el.contains(activeElement)\n    ) {\n      execHandler({ event, handler, middleware })\n    }\n  }, 0)\n}\n\nfunction onEvent({ el, event, handler, middleware }) {\n  // Note: composedPath is not supported on IE and Edge, more information here:\n  //       https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath\n  //       In the meanwhile, we are using el.contains for those browsers, not\n  //       the ideal solution, but using IE or EDGE is not ideal either.\n  const path = event.path || (event.composedPath && event.composedPath())\n  const isClickOutside = path\n    ? path.indexOf(el) < 0\n    : !el.contains(event.target)\n\n  if (!isClickOutside) {\n    return\n  }\n\n  execHandler({ event, handler, middleware })\n}\n\nfunction bind(el, { value }) {\n  const {\n    events,\n    handler,\n    middleware,\n    isActive,\n    detectIframe,\n  } = processDirectiveArguments(value)\n  if (!isActive) {\n    return\n  }\n\n  el[HANDLERS_PROPERTY] = events.map((eventName) => ({\n    event: eventName,\n    srcTarget: document.documentElement,\n    handler: (event) => onEvent({ el, event, handler, middleware }),\n  }))\n\n  if (detectIframe) {\n    const detectIframeEvent = {\n      event: 'blur',\n      srcTarget: window,\n      handler: (event) => onFauxIframeClick({ el, event, handler, middleware }),\n    }\n\n    el[HANDLERS_PROPERTY] = [...el[HANDLERS_PROPERTY], detectIframeEvent]\n  }\n\n  el[HANDLERS_PROPERTY].forEach(({ event, srcTarget, handler }) =>\n    setTimeout(() => {\n      // Note: More info about this implementation can be found here:\n      //       https://github.com/ndelvalle/v-click-outside/issues/137\n      if (!el[HANDLERS_PROPERTY]) {\n        return\n      }\n      srcTarget.addEventListener(event, handler, false)\n    }, 0),\n  )\n}\n\nfunction unbind(el) {\n  const handlers = el[HANDLERS_PROPERTY] || []\n  handlers.forEach(({ event, srcTarget, handler }) =>\n    srcTarget.removeEventListener(event, handler, false),\n  )\n  delete el[HANDLERS_PROPERTY]\n}\n\nfunction update(el, { value, oldValue }) {\n  if (JSON.stringify(value) === JSON.stringify(oldValue)) {\n    return\n  }\n  unbind(el)\n  bind(el, { value })\n}\n\nconst directive = {\n  bind,\n  update,\n  unbind,\n}\n\nexport default HAS_WINDOWS ? directive : {}\n","import directive from './v-click-outside'\n\nconst plugin = {\n  install(Vue) {\n    Vue.directive('click-outside', directive)\n  },\n  directive,\n}\n\nexport default plugin\n","'use strict';\n\n(function (global) {\n\n    // minimal symbol polyfill for IE11 and others\n    if (typeof Symbol !== 'function') {\n        var Symbol = function(name) {\n            return name;\n        }\n\n        Symbol.nonNative = true;\n    }\n\n    const STATE_PLAINTEXT = Symbol('plaintext');\n    const STATE_HTML      = Symbol('html');\n    const STATE_COMMENT   = Symbol('comment');\n\n    const ALLOWED_TAGS_REGEX  = /<(\\w*)>/g;\n    const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n    function striptags(html, allowable_tags, tag_replacement) {\n        html            = html || '';\n        allowable_tags  = allowable_tags || [];\n        tag_replacement = tag_replacement || '';\n\n        let context = init_context(allowable_tags, tag_replacement);\n\n        return striptags_internal(html, context);\n    }\n\n    function init_striptags_stream(allowable_tags, tag_replacement) {\n        allowable_tags  = allowable_tags || [];\n        tag_replacement = tag_replacement || '';\n\n        let context = init_context(allowable_tags, tag_replacement);\n\n        return function striptags_stream(html) {\n            return striptags_internal(html || '', context);\n        };\n    }\n\n    striptags.init_streaming_mode = init_striptags_stream;\n\n    function init_context(allowable_tags, tag_replacement) {\n        allowable_tags = parse_allowable_tags(allowable_tags);\n\n        return {\n            allowable_tags : allowable_tags,\n            tag_replacement: tag_replacement,\n\n            state         : STATE_PLAINTEXT,\n            tag_buffer    : '',\n            depth         : 0,\n            in_quote_char : ''\n        };\n    }\n\n    function striptags_internal(html, context) {\n        let allowable_tags  = context.allowable_tags;\n        let tag_replacement = context.tag_replacement;\n\n        let state         = context.state;\n        let tag_buffer    = context.tag_buffer;\n        let depth         = context.depth;\n        let in_quote_char = context.in_quote_char;\n        let output        = '';\n\n        for (let idx = 0, length = html.length; idx < length; idx++) {\n            let char = html[idx];\n\n            if (state === STATE_PLAINTEXT) {\n                switch (char) {\n                    case '<':\n                        state       = STATE_HTML;\n                        tag_buffer += char;\n                        break;\n\n                    default:\n                        output += char;\n                        break;\n                }\n            }\n\n            else if (state === STATE_HTML) {\n                switch (char) {\n                    case '<':\n                        // ignore '<' if inside a quote\n                        if (in_quote_char) {\n                            break;\n                        }\n\n                        // we're seeing a nested '<'\n                        depth++;\n                        break;\n\n                    case '>':\n                        // ignore '>' if inside a quote\n                        if (in_quote_char) {\n                            break;\n                        }\n\n                        // something like this is happening: '<<>>'\n                        if (depth) {\n                            depth--;\n\n                            break;\n                        }\n\n                        // this is closing the tag in tag_buffer\n                        in_quote_char = '';\n                        state         = STATE_PLAINTEXT;\n                        tag_buffer   += '>';\n\n                        if (allowable_tags.has(normalize_tag(tag_buffer))) {\n                            output += tag_buffer;\n                        } else {\n                            output += tag_replacement;\n                        }\n\n                        tag_buffer = '';\n                        break;\n\n                    case '\"':\n                    case '\\'':\n                        // catch both single and double quotes\n\n                        if (char === in_quote_char) {\n                            in_quote_char = '';\n                        } else {\n                            in_quote_char = in_quote_char || char;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    case '-':\n                        if (tag_buffer === '<!-') {\n                            state = STATE_COMMENT;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    case ' ':\n                    case '\\n':\n                        if (tag_buffer === '<') {\n                            state      = STATE_PLAINTEXT;\n                            output    += '< ';\n                            tag_buffer = '';\n\n                            break;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    default:\n                        tag_buffer += char;\n                        break;\n                }\n            }\n\n            else if (state === STATE_COMMENT) {\n                switch (char) {\n                    case '>':\n                        if (tag_buffer.slice(-2) == '--') {\n                            // close the comment\n                            state = STATE_PLAINTEXT;\n                        }\n\n                        tag_buffer = '';\n                        break;\n\n                    default:\n                        tag_buffer += char;\n                        break;\n                }\n            }\n        }\n\n        // save the context for future iterations\n        context.state         = state;\n        context.tag_buffer    = tag_buffer;\n        context.depth         = depth;\n        context.in_quote_char = in_quote_char;\n\n        return output;\n    }\n\n    function parse_allowable_tags(allowable_tags) {\n        let tag_set = new Set();\n\n        if (typeof allowable_tags === 'string') {\n            let match;\n\n            while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n                tag_set.add(match[1]);\n            }\n        }\n\n        else if (!Symbol.nonNative &&\n                 typeof allowable_tags[Symbol.iterator] === 'function') {\n\n            tag_set = new Set(allowable_tags);\n        }\n\n        else if (typeof allowable_tags.forEach === 'function') {\n            // IE11 compatible\n            allowable_tags.forEach(tag_set.add, tag_set);\n        }\n\n        return tag_set;\n    }\n\n    function normalize_tag(tag_buffer) {\n        let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n        return match ? match[1].toLowerCase() : null;\n    }\n\n    if (typeof define === 'function' && define.amd) {\n        // AMD\n        define(function module_factory() { return striptags; });\n    }\n\n    else if (typeof module === 'object' && module.exports) {\n        // Node\n        module.exports = striptags;\n    }\n\n    else {\n        // Browser\n        global.striptags = striptags;\n    }\n}(this));\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n  join: function join(separator) {\n    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n  if (!GLOBAL_CORE_JS_PROMISE) {\n    // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n    // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n    // We can't detect it synchronously, so just check versions\n    if (V8_VERSION === 66) return true;\n    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\n  }\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = PromiseConstructor.resolve(1);\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  var chain = state.reactions;\n  microtask(function () {\n    var value = state.value;\n    var ok = state.state == FULFILLED;\n    var index = 0;\n    // variable length - can't use forEach\n    while (chain.length > index) {\n      var reaction = chain[index++];\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n            state.rejection = HANDLED;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // can throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (error) {\n        if (domain && !exited) domain.exit();\n        reject(error);\n      }\n    }\n    state.reactions = [];\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    global.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  task.call(global, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  task.call(global, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          then.call(value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromiseConstructor, PROMISE);\n    aFunction(executor);\n    Internal.call(this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: [],\n      rejection: false,\n      state: PENDING,\n      value: undefined\n    });\n  };\n  Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      state.reactions.push(reaction);\n      if (state.state != PENDING) notify(state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && typeof NativePromise == 'function') {\n    nativeThen = NativePromise.prototype.then;\n\n    // wrap native Promise#then for native async functions\n    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n      var that = this;\n      return new PromiseConstructor(function (resolve, reject) {\n        nativeThen.call(that, resolve, reject);\n      }).then(onFulfilled, onRejected);\n    // https://github.com/zloirock/core-js/issues/640\n    }, { unsafe: true });\n\n    // wrap fetch result\n    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n      // eslint-disable-next-line no-unused-vars\n      fetch: function fetch(input /* , init */) {\n        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n      }\n    });\n  }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n  // `Promise.reject` method\n  // https://tc39.github.io/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    capability.reject.call(undefined, r);\n    return capability.promise;\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n  // `Promise.resolve` method\n  // https://tc39.github.io/ecma262/#sec-promise.resolve\n  resolve: function resolve(x) {\n    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n  // `Promise.all` method\n  // https://tc39.github.io/ecma262/#sec-promise.all\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        $promiseResolve.call(C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  },\n  // `Promise.race` method\n  // https://tc39.github.io/ecma262/#sec-promise.race\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      iterate(iterable, function (promise) {\n        $promiseResolve.call(C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n  flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (error) {\n        if (head) notify();\n        else last = undefined;\n        throw error;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  if (!IS_IOS && !IS_NODE && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    then = promise.then;\n    notify = function () {\n      then.call(promise, flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n  var task = { fn: fn, next: undefined };\n  if (last) last.next = task;\n  if (!head) {\n    head = task;\n    notify();\n  } last = task;\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n  var console = global.console;\n  if (console && console.error) {\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  }\n};\n","module.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (error1) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (error2) { /* empty */ }\n  } return false;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'.split(/(b)*/)[1] == 'c' ||\n    'test'.split(/(?:)/, -1).length != 4 ||\n    'ab'.split(/(?:ab)*/).length != 2 ||\n    '.'.split(/(.?)(.?)/).length != 4 ||\n    '.'.split(/()()/).length > 1 ||\n    ''.split(/.?/).length\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(requireObjectCoercible(this));\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (separator === undefined) return [string];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) {\n        return nativeSplit.call(string, separator, lim);\n      }\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy.lastIndex;\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n          lastLength = match[0].length;\n          lastLastIndex = lastIndex;\n          if (output.length >= lim) break;\n        }\n        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string.length) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output.length > lim ? output.slice(0, lim) : output;\n    };\n  // Chakra, V8\n  } else if ('0'.split(undefined, 0).length) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n    };\n  } else internalSplit = nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (SUPPORTS_Y ? 'y' : 'g');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n}, !SUPPORTS_Y);\n","(function(){\r\n  var crypt = require('crypt'),\r\n      utf8 = require('charenc').utf8,\r\n      isBuffer = require('is-buffer'),\r\n      bin = require('charenc').bin,\r\n\r\n  // The core\r\n  md5 = function (message, options) {\r\n    // Convert to byte array\r\n    if (message.constructor == String)\r\n      if (options && options.encoding === 'binary')\r\n        message = bin.stringToBytes(message);\r\n      else\r\n        message = utf8.stringToBytes(message);\r\n    else if (isBuffer(message))\r\n      message = Array.prototype.slice.call(message, 0);\r\n    else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n      message = message.toString();\r\n    // else, assume byte array already\r\n\r\n    var m = crypt.bytesToWords(message),\r\n        l = message.length * 8,\r\n        a =  1732584193,\r\n        b = -271733879,\r\n        c = -1732584194,\r\n        d =  271733878;\r\n\r\n    // Swap endian\r\n    for (var i = 0; i < m.length; i++) {\r\n      m[i] = ((m[i] <<  8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n             ((m[i] << 24) | (m[i] >>>  8)) & 0xFF00FF00;\r\n    }\r\n\r\n    // Padding\r\n    m[l >>> 5] |= 0x80 << (l % 32);\r\n    m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n    // Method shortcuts\r\n    var FF = md5._ff,\r\n        GG = md5._gg,\r\n        HH = md5._hh,\r\n        II = md5._ii;\r\n\r\n    for (var i = 0; i < m.length; i += 16) {\r\n\r\n      var aa = a,\r\n          bb = b,\r\n          cc = c,\r\n          dd = d;\r\n\r\n      a = FF(a, b, c, d, m[i+ 0],  7, -680876936);\r\n      d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n      c = FF(c, d, a, b, m[i+ 2], 17,  606105819);\r\n      b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n      a = FF(a, b, c, d, m[i+ 4],  7, -176418897);\r\n      d = FF(d, a, b, c, m[i+ 5], 12,  1200080426);\r\n      c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n      b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n      a = FF(a, b, c, d, m[i+ 8],  7,  1770035416);\r\n      d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n      c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n      b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n      a = FF(a, b, c, d, m[i+12],  7,  1804603682);\r\n      d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n      c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n      b = FF(b, c, d, a, m[i+15], 22,  1236535329);\r\n\r\n      a = GG(a, b, c, d, m[i+ 1],  5, -165796510);\r\n      d = GG(d, a, b, c, m[i+ 6],  9, -1069501632);\r\n      c = GG(c, d, a, b, m[i+11], 14,  643717713);\r\n      b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n      a = GG(a, b, c, d, m[i+ 5],  5, -701558691);\r\n      d = GG(d, a, b, c, m[i+10],  9,  38016083);\r\n      c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n      b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n      a = GG(a, b, c, d, m[i+ 9],  5,  568446438);\r\n      d = GG(d, a, b, c, m[i+14],  9, -1019803690);\r\n      c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n      b = GG(b, c, d, a, m[i+ 8], 20,  1163531501);\r\n      a = GG(a, b, c, d, m[i+13],  5, -1444681467);\r\n      d = GG(d, a, b, c, m[i+ 2],  9, -51403784);\r\n      c = GG(c, d, a, b, m[i+ 7], 14,  1735328473);\r\n      b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n      a = HH(a, b, c, d, m[i+ 5],  4, -378558);\r\n      d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n      c = HH(c, d, a, b, m[i+11], 16,  1839030562);\r\n      b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n      a = HH(a, b, c, d, m[i+ 1],  4, -1530992060);\r\n      d = HH(d, a, b, c, m[i+ 4], 11,  1272893353);\r\n      c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n      b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n      a = HH(a, b, c, d, m[i+13],  4,  681279174);\r\n      d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n      c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n      b = HH(b, c, d, a, m[i+ 6], 23,  76029189);\r\n      a = HH(a, b, c, d, m[i+ 9],  4, -640364487);\r\n      d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n      c = HH(c, d, a, b, m[i+15], 16,  530742520);\r\n      b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n      a = II(a, b, c, d, m[i+ 0],  6, -198630844);\r\n      d = II(d, a, b, c, m[i+ 7], 10,  1126891415);\r\n      c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n      b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n      a = II(a, b, c, d, m[i+12],  6,  1700485571);\r\n      d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n      c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n      b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n      a = II(a, b, c, d, m[i+ 8],  6,  1873313359);\r\n      d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n      c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n      b = II(b, c, d, a, m[i+13], 21,  1309151649);\r\n      a = II(a, b, c, d, m[i+ 4],  6, -145523070);\r\n      d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n      c = II(c, d, a, b, m[i+ 2], 15,  718787259);\r\n      b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n      a = (a + aa) >>> 0;\r\n      b = (b + bb) >>> 0;\r\n      c = (c + cc) >>> 0;\r\n      d = (d + dd) >>> 0;\r\n    }\r\n\r\n    return crypt.endian([a, b, c, d]);\r\n  };\r\n\r\n  // Auxiliary functions\r\n  md5._ff  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._gg  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._hh  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._ii  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n\r\n  // Package private blocksize\r\n  md5._blocksize = 16;\r\n  md5._digestsize = 16;\r\n\r\n  module.exports = function (message, options) {\r\n    if (message === undefined || message === null)\r\n      throw new Error('Illegal argument ' + message);\r\n\r\n    var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n    return options && options.asBytes ? digestbytes :\r\n        options && options.asString ? bin.bytesToString(digestbytes) :\r\n        crypt.bytesToHex(digestbytes);\r\n  };\r\n\r\n})();\r\n","(function() {\n  var base64map\n      = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n  crypt = {\n    // Bit-wise rotation left\n    rotl: function(n, b) {\n      return (n << b) | (n >>> (32 - b));\n    },\n\n    // Bit-wise rotation right\n    rotr: function(n, b) {\n      return (n << (32 - b)) | (n >>> b);\n    },\n\n    // Swap big-endian to little-endian and vice versa\n    endian: function(n) {\n      // If number given, swap endian\n      if (n.constructor == Number) {\n        return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n      }\n\n      // Else, assume array and swap all items\n      for (var i = 0; i < n.length; i++)\n        n[i] = crypt.endian(n[i]);\n      return n;\n    },\n\n    // Generate an array of any length of random bytes\n    randomBytes: function(n) {\n      for (var bytes = []; n > 0; n--)\n        bytes.push(Math.floor(Math.random() * 256));\n      return bytes;\n    },\n\n    // Convert a byte array to big-endian 32-bit words\n    bytesToWords: function(bytes) {\n      for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n        words[b >>> 5] |= bytes[i] << (24 - b % 32);\n      return words;\n    },\n\n    // Convert big-endian 32-bit words to a byte array\n    wordsToBytes: function(words) {\n      for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n        bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a hex string\n    bytesToHex: function(bytes) {\n      for (var hex = [], i = 0; i < bytes.length; i++) {\n        hex.push((bytes[i] >>> 4).toString(16));\n        hex.push((bytes[i] & 0xF).toString(16));\n      }\n      return hex.join('');\n    },\n\n    // Convert a hex string to a byte array\n    hexToBytes: function(hex) {\n      for (var bytes = [], c = 0; c < hex.length; c += 2)\n        bytes.push(parseInt(hex.substr(c, 2), 16));\n      return bytes;\n    },\n\n    // Convert a byte array to a base-64 string\n    bytesToBase64: function(bytes) {\n      for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n        var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n        for (var j = 0; j < 4; j++)\n          if (i * 8 + j * 6 <= bytes.length * 8)\n            base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n          else\n            base64.push('=');\n      }\n      return base64.join('');\n    },\n\n    // Convert a base-64 string to a byte array\n    base64ToBytes: function(base64) {\n      // Remove non-base-64 characters\n      base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n      for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n          imod4 = ++i % 4) {\n        if (imod4 == 0) continue;\n        bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n            & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n            | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n      }\n      return bytes;\n    }\n  };\n\n  module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","\nimport Storage from './storage'\nimport ScopedStorage from './scopedstorage'\n\nexport default class StorageBuilder {\n\n    private appId: string\n    private persisted = false\n    private clearedOnLogout = false\n\n    constructor(appId: string) {\n        this.appId = appId\n    }\n\n    persist(persist: boolean = true): StorageBuilder {\n        this.persisted = persist\n        return this\n    }\n\n    clearOnLogout(clear: boolean = true): StorageBuilder {\n        this.clearedOnLogout = clear\n        return this\n    }\n\n    build(): Storage {\n        return new ScopedStorage(\n            this.appId,\n            this.persisted ? window.localStorage : window.sessionStorage,\n            !this.clearedOnLogout\n        )\n    }\n\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n  flat: function flat(/* depthArg = 1 */) {\n    var depthArg = arguments.length ? arguments[0] : undefined;\n    var O = toObject(this);\n    var sourceLen = toLength(O.length);\n    var A = arraySpeciesCreate(O, 0);\n    A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n    return A;\n  }\n});\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n  var targetIndex = start;\n  var sourceIndex = 0;\n  var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n  var element;\n\n  while (sourceIndex < sourceLen) {\n    if (sourceIndex in source) {\n      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n      if (depth > 0 && isArray(element)) {\n        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n      } else {\n        if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n        target[targetIndex] = element;\n      }\n\n      targetIndex++;\n    }\n    sourceIndex++;\n  }\n  return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n  re2[MATCH] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n  var RegExpWrapper = function RegExp(pattern, flags) {\n    var thisIsRegExp = this instanceof RegExpWrapper;\n    var patternIsRegExp = isRegExp(pattern);\n    var flagsAreUndefined = flags === undefined;\n    var sticky;\n\n    if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n      return pattern;\n    }\n\n    if (CORRECT_NEW) {\n      if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n    } else if (pattern instanceof RegExpWrapper) {\n      if (flagsAreUndefined) flags = getFlags.call(pattern);\n      pattern = pattern.source;\n    }\n\n    if (UNSUPPORTED_Y) {\n      sticky = !!flags && flags.indexOf('y') > -1;\n      if (sticky) flags = flags.replace(/y/g, '');\n    }\n\n    var result = inheritIfRequired(\n      CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n      thisIsRegExp ? this : RegExpPrototype,\n      RegExpWrapper\n    );\n\n    if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n    return result;\n  };\n  var proxy = function (key) {\n    key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n      configurable: true,\n      get: function () { return NativeRegExp[key]; },\n      set: function (it) { NativeRegExp[key] = it; }\n    });\n  };\n  var keys = getOwnPropertyNames(NativeRegExp);\n  var index = 0;\n  while (keys.length > index) proxy(keys[index++]);\n  RegExpPrototype.constructor = RegExpWrapper;\n  RegExpWrapper.prototype = RegExpPrototype;\n  redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = regexp == undefined ? undefined : regexp[MATCH];\n      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative(nativeMatch, regexp, this);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n\n      if (!rx.global) return regExpExec(rx, S);\n\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n  codePointAt: function codePointAt(pos) {\n    return codeAt(this, pos);\n  }\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var elements = [];\n    var length = arguments.length;\n    var i = 0;\n    var code;\n    while (length > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n      elements.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n      );\n    } return elements.join('');\n  }\n});\n"],"sourceRoot":""}