diff options
Diffstat (limited to 'js/editor-collab.js.map')
-rw-r--r-- | js/editor-collab.js.map | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/js/editor-collab.js.map b/js/editor-collab.js.map index df381cf7f..2d7198990 100644 --- a/js/editor-collab.js.map +++ b/js/editor-collab.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///NextcloudVue.[name]/webpack/universalModuleDefinition","webpack:///NextcloudVue.[name]/webpack/bootstrap","webpack:///NextcloudVue.[name]/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/api.js","webpack:///NextcloudVue.[name]/node_modules/vue-style-loader/lib/listToStyles.js","webpack:///NextcloudVue.[name]/node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.index-of\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url\"","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b6e0","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?e30e","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?6063","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?7f21","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?356f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?b983","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?32c6","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/index.js","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?da10","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?e600","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?8234","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b06f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?88f5","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?0a3b","webpack:///./src/components/SessionList.vue?3298","webpack:///./src/components/SessionList.vue?91ea","webpack:///./src/components/SessionList.vue?3765","webpack:///./src/components/SessionList.vue?de1d","webpack:///src/components/SessionList.vue","webpack:///./src/components/SessionList.vue?551b","webpack:///./src/components/SessionList.vue"],"names":["factory","window","installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","useSourceMap","list","toString","map","item","content","sourceMap","base64","data","cssMapping","btoa","sourceMapping","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","join","mediaQuery","dedupe","alreadyImportedModules","length","id","_i","push","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","require","locals","default","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","props","required","href","icon","text","validator","computed","Math","iconIsUrl","methods","action","PopoverMenu_PopoverMenuvue_type_script_lang_js_","components","PopoverMenuItem","_vm","_h","$createElement","_c","_self","staticClass","attrs","target","download","rel","on","click","src","class","_v","longtext","_s","_e","active","input","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","Array","isArray","model","change","$$a","$$el","$$c","$$i","$set","slice","_q","composing","for","stopPropagation","disabled","menu","_l","PopoverMenu","___CSS_LOADER_API_IMPORT___","define","component","modifiers","popoverVisible","sessionsPopover","session","style","sessionStyle","userId","guestName","_t"],"mappings":"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","file":"editor-collab.js?v=8819c9682777621b41f0","sourcesContent":["(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 = 51);\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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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\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 (useSourceMap) {\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, useSourceMap);\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};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\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} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","module.exports = require(\"core-js/modules/es.object.to-string\");","module.exports = require(\"core-js/modules/es.array.index-of\");","module.exports = require(\"core-js/modules/es.array.iterator\");","module.exports = require(\"core-js/modules/es.string.iterator\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator\");","module.exports = require(\"core-js/modules/es.regexp.to-string\");","module.exports = require(\"core-js/modules/web.url\");","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../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=75ab886e&scoped=true&lang=css&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1f2ec49f\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../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=75ab886e&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9c561116\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"93093140\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<input :id=\"key\"\n\t\t\t\t\tv-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $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 mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul>\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\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","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&scoped=true&lang=css&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\nbutton.menuitem[data-v-75ab886e] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-75ab886e] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-75ab886e]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-75ab886e] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-75ab886e] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"li[data-v-75ab886e]{display:flex;flex:0 0 auto}li.hidden[data-v-75ab886e]{display:none}li>button[data-v-75ab886e],li>a[data-v-75ab886e],li>.menuitem[data-v-75ab886e]{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-75ab886e],li>button span[class*=' icon-'][data-v-75ab886e],li>button[class^='icon-'][data-v-75ab886e],li>button[class*=' icon-'][data-v-75ab886e],li>a span[class^='icon-'][data-v-75ab886e],li>a span[class*=' icon-'][data-v-75ab886e],li>a[class^='icon-'][data-v-75ab886e],li>a[class*=' icon-'][data-v-75ab886e],li>.menuitem span[class^='icon-'][data-v-75ab886e],li>.menuitem span[class*=' icon-'][data-v-75ab886e],li>.menuitem[class^='icon-'][data-v-75ab886e],li>.menuitem[class*=' icon-'][data-v-75ab886e]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-75ab886e],li>button span[class*=' icon-'][data-v-75ab886e],li>a span[class^='icon-'][data-v-75ab886e],li>a span[class*=' icon-'][data-v-75ab886e],li>.menuitem span[class^='icon-'][data-v-75ab886e],li>.menuitem span[class*=' icon-'][data-v-75ab886e]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-75ab886e],li>button[class*=' icon-'][data-v-75ab886e],li>a[class^='icon-'][data-v-75ab886e],li>a[class*=' icon-'][data-v-75ab886e],li>.menuitem[class^='icon-'][data-v-75ab886e],li>.menuitem[class*=' icon-'][data-v-75ab886e]{padding:0 14px 0 44px}li>button[data-v-75ab886e]:not(:disabled):hover,li>button[data-v-75ab886e]:not(:disabled):focus,li>button:not(:disabled).active[data-v-75ab886e],li>a[data-v-75ab886e]:not(:disabled):hover,li>a[data-v-75ab886e]:not(:disabled):focus,li>a:not(:disabled).active[data-v-75ab886e],li>.menuitem[data-v-75ab886e]:not(:disabled):hover,li>.menuitem[data-v-75ab886e]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-75ab886e]{opacity:1 !important}li>button.action[data-v-75ab886e],li>a.action[data-v-75ab886e],li>.menuitem.action[data-v-75ab886e]{padding:inherit !important}li>button>span[data-v-75ab886e],li>a>span[data-v-75ab886e],li>.menuitem>span[data-v-75ab886e]{cursor:pointer;white-space:nowrap}li>button>p[data-v-75ab886e],li>a>p[data-v-75ab886e],li>.menuitem>p[data-v-75ab886e]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}li>button>select[data-v-75ab886e],li>a>select[data-v-75ab886e],li>.menuitem>select[data-v-75ab886e]{margin:0;margin-left:6px}li>button[data-v-75ab886e]:not(:empty),li>a[data-v-75ab886e]:not(:empty),li>.menuitem[data-v-75ab886e]:not(:empty){padding-right:14px !important}li>button>img[data-v-75ab886e],li>a>img[data-v-75ab886e],li>.menuitem>img[data-v-75ab886e]{width:16px;padding:14px}li>button>input.radio+label[data-v-75ab886e],li>button>input.checkbox+label[data-v-75ab886e],li>a>input.radio+label[data-v-75ab886e],li>a>input.checkbox+label[data-v-75ab886e],li>.menuitem>input.radio+label[data-v-75ab886e],li>.menuitem>input.checkbox+label[data-v-75ab886e]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-75ab886e]::before,li>a>input.checkbox+label[data-v-75ab886e]::before,li>.menuitem>input.checkbox+label[data-v-75ab886e]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-75ab886e]::before,li>a>input.radio+label[data-v-75ab886e]::before,li>.menuitem>input.radio+label[data-v-75ab886e]::before{margin:-2px 12px 0}li>button>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-75ab886e],li>a form[data-v-75ab886e],li>.menuitem form[data-v-75ab886e]{display:flex;flex:1 1 auto}li>button form[data-v-75ab886e]:not(:first-child),li>a form[data-v-75ab886e]:not(:first-child),li>.menuitem form[data-v-75ab886e]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-75ab886e],li>button>span[style*='display:none']+form[data-v-75ab886e],li>a>span.hidden+form[data-v-75ab886e],li>a>span[style*='display:none']+form[data-v-75ab886e],li>.menuitem>span.hidden+form[data-v-75ab886e],li>.menuitem>span[style*='display:none']+form[data-v-75ab886e]{margin-left:0}li>button input[data-v-75ab886e],li>a input[data-v-75ab886e],li>.menuitem input[data-v-75ab886e]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-75ab886e]:not(:first-child),li>a input[data-v-75ab886e]:not(:first-child),li>.menuitem input[data-v-75ab886e]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-75ab886e]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-75ab886e]{margin-bottom:12px}li>button[data-v-75ab886e]{padding:0}li>button span[data-v-75ab886e]{opacity:1}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"ul[data-v-81c2afc0]{display:flex;flex-direction:column}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cbdaa584\", content, true, {});","export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".session-list[data-v-7e4a5d08]{position:relative}.session-list[data-v-7e4a5d08] .popovermenu{margin-right:-4px}.session-list[data-v-7e4a5d08] .popovermenu img{padding:0;width:32px !important;height:32px !important;margin:6px;border-radius:50%;filter:none !important}.avatar-list[data-v-7e4a5d08]{display:inline-flex;flex-direction:row-reverse}.avatar-list .avatardiv[data-v-7e4a5d08],.avatar-list[data-v-7e4a5d08] .avatardiv{width:36px;height:36px;margin-right:-8px;border:2px solid var(--color-main-background);box-sizing:content-box !important}.avatar-list .avatardiv.icon-more[data-v-7e4a5d08],.avatar-list[data-v-7e4a5d08] .avatardiv.icon-more{width:32px;height:32px;opacity:.5;cursor:pointer}.popovermenu[data-v-7e4a5d08]{display:block}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"session-list\"},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.bottom\",value:(_vm.editorsTooltip),expression:\"editorsTooltip\",modifiers:{\"bottom\":true}}],staticClass:\"avatar-list\",on:{\"click\":function($event){_vm.popoverVisible=!_vm.popoverVisible}}},[(_vm.sessionsPopover.length > 0)?_c('div',{staticClass:\"avatardiv icon-more\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sessionsVisible),function(session){return _c('Avatar',{key:session.id,style:(_vm.sessionStyle(session)),attrs:{\"user\":session.userId ? session.userId : session.guestName,\"is-guest\":session.userId === null,\"disable-tooltip\":true,\"size\":32}})})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.popoverVisible),expression:\"popoverVisible\"}],staticClass:\"popovermenu menu-right\"},[_c('PopoverMenu',{attrs:{\"menu\":_vm.sessionsPopover}}),_vm._v(\" \"),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"session-list\">\n\t\t<div v-tooltip.bottom=\"editorsTooltip\" class=\"avatar-list\" @click=\"popoverVisible=!popoverVisible\">\n\t\t\t<div v-if=\"sessionsPopover.length > 0\" class=\"avatardiv icon-more\" />\n\t\t\t<Avatar v-for=\"session in sessionsVisible\"\n\t\t\t\t:key=\"session.id\"\n\t\t\t\t:user=\"session.userId ? session.userId : session.guestName\"\n\t\t\t\t:is-guest=\"session.userId === null\"\n\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t:style=\"sessionStyle(session)\"\n\t\t\t\t:size=\"32\" />\n\t\t</div>\n\t\t<div v-show=\"popoverVisible\" class=\"popovermenu menu-right\">\n\t\t\t<PopoverMenu :menu=\"sessionsPopover\" />\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport PopoverMenu from '@nextcloud/vue/dist/Components/PopoverMenu'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nconst COLLABORATOR_IDLE_TIME = 10\nconst COLLABORATOR_DISCONNECT_TIME = 30\n\nexport default {\n\tname: 'SessionList',\n\tcomponents: {\n\t\tAvatar,\n\t\tPopoverMenu,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tprops: {\n\t\tsessions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpopoverVisible: '',\n\t\t\tmyName: '',\n\t\t}\n\t},\n\tcomputed: {\n\t\teditorsTooltip() {\n\t\t\tif (this.sessionsPopover.length > 0) {\n\t\t\t\tconst first = this.activeSessions.slice(0, 3).map((session) => session.guestName ? session.guestName : session.displayName).join(', ')\n\t\t\t\tconst others = this.activeSessions.slice(3).length\n\t\t\t\treturn first + ' ' + n('text', 'and %n other editor', 'and %n other editors', others)\n\t\t\t}\n\t\t\treturn this.activeSessions.slice(0, 3).map((session) => session.guestName ? session.guestName : session.displayName).join(', ')\n\t\t},\n\t\tavatarUrl() {\n\t\t\treturn (session) => {\n\t\t\t\tconst user = !session.guestName ? session.userId : session.guestName\n\t\t\t\tconst size = 32\n\t\t\t\tconst guest = !!session.guestName\n\t\t\t\tconst avatarUrl = OC.generateUrl(\n\t\t\t\t\tguest ? '/avatar/guest/{user}/{size}' : '/avatar/{user}/{size}',\n\t\t\t\t\t{\n\t\t\t\t\t\tuser,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t})\n\t\t\t\treturn window.location.protocol + '//' + window.location.host + avatarUrl\n\t\t\t}\n\t\t},\n\t\tactiveSessions() {\n\t\t\treturn Object.values(this.sessions).filter((session) =>\n\t\t\t\tsession.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME && !session.isCurrent\n\t\t\t\t\t&& (session.userId !== null || session.guestName !== null)\n\t\t\t)\n\t\t},\n\t\tcurrentSession() {\n\t\t\treturn Object.values(this.sessions).find((session) => session.isCurrent)\n\t\t},\n\t\tsessionStyle() {\n\t\t\treturn (session) => {\n\t\t\t\treturn {\n\t\t\t\t\t'opacity': session.lastContact > Date.now() / 1000 - COLLABORATOR_IDLE_TIME ? 1 : 0.5,\n\t\t\t\t\t// 'border-color': session.color\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsessionsVisible() {\n\t\t\treturn this.activeSessions.slice(0, 3)\n\t\t},\n\t\tsessionsPopover() {\n\t\t\treturn [\n\t\t\t\t...this.activeSessions.slice(3).map((session) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thref: '#',\n\t\t\t\t\t\ticon: this.avatarUrl(session),\n\t\t\t\t\t\ttext: session.guestName ? session.guestName : session.displayName,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t]\n\t\t},\n\t},\n\tmethods: {\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.session-list {\n\t\tposition: relative;\n\n\t\t/deep/ .popovermenu {\n\t\t\tmargin-right: -4px;\n\t\t\timg {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 32px !important;\n\t\t\t\theight: 32px !important;\n\t\t\t\tmargin: 6px;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tfilter: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatar-list {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row-reverse;\n\n\t\t.avatardiv,\n\t\t/deep/ .avatardiv {\n\t\t\twidth: 36px;\n\t\t\theight: 36px;\n\t\t\tmargin-right: -8px;\n\t\t\tborder: 2px solid var(--color-main-background);\n\t\t\tbox-sizing: content-box !important;\n\t\t\t&.icon-more {\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t\topacity: .5;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t}\n\n\t.popovermenu {\n\t\tdisplay: block;\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.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!./SessionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionList.vue?vue&type=template&id=7e4a5d08&scoped=true&\"\nimport script from \"./SessionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e4a5d08\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///NextcloudVue.[name]/webpack/universalModuleDefinition","webpack:///NextcloudVue.[name]/webpack/bootstrap","webpack:///NextcloudVue.[name]/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/api.js","webpack:///NextcloudVue.[name]/node_modules/vue-style-loader/lib/listToStyles.js","webpack:///NextcloudVue.[name]/node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.index-of\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url\"","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b6e0","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?e30e","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?6063","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?7f21","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?356f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?b983","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?32c6","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/index.js","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?da10","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?e600","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?8234","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b06f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?88f5","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?0a3b","webpack:///./src/components/SessionList.vue?3298","webpack:///./src/components/SessionList.vue?91ea","webpack:///./src/components/SessionList.vue?3765","webpack:///./src/components/SessionList.vue?de1d","webpack:///src/components/SessionList.vue","webpack:///./src/components/SessionList.vue?551b","webpack:///./src/components/SessionList.vue"],"names":["factory","window","installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","useSourceMap","list","toString","map","item","content","sourceMap","base64","data","cssMapping","btoa","sourceMapping","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","join","mediaQuery","dedupe","alreadyImportedModules","length","id","_i","push","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","require","locals","default","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","props","required","href","icon","text","validator","computed","Math","iconIsUrl","methods","action","PopoverMenu_PopoverMenuvue_type_script_lang_js_","components","PopoverMenuItem","_vm","_h","$createElement","_c","_self","staticClass","attrs","target","download","rel","on","click","src","class","_v","longtext","_s","_e","active","input","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","Array","isArray","model","change","$$a","$$el","$$c","$$i","$set","slice","_q","composing","for","stopPropagation","disabled","menu","_l","PopoverMenu","___CSS_LOADER_API_IMPORT___","define","component","modifiers","popoverVisible","sessionsPopover","session","style","sessionStyle","userId","guestName","_t"],"mappings":"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","file":"editor-collab.js?v=90ef168a33f646e280e7","sourcesContent":["(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 = 51);\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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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\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 (useSourceMap) {\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, useSourceMap);\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};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\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} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","module.exports = require(\"core-js/modules/es.object.to-string\");","module.exports = require(\"core-js/modules/es.array.index-of\");","module.exports = require(\"core-js/modules/es.array.iterator\");","module.exports = require(\"core-js/modules/es.string.iterator\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator\");","module.exports = require(\"core-js/modules/es.regexp.to-string\");","module.exports = require(\"core-js/modules/web.url\");","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../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=75ab886e&scoped=true&lang=css&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1f2ec49f\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../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=75ab886e&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9c561116\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"93093140\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<input :id=\"key\"\n\t\t\t\t\tv-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $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 mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul>\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\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","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&scoped=true&lang=css&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\nbutton.menuitem[data-v-75ab886e] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-75ab886e] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-75ab886e]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-75ab886e] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-75ab886e] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../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=75ab886e&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"li[data-v-75ab886e]{display:flex;flex:0 0 auto}li.hidden[data-v-75ab886e]{display:none}li>button[data-v-75ab886e],li>a[data-v-75ab886e],li>.menuitem[data-v-75ab886e]{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-75ab886e],li>button span[class*=' icon-'][data-v-75ab886e],li>button[class^='icon-'][data-v-75ab886e],li>button[class*=' icon-'][data-v-75ab886e],li>a span[class^='icon-'][data-v-75ab886e],li>a span[class*=' icon-'][data-v-75ab886e],li>a[class^='icon-'][data-v-75ab886e],li>a[class*=' icon-'][data-v-75ab886e],li>.menuitem span[class^='icon-'][data-v-75ab886e],li>.menuitem span[class*=' icon-'][data-v-75ab886e],li>.menuitem[class^='icon-'][data-v-75ab886e],li>.menuitem[class*=' icon-'][data-v-75ab886e]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-75ab886e],li>button span[class*=' icon-'][data-v-75ab886e],li>a span[class^='icon-'][data-v-75ab886e],li>a span[class*=' icon-'][data-v-75ab886e],li>.menuitem span[class^='icon-'][data-v-75ab886e],li>.menuitem span[class*=' icon-'][data-v-75ab886e]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-75ab886e]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-75ab886e],li>button[class*=' icon-'][data-v-75ab886e],li>a[class^='icon-'][data-v-75ab886e],li>a[class*=' icon-'][data-v-75ab886e],li>.menuitem[class^='icon-'][data-v-75ab886e],li>.menuitem[class*=' icon-'][data-v-75ab886e]{padding:0 14px 0 44px}li>button[data-v-75ab886e]:not(:disabled):hover,li>button[data-v-75ab886e]:not(:disabled):focus,li>button:not(:disabled).active[data-v-75ab886e],li>a[data-v-75ab886e]:not(:disabled):hover,li>a[data-v-75ab886e]:not(:disabled):focus,li>a:not(:disabled).active[data-v-75ab886e],li>.menuitem[data-v-75ab886e]:not(:disabled):hover,li>.menuitem[data-v-75ab886e]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-75ab886e]{opacity:1 !important}li>button.action[data-v-75ab886e],li>a.action[data-v-75ab886e],li>.menuitem.action[data-v-75ab886e]{padding:inherit !important}li>button>span[data-v-75ab886e],li>a>span[data-v-75ab886e],li>.menuitem>span[data-v-75ab886e]{cursor:pointer;white-space:nowrap}li>button>p[data-v-75ab886e],li>a>p[data-v-75ab886e],li>.menuitem>p[data-v-75ab886e]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}li>button>select[data-v-75ab886e],li>a>select[data-v-75ab886e],li>.menuitem>select[data-v-75ab886e]{margin:0;margin-left:6px}li>button[data-v-75ab886e]:not(:empty),li>a[data-v-75ab886e]:not(:empty),li>.menuitem[data-v-75ab886e]:not(:empty){padding-right:14px !important}li>button>img[data-v-75ab886e],li>a>img[data-v-75ab886e],li>.menuitem>img[data-v-75ab886e]{width:16px;padding:14px}li>button>input.radio+label[data-v-75ab886e],li>button>input.checkbox+label[data-v-75ab886e],li>a>input.radio+label[data-v-75ab886e],li>a>input.checkbox+label[data-v-75ab886e],li>.menuitem>input.radio+label[data-v-75ab886e],li>.menuitem>input.checkbox+label[data-v-75ab886e]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-75ab886e]::before,li>a>input.checkbox+label[data-v-75ab886e]::before,li>.menuitem>input.checkbox+label[data-v-75ab886e]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-75ab886e]::before,li>a>input.radio+label[data-v-75ab886e]::before,li>.menuitem>input.radio+label[data-v-75ab886e]::before{margin:-2px 12px 0}li>button>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-75ab886e]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-75ab886e],li>a form[data-v-75ab886e],li>.menuitem form[data-v-75ab886e]{display:flex;flex:1 1 auto}li>button form[data-v-75ab886e]:not(:first-child),li>a form[data-v-75ab886e]:not(:first-child),li>.menuitem form[data-v-75ab886e]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-75ab886e],li>button>span[style*='display:none']+form[data-v-75ab886e],li>a>span.hidden+form[data-v-75ab886e],li>a>span[style*='display:none']+form[data-v-75ab886e],li>.menuitem>span.hidden+form[data-v-75ab886e],li>.menuitem>span[style*='display:none']+form[data-v-75ab886e]{margin-left:0}li>button input[data-v-75ab886e],li>a input[data-v-75ab886e],li>.menuitem input[data-v-75ab886e]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-75ab886e]:not(:first-child),li>a input[data-v-75ab886e]:not(:first-child),li>.menuitem input[data-v-75ab886e]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-75ab886e]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-75ab886e],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-75ab886e]{margin-bottom:12px}li>button[data-v-75ab886e]{padding:0}li>button span[data-v-75ab886e]{opacity:1}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../../node_modules/vue-style-loader/index.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/vue-style-loader/index.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=81c2afc0&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"ul[data-v-81c2afc0]{display:flex;flex-direction:column}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cbdaa584\", content, true, {});","export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".session-list[data-v-7e4a5d08]{position:relative}.session-list[data-v-7e4a5d08] .popovermenu{margin-right:-4px}.session-list[data-v-7e4a5d08] .popovermenu img{padding:0;width:32px !important;height:32px !important;margin:6px;border-radius:50%;filter:none !important}.avatar-list[data-v-7e4a5d08]{display:inline-flex;flex-direction:row-reverse}.avatar-list .avatardiv[data-v-7e4a5d08],.avatar-list[data-v-7e4a5d08] .avatardiv{width:36px;height:36px;margin-right:-8px;border:2px solid var(--color-main-background);box-sizing:content-box !important}.avatar-list .avatardiv.icon-more[data-v-7e4a5d08],.avatar-list[data-v-7e4a5d08] .avatardiv.icon-more{width:32px;height:32px;opacity:.5;cursor:pointer}.popovermenu[data-v-7e4a5d08]{display:block}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"session-list\"},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.bottom\",value:(_vm.editorsTooltip),expression:\"editorsTooltip\",modifiers:{\"bottom\":true}}],staticClass:\"avatar-list\",on:{\"click\":function($event){_vm.popoverVisible=!_vm.popoverVisible}}},[(_vm.sessionsPopover.length > 0)?_c('div',{staticClass:\"avatardiv icon-more\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sessionsVisible),function(session){return _c('Avatar',{key:session.id,style:(_vm.sessionStyle(session)),attrs:{\"user\":session.userId ? session.userId : session.guestName,\"is-guest\":session.userId === null,\"disable-tooltip\":true,\"size\":32}})})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.popoverVisible),expression:\"popoverVisible\"}],staticClass:\"popovermenu menu-right\"},[_c('PopoverMenu',{attrs:{\"menu\":_vm.sessionsPopover}}),_vm._v(\" \"),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"session-list\">\n\t\t<div v-tooltip.bottom=\"editorsTooltip\" class=\"avatar-list\" @click=\"popoverVisible=!popoverVisible\">\n\t\t\t<div v-if=\"sessionsPopover.length > 0\" class=\"avatardiv icon-more\" />\n\t\t\t<Avatar v-for=\"session in sessionsVisible\"\n\t\t\t\t:key=\"session.id\"\n\t\t\t\t:user=\"session.userId ? session.userId : session.guestName\"\n\t\t\t\t:is-guest=\"session.userId === null\"\n\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t:style=\"sessionStyle(session)\"\n\t\t\t\t:size=\"32\" />\n\t\t</div>\n\t\t<div v-show=\"popoverVisible\" class=\"popovermenu menu-right\">\n\t\t\t<PopoverMenu :menu=\"sessionsPopover\" />\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport PopoverMenu from '@nextcloud/vue/dist/Components/PopoverMenu'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nconst COLLABORATOR_IDLE_TIME = 10\nconst COLLABORATOR_DISCONNECT_TIME = 30\n\nexport default {\n\tname: 'SessionList',\n\tcomponents: {\n\t\tAvatar,\n\t\tPopoverMenu,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tprops: {\n\t\tsessions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpopoverVisible: '',\n\t\t\tmyName: '',\n\t\t}\n\t},\n\tcomputed: {\n\t\teditorsTooltip() {\n\t\t\tif (this.sessionsPopover.length > 0) {\n\t\t\t\tconst first = this.activeSessions.slice(0, 3).map((session) => session.guestName ? session.guestName : session.displayName).join(', ')\n\t\t\t\tconst others = this.activeSessions.slice(3).length\n\t\t\t\treturn first + ' ' + n('text', 'and %n other editor', 'and %n other editors', others)\n\t\t\t}\n\t\t\treturn this.activeSessions.slice(0, 3).map((session) => session.guestName ? session.guestName : session.displayName).join(', ')\n\t\t},\n\t\tavatarUrl() {\n\t\t\treturn (session) => {\n\t\t\t\tconst user = !session.guestName ? session.userId : session.guestName\n\t\t\t\tconst size = 32\n\t\t\t\tconst guest = !!session.guestName\n\t\t\t\tconst avatarUrl = OC.generateUrl(\n\t\t\t\t\tguest ? '/avatar/guest/{user}/{size}' : '/avatar/{user}/{size}',\n\t\t\t\t\t{\n\t\t\t\t\t\tuser,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t})\n\t\t\t\treturn window.location.protocol + '//' + window.location.host + avatarUrl\n\t\t\t}\n\t\t},\n\t\tactiveSessions() {\n\t\t\treturn Object.values(this.sessions).filter((session) =>\n\t\t\t\tsession.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME && !session.isCurrent\n\t\t\t\t\t&& (session.userId !== null || session.guestName !== null)\n\t\t\t)\n\t\t},\n\t\tcurrentSession() {\n\t\t\treturn Object.values(this.sessions).find((session) => session.isCurrent)\n\t\t},\n\t\tsessionStyle() {\n\t\t\treturn (session) => {\n\t\t\t\treturn {\n\t\t\t\t\t'opacity': session.lastContact > Date.now() / 1000 - COLLABORATOR_IDLE_TIME ? 1 : 0.5,\n\t\t\t\t\t// 'border-color': session.color\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsessionsVisible() {\n\t\t\treturn this.activeSessions.slice(0, 3)\n\t\t},\n\t\tsessionsPopover() {\n\t\t\treturn [\n\t\t\t\t...this.activeSessions.slice(3).map((session) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thref: '#',\n\t\t\t\t\t\ticon: this.avatarUrl(session),\n\t\t\t\t\t\ttext: session.guestName ? session.guestName : session.displayName,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t]\n\t\t},\n\t},\n\tmethods: {\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.session-list {\n\t\tposition: relative;\n\n\t\t/deep/ .popovermenu {\n\t\t\tmargin-right: -4px;\n\t\t\timg {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 32px !important;\n\t\t\t\theight: 32px !important;\n\t\t\t\tmargin: 6px;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tfilter: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatar-list {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row-reverse;\n\n\t\t.avatardiv,\n\t\t/deep/ .avatardiv {\n\t\t\twidth: 36px;\n\t\t\theight: 36px;\n\t\t\tmargin-right: -8px;\n\t\t\tborder: 2px solid var(--color-main-background);\n\t\t\tbox-sizing: content-box !important;\n\t\t\t&.icon-more {\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t\topacity: .5;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t}\n\n\t.popovermenu {\n\t\tdisplay: block;\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.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!./SessionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionList.vue?vue&type=template&id=7e4a5d08&scoped=true&\"\nimport script from \"./SessionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SessionList.vue?vue&type=style&index=0&id=7e4a5d08&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e4a5d08\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file |