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

vendors~editor-rich.js.map « js - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: acc4d62ff5751eb3196eacc98d2a050c101b2f6e (plain)
1
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///../lib/gettext.ts","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.array.splice.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:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"v-tooltip\"","webpack:///NextcloudVue.[name]/src/fonts/iconfont-vue-6b494fc.eot","webpack:///NextcloudVue.[name]/src/l10n.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.function.name.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.exec.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?770b","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss?0d1f","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.js","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.replace.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.for-each.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.concat.js\"","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?d02f","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?470d","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?01ec","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/l10n/dist/gettext\"","webpack:///NextcloudVue.[name]/src/utils/GenRandomId.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.description.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.slice.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.iterator.js\"","webpack:///NextcloudVue.[name]/src/components/Popover/index.js","webpack:///NextcloudVue.[name]/src/utils/ValidateSlot.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.filter.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.from.js\"","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?c79a","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.keys.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.get-own-property-descriptor.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.get-own-property-descriptors.js\"","webpack:///NextcloudVue.[name]/src/components/Actions/index.js","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?26d2","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?608f","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?a102","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.splice.js\"","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?4f4c","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?fe29","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?04e0","webpack:///NextcloudVue.[name]/src/components/ActionButton/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.trim.js\"","webpack:///NextcloudVue.[name]/src/mixins/actionGlobal.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url.js\"","webpack:///NextcloudVue.[name]/src/utils/GetParent.js","webpack:///NextcloudVue.[name]/src/mixins/actionText.js","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?adfe","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?fe4e","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b648","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?3c28","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?cb4e","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?e2dd","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?ad0c","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?f50c","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?ca3a","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/index.js","webpack:///./node_modules/vue-click-outside/index.js"],"names":["global","require","DOMIterables","forEach","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","prototype","error","$forEach","STRICT_METHOD","arrayMethodIsStrict","module","exports","callbackfn","this","arguments","length","undefined","$","$trim","trim","target","proto","forced","forcedStringTrimMethod","fails","whitespaces","METHOD_NAME","name","GettextBuilder","translations","debug","language","setLanguage","getLanguage","data","GettextWrapper","locale","GetText","sourceLocale","translated","vars","r","original","placeholders","subtitudePlaceholders","gt","gettext","singular","plural","count","ngettext","replace","$filter","filter","arrayMethodHasSpeciesSupport","toObject","nativeKeys","stat","keys","it","toIndexedObject","nativeGetOwnPropertyDescriptor","f","DESCRIPTORS","FAILS_ON_PRIMITIVES","sham","getOwnPropertyDescriptor","key","ownKeys","getOwnPropertyDescriptorModule","createProperty","getOwnPropertyDescriptors","object","descriptor","O","result","index","toAbsoluteIndex","toInteger","toLength","arraySpeciesCreate","HAS_SPECIES_SUPPORT","max","Math","min","splice","start","deleteCount","insertCount","actualDeleteCount","A","k","from","to","len","actualStart","argumentsLength","TypeError","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","bind","n","property","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","iterator","_arr","_n","_d","_e","_s","_i","next","done","push","err","minLen","_arrayLikeToArray","toString","slice","constructor","test","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","mediaQuery","dedupe","alreadyImportedModules","id","memo","getTarget","styleTarget","document","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","options","idCountMap","identifiers","base","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","newObj","all","atob","lastIdentifiers","newList","newLastIdentifiers","_index","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","__webpack_exports__","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","lang","pluralId","msgid","msgid_plural","msgstr","addTranslation","","build","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","version","names","mappings","sourcesContent","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","Popover_Popovervue_type_script_lang_js_","components","VPopover","mounted","val","_this","Popovervue_type_style_index_0_lang_scss_","_h","$createElement","_c","_self","_g","_b","ref","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","$attrs","$listeners","_t","_v","slot","GenRandomId","random","substr","Popover","ValidateSlot","slots","allowed","vm","node","isHtmlElement","componentOptions","tag","indexOf","isVueComponent","isForbiddenComponent","Vue","util","warn","_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_6b494fc_eot__WEBPACK_IMPORTED_MODULE_3__","___CSS_LOADER_URL_REPLACEMENT_1___","_fonts_iconfont_vue_6b494fc_woff__WEBPACK_IMPORTED_MODULE_4__","___CSS_LOADER_URL_REPLACEMENT_2___","_fonts_iconfont_vue_6b494fc_ttf__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_3___","_fonts_iconfont_vue_6b494fc_svg__WEBPACK_IMPORTED_MODULE_6__","Actions","Actions_Actionsvue_type_script_lang_js_","directives","tooltip","VNodes","props","open","type","forceMenu","menuTitle","primary","defaultIcon","ariaLabel","placement","boundariesElement","container","disabled","actions","opened","focusIndex","randomId","children","computed","hasMultipleActions","isValidSingleAction","firstActionVNode","firstAction","firstActionBinding","is","href","aria-label","exact","firstActionEvent","firstActionEventBinding","firstActionIconSlot","firstActionClass","dynClass","iconSlotIsPopulated","watch","state","beforeMount","beforeUpdate","methods","openMenu","closeMenu","onOpen","onMouseFocusAction","removeCurrentActive","currentActiveElement","focusAction","focusElement","liMenuParent","focusPreviousAction","focusNextAction","focusFirstAction","focusLastAction","preventIfEvent","event","execFirstAction","initActions","onFocus","onBlur","Actionsvue_type_style_index_0_id_551c21fd_lang_scss_scoped_true_","_obj","_obj$1","_vm","rawName","expression","modifiers","auto","staticClass","class","icon","rel","on","focus","blur","vnodes","aria-hidden","hidden","action-item--open","delay","handle-resize","boundaries-element","update:open","$event","show","after-show","hide","aria-haspopup","aria-controls","test-attr","aria-expanded","tabindex","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","preventDefault","mousemove","ActionButton_ActionButtonvue_type_script_lang_js_","mixins","isFocusable","ActionButtonvue_type_style_index_0_id_42b28436_lang_scss_scoped_true_","action--disabled","focusable","click","onClick","isIconUrl","backgroundImage","title","domProps","textContent","text","ActionButton","before","$slots","$destroy","$el","getText","isLongText","GetParent","$parent","actionGlobal","String","closeAfterClick","URL","$emit","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","required","validator","iconIsUrl","action","PopoverMenuItemvue_type_style_index_0_id_febed9b6_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_febed9b6_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","PopoverMenuItem","download","src","longtext","active","input","submit","placeholder","checked","model","change","$$a","$$el","$$c","$$i","$set","_q","composing","for","stopPropagation","menu","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_","_l","PopoverMenu","validate","binding","console","isServer","vNode","componentInstance","$isServer","el","handler","elements","path","composedPath","unshift","contains","popupItem","isPopup","__vueClickOutside__","callback","clickHandler","documentElement","addEventListener","unbind","removeEventListener"],"mappings":"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","file":"vendors~editor-rich.js?v=90046a304817ac234885","sourcesContent":["var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n  } catch (error) {\n    CollectionPrototype.forEach = forEach;\n  }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n  });\n};\n","import GetText from \"node-gettext\"\n\nimport { getLanguage } from \".\"\n\nclass GettextBuilder {\n\n    private locale?: string\n    private translations = {}\n    private debug = false\n\n    setLanguage(language: string): GettextBuilder {\n        this.locale = language\n        return this\n    }\n\n    detectLocale(): GettextBuilder {\n        return this.setLanguage(getLanguage().replace('-', '_'))\n    }\n\n    addTranslation(language: string, data: any): GettextBuilder {\n        this.translations[language] = data\n        return this\n    }\n\n    enableDebugMode(): GettextBuilder {\n        this.debug = true\n        return this\n    }\n\n    build(): GettextWrapper {\n        return new GettextWrapper(this.locale || 'en', this.translations, this.debug)\n    }\n\n}\n\nclass GettextWrapper {\n\n    private gt: GetText\n\n    constructor(locale: string, data: any, debug: boolean) {\n        this.gt = new GetText({\n            debug,\n            sourceLocale: 'en',\n        })\n\n        for (let key in data) {\n            this.gt.addTranslations(key, 'messages', data[key])\n        }\n\n        this.gt.setLocale(locale)\n    }\n\n    private subtitudePlaceholders(translated: string, vars: object): string {\n        return translated.replace(/{([^{}]*)}/g, (a, b) => {\n            const r = vars[b]\n            if (typeof r === 'string' || typeof r === 'number') {\n                return r.toString()\n            } else {\n                return a\n            }\n        })\n    }\n\n    gettext(original: string, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.gettext(original),\n            placeholders\n        )\n    }\n\n    ngettext(singular: string, plural: string, count: number, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()),\n            placeholders\n        )\n    }\n\n}\n\nexport function getGettextBuilder() {\n    return new GettextBuilder()\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\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.es/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","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n  }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIndexedObject(object);\n    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var index = 0;\n    var key, descriptor;\n    while (keys.length > index) {\n      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n      if (descriptor !== undefined) createProperty(result, key, descriptor);\n    }\n    return result;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  splice: function splice(start, deleteCount /* , ...items */) {\n    var O = toObject(this);\n    var len = toLength(O.length);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var insertCount, actualDeleteCount, A, k, from, to;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n    }\n    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n    }\n    A = arraySpeciesCreate(O, actualDeleteCount);\n    for (k = 0; k < actualDeleteCount; k++) {\n      from = actualStart + k;\n      if (from in O) createProperty(A, k, O[from]);\n    }\n    A.length = actualDeleteCount;\n    if (insertCount < actualDeleteCount) {\n      for (k = actualStart; k < len - actualDeleteCount; k++) {\n        from = k + actualDeleteCount;\n        to = k + insertCount;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n    } else if (insertCount > actualDeleteCount) {\n      for (k = len - actualDeleteCount; k > actualStart; k--) {\n        from = k + actualDeleteCount - 1;\n        to = k + insertCount - 1;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n    }\n    for (k = 0; k < insertCount; k++) {\n      O[k + actualStart] = arguments[k + 2];\n    }\n    O.length = len - actualDeleteCount + insertCount;\n    return A;\n  }\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/PopoverMenu\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/PopoverMenu\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/PopoverMenu\"] = 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 = 77);\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\");","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"v-tooltip\");","export default \"data:application/vnd.ms-fontobject;base64,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\"","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\n\n// Decompress Translations to gettext format and add to gtBuilder\nTRANSLATIONS.forEach((lang) => {\n\tconst translations = {}\n\n\tfor (const key in lang.translations) {\n\t\t// Plural\n\t\tif (lang.translations[key].pluralId) {\n\t\t\ttranslations[key] = {\n\t\t\t\tmsgid: key,\n\t\t\t\tmsgid_plural: lang.translations[key].pluralId,\n\t\t\t\tmsgstr: lang.translations[key].msgstr,\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Singular\n\t\ttranslations[key] = {\n\t\t\tmsgid: key,\n\t\t\tmsgstr: [\n\t\t\t\tlang.translations[key],\n\t\t\t],\n\t\t}\n\t}\n\n\tgtBuilder.addTranslation(lang.locale, {\n\t\ttranslations: {\n\t\t\t'': translations,\n\t\t},\n\t})\n})\n\nconst gt = gtBuilder.build()\n\nconst n = gt.ngettext.bind(gt)\nconst t = gt.gettext.bind(gt)\n\nexport { t, n }\n","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.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, \".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Popover.vue\"],\"names\":[],\"mappings\":\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",\"sourcesContent\":[\"$scope_version:\\\"6b494fc\\\"; @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$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\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 !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\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 !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\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 !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\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 !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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/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","// 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-6b494fc]{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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-6b494fc][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-6b494fc] .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-6b494fc] .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:\\\"6b494fc\\\"; @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.string.replace.js\");","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");","module.exports = require(\"core-js/modules/es.array.concat.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\"),_vm._v(\" \"),_c('template',{slot:\"popover\"},[_vm._t(\"default\")],2)],2)}\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!./Popover.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!./Popover.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n  -\n  - @author Marco Ambrosini <marcoambrosini@pm.me>\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<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<button slot=\"trigger\"> I am the trigger </button>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tref=\"popover\"\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template slot=\"popover\">\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n\n\tmounted() {\n\t\tthis.$watch(\n\t\t\t() => {\n\t\t\t\t// required because v-tooltip doesn't provide events\n\t\t\t\t// and @show is too early\n\t\t\t\t// see https://github.com/Akryum/v-tooltip/issues/661\n\t\t\t\treturn this.$refs.popover.isOpen\n\t\t\t},\n\t\t\t(val) => {\n\t\t\t\tif (val) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t\t *\n\t\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-show')\n\t\t\t\t} else {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-hide')\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\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 !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\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 !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\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 !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\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 !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\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!./Popover.vue?vue&type=style&index=0&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 || {};","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@nextcloud/l10n/dist/gettext\");","\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\nconst GenRandomId = (length) => {\n\treturn Math.random()\n\t\t.toString(36)\n\t\t.replace(/[^a-z]+/g, '')\n\t\t.substr(0, length || 5)\n}\n\nexport default GenRandomId\n","module.exports = require(\"core-js/modules/es.symbol.description.js\");","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\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 Popover from './Popover'\n\nexport default Popover\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 */\nimport Vue from 'vue'\n\n/**\n * Validate children of a vue component\n *\n * @param {Object[]} slots the vue component slot\n * @param {String[]} allowed the allowed components name\n * @param {Object} vm the vue component instance\n */\nconst ValidateSlot = (slots, allowed, vm) => {\n\tif (slots === undefined) {\n\t\treturn\n\t}\n\n\tfor (let index = slots.length - 1; index >= 0; index--) {\n\t\tconst node = slots[index]\n\t\t// also check against allowed to avoid uninitiated vnodes with no componentOptions\n\t\tconst isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1\n\t\tconst isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === 'string'\n\t\tconst isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1\n\n\t\t// if html element or not a vue component or vue component not in allowed tags\n\t\tif (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n\t\t\t// only warn when html elment or forbidden component\n\t\t\t// sometimes text nodes are present which are hardly removeable by the developer and spam the warnings\n\t\t\tif (isHtmlElement || isForbiddenComponent) {\n\t\t\t\tVue.util.warn(`${isHtmlElement ? node.tag : node.componentOptions.tag} is not allowed inside the ${vm.$options.name} component`, vm)\n\t\t\t}\n\n\t\t\t// cleanup\n\t\t\tslots.splice(index, 1)\n\t\t}\n\t}\n}\n\nexport default ValidateSlot\n","module.exports = require(\"core-js/modules/es.array.filter.js\");","module.exports = require(\"core-js/modules/es.array.from.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\";\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-6b494fc.eot\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../fonts/iconfont-vue-6b494fc.woff\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../fonts/iconfont-vue-6b494fc.ttf\";\nimport ___CSS_LOADER_URL_IMPORT_3___ from \"../../fonts/iconfont-vue-6b494fc.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-6b494fc\\\";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-551c21fd]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.arrow-left[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.arrow-right-double[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.arrow-right[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.breadcrumb[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.checkmark[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.close[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.confirm[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.info[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.menu[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.more[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.pause[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.play[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.triangle-s[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.user-status-away[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.user-status-dnd[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.user-status-invisible[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.icon.user-status-online[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";content:\\\"\\\"}.action-item[data-v-551c21fd]{position:relative;display:inline-block}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active,.action-item__menutoggle[data-v-551c21fd]:hover,.action-item__menutoggle[data-v-551c21fd]:focus,.action-item__menutoggle[data-v-551c21fd]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-551c21fd]:disabled,.action-item--single[data-v-551c21fd]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-551c21fd]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-551c21fd],.action-item__menutoggle[data-v-551c21fd]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-551c21fd]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-551c21fd] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-551c21fd]:before{content:''}.action-item__menutoggle--default-icon[data-v-551c21fd]:before{font-family:\\\"iconfont-vue-6b494fc\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.action-item__menutoggle--default-icon[data-v-551c21fd]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-551c21fd]{position:relative;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-551c21fd]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-551c21fd]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-551c21fd],.action-item__menutoggle--primary[data-v-551c21fd]:hover,.action-item__menutoggle--primary[data-v-551c21fd]:focus,.action-item__menutoggle--primary[data-v-551c21fd]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-551c21fd]{opacity:.7}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active{opacity:1}.action-item--single>[hidden][data-v-551c21fd]{display:none}.ie .action-item__menu[data-v-551c21fd],.ie .action-item__menu .action-item__menu_arrow[data-v-551c21fd],.edge .action-item__menu[data-v-551c21fd],.edge .action-item__menu .action-item__menu_arrow[data-v-551c21fd]{border:1px solid var(--color-border)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],\"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,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",\"sourcesContent\":[\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-6b494fc\\\": (\\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-6b494fc\\\";\\n   src: url('../iconfont-vue-6b494fc.eot'); /* IE9 Compat Modes */\\n   src: url('../iconfont-vue-6b494fc.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n      url('../iconfont-vue-6b494fc.woff') format('woff'), /* Pretty Modern Browsers */\\n      url('../iconfont-vue-6b494fc.ttf')  format('truetype'), /* Safari, Android, iOS */\\n      url('../iconfont-vue-6b494fc.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-6b494fc\\\") {\\n      &.#{$icon-prefix}#{$icon}:before {\\n        font-family: \\\"iconfont-vue-6b494fc\\\";\\n        content: iconfont-item(\\\"iconfont-vue-6b494fc/#{$icon}\\\");\\n      }\\n    }\\n  }\\n}\\n\",\"$scope_version:\\\"6b494fc\\\"; @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\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\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.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\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","module.exports = require(\"core-js/modules/es.object.keys.js\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptors.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 */\nimport Actions from './Actions'\n\nexport default Actions\n","var render = function () {\nvar _obj, _obj$1;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isValidSingleAction && !_vm.forceMenu)?_c('element',_vm._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.firstAction.text),expression:\"firstAction.text\",modifiers:{\"auto\":true}}],staticClass:\"action-item action-item--single\",class:( _obj = {}, _obj[_vm.firstAction.icon] = !_vm.iconSlotIsPopulated, _obj[_vm.firstActionClass] = !_vm.iconSlotIsPopulated, _obj ),attrs:{\"rel\":\"noreferrer noopener\",\"disabled\":_vm.disabled},on:_vm._d({\"focus\":_vm.onFocus,\"blur\":_vm.onBlur},[_vm.firstActionEventBinding,_vm.execFirstAction])},'element',_vm.firstActionBinding,false),[_c('VNodes',{attrs:{\"vnodes\":_vm.firstActionIconSlot}}),_vm._v(\" \"),_c('span',{attrs:{\"aria-hidden\":true,\"hidden\":\"\"}},[_vm._t(\"default\")],2)],1):_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasMultipleActions || _vm.forceMenu),expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{'action-item--open': _vm.opened}},[_c('Popover',{attrs:{\"delay\":0,\"handle-resize\":true,\"open\":_vm.opened,\"placement\":_vm.placement,\"boundaries-element\":_vm.boundariesElement,\"container\":_vm.container},on:{\"update:open\":function($event){_vm.opened=$event},\"show\":_vm.openMenu,\"after-show\":_vm.onOpen,\"hide\":_vm.closeMenu}},[_c('button',{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:( _obj$1 = {}, _obj$1[_vm.defaultIcon] = !_vm.iconSlotIsPopulated, _obj$1['action-item__menutoggle--with-title'] =  _vm.menuTitle, _obj$1['action-item__menutoggle--primary'] =  _vm.primary, _obj$1 ),attrs:{\"slot\":\"trigger\",\"disabled\":_vm.disabled,\"aria-label\":_vm.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":_vm.randomId,\"test-attr\":\"1\",\"aria-expanded\":_vm.opened ? 'true' : 'false'},on:{\"focus\":_vm.onFocus,\"blur\":_vm.onBlur},slot:\"trigger\"},[_vm._t(\"icon\"),_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.menuTitle)+\"\\n\\t\\t\")],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],ref:\"menu\",class:{ open: _vm.opened },attrs:{\"tabindex\":\"-1\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusPreviousAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusNextAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusNextAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if(!$event.shiftKey){ return null; }if($event.ctrlKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusPreviousAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-up\",undefined,$event.key,undefined)){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusFirstAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-down\",undefined,$event.key,undefined)){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusLastAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.closeMenu($event)}],\"mousemove\":_vm.onMouseFocusAction}},[_c('ul',{attrs:{\"id\":_vm.randomId,\"tabindex\":\"-1\"}},[(_vm.opened)?[_vm._t(\"default\")]:_vm._e()],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  - @author Marco Ambrosini <marcoambrosini@pm.me\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<!-- Accessibility guidelines:\nhttps://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-actions.html -->\n\n<docs>\n### Single action\n\n```\n<Actions>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n</Actions>\n```\n\n### Multiple actions\n\n```\n<Actions>\n\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t<ActionLink icon=\"icon-external\" title=\"Link\" href=\"https://nextcloud.com\" />\n</Actions>\n```\n\n### Multiple actions with custom icon\n\n```\n<Actions default-icon=\"icon-edit\">\n\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t<ActionLink icon=\"icon-external\" title=\"Link\" href=\"https://nextcloud.com\" />\n</Actions>\n```\n\n### With menu title\n\n```\n<Actions default-icon=\"icon-edit\" menu-title=\"Object management\">\n\t<ActionButton icon=\"icon-edit\">Rename</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n\t<ActionButton icon=\"icon-confirm\">Validate</ActionButton>\n\t<ActionButton icon=\"icon-download\">Download</ActionButton>\n</Actions>\n```\n\n### Various icons styles\n```\n<Actions :primary=\"true\">\n\t<ActionButton icon=\"icon-edit\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n</Actions>\n```\n\n```\n<Actions default-icon=\"icon-add-white\" :primary=\"true\" menu-title=\"Object management\">\n\t<ActionButton icon=\"icon-edit\">Rename</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n\t<ActionButton icon=\"icon-confirm\">Validate</ActionButton>\n\t<ActionButton icon=\"icon-download\">Download</ActionButton>\n</Actions>\n```\n\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```\n<template>\n\t<div style=\"display: flex;align-items: center;\">\n\t\t<button @click=\"toggled = !toggled\">Toggle multiple action</button>\n\t\t<Actions>\n\t\t\t<DotsHorizontalCircleOutline\n\t\t\t\tslot=\"icon\"\n\t\t\t\t:size=\"16\"\n\t\t\t\tdecorative />\n\t\t\t<ActionButton>\n\t\t\t\t<MicrophoneOff\n\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\t:size=\"16\"\n\t\t\t\t\tdecorative />\n\t\t\t\tMute\n\t\t\t</ActionButton>\n\t\t\t<ActionButton v-if=\"toggled\" icon=\"icon-delete\">Delete</ActionButton>\n\t\t</Actions>\n\t\t<Actions>\n\t\t</Actions>\n\t</div>\n</template>\n<script>\nimport DotsHorizontalCircleOutline from 'vue-material-design-icons/DotsHorizontalCircleOutline'\nimport MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'\n\nexport default {\n\tcomponents: {\n\t\tDotsHorizontalCircleOutline,\n\t\tMicrophoneOff,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false\n\t\t}\n\t}\n}\n</script>\n```\n\n### Custom icon slot in child elements\n```\n<Actions :primary=\"true\">\n\t<ActionButton><template #icon><MagnifyIcon /></template>Search</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n</Actions>\n```\n\n</docs>\n<template>\n\t<!-- if only one action, check if we need to bind to click or not -->\n\t<element v-if=\"isValidSingleAction && !forceMenu\"\n\t\tv-tooltip.auto=\"firstAction.text\"\n\t\tv-bind=\"firstActionBinding\"\n\t\t:class=\"{\n\t\t\t[firstAction.icon]: !iconSlotIsPopulated ,\n\t\t\t[firstActionClass]: !iconSlotIsPopulated }\"\n\t\tclass=\"action-item action-item--single\"\n\t\trel=\"noreferrer noopener\"\n\t\t:disabled=\"disabled\"\n\t\t@focus=\"onFocus\"\n\t\t@blur=\"onBlur\"\n\t\t@[firstActionEventBinding]=\"execFirstAction\">\n\t\t<!-- Render the icon slot content of the first action -->\n\t\t<VNodes :vnodes=\"firstActionIconSlot\" />\n\n\t\t<!-- fake slot to gather main action -->\n\t\t<span :aria-hidden=\"true\" hidden>\n\t\t\t<!-- @slot All action elements passed into the default slot will be used -->\n\t\t\t<slot />\n\t\t</span>\n\t</element>\n\n\t<!-- more than one action -->\n\t<div v-else\n\t\tv-show=\"hasMultipleActions || forceMenu\"\n\t\t:class=\"{'action-item--open': opened}\"\n\t\tclass=\"action-item\">\n\t\t<!-- If more than one action, create a popovermenu -->\n\t\t<Popover\n\t\t\t:delay=\"0\"\n\t\t\t:handle-resize=\"true\"\n\t\t\t:open.sync=\"opened\"\n\t\t\t:placement=\"placement\"\n\t\t\t:boundaries-element=\"boundariesElement\"\n\t\t\t:container=\"container\"\n\t\t\t@show=\"openMenu\"\n\t\t\t@after-show=\"onOpen\"\n\t\t\t@hide=\"closeMenu\">\n\t\t\t<!-- Menu open/close trigger button -->\n\t\t\t<button slot=\"trigger\"\n\t\t\t\tref=\"menuButton\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\tclass=\"icon action-item__menutoggle\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[defaultIcon]: !iconSlotIsPopulated,\n\t\t\t\t\t'action-item__menutoggle--with-title': menuTitle,\n\t\t\t\t\t'action-item__menutoggle--primary': primary\n\t\t\t\t}\"\n\t\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t:aria-controls=\"randomId\"\n\t\t\t\ttest-attr=\"1\"\n\t\t\t\t:aria-expanded=\"opened ? 'true' : 'false'\"\n\t\t\t\t@focus=\"onFocus\"\n\t\t\t\t@blur=\"onBlur\">\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t{{ menuTitle }}\n\t\t\t</button>\n\n\t\t\t<!-- Menu content -->\n\t\t\t<div v-show=\"opened\"\n\t\t\t\tref=\"menu\"\n\t\t\t\t:class=\"{ open: opened }\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t@keydown.up.exact=\"focusPreviousAction\"\n\t\t\t\t@keydown.down.exact=\"focusNextAction\"\n\t\t\t\t@keydown.tab.exact=\"focusNextAction\"\n\t\t\t\t@keydown.shift.tab.exact=\"focusPreviousAction\"\n\t\t\t\t@keydown.page-up.exact=\"focusFirstAction\"\n\t\t\t\t@keydown.page-down.exact=\"focusLastAction\"\n\t\t\t\t@keydown.esc.exact.prevent=\"closeMenu\"\n\t\t\t\t@mousemove=\"onMouseFocusAction\">\n\t\t\t\t<!-- menu content -->\n\t\t\t\t<ul :id=\"randomId\" tabindex=\"-1\">\n\t\t\t\t\t<template v-if=\"opened\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</template>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</Popover>\n\t</div>\n</template>\n<script>\nimport Tooltip from '../../directives/Tooltip'\nimport GenRandomId from '../../utils/GenRandomId'\nimport ValidateSlot from '../../utils/ValidateSlot'\nimport { t } from '../../l10n'\nimport Popover from '../Popover'\n\n// This is the list of ALL the ALLOWED components\n// in the default SLOT\nconst allowedChildren = [\n\t'ActionButton',\n\t'ActionCheckbox',\n\t'ActionInput',\n\t'ActionLink',\n\t'ActionRadio',\n\t'ActionRouter',\n\t'ActionSeparator',\n\t'ActionText',\n\t'ActionTextEditable',\n]\n\nconst focusableSelector = '.focusable'\n\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\nexport default {\n\tname: 'Actions',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\n\tcomponents: {\n\t\tPopover,\n\n\t\t// Component to render the first action icon slot content (vnodes)\n\t\tVNodes: {\n\t\t\tfunctional: true,\n\t\t\trender: (h, context) => context.props.vnodes,\n\t\t},\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Specify the open state of the popover menu\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specify the menu title\n\t\t */\n\t\tmenuTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Apply primary styling for this menu\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Icon to show for the toggle menu button\n\t\t * when more than one action is inside the actions component.\n\t\t * Only replace the default three-dot icon if really necessary.\n\t\t */\n\t\tdefaultIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'action-item__menutoggle--default-icon',\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the actions menu\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Actions'),\n\t\t},\n\n\t\t/**\n\t\t * Wanted direction of the menu\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * DOM element for the actions' popover boundaries\n\t\t */\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: () => document.querySelector('body'),\n\t\t},\n\n\t\t/**\n\t\t * Selector for the actions' popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Disabled state of the main button (single action or menu toggle)\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tactions: [],\n\t\t\topened: this.open,\n\t\t\tfocusIndex: 0,\n\t\t\trandomId: 'menu-' + GenRandomId(),\n\t\t\t// Making children reactive!\n\t\t\t// By binding this here, vuejs will track the object content\n\t\t\t// Needed for firstAction reactivity !!!\n\t\t\tchildren: this.$children,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is there more than one action?\n\t\t * @returns {boolean}\n\t\t */\n\t\thasMultipleActions() {\n\t\t\treturn this.actions.length > 1\n\t\t},\n\t\t/**\n\t\t * Is there any first action ?\n\t\t * And is it allowed as a standalone element ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisValidSingleAction() {\n\t\t\treturn this.actions.length === 1\n\t\t\t\t&& this.firstActionElement !== null\n\t\t},\n\t\t/**\n\t\t * First action vnode\n\t\t * @returns {Object} return the first action vue vnode\n\t\t */\n\t\tfirstActionVNode() {\n\t\t\treturn this.actions[0]\n\t\t},\n\t\t/**\n\t\t * Reactive binding to the first children\n\t\t * Since we're here, it means we already passed all the proper checks\n\t\t * we can assume the first action is the first children too\n\t\t * @returns {Object} first action vue children object\n\t\t */\n\t\tfirstAction() {\n\t\t\treturn this.children[0]\n\t\t\t\t? this.children[0]\n\t\t\t\t: {}\n\t\t},\n\n\t\t/**\n\t\t * Binding of the first action to the template\n\t\t * @returns {Object} vue template v-bind shortcut\n\t\t */\n\t\tfirstActionBinding() {\n\t\t\tif (this.firstActionVNode && this.firstActionVNode.componentOptions) {\n\t\t\t\tconst tag = this.firstActionVNode.componentOptions.tag\n\t\t\t\tif (tag === 'ActionLink') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'a',\n\t\t\t\t\t\thref: this.firstAction.href,\n\t\t\t\t\t\ttarget: this.firstAction.target,\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t\t...this.firstAction.$attrs,\n\t\t\t\t\t\t...this.firstAction.$props,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (tag === 'ActionRouter') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'router-link',\n\t\t\t\t\t\tto: this.firstAction.to,\n\t\t\t\t\t\texact: this.firstAction.exact,\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t\t...this.firstAction.$attrs,\n\t\t\t\t\t\t...this.firstAction.$props,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (tag === 'ActionButton') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'button',\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t\t...this.firstAction.$attrs,\n\t\t\t\t\t\t...this.firstAction.$props,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// other action types are not allowed as standalone buttons\n\t\t\treturn null\n\t\t},\n\n\t\t// return the event to bind if the firstActionVNode have an action\n\t\tfirstActionEvent() {\n\t\t\treturn this.firstActionVNode?.componentOptions?.listeners?.click\n\t\t},\n\t\tfirstActionEventBinding() {\n\t\t\treturn this.firstActionEvent ? 'click' : null\n\t\t},\n\t\t// return the first action icon slot vnodes array\n\t\tfirstActionIconSlot() {\n\t\t\treturn this.firstAction?.$slots?.icon\n\t\t},\n\t\tfirstActionClass() {\n\t\t\tconst staticClass = this.firstActionVNode && this.firstActionVNode.data.staticClass\n\t\t\tconst dynClass = this.firstActionVNode && this.firstActionVNode.data.class\n\t\t\treturn `${staticClass} ${dynClass}`\n\t\t},\n\n\t\ticonSlotIsPopulated() {\n\t\t\treturn !!this.$slots.icon\n\t\t},\n\t},\n\n\twatch: {\n\t\t// Watch parent prop\n\t\topen(state) {\n\t\t\tif (state === this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = state\n\t\t},\n\t},\n\tbeforeMount() {\n\t\t// init actions\n\t\tthis.initActions()\n\n\t\t// filter invalid menu items\n\t\tValidateSlot(this.$slots.default, allowedChildren, this)\n\t},\n\tbeforeUpdate() {\n\t\t// ! since we're using $slots to manage our actions\n\t\t// ! we NEED to update the actions if anything change\n\n\t\t// update children & actions\n\t\t// no need to init actions again since we bound it to $children\n\t\t// and the array is now reactive\n\t\t// init actions\n\t\tthis.initActions()\n\t\tValidateSlot(this.$slots.default, allowedChildren, this)\n\t},\n\n\tmethods: {\n\t\t// MENU STATE MANAGEMENT\n\t\topenMenu(e) {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('open')\n\t\t},\n\t\tcloseMenu(e) {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('close')\n\n\t\t\t// close everything\n\t\t\tthis.opened = false\n\t\t\tthis.focusIndex = 0\n\n\t\t\t// focus back the menu button\n\t\t\tthis.$refs.menuButton.focus()\n\t\t},\n\n\t\tonOpen(event) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t})\n\t\t},\n\n\t\t// MENU KEYS & FOCUS MANAGEMENT\n\t\t// focus nearest focusable item on mouse move\n\t\t// DO NOT change the focus if the target is already focused\n\t\t// this will prevent issues with input being unfocused\n\t\t// on mouse move\n\t\tonMouseFocusAction(event) {\n\t\t\tif (document.activeElement === event.target) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst menuItem = event.target.closest('li')\n\t\t\tif (menuItem) {\n\t\t\t\tconst focusableItem = menuItem.querySelector(focusableSelector)\n\t\t\t\tif (focusableItem) {\n\t\t\t\t\tconst focusList = this.$refs.menu.querySelectorAll(focusableSelector)\n\t\t\t\t\tconst focusIndex = [...focusList].indexOf(focusableItem)\n\t\t\t\t\tif (focusIndex > -1) {\n\t\t\t\t\t\tthis.focusIndex = focusIndex\n\t\t\t\t\t\tthis.focusAction()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tremoveCurrentActive() {\n\t\t\tconst currentActiveElement = this.$refs.menu.querySelector('li.active')\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.classList.remove('active')\n\t\t\t}\n\t\t},\n\t\tfocusAction() {\n\t\t\t// TODO: have a global disabled state for non input elements\n\t\t\tconst focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex]\n\t\t\tif (focusElement) {\n\t\t\t\tthis.removeCurrentActive()\n\t\t\t\tconst liMenuParent = focusElement.closest('li.action')\n\t\t\t\tfocusElement.focus()\n\t\t\t\tif (liMenuParent) {\n\t\t\t\t\tliMenuParent.classList.add('active')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfocusPreviousAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tif (this.focusIndex === 0) {\n\t\t\t\t\t// First element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex - 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusNextAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tconst indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tif (this.focusIndex === indexLength) {\n\t\t\t\t\t// Last element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex + 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusFirstAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = 0\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusLastAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = this.$el.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\n\t\tpreventIfEvent(event) {\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\t// ACTIONS MANAGEMENT\n\t\t// exec the first action\n\t\texecFirstAction(event) {\n\t\t\tif (this.firstActionEvent) {\n\t\t\t\tthis.firstActionEvent(event)\n\t\t\t}\n\t\t},\n\t\tinitActions() {\n\t\t\t// filter out invalid slots\n\t\t\tthis.actions = (this.$slots.default || []).filter(node => !!node && !!node.componentOptions)\n\t\t},\n\t\tonFocus(event) {\n\t\t\tthis.$emit('focus', event)\n\t\t},\n\t\tonBlur(event) {\n\t\t\tthis.$emit('blur', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../fonts/scss/iconfont-vue';\n\n.action-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t// put a grey round background when menu is opened\n\t// or hover-focused\n\t&--single:hover,\n\t&--single:focus,\n\t&--single:active,\n\t&__menutoggle:hover,\n\t&__menutoggle:focus,\n\t&__menutoggle:active {\n\t\topacity: $opacity_full;\n\t\t// good looking on dark AND white bg\n\t\tbackground-color: $icon-focus-bg;\n\t}\n\n\t// TODO: handle this in the future button component\n\t&__menutoggle:disabled,\n\t&--single:disabled {\n\t\topacity: .3 !important;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\topacity: $opacity_full;\n\t\tbackground-color: $action-background-hover;\n\t}\n\n\t// icons\n\t&--single,\n\t&__menutoggle {\n\t\tbox-sizing: border-box;\n\t\twidth: auto;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tmargin: 0;\n\t\tpadding: $icon-margin;\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-color: transparent;\n\t}\n\n\t// icon-more\n\t&__menutoggle {\n\t\t// align menu icon in center\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: $opacity_normal;\n\t\tfont-weight: bold;\n\t\tline-height: $icon-size;\n\n\t\t// image slot\n\t\t/deep/ span {\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tline-height: $icon-size;\n\t\t}\n\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t}\n\n\t\t&--default-icon {\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tfont-size: $icon-size;\n\t\t\t}\n\t\t}\n\n\t\t&--with-title {\n\t\t\tposition: relative;\n\t\t\tpadding-left: $clickable-area;\n\t\t\twhite-space: nowrap;\n\t\t\topacity: $opacity_full;\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t// with a title, we need to display this as a real button\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tfont-size: inherit;\n\t\t\t// non-background icon class\n\t\t\t&:before {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: $icon-margin;\n\t\t\t\tleft: $icon-margin;\n\t\t\t}\n\t\t}\n\n\t\t&--primary {\n\t\t\topacity: $opacity_full;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tborder: none;\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t.action-item--open &,\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-text) !important;\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--single {\n\t\topacity: $opacity_normal;\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t\t// hide anything the slot is displaying\n\t\t& > [hidden] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ie,\n.edge {\n\t.action-item__menu,\n\t.action-item__menu .action-item__menu_arrow {\n\t\tborder: 1px solid var(--color-border);\n\t}\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!./Actions.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!./Actions.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!./Actions.vue?vue&type=style&index=0&id=551c21fd&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 || {};","module.exports = require(\"core-js/modules/es.array.splice.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"action\",class:{ 'action--disabled': _vm.disabled }},[_c('button',{staticClass:\"action-button\",class:{ focusable: _vm.isFocusable },attrs:{\"aria-label\":_vm.ariaLabel},on:{\"click\":_vm.onClick}},[_c('span',{staticClass:\"action-button__icon\",class:[_vm.isIconUrl ? 'action-button__icon--url' : _vm.icon],style:({ backgroundImage: _vm.isIconUrl ? (\"url(\" + _vm.icon + \")\") : null })},[_vm._t(\"icon\")],2),_vm._v(\" \"),(_vm.title)?_c('p',[_c('strong',{staticClass:\"action-button__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"action-button__longtext\",domProps:{\"textContent\":_vm._s(_vm.text)}})]):(_vm.isLongText)?_c('p',{staticClass:\"action-button__longtext\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_c('span',{staticClass:\"action-button__text\"},[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),(false)?_vm._t(\"default\"):_vm._e()],2)])}\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!./ActionButton.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!./ActionButton.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  - @author Marco Ambrosini <marcoambrosini@pm.me>\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>\nThis component is made to be used inside of the [Actions](#Actions) component slots.\n\n```vue\n\t<Actions>\n\t\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" :close-after-click=\"true\" @click=\"alert('Delete and close menu')\">Delete and close</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" :disabled=\"true\" @click=\"alert('Disabled')\">Disabled button</ActionButton>\n\t</Actions>\n```\n\nIf you're using a long text you can specify a title\n\n```vue\n\t<Actions>\n\t\t<ActionButton icon=\"icon-add\" @click=\"alert('Add')\">Add new</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" title=\"Long button\" @click=\"alert('Delete')\">This button is associated with a very long text.\\nAnd with new lines too.</ActionButton>\n\t</Actions>\n```\n\nYou can also use a custom icon, for example from the vue-material-design-icons library:\n\n```vue\n<template>\n\t<Actions>\n\t\t<ActionButton>\n\t\t\t<HandLeft\n\t\t\t\tslot=\"icon\"\n\t\t\t\t:size=\"16\"\n\t\t\t\tdecorative\n\t\t\t\ttitle=\"\" />\n\t\t\tRaise left hand\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<HandRight\n\t\t\t\tslot=\"icon\"\n\t\t\t\t:size=\"16\"\n\t\t\t\tdecorative\n\t\t\t\ttitle=\"\" />\n\t\t\tRaise right hand\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport HandLeft from 'vue-material-design-icons/HandLeft'\nimport HandRight from 'vue-material-design-icons/HandRight'\n\nexport default {\n\tcomponents: {\n\t\tHandLeft,\n\t\tHandRight,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\">\n\t\t<button\n\t\t\tclass=\"action-button\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:class=\"{ focusable: isFocusable }\"\n\t\t\t@click=\"onClick\">\n\t\t\t<span :class=\"[isIconUrl ? 'action-button__icon--url' : icon]\"\n\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\tclass=\"action-button__icon\">\n\t\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</span>\n\n\t\t\t<!-- long text with title -->\n\t\t\t<p v-if=\"title\">\n\t\t\t\t<strong class=\"action-button__title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</strong>\n\t\t\t\t<br>\n\t\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t\t<span class=\"action-button__longtext\" v-text=\"text\" />\n\t\t\t</p>\n\n\t\t\t<!-- long text only -->\n\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t<p v-else-if=\"isLongText\"\n\t\t\t\tclass=\"action-button__longtext\"\n\t\t\t\tv-text=\"text\" />\n\n\t\t\t<!-- default text display -->\n\t\t\t<span v-else class=\"action-button__text\">{{ text }}</span>\n\n\t\t\t<!-- fake slot to gather inner text -->\n\t\t\t<slot v-if=\"false\" />\n\t\t</button>\n\t</li>\n</template>\n\n<script>\nimport ActionTextMixin from '../../mixins/actionText'\n\n/**\n * Button component to be used in Actions\n*/\nexport default {\n\tname: 'ActionButton',\n\n\tmixins: [ActionTextMixin],\n\n\tprops: {\n\t\t/**\n\t\t * disabled state of the action button\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t * @returns {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n@include action-item('button');\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!./ActionButton.vue?vue&type=style&index=0&id=42b28436&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) 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 */\nimport ActionButton from './ActionButton'\n\nexport default ActionButton\n","module.exports = require(\"core-js/modules/es.string.trim.js\");","\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 */\nimport Vue from 'vue'\n\nexport default {\n\tbefore() {\n\t\t// all actions requires a valid text content\n\t\t// if none, forbid the component mount and throw error\n\t\tif (!this.$slots.default || this.text.trim() === '') {\n\t\t\tVue.util.warn(`${this.$options.name} cannot be empty and requires a meaningful text content`, this)\n\t\t\tthis.$destroy()\n\t\t\tthis.$el.remove()\n\t\t}\n\t},\n\n\tbeforeUpdate() {\n\t\tthis.text = this.getText()\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// $slots are not reactive.\n\t\t\t// We need to update  the content manually\n\t\t\ttext: this.getText(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisLongText() {\n\t\t\treturn this.text && this.text.trim().length > 20\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetText() {\n\t\t\treturn this.$slots.default ? this.$slots.default[0].text.trim() : ''\n\t\t},\n\t},\n}\n","module.exports = require(\"core-js/modules/web.url.js\");","\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/**\n * Get the first parent component matching the provided name\n *\n * @param {Object} context the context to search from (usualy this)\n * @param {string} name the parent name\n * @returns {Object} the parent component\n */\nconst GetParent = function(context, name) {\n\tlet parent = context.$parent\n\twhile (parent) {\n\t\tif (parent.$options.name === name) {\n\t\t\treturn parent\n\t\t}\n\t\tparent = parent.$parent\n\t}\n}\n\nexport default GetParent\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 */\nimport actionGlobal from './actionGlobal'\nimport GetParent from '../utils/GetParent'\n\nexport default {\n\tmixins: [actionGlobal],\n\tprops: {\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Title to show next to the icon\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Whether we close the Actions menu after the click\n\t\t */\n\t\tcloseAfterClick: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Aria label for the button. Not needed if the button has text.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonClick(event) {\n\t\t\t/**\n\t\t\t * Emitted when the action is clicked\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('click', event)\n\n\t\t\tif (this.closeAfterClick) {\n\t\t\t\tconst parent = GetParent(this, 'Actions')\n\t\t\t\tif (parent && parent.closeMenu) {\n\t\t\t\t\tparent.closeMenu()\n\t\t\t\t}\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, \"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{width:220px;padding:7px 0;cursor:pointer;text-align:left;line-height:1.6em;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAwBC,2BAEE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,WAAY,CACZ,aAA8B,CAE9B,cAAe,CACf,eAAgB,CAEhB,iBAAkB,CAGlB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",\"sourcesContent\":[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\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&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\twidth: 220px;\\n\\t\\t\\tpadding: #{$icon-margin / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\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, \"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAmLA;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 class=\\\"popover__menuitem\\\">\\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<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-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<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\\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<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\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\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: $icon-size;\\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-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{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-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,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,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",\"sourcesContent\":[\"$scope_version:\\\"6b494fc\\\"; @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\\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\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\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: $icon-size;\\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-4dae360a]{display:flex;flex-direction:column}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenu.vue\"],\"names\":[],\"mappings\":\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",\"sourcesContent\":[\"$scope_version:\\\"6b494fc\\\"; @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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"popover__menu\"},_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 class=\"popover__menuitem\">\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<!-- eslint-disable-next-line -->\n\t\t\t\t<input :id=\"key\" v-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<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\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<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\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\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: $icon-size;\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=febed9b6&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=febed9b6&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 class=\"popover__menu\">\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',{staticClass:\"popover__menuitem\"},[(_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=4dae360a&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","function validate(binding) {\n  if (typeof binding.value !== 'function') {\n    console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n    return false\n  }\n\n  return true\n}\n\nfunction isPopup(popupItem, elements) {\n  if (!popupItem || !elements)\n    return false\n\n  for (var i = 0, len = elements.length; i < len; i++) {\n    try {\n      if (popupItem.contains(elements[i])) {\n        return true\n      }\n      if (elements[i].contains(popupItem)) {\n        return false\n      }\n    } catch(e) {\n      return false\n    }\n  }\n\n  return false\n}\n\nfunction isServer(vNode) {\n  return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n  bind: function (el, binding, vNode) {\n    if (!validate(binding)) return\n\n    // Define Handler and cache it on the element\n    function handler(e) {\n      if (!vNode.context) return\n\n      // some components may have related popup item, on which we shall prevent the click outside event handler.\n      var elements = e.path || (e.composedPath && e.composedPath())\n      elements && elements.length > 0 && elements.unshift(e.target)\n\n      if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n      el.__vueClickOutside__.callback(e)\n    }\n\n    // add Event Listeners\n    el.__vueClickOutside__ = {\n      handler: handler,\n      callback: binding.value\n    }\n    const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n    !isServer(vNode) && document.addEventListener(clickHandler, handler)\n  },\n\n  update: function (el, binding) {\n    if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n  },\n\n  unbind: function (el, binding, vNode) {\n    // Remove Event Listeners\n    const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n    !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n    delete el.__vueClickOutside__\n  }\n}\n"],"sourceRoot":""}