{"version":3,"file":"files-main.js?v=354a9fae5726a8279c05","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files/src/utils/davUtils.js","webpack:///nextcloud/apps/files/src/utils/fileUtils.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?8258","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?81db","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?c414","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/services/Templates.js","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?6cbe","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?afd8","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?1f7b","webpack:///nextcloud/apps/files/src/templates.js","webpack:///nextcloud/apps/files/src/legacy/filelistSearch.js","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/services/FileAction.ts","webpack:///nextcloud/apps/files/src/actions/deleteAction.ts","webpack:///nextcloud/apps/files/src/legacy/navigationMapper.js","webpack:///nextcloud/apps/files/src/services/Navigation.ts","webpack://nextcloud/./apps/files/src/views/Navigation.vue?8122","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/files/src/store/viewConfig.ts","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?08cb","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?ff39","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?2966","webpack://nextcloud/./apps/files/src/views/Settings.vue?84f7","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack://nextcloud/./apps/files/src/components/Setting.vue?8d57","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/Settings.vue?7e31","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/views/Navigation.vue","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/Navigation.vue?2794","webpack://nextcloud/./apps/files/src/views/Navigation.vue?74b9","webpack://nextcloud/./apps/files/src/views/FilesList.vue?efeb","webpack:///nextcloud/apps/files/src/store/files.ts","webpack:///nextcloud/apps/files/src/store/paths.ts","webpack:///nextcloud/apps/files/src/store/selection.ts","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?e906","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?e59f","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?d357","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?9d6c","webpack:///nextcloud/apps/files/src/services/PreviewService.ts","webpack:///nextcloud/apps/files/src/store/actionsmenu.ts","webpack:///nextcloud/apps/files/src/store/keyboard.ts","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?5f5c","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?4ee7","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?2c34","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?6bea","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?5641","webpack:///nextcloud/apps/files/src/components/FileEntry.vue","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?8a78","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?5d50","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?da7c","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?77f7","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue","webpack://nextcloud/./apps/files/src/components/FilesListFooter.vue?14b9","webpack://nextcloud/./apps/files/src/components/FilesListFooter.vue?80db","webpack://nextcloud/./apps/files/src/components/FilesListFooter.vue?a2f0","webpack:///nextcloud/apps/files/src/mixins/filesListWidth.ts","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/files/src/components/FilesListHeaderActions.vue?c5d9","webpack://nextcloud/./apps/files/src/components/FilesListHeaderActions.vue?9823","webpack://nextcloud/./apps/files/src/components/FilesListHeaderActions.vue?1b40","webpack://nextcloud/./apps/files/src/components/FilesListHeaderButton.vue?fb45","webpack:///nextcloud/apps/files/src/mixins/filesSorting.ts","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue","webpack://nextcloud/./apps/files/src/components/FilesListHeaderButton.vue?d900","webpack://nextcloud/./apps/files/src/components/FilesListHeaderButton.vue?5686","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?7248","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?349b","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?635d","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?d01d","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?3555","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/views/FilesList.vue","webpack://nextcloud/./apps/files/src/views/FilesList.vue?e4c4","webpack://nextcloud/./apps/files/src/views/FilesList.vue?1e5b","webpack:///nextcloud/apps/files/src/router/router.js","webpack:///nextcloud/apps/files/src/main.js","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/apps/files/src/services/ServiceWorker.js","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=style&index=0&id=47057834&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=style&index=0&id=53698ce8&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue?vue&type=style&index=0&id=9d92da06&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=0&id=07b86e54&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=style&index=0&id=6c072a31&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=style&index=0&id=77548daf&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=style&index=0&id=508e08a4&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=style&index=0&id=715b4161&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=style&index=1&id=47057834&prod&lang=css&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport const getRootPath = function() {\n\tif (getCurrentUser()) {\n\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`)\n\t} else {\n\t\treturn generateRemoteUrl('webdav').replace('/remote.php', '/public.php')\n\t}\n}\n\nexport const isPublic = function() {\n\treturn !getCurrentUser()\n}\n\nexport const getToken = function() {\n\treturn document.getElementById('sharingToken') && document.getElementById('sharingToken').value\n}\n\n/**\n * Return the current directory, fallback to root\n *\n * @return {string}\n */\nexport const getCurrentDirectory = function() {\n\tconst currentDirInfo = OCA?.Files?.App?.currentFileList?.dirInfo\n\t\t|| { path: '/', name: '' }\n\n\t// Make sure we don't have double slashes\n\treturn `${currentDirInfo.path}/${currentDirInfo.name}`.replace(/\\/\\//gi, '/')\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nconst encodeFilePath = function(path) {\n\tconst pathSections = (path.startsWith('/') ? path : `/${path}`).split('/')\n\tlet relativePath = ''\n\tpathSections.forEach((section) => {\n\t\tif (section !== '') {\n\t\t\trelativePath += '/' + encodeURIComponent(section)\n\t\t}\n\t})\n\treturn relativePath\n}\n\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nconst extractFilePaths = function(path) {\n\tconst pathSections = path.split('/')\n\tconst fileName = pathSections[pathSections.length - 1]\n\tconst dirPath = pathSections.slice(0, pathSections.length - 1).join('/')\n\treturn [dirPath, fileName]\n}\n\nexport { encodeFilePath, extractFilePaths }\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.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!./TemplatePreview.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./TemplatePreview.vue?vue&type=style&index=0&id=6c072a31&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./TemplatePreview.vue?vue&type=style&index=0&id=6c072a31&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=6c072a31&scoped=true&\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=6c072a31&prod&lang=scss&scoped=true&\"\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 \"6c072a31\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.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!./TemplatePicker.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./TemplatePicker.vue?vue&type=style&index=0&id=715b4161&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./TemplatePicker.vue?vue&type=style&index=0&id=715b4161&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=715b4161&scoped=true&\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=715b4161&prod&lang=scss&scoped=true&\"\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 \"715b4161\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.opened)?_c('NcModal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"normal\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('button',{on:{\"click\":_vm.close}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('NcEmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentDirectory } from './utils/davUtils.js'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport TemplatePickerView from './views/TemplatePicker.vue'\nimport { showError } from '@nextcloud/dialogs'\n\n// Set up logger\nconst logger = getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\n// Create document root\nconst TemplatePickerRoot = document.createElement('div')\nTemplatePickerRoot.id = 'template-picker'\ndocument.body.appendChild(TemplatePickerRoot)\n\n// Retrieve and init templates\nlet templates = loadState('files', 'templates', [])\nlet templatesPath = loadState('files', 'templates_path', false)\nlogger.debug('Templates providers', templates)\nlogger.debug('Templates folder', { templatesPath })\n\n// Init vue app\nconst View = Vue.extend(TemplatePickerView)\nconst TemplatePicker = new View({\n\tname: 'TemplatePicker',\n\tpropsData: {\n\t\tlogger,\n\t},\n})\nTemplatePicker.$mount('#template-picker')\n\n// Init template engine after load to make sure it's the last injected entry\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (!templatesPath) {\n\t\tlogger.debug('Templates folder not initialized')\n\t\tconst initTemplatesPlugin = {\n\t\t\tattach(menu) {\n\t\t\t\t// register the new menu entry\n\t\t\t\tmenu.addMenuEntry({\n\t\t\t\t\tid: 'template-init',\n\t\t\t\t\tdisplayName: t('files', 'Set up templates folder'),\n\t\t\t\t\ttemplateName: t('files', 'Templates'),\n\t\t\t\t\ticonClass: 'icon-template-add',\n\t\t\t\t\tfileType: 'file',\n\t\t\t\t\tactionHandler(name) {\n\t\t\t\t\t\tinitTemplatesFolder(name)\n\t\t\t\t\t\tmenu.removeMenuEntry('template-init')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\tOC.Plugins.register('OCA.Files.NewFileMenu', initTemplatesPlugin)\n\t}\n})\n\n// Init template files menu\ntemplates.forEach((provider, index) => {\n\tconst newTemplatePlugin = {\n\t\tattach(menu) {\n\t\t\tconst fileList = menu.fileList\n\n\t\t\t// only attach to main file list, public view is not supported yet\n\t\t\tif (fileList.id !== 'files' && fileList.id !== 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// register the new menu entry\n\t\t\tmenu.addMenuEntry({\n\t\t\t\tid: `template-new-${provider.app}-${index}`,\n\t\t\t\tdisplayName: provider.label,\n\t\t\t\ttemplateName: provider.label + provider.extension,\n\t\t\t\ticonClass: provider.iconClass || 'icon-file',\n\t\t\t\tfileType: 'file',\n\t\t\t\tactionHandler(name) {\n\t\t\t\t\tTemplatePicker.open(name, provider)\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t}\n\tOC.Plugins.register('OCA.Files.NewFileMenu', newTemplatePlugin)\n})\n\n/**\n * Init the template directory\n *\n * @param {string} name the templates folder name\n */\nconst initTemplatesFolder = async function(name) {\n\tconst templatePath = (getCurrentDirectory() + `/${name}`).replace('//', '/')\n\ttry {\n\t\tlogger.debug('Initializing the templates directory', { templatePath })\n\t\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n\t\t\ttemplatePath,\n\t\t\tcopySystemTemplates: true,\n\t\t})\n\n\t\t// Go to template directory\n\t\tOCA.Files.App.currentFileList.changeDirectory(templatePath, true, true)\n\n\t\ttemplates = response.data.ocs.data.templates\n\t\ttemplatesPath = response.data.ocs.data.template_path\n\t} catch (error) {\n\t\tlogger.error('Unable to initialize the templates directory')\n\t\tshowError(t('files', 'Unable to initialize the templates directory'))\n\t}\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\n(function() {\n\n\tconst FilesPlugin = {\n\t\tattach(fileList) {\n\t\t\tsubscribe('nextcloud:unified-search.search', ({ query }) => {\n\t\t\t\tfileList.setFilter(query)\n\t\t\t})\n\t\t\tsubscribe('nextcloud:unified-search.reset', () => {\n\t\t\t\tthis.query = null\n\t\t\t\tfileList.setFilter('')\n\t\t\t})\n\n\t\t},\n\t}\n\n\twindow.OC.Plugins.register('OCA.Files.FileList', FilesPlugin)\n\n})()\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { Node } from '@nextcloud/files'\nimport logger from '../logger'\n\ndeclare global {\n\tinterface Window {\n\t\tOC: any;\n\t\t_nc_fileactions: FileAction[] | undefined;\n\t}\n}\n\n/**\n * TODO: remove and move to @nextcloud/files\n * @see https://github.com/nextcloud/nextcloud-files/pull/608\n */\ninterface FileActionData {\n\t/** Unique ID */\n\tid: string\n\t/** Translatable string displayed in the menu */\n\tdisplayName: (files: Node[], view) => string\n\t/** Svg as inline string. */\n\ticonSvgInline: (files: Node[], view) => string\n\t/** Condition wether this action is shown or not */\n\tenabled?: (files: Node[], view) => boolean\n\t/**\n\t * Function executed on single file action\n\t * @returns true if the action was executed, false otherwise\n\t * @throws Error if the action failed\n\t */\n\texec: (file: Node, view) => Promise,\n\t/**\n\t * Function executed on multiple files action\n\t * @returns true if the action was executed, false otherwise\n\t * @throws Error if the action failed\n\t */\n\texecBatch?: (files: Node[], view) => Promise\n\t/** This action order in the list */\n\torder?: number,\n\t/** Make this action the default */\n\tdefault?: boolean,\n\t/**\n\t * If true, the renderInline function will be called\n\t */\n\tinline?: (file: Node, view) => boolean,\n\t/**\n\t * If defined, the returned html element will be\n\t * appended before the actions menu.\n\t */\n\trenderInline?: (file: Node, view) => HTMLElement,\n}\n\nexport class FileAction {\n\n\tprivate _action: FileActionData\n\n\tconstructor(action: FileActionData) {\n\t\tthis.validateAction(action)\n\t\tthis._action = action\n\t}\n\n\tget id() {\n\t\treturn this._action.id\n\t}\n\n\tget displayName() {\n\t\treturn this._action.displayName\n\t}\n\n\tget iconSvgInline() {\n\t\treturn this._action.iconSvgInline\n\t}\n\n\tget enabled() {\n\t\treturn this._action.enabled\n\t}\n\n\tget exec() {\n\t\treturn this._action.exec\n\t}\n\n\tget execBatch() {\n\t\treturn this._action.execBatch\n\t}\n\n\tget order() {\n\t\treturn this._action.order\n\t}\n\n\tget default() {\n\t\treturn this._action.default\n\t}\n\n\tget inline() {\n\t\treturn this._action.inline\n\t}\n\n\tget renderInline() {\n\t\treturn this._action.renderInline\n\t}\n\n\tprivate validateAction(action: FileActionData) {\n\t\tif (!action.id || typeof action.id !== 'string') {\n\t\t\tthrow new Error('Invalid id')\n\t\t}\n\n\t\tif (!action.displayName || typeof action.displayName !== 'function') {\n\t\t\tthrow new Error('Invalid displayName function')\n\t\t}\n\n\t\tif (!action.iconSvgInline || typeof action.iconSvgInline !== 'function') {\n\t\t\tthrow new Error('Invalid iconSvgInline function')\n\t\t}\n\n\t\tif (!action.exec || typeof action.exec !== 'function') {\n\t\t\tthrow new Error('Invalid exec function')\n\t\t}\n\n\t\t// Optional properties --------------------------------------------\n\t\tif ('enabled' in action && typeof action.enabled !== 'function') {\n\t\t\tthrow new Error('Invalid enabled function')\n\t\t}\n\n\t\tif ('execBatch' in action && typeof action.execBatch !== 'function') {\n\t\t\tthrow new Error('Invalid execBatch function')\n\t\t}\n\n\t\tif ('order' in action && typeof action.order !== 'number') {\n\t\t\tthrow new Error('Invalid order')\n\t\t}\n\n\t\tif ('default' in action && typeof action.default !== 'boolean') {\n\t\t\tthrow new Error('Invalid default')\n\t\t}\n\n\t\tif ('inline' in action && typeof action.inline !== 'function') {\n\t\t\tthrow new Error('Invalid inline function')\n\t\t}\n\n\t\tif ('renderInline' in action && typeof action.renderInline !== 'function') {\n\t\t\tthrow new Error('Invalid renderInline function')\n\t\t}\n\t}\n\n}\n\nexport const registerFileAction = function(action: FileAction): void {\n\tif (typeof window._nc_fileactions === 'undefined') {\n\t\twindow._nc_fileactions = []\n\t\tlogger.debug('FileActions initialized')\n\t}\n\n\t// Check duplicates\n\tif (window._nc_fileactions.find(search => search.id === action.id)) {\n\t\tlogger.error(`FileAction ${action.id} already registered`, { action })\n\t\treturn\n\t}\n\n\twindow._nc_fileactions.push(action)\n}\n\nexport const getFileActions = function(): FileAction[] {\n\treturn window._nc_fileactions || []\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\nimport { emit } from '@nextcloud/event-bus'\nimport { Permission, Node } from '@nextcloud/files'\nimport { translate as t } from '@nextcloud/l10n'\nimport axios from '@nextcloud/axios'\nimport TrashCan from '@mdi/svg/svg/trash-can.svg?raw'\n\nimport { registerFileAction, FileAction } from '../services/FileAction.ts'\nimport logger from '../logger.js'\n\nregisterFileAction(new FileAction({\n\tid: 'delete',\n\tdisplayName(nodes: Node[], view) {\n\t\treturn view.id === 'trashbin'\n\t\t\t? t('files_trashbin', 'Delete permanently')\n\t\t\t: t('files', 'Delete')\n\t},\n\ticonSvgInline: () => TrashCan,\n\n\tenabled(nodes: Node[]) {\n\t\treturn nodes.length > 0 && nodes\n\t\t\t.map(node => node.permissions)\n\t\t\t.every(permission => (permission & Permission.DELETE) !== 0)\n\t},\n\n\tasync exec(node: Node) {\n\t\ttry {\n\t\t\tawait axios.delete(node.source)\n\n\t\t\t// Let's delete even if it's moved to the trashbin\n\t\t\t// since it has been removed from the current view\n\t\t\t// and changing the view will trigger a reload anyway.\n\t\t\temit('files:node:deleted', node)\n\t\t\treturn true\n\t\t} catch (error) {\n\t\t\tlogger.error('Error while deleting a file', { error, source: node.source, node })\n\t\t\treturn false\n\t\t}\n\t},\n\tasync execBatch(nodes: Node[], view) {\n\t\treturn Promise.all(nodes.map(node => this.exec(node, view)))\n\t},\n\n\torder: 100,\n}))\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport logger from '../logger.js'\n\n/**\n * Fetch and register the legacy files views\n */\nexport default function() {\n\tconst legacyViews = Object.values(loadState('files', 'navigation', {}))\n\n\tif (legacyViews.length > 0) {\n\t\tlogger.debug('Legacy files views detected. Processing...', legacyViews)\n\t\tlegacyViews.forEach(view => {\n\t\t\tregisterLegacyView(view)\n\t\t\tif (view.sublist) {\n\t\t\t\tview.sublist.forEach(subview => registerLegacyView({ ...subview, parent: view.id }))\n\t\t\t}\n\t\t})\n\t}\n}\n\nconst registerLegacyView = function({ id, name, order, icon, parent, classes = '', expanded, params }) {\n\tOCP.Files.Navigation.register({\n\t\tid,\n\t\tname,\n\t\torder,\n\t\tparams,\n\t\tparent,\n\t\texpanded: expanded === true,\n\t\ticonClass: icon ? `icon-${icon}` : 'nav-icon-' + id,\n\t\tlegacy: true,\n\t\tsticky: classes.includes('pinned'),\n\t})\n}\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport type { Folder, Node } from '@nextcloud/files'\nimport isSvg from 'is-svg'\n\nimport logger from '../logger.js'\n\nexport type ContentsWithRoot = {\n\tfolder: Folder,\n\tcontents: Node[]\n}\n\nexport interface Column {\n\t/** Unique column ID */\n\tid: string\n\t/** Translated column title */\n\ttitle: string\n\t/** The content of the cell. The element will be appended within */\n\trender: (node: Node, view: Navigation) => HTMLElement\n\t/** Function used to sort Nodes between them */\n\tsort?: (nodeA: Node, nodeB: Node) => number\n\t/** Custom summary of the column to display at the end of the list.\n\t Will not be displayed if nothing is provided */\n\tsummary?: (node: Node[], view: Navigation) => string\n}\n\nexport interface Navigation {\n\t/** Unique view ID */\n\tid: string\n\t/** Translated view name */\n\tname: string\n\t/**\n\t * Method return the content of the provided path\n\t * This ideally should be a cancellable promise.\n\t * promise.cancel(reason) will be called when the directory\n\t * change and the promise is not resolved yet.\n\t * You _must_ also return the current directory\n\t * information alongside with its content.\n\t */\n\tgetContents: (path: string) => Promise\n\t/** The view icon as an inline svg */\n\ticon: string\n\t/** The view order */\n\torder: number\n\t/** This view column(s). Name and actions are\n\tby default always included */\n\tcolumns?: Column[]\n\t/** The empty view element to render your empty content into */\n\temptyView?: (div: HTMLDivElement) => void\n\t/** The parent unique ID */\n\tparent?: string\n\t/** This view is sticky (sent at the bottom) */\n\tsticky?: boolean\n\t/** This view has children and is expanded or not,\n\t * will be overridden by user config.\n\t */\n\texpanded?: boolean\n\n\t/**\n\t * Will be used as default if the user\n\t * haven't customized their sorting column\n\t * */\n\tdefaultSortKey?: string\n\n\t/**\n\t * This view is sticky a legacy view.\n\t * Here until all the views are migrated to Vue.\n\t * @deprecated It will be removed in a near future\n\t */\n\tlegacy?: boolean\n\t/**\n\t * An icon class. \n\t * @deprecated It will be removed in a near future\n\t */\n\ticonClass?: string\n}\n\nexport default class {\n\n\tprivate _views: Navigation[] = []\n\tprivate _currentView: Navigation | null = null\n\n\tconstructor() {\n\t\tlogger.debug('Navigation service initialized')\n\t}\n\n\tregister(view: Navigation) {\n\t\ttry {\n\t\t\tisValidNavigation(view)\n\t\t\tisUniqueNavigation(view, this._views)\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) {\n\t\t\t\tlogger.error(e.message, { view })\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\n\t\tif (view.legacy) {\n\t\t\tlogger.warn('Legacy view detected, please migrate to Vue')\n\t\t}\n\n\t\tif (view.iconClass) {\n\t\t\tview.legacy = true\n\t\t}\n\n\t\tthis._views.push(view)\n\t}\n\n\tget views(): Navigation[] {\n\t\treturn this._views\n\t}\n\n\tsetActive(view: Navigation | null) {\n\t\tthis._currentView = view\n\t}\n\n\tget active(): Navigation | null {\n\t\treturn this._currentView\n\t}\n\n}\n\n/**\n * Make sure the given view is unique\n * and not already registered.\n */\nconst isUniqueNavigation = function(view: Navigation, views: Navigation[]): boolean {\n\tif (views.find(search => search.id === view.id)) {\n\t\tthrow new Error(`Navigation id ${view.id} is already registered`)\n\t}\n\treturn true\n}\n\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Navigation interface requirements.\n */\nconst isValidNavigation = function(view: Navigation): boolean {\n\tif (!view.id || typeof view.id !== 'string') {\n\t\tthrow new Error('Navigation id is required and must be a string')\n\t}\n\n\tif (!view.name || typeof view.name !== 'string') {\n\t\tthrow new Error('Navigation name is required and must be a string')\n\t}\n\n\t/**\n\t * Legacy handle their content and icon differently\n\t * TODO: remove when support for legacy views is removed\n\t */\n\tif (!view.legacy) {\n\t\tif (!view.getContents || typeof view.getContents !== 'function') {\n\t\t\tthrow new Error('Navigation getContents is required and must be a function')\n\t\t}\n\n\t\tif (!view.icon || typeof view.icon !== 'string' || !isSvg(view.icon)) {\n\t\t\tthrow new Error('Navigation icon is required and must be a valid svg string')\n\t\t}\n\t}\n\n\tif (!('order' in view) || typeof view.order !== 'number') {\n\t\tthrow new Error('Navigation order is required and must be a number')\n\t}\n\n\t// Optional properties\n\tif (view.columns) {\n\t\tview.columns.forEach(isValidColumn)\n\t}\n\n\tif (view.emptyView && typeof view.emptyView !== 'function') {\n\t\tthrow new Error('Navigation emptyView must be a function')\n\t}\n\n\tif (view.parent && typeof view.parent !== 'string') {\n\t\tthrow new Error('Navigation parent must be a string')\n\t}\n\n\tif ('sticky' in view && typeof view.sticky !== 'boolean') {\n\t\tthrow new Error('Navigation sticky must be a boolean')\n\t}\n\n\tif ('expanded' in view && typeof view.expanded !== 'boolean') {\n\t\tthrow new Error('Navigation expanded must be a boolean')\n\t}\n\n\tif (view.defaultSortKey && typeof view.defaultSortKey !== 'string') {\n\t\tthrow new Error('Navigation defaultSortKey must be a string')\n\t}\n\n\treturn true\n}\n\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Column interface requirements.\n */\nconst isValidColumn = function(column: Column): boolean {\n\tif (!column.id || typeof column.id !== 'string') {\n\t\tthrow new Error('A column id is required')\n\t}\n\n\tif (!column.title || typeof column.title !== 'string') {\n\t\tthrow new Error('A column title is required')\n\t}\n\n\tif (!column.render || typeof column.render !== 'function') {\n\t\tthrow new Error('A render function is required')\n\t}\n\n\t// Optional properties\n\tif (column.sort && typeof column.sort !== 'function') {\n\t\tthrow new Error('Column sortFunction must be a function')\n\t}\n\n\tif (column.summary && typeof column.summary !== 'function') {\n\t\tthrow new Error('Column summary must be a function')\n\t}\n\n\treturn true\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\"},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"icon\":view.iconClass,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"title\":view.name,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact\":true,\"icon\":child.iconClass,\"title\":child.name,\"to\":_vm.generateToNavigation(child)}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"title\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('Cog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia'\nimport { emit, subscribe } from '@nextcloud/event-bus'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport { ViewConfigs, ViewConfigStore, ViewId } from '../types.ts'\nimport { ViewConfig } from '../types'\n\nconst viewConfig = loadState('files', 'viewConfigs', {}) as ViewConfigs\n\nexport const useViewConfigStore = () => {\n\tconst store = defineStore('viewconfig', {\n\t\tstate: () => ({\n\t\t\tviewConfig,\n\t\t} as ViewConfigStore),\n\n\t\tgetters: {\n\t\t\tgetConfig: (state) => (view: ViewId): ViewConfig => state.viewConfig[view] || {},\n\t\t},\n\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Update the view config local store\n\t\t\t */\n\t\t\tonUpdate(view: ViewId, key: string, value: boolean) {\n\t\t\t\tif (!this.viewConfig[view]) {\n\t\t\t\t\tVue.set(this.viewConfig, view, {})\n\t\t\t\t}\n\t\t\t\tVue.set(this.viewConfig[view], key, value)\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Update the view config local store AND on server side\n\t\t\t */\n\t\t\tasync update(view: ViewId, key: string, value: boolean) {\n\t\t\t\taxios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\n\t\t\t\temit('files:viewconfig:updated', { view, key, value })\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Set the sorting key AND sort by ASC\n\t\t\t * The key param must be a valid key of a File object\n\t\t\t * If not found, will be searched within the File attributes\n\t\t\t */\n\t\t\tsetSortingBy(key: string = 'basename', view: string = 'files') {\t\n\t\t\t\t// Save new config\n\t\t\t\tthis.update(view, 'sorting_mode', key)\n\t\t\t\tthis.update(view, 'sorting_direction', 'asc')\n\t\t\t},\n\t\n\t\t\t/**\n\t\t\t * Toggle the sorting direction\n\t\t\t */\n\t\t\ttoggleSortingDirection(view: string = 'files') {\n\t\t\t\tconst config = this.getConfig(view) || { 'sorting_direction': 'asc' }\n\t\t\t\tconst newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc'\n\t\n\t\t\t\t// Save new config\n\t\t\t\tthis.update(view, 'sorting_direction', newDirection)\n\t\t\t}\n\t\t}\n\t})\n\n\tconst viewConfigStore = store()\n\n\t// Make sure we only register the listeners once\n\tif (!viewConfigStore._initialized) {\n\t\tsubscribe('files:viewconfig:updated', function({ view, key, value }: { view: ViewId, key: string, value: boolean }) {\n\t\t\tviewConfigStore.onUpdate(view, key, value)\n\t\t})\n\t\tviewConfigStore._initialized = true\n\t}\n\n\treturn viewConfigStore\n}\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.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!./NavigationQuota.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=918797b2&scoped=true&\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\"\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 \"918797b2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"title\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"title\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"title\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"title\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.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!./Setting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae&\"\nimport script from \"./Setting.vue?vue&type=script&lang=js&\"\nexport * from \"./Setting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport { defineStore } from 'pinia'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport type { UserConfig, UserConfigStore } from '../types.ts'\nimport { emit, subscribe } from '@nextcloud/event-bus'\n\nconst userConfig = loadState('files', 'config', {\n\tshow_hidden: false,\n\tcrop_image_previews: true,\n}) as UserConfig\n\nexport const useUserConfigStore = () => {\n\tconst store = defineStore('userconfig', {\n\t\tstate: () => ({\n\t\t\tuserConfig,\n\t\t} as UserConfigStore),\n\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Update the user config local store\n\t\t\t */\n\t\t\tonUpdate(key: string, value: boolean) {\n\t\t\t\tVue.set(this.userConfig, key, value)\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Update the user config local store AND on server side\n\t\t\t */\n\t\t\tasync update(key: string, value: boolean) {\n\t\t\t\tawait axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\n\t\t\t\temit('files:config:updated', { key, value })\n\t\t\t}\n\t\t}\n\t})\n\n\tconst userConfigStore = store()\n\n\t// Make sure we only register the listeners once\n\tif (!userConfigStore._initialized) {\n\t\tsubscribe('files:config:updated', function({ key, value }: { key: string, value: boolean }) {\n\t\t\tuserConfigStore.onUpdate(key, value)\n\t\t})\n\t\tuserConfigStore._initialized = true\n\t}\n\n\treturn userConfigStore\n}\n\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.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!./Settings.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=76ca5d1f&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\"\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 \"76ca5d1f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.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!./Navigation.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./Navigation.vue?vue&type=style&index=0&id=508e08a4&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./Navigation.vue?vue&type=style&index=0&id=508e08a4&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=508e08a4&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=508e08a4&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"508e08a4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.currentView?.legacy),expression:\"!currentView?.legacy\"}],class:{'app-content--hidden': _vm.currentView?.legacy},attrs:{\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent}}),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"title\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('files', 'No files in here'),\"description\":_vm.t('files', 'No files or folders have been deleted yet'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":\"t('files', 'Go to the previous folder')\",\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('TrashCan')]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-view\":_vm.currentView,\"nodes\":_vm.dirContents}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport type { Folder, Node } from '@nextcloud/files'\nimport type { FilesStore, RootsStore, RootOptions, Service, FilesState } from '../types.ts'\n\nimport { defineStore } from 'pinia'\nimport { subscribe } from '@nextcloud/event-bus'\nimport Vue from 'vue'\nimport logger from '../logger'\nimport { FileId } from '../types'\n\nexport const useFilesStore = () => {\n\tconst store = defineStore('files', {\n\t\tstate: (): FilesState => ({\n\t\t\tfiles: {} as FilesStore,\n\t\t\troots: {} as RootsStore,\n\t\t}),\n\n\t\tgetters: {\n\t\t\t/**\n\t\t\t * Get a file or folder by id\n\t\t\t */\n\t\t\tgetNode: (state) => (id: FileId): Node|undefined => state.files[id],\n\n\t\t\t/**\n\t\t\t * Get a list of files or folders by their IDs\n\t\t\t * Does not return undefined values\n\t\t\t */\n\t\t\tgetNodes: (state) => (ids: FileId[]): Node[] => ids\n\t\t\t\t.map(id => state.files[id])\n\t\t\t\t.filter(Boolean),\n\t\t\t/**\n\t\t\t * Get a file or folder by id\n\t\t\t */\n\t\t\tgetRoot: (state) => (service: Service): Folder|undefined => state.roots[service],\n\t\t},\n\n\t\tactions: {\n\t\t\tupdateNodes(nodes: Node[]) {\n\t\t\t\t// Update the store all at once\n\t\t\t\tconst files = nodes.reduce((acc, node) => {\n\t\t\t\t\tif (!node.attributes.fileid) {\n\t\t\t\t\t\tlogger.warn('Trying to update/set a node without fileid', node)\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}\n\t\t\t\t\tacc[node.attributes.fileid] = node\n\t\t\t\t\treturn acc\n\t\t\t\t}, {} as FilesStore)\n\n\t\t\t\tVue.set(this, 'files', {...this.files, ...files})\n\t\t\t},\n\n\t\t\tdeleteNodes(nodes: Node[]) {\n\t\t\t\tnodes.forEach(node => {\n\t\t\t\t\tif (node.fileid) {\n\t\t\t\t\t\tVue.delete(this.files, node.fileid)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\t\t\tsetRoot({ service, root }: RootOptions) {\n\t\t\t\tVue.set(this.roots, service, root)\n\t\t\t},\n\n\t\t\tonDeletedNode(node: Node) {\n\t\t\t\tthis.deleteNodes([node])\n\t\t\t},\n\t\t}\n\t})\n\n\tconst fileStore = store()\n\t// Make sure we only register the listeners once\n\tif (!fileStore._initialized) {\n\t\t// subscribe('files:node:created', fileStore.onCreatedNode)\n\t\tsubscribe('files:node:deleted', fileStore.onDeletedNode)\n\t\t// subscribe('files:node:moved', fileStore.onMovedNode)\n\t\t// subscribe('files:node:updated', fileStore.onUpdatedNode)\n\n\t\tfileStore._initialized = true\n\t}\n\n\treturn fileStore\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport type { PathOptions, ServicesState } from '../types.ts'\n\nimport { defineStore } from 'pinia'\nimport Vue from 'vue'\nimport { subscribe } from '@nextcloud/event-bus'\nimport { FileId } from '../types'\n\nexport const usePathsStore = () => {\n\tconst store = defineStore('paths', {\n\t\tstate: (): ServicesState => ({}),\n\n\t\tgetters: {\n\t\t\tgetPath: (state) => {\n\t\t\t\treturn (service: string, path: string): FileId|undefined => {\n\t\t\t\t\tif (!state[service]) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\treturn state[service][path]\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tactions: {\n\t\t\taddPath(payload: PathOptions) {\n\t\t\t\t// If it doesn't exists, init the service state\n\t\t\t\tif (!this[payload.service]) {\n\t\t\t\t\tVue.set(this, payload.service, {})\n\t\t\t\t}\n\n\t\t\t\t// Now we can set the provided path\n\t\t\t\tVue.set(this[payload.service], payload.path, payload.fileid)\n\t\t\t},\n\t\t}\n\t})\n\n\tconst pathsStore = store()\n\t// Make sure we only register the listeners once\n\tif (!pathsStore._initialized) {\n\t\t// TODO: watch folders to update paths?\n\t\t// subscribe('files:node:created', pathsStore.onCreatedNode)\n\t\t// subscribe('files:node:deleted', pathsStore.onDeletedNode)\n\t\t// subscribe('files:node:moved', pathsStore.onMovedNode)\n\n\t\tpathsStore._initialized = true\n\t}\n\n\treturn pathsStore\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia'\nimport Vue from 'vue'\nimport { FileId, SelectionStore } from '../types'\n\nexport const useSelectionStore = defineStore('selection', {\n\tstate: () => ({\n\t\tselected: [],\n\t\tlastSelection: [],\n\t\tlastSelectedIndex: null,\n\t} as SelectionStore),\n\n\tactions: {\n\t\t/**\n\t\t * Set the selection of fileIds\n\t\t */\n\t\tset(selection = [] as FileId[]) {\n\t\t\tVue.set(this, 'selected', selection)\n\t\t},\n\n\t\t/**\n\t\t * Set the last selected index\n\t\t */\n\t\tsetLastIndex(lastSelectedIndex = null as FileId | null) {\n\t\t\t// Update the last selection if we provided a new selection starting point\n\t\t\tVue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : [])\n\t\t\tVue.set(this, 'lastSelectedIndex', lastSelectedIndex)\n\t\t},\n\n\t\t/**\n\t\t * Reset the selection\n\t\t */\n\t\treset() {\n\t\t\tVue.set(this, 'selected', [])\n\t\t\tVue.set(this, 'lastSelection', [])\n\t\t\tVue.set(this, 'lastSelectedIndex', null)\n\t\t}\n\t}\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{attrs:{\"data-cy-files-content-breadcrumbs\":\"\"}},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"aria-label\":_vm.ariaLabel(section),\"title\":_vm.ariaLabel(section)},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('Home',{attrs:{\"size\":20}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.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!./BreadCrumbs.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=68b3b20b&scoped=true&\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\"\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 \"68b3b20b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('RecycleScroller',{ref:\"recycleScroller\",staticClass:\"files-list\",attrs:{\"key-field\":\"source\",\"items\":_vm.nodes,\"item-size\":55,\"table-mode\":true,\"item-class\":\"files-list__row\",\"item-tag\":\"tr\",\"list-class\":\"files-list__body\",\"list-tag\":\"tbody\",\"role\":\"table\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ item, active, index }){return [_c('FileEntry',{attrs:{\"active\":active,\"index\":index,\"is-size-available\":_vm.isSizeAvailable,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":item}})]}},{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.currentView.caption || '')+\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('FilesListHeader',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"after\",fn:function(){return [_c('FilesListFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\n// The preview service worker cache name (see webpack config)\nconst SWCacheName = 'previews'\n\n/**\n * Check if the preview is already cached by the service worker\n */\nexport const isCachedPreview = function(previewUrl: string) {\n\treturn caches.open(SWCacheName)\n\t\t.then(function(cache) {\n\t\t\treturn cache.match(previewUrl)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\treturn !!response\n\t\t\t\t})\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia'\nimport type { ActionsMenuStore } from '../types'\n\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n\tstate: () => ({\n\t\topened: null,\n\t} as ActionsMenuStore),\n})\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia'\nimport Vue from 'vue'\n\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = () => {\n\tconst store = defineStore('keyboard', {\n\t\tstate: () => ({\t\t\t\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false,\n\t\t\tshiftKey: false,\n\t\t}),\n\n\t\tactions: {\n\t\t\tonEvent(event: MouseEvent | KeyboardEvent) {\n\t\t\t\tif (!event) {\n\t\t\t\t\tevent = window.event as MouseEvent | KeyboardEvent\n\t\t\t\t}\n\t\t\t\tVue.set(this, 'altKey', !!event.altKey)\n\t\t\t\tVue.set(this, 'ctrlKey', !!event.ctrlKey)\n\t\t\t\tVue.set(this, 'metaKey', !!event.metaKey)\n\t\t\t\tVue.set(this, 'shiftKey', !!event.shiftKey)\n\t\t\t},\n\t\t}\n\t})\n\n\tconst keyboardStore = store()\n\t// Make sure we only register the listeners once\n\tif (!keyboardStore._initialized) {\n\t\twindow.addEventListener('keydown', keyboardStore.onEvent)\n\t\twindow.addEventListener('keyup', keyboardStore.onEvent)\n\t\twindow.addEventListener('mousemove', keyboardStore.onEvent)\n\n\t\tkeyboardStore._initialized = true\n\t}\n\n\treturn keyboardStore\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.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!./CustomElementRender.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=a261c93e&\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"custom-svg-icon\"})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.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!./CustomSvgIconRender.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomSvgIconRender.vue?vue&type=template&id=93e9b2f4&scoped=true&\"\nimport script from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\"\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 \"93e9b2f4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FileEntry.vue?vue&type=style&index=0&id=47057834&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FileEntry.vue?vue&type=style&index=0&id=47057834&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=47057834&prod&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=47057834&prod&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=47057834&scoped=true&\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FileEntry.vue?vue&type=style&index=0&id=47057834&prod&scoped=true&lang=scss&\"\nimport style1 from \"./FileEntry.vue?vue&type=style&index=1&id=47057834&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47057834\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('td',{staticClass:\"files-list__row-checkbox\"},[(_vm.active)?_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.t('files', 'Select the row for {displayName}', { displayName: _vm.displayName }),\"checked\":_vm.selectedFiles,\"value\":_vm.fileid,\"name\":\"selectedFiles\"},on:{\"update:checked\":_vm.onSelectionChange}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('a',_vm._b({ref:\"name\"},'a',_vm.linkTo,false),[_c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?_c('FolderIcon'):(_vm.previewUrl && !_vm.backgroundFailed)?_c('span',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",style:({ backgroundImage: _vm.backgroundImage })}):(_vm.mimeIconUrl)?_c('span',{staticClass:\"files-list__row-icon-preview files-list__row-icon-preview--mime\",style:({ backgroundImage: _vm.mimeIconUrl })}):_c('FileIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-text\"},[_vm._v(_vm._s(_vm.displayName))])])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\",class:`files-list__row-actions-${_vm.uniqueId}`},[(_vm.active)?_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":_vm.source._loading,\"force-title\":true,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-action-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.displayName([_vm.source], _vm.currentView))+\"\\n\\t\\t\\t\")])}),1):_vm._e()],1),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:({ opacity: _vm.sizeOpacity })},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`},[(_vm.active)?_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}}):_vm._e()],1)})],2)\n}\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!./FilesListFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListFooter.vue?vue&type=template&id=e6a083be&scoped=true&\"\nimport script from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e6a083be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nimport Vue from 'vue'\n\nexport default Vue.extend({\n\tdata() {\n\t\treturn {\n\t\t\tfilesListWidth: null as number | null,\n\t\t}\n\t},\n\tcreated() {\n\t\tconst fileListEl = document.querySelector('#app-content-vue')\n\t\tthis.$resizeObserver = new ResizeObserver((entries) => {\n\t\t\tif (entries.length > 0 && entries[0].target === fileListEl) {\n\t\t\t\tthis.filesListWidth = entries[0].contentRect.width\n\t\t\t}\n\t\t})\n\t\tthis.$resizeObserver.observe(fileListEl as Element)\n\t},\n\tbeforeDestroy() {\n\t\tthis.$resizeObserver.disconnect()\n\t},\n})\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesListHeaderActions.vue?vue&type=style&index=0&id=9d92da06&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesListHeaderActions.vue?vue&type=style&index=0&id=9d92da06&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderActions.vue?vue&type=template&id=9d92da06&scoped=true&\"\nimport script from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderActions.vue?vue&type=style&index=0&id=9d92da06&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9d92da06\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('th',{staticClass:\"files-list__column files-list__row-actions-batch\",attrs:{\"colspan\":\"2\"}},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-title\":true,\"inline\":_vm.inlineActions,\"menu-title\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{staticClass:\"files-list__column-sort-button\",class:{'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode},attrs:{\"aria-label\":_vm.sortAriaLabel(_vm.name),\"type\":\"tertiary\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy(_vm.mode)}}},[(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('MenuDown',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\"\\n\\t\"+_vm._s(_vm.name)+\"\\n\")],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\nimport Vue from 'vue'\n\nimport { useViewConfigStore } from '../store/viewConfig'\nimport type { Navigation } from '../services/Navigation'\n\nexport default Vue.extend({\n\tsetup() {\n\t\tconst viewConfigStore = useViewConfigStore()\n\t\treturn {\n\t\t\tviewConfigStore,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcurrentView(): Navigation {\n\t\t\treturn this.$navigation.active\n\t\t},\n\n\t\t/**\n\t\t * Get the sorting mode for the current view\n\t\t */\n\t\tsortingMode(): string {\n\t\t\treturn this.viewConfigStore.getConfig(this.currentView.id)?.sorting_mode\n\t\t\t\t|| this.currentView?.defaultSortKey\n\t\t\t\t|| 'basename'\n\t\t},\n\n\t\t/**\n\t\t * Get the sorting direction for the current view\n\t\t */\n\t\tisAscSorting(): boolean {\n\t\t\tconst sortingDirection = this.viewConfigStore.getConfig(this.currentView.id)?.sorting_direction\n\t\t\treturn sortingDirection === 'asc'\n\t\t},\n\t},\n\n\tmethods: {\n\t\ttoggleSortBy(key: string) {\n\t\t\t// If we're already sorting by this key, flip the direction\n\t\t\tif (this.sortingMode === key) {\n\t\t\t\tthis.viewConfigStore.toggleSortingDirection(this.currentView.id)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// else sort ASC by this new key\n\t\t\tthis.viewConfigStore.setSortingBy(key, this.currentView.id)\n\t\t},\n\t},\n})\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderButton.vue?vue&type=template&id=e85a09d2&\"\nimport script from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesListHeader.vue?vue&type=style&index=0&id=53698ce8&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesListHeader.vue?vue&type=style&index=0&id=53698ce8&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=53698ce8&scoped=true&\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeader.vue?vue&type=style&index=0&id=53698ce8&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"53698ce8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\"},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),(!_vm.isNoneSelected)?_c('FilesListHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}}):[_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy('basename')}}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{'files-list__column--sortable': _vm.isSizeAvailable}},[_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[(!!column.sort)?_c('FilesListHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\\t\")])],1)})]],2)\n}\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!./FilesListVirtual.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesListVirtual.vue?vue&type=style&index=0&id=07b86e54&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesListVirtual.vue?vue&type=style&index=0&id=07b86e54&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=07b86e54&scoped=true&\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=07b86e54&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"07b86e54\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../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!./FilesList.vue?vue&type=style&index=0&id=77548daf&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../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!./FilesList.vue?vue&type=style&index=0&id=77548daf&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=77548daf&scoped=true&\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=77548daf&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77548daf\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport { stringify } from 'query-string'\n\nVue.use(Router)\n\nconst router = new Router({\n\tmode: 'history',\n\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl('/apps/files', ''),\n\tlinkActiveClass: 'active',\n\n\troutes: [\n\t\t{\n\t\t\tpath: '/',\n\t\t\t// Pretending we're using the default view\n\t\t\talias: '/files',\n\t\t},\n\t\t{\n\t\t\tpath: '/:view/:fileid?',\n\t\t\tname: 'filelist',\n\t\t\tprops: true,\n\t\t},\n\t],\n\n\t// Custom stringifyQuery to prevent encoding of slashes in the url\n\tstringifyQuery(query) {\n\t\tconst result = stringify(query).replace(/%2F/gmi, '/')\n\t\treturn result ? ('?' + result) : ''\n\t},\n})\n\nexport default router\n","import './templates.js'\nimport './legacy/filelistSearch.js'\nimport './actions/deleteAction.ts'\n\nimport processLegacyFilesViews from './legacy/navigationMapper.js'\n\nimport Vue from 'vue'\nimport { createPinia, PiniaVuePlugin } from 'pinia'\n\nimport NavigationService from './services/Navigation.ts'\nimport registerPreviewServiceWorker from './services/ServiceWorker.js'\n\nimport NavigationView from './views/Navigation.vue'\nimport FilesListView from './views/FilesList.vue'\n\nimport SettingsService from './services/Settings.js'\nimport SettingsModel from './models/Setting.js'\n\nimport router from './router/router.js'\n\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {}\nwindow.OCP.Files = window.OCP.Files ?? {}\n\n// Init Pinia store\nVue.use(PiniaVuePlugin)\nconst pinia = createPinia()\n\n// Init Navigation Service\nconst Navigation = new NavigationService()\nObject.assign(window.OCP.Files, { Navigation })\nVue.prototype.$navigation = Navigation\n\n// Init Files App Settings Service\nconst Settings = new SettingsService()\nObject.assign(window.OCA.Files, { Settings })\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel })\n\n// Init Navigation View\nconst View = Vue.extend(NavigationView)\nconst FilesNavigationRoot = new View({\n\tname: 'FilesNavigationRoot',\n\tpropsData: {\n\t\tNavigation,\n\t},\n\trouter,\n\tpinia,\n})\nFilesNavigationRoot.$mount('#app-navigation-files')\n\n// Init content list view\nconst ListView = Vue.extend(FilesListView)\nconst FilesList = new ListView({\n\tname: 'FilesListRoot',\n\trouter,\n\tpinia,\n})\nFilesList.$mount('#app-content-vue')\n\n// Init legacy files views\nprocessLegacyFilesViews()\n\n// Register preview service worker\nregisterPreviewServiceWorker()\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 .\n *\n */\nimport { generateUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport default () => {\n\tif ('serviceWorker' in navigator) {\n\t\t// Use the window load event to keep the page load performant\n\t\twindow.addEventListener('load', async () => {\n\t\t\ttry {\n\t\t\t\tconst url = generateUrl('/apps/files/preview-service-worker.js', {}, { noRewrite: true })\n\t\t\t\tconst registration = await navigator.serviceWorker.register(url, { scope: '/' })\n\t\t\t\tlogger.debug('SW registered: ', { registration })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('SW registration failed: ', { error })\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlogger.debug('Service Worker is not enabled on this browser.')\n\t}\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".breadcrumb[data-v-68b3b20b]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-68b3b20b] a{cursor:pointer !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA\",\"sourcesContent\":[\"\\n.breadcrumb {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\n\\t::v-deep a {\\n\\t\\tcursor: pointer !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-svg-icon[data-v-93e9b2f4]{display:flex;align-items:center;align-self:center;justify-content:center;justify-self:center;width:44px;height:44px;opacity:1}.custom-svg-icon[data-v-93e9b2f4] svg{height:22px;width:22px;fill:currentColor}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/CustomSvgIconRender.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,sBAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,sCAGC,WAAA,CACA,UAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.custom-svg-icon {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\talign-self: center;\\n\\tjustify-content: center;\\n\\tjustify-self: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t::v-deep svg {\\n\\t\\t// mdi icons have a size of 24px\\n\\t\\t// 22px results in roughly 16px inner size\\n\\t\\theight: 22px;\\n\\t\\twidth: 22px;\\n\\t\\tfill: currentColor;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-47057834]:hover,tr[data-v-47057834]:focus,tr[data-v-47057834]:active{background-color:var(--color-background-dark)}.files-list__row-icon-preview[data-v-47057834]:not([style*=background]){background:var(--color-loading-dark)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\"AAGC,+EAGC,6CAAA,CAKF,wEACI,oCAAA\",\"sourcesContent\":[\"\\n/* Hover effect on tbody lines only */\\ntr {\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n/* Preview not loaded animation effect */\\n.files-list__row-icon-preview:not([style*='background']) {\\n background: var(--color-loading-dark);\\n\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-e6a083be]{padding-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}td[data-v-e6a083be]{user-select:none;color:var(--color-text-maxcontrast) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,oBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAGD,oBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tpadding-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n}\\n\\ntd {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column[data-v-53698ce8]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-53698ce8]{cursor:pointer}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__row-actions-batch[data-v-9d92da06]{flex:1 1 100% !important}.files-list__row-actions-batch[data-v-9d92da06] .button-vue__wrapper{width:100%}.files-list__row-actions-batch[data-v-9d92da06] .button-vue__wrapper span.button-vue__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CAGA,qEACC,UAAA,CACA,2FACC,eAAA,CACA,sBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t::v-deep .button-vue__wrapper {\\n\\t\\twidth: 100%;\\n\\t\\tspan.button-vue__text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column-sort-button{margin:0 calc(var(--cell-margin)*-1);padding:0 4px 0 16px !important}.files-list__column-sort-button .button-vue__wrapper{flex-direction:row-reverse;width:100%}.files-list__column-sort-button .button-vue__icon{transition-timing-function:linear;transition-duration:.1s;transition-property:opacity;opacity:0}.files-list__column-sort-button .button-vue__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list__column-sort-button--active .button-vue__icon,.files-list__column-sort-button:hover .button-vue__icon,.files-list__column-sort-button:focus .button-vue__icon,.files-list__column-sort-button:active .button-vue__icon{opacity:1 !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,gCAEC,oCAAA,CAEA,+BAAA,CAGA,qDACC,0BAAA,CAGA,UAAA,CAGD,kDACC,iCAAA,CACA,uBAAA,CACA,2BAAA,CACA,SAAA,CAID,kDACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAOA,mOACC,oBAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\t// Reverse padding\\n\\tpadding: 0 4px 0 16px !important;\\n\\n\\t// Icon after text\\n\\t.button-vue__wrapper {\\n\\t\\tflex-direction: row-reverse;\\n\\t\\t// Take max inner width for text overflow ellipsis\\n\\t\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.button-vue__icon {\\n\\t\\ttransition-timing-function: linear;\\n\\t\\ttransition-duration: .1s;\\n\\t\\ttransition-property: opacity;\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t.button-vue__text {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&--active,\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\t.button-vue__icon {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list[data-v-07b86e54]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;display:block;overflow:auto;height:100%}.files-list[data-v-07b86e54] tbody,.files-list[data-v-07b86e54] .vue-recycle-scroller__slot{display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-07b86e54] .vue-recycle-scroller__slot[role=thead]{position:sticky;z-index:10;top:0;height:var(--row-height);background-color:var(--color-main-background)}.files-list[data-v-07b86e54] tr{position:absolute;display:flex;align-items:center;width:100%;border-bottom:1px solid var(--color-border)}.files-list[data-v-07b86e54] td,.files-list[data-v-07b86e54] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-07b86e54] td span,.files-list[data-v-07b86e54] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-07b86e54] .files-list__row-checkbox{justify-content:center}.files-list[data-v-07b86e54] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-07b86e54] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-07b86e54] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-07b86e54] .files-list__row-icon{display:flex;align-items:center;justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element);flex:0 0 var(--icon-preview-size)}.files-list[data-v-07b86e54] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-07b86e54] .files-list__row-icon svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-07b86e54] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center;background-size:contain}.files-list[data-v-07b86e54] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-07b86e54] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%}.files-list[data-v-07b86e54] .files-list__row-name a:focus .files-list__row-name-text,.files-list[data-v-07b86e54] .files-list__row-name a:focus-visible .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-07b86e54] .files-list__row-name .files-list__row-name-text{padding:5px 10px;margin-left:-10px}.files-list[data-v-07b86e54] .files-list__row-actions{width:auto}.files-list[data-v-07b86e54] .files-list__row-actions~td,.files-list[data-v-07b86e54] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-07b86e54] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-07b86e54] .files-list__row-actions button:not(:hover,:focus,:active) .button-vue__wrapper{color:var(--color-text-maxcontrast)}.files-list[data-v-07b86e54] .files-list__row-size{justify-content:flex-end;width:calc(var(--row-height)*1.5);color:var(--color-main-text)}.files-list[data-v-07b86e54] .files-list__row-size .files-list__column-sort-button{padding:0 16px 0 4px !important}.files-list[data-v-07b86e54] .files-list__row-size .files-list__column-sort-button .button-vue__wrapper{flex-direction:row}.files-list[data-v-07b86e54] .files-list__row-column-custom{width:calc(var(--row-height)*2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,aAAA,CACA,WAAA,CAIC,4FACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAID,qEAEC,eAAA,CACA,UAAA,CACA,KAAA,CACA,wBAAA,CACA,6CAAA,CAGD,gCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,2CAAA,CAGD,gEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,0EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,sBAAA,CACA,8EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,iHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,2GACC,mBAAA,CAKH,mDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAEA,iCAAA,CAEA,wDACC,0BAAA,CAGD,uDACC,8BAAA,CACA,+BAAA,CAGD,2DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CACA,2BAAA,CAEA,0BAAA,CACA,uBAAA,CAIF,mDAEC,eAAA,CAEA,aAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAGA,oLAEC,mDAAA,CACA,kBAAA,CAIF,8EAEC,gBAAA,CACA,iBAAA,CAIF,sDACC,UAAA,CAGA,kHAEC,2BAAA,CAIA,+EAEC,kBAAA,CAED,6GAEC,mCAAA,CAKH,mDAEC,wBAAA,CACA,iCAAA,CAEA,4BAAA,CAGA,mFACC,+BAAA,CACA,wGACC,kBAAA,CAKH,4DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&::v-deep {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody, .vue-recycle-scroller__slot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.vue-recycle-scroller__slot[role='thead'] {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text,\\n\\t\\t\\t\\t&:focus-visible .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:hover, :focus, :active) .button-vue__wrapper {\\n\\t\\t\\t\\t\\t// Also apply color-text-maxcontrast to non-active button\\n\\t\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-size {\\n\\t\\t\\t// Right align text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// opacity varies with the size\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\t\\t// Icon is before text since size is right aligned\\n\\t\\t\\t.files-list__column-sort-button {\\n\\t\\t\\t\\tpadding: 0 16px 0 4px !important;\\n\\t\\t\\t\\t.button-vue__wrapper {\\n\\t\\t\\t\\t\\tflex-direction: row;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation-entry__settings-quota--not-unlimited[data-v-918797b2] .app-navigation-entry__title{margin-top:-4px}.app-navigation-entry__settings-quota progress[data-v-918797b2]{position:absolute;bottom:10px;margin-left:44px;width:calc(100% - 44px - 22px)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,mGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__title {\\n\\t\\tmargin-top: -4px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 10px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".template-picker__item[data-v-6c072a31]{display:flex}.template-picker__label[data-v-6c072a31]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-6c072a31],.template-picker__label *[data-v-6c072a31]{cursor:pointer;user-select:none}.template-picker__label[data-v-6c072a31]::before{display:none !important}.template-picker__preview[data-v-6c072a31]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-6c072a31]{border-color:var(--color-primary)}.template-picker__preview--failed[data-v-6c072a31]{display:flex}.template-picker__image[data-v-6c072a31]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-6c072a31]{width:calc(var(--margin)*8);margin:auto;background-color:rgba(0,0,0,0) !important;object-fit:initial}.template-picker__title[data-v-6c072a31]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAGC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,iCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,yCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-content[data-v-77548daf]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-content[data-v-77548daf]:not(.app-content--hidden)+#app-content{display:none}.files-list__header[data-v-77548daf]{display:flex;align-content:center;flex:0 0;margin:4px 4px 4px 50px}.files-list__header>*[data-v-77548daf]{flex:0 0}.files-list__refresh-icon[data-v-77548daf]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-77548daf]{margin:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAIA,qEACC,YAAA,CAQD,qCACC,YAAA,CACA,oBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,uCAGC,QAAA,CAGF,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAED,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\n\\t// TODO: remove after all legacy views are migrated\\n\\t// Hides the legacy app-content if shown view is not legacy\\n\\t&:not(&--hidden)::v-deep + #app-content {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n$margin: 4px;\\n$navigationToggleSize: 50px;\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-content: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin: $margin $margin $margin $navigationToggleSize;\\n\\t\\t> * {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\t}\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation[data-v-508e08a4] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation>ul.app-navigation__list[data-v-508e08a4]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-508e08a4]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".setting-link[data-v-76ca5d1f]:hover{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".templates-picker__form[data-v-715b4161]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-715b4161]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-715b4161]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-715b4161]{display:flex;justify-content:space-between;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-715b4161],.templates-picker__buttons input[type=submit][data-v-715b4161]{height:44px}.templates-picker[data-v-715b4161] .modal-container{position:relative}.templates-picker__loading[data-v-715b4161]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAEC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,6BAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,oDACC,iBAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n/* @keyframes preview-gradient-fade {\\n 0% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n 100% {\\n opacity: 1;\\n }\\n} */\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\";AAmjBA;;;;;;;;;;GAUA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2181;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2181: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(18482)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","getCurrentDirectory","currentDirInfo","OCA","Files","App","currentFileList","dirInfo","path","name","replace","previewWidth","inheritAttrs","props","basename","type","required","checked","default","fileid","filename","previewUrl","hasPreview","mime","ratio","data","failedPreview","computed","nameWithoutExt","id","realPreviewUrl","getCurrentUser","document","getElementById","value","pathSections","startsWith","split","relativePath","forEach","section","encodeURIComponent","mimeIcon","methods","onCheck","onFailure","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_c","_self","staticClass","attrs","domProps","on","_v","class","_s","components","NcEmptyContent","NcModal","TemplatePreview","logger","loading","opened","provider","emptyTemplate","selectedTemplate","style","margin","async","axios","generateOcsUrl","ocs","close","extension","filePath","templatePath","templateType","normalize","filesClient","fileAction","$file","dir","fileList","fileActions","fileInfoModel","console","showError","$event","preventDefault","stopPropagation","onSubmit","apply","arguments","t","_b","_l","templates","template","key","_e","getLoggerBuilder","setApp","detectUser","build","Vue","n","TemplatePickerRoot","createElement","body","appendChild","loadState","templatesPath","debug","TemplatePicker","TemplatePickerView","propsData","$mount","window","addEventListener","initTemplatesPlugin","attach","menu","addMenuEntry","displayName","templateName","iconClass","fileType","actionHandler","initTemplatesFolder","removeMenuEntry","OC","Plugins","register","index","newTemplatePlugin","app","label","open","response","copySystemTemplates","changeDirectory","template_path","error","FilesPlugin","subscribe","query","setFilter","getFileActions","_nc_fileactions","action","constructor","validateAction","_action","iconSvgInline","enabled","exec","execBatch","order","inline","renderInline","Error","nodes","view","TrashCan","length","map","node","permissions","every","permission","Permission","source","emit","Promise","all","find","search","push","registerLegacyView","icon","parent","classes","expanded","params","OCP","Navigation","legacy","sticky","includes","isValidNavigation","isUniqueNavigation","_views","e","message","views","setActive","_currentView","active","getContents","isSvg","columns","isValidColumn","emptyView","defaultSortKey","column","title","render","sort","summary","viewConfig","useViewConfigStore","viewConfigStore","defineStore","state","getters","getConfig","actions","onUpdate","generateUrl","setSortingBy","update","toggleSortingDirection","newDirection","sorting_direction","store","_initialized","ChartPie","NcAppNavigationItem","NcProgressBar","loadingStorageStats","storageStats","storageStatsTitle","usedQuotaByte","used","quota","storageStatsTooltip","beforeMount","setInterval","debounceUpdateStorageStats","throttleUpdateStorageStats","slot","relative","Math","min","el","mounted","userConfig","show_hidden","crop_image_previews","useUserConfigStore","userConfigStore","Clipboard","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcInputField","Setting","setup","settings","webdavUrl","webdavDocs","appPasswordUrl","webdavUrlCopied","beforeDestroy","onClose","setConfig","showSuccess","setTimeout","setting","target","select","copyCloudId","scopedSlots","_u","fn","proxy","Cog","NavigationQuota","NcAppNavigation","NcIconSvgWrapper","SettingsModal","settingsOpened","currentViewId","currentView","parentViews","filter","childViews","reduce","list","watch","showView","newAppContent","itemId","heading","headingEl","textContent","setPageHeading","onLegacyNavigationChanged","onToggleExpand","isExpanded","generateToNavigation","openSettings","onSettingsClose","child","useFilesStore","fileStore","files","roots","getNode","getNodes","ids","Boolean","getRoot","service","updateNodes","acc","attributes","deleteNodes","setRoot","root","onDeletedNode","usePathsStore","pathsStore","getPath","addPath","payload","useSelectionStore","selected","lastSelection","lastSelectedIndex","set","selection","setLastIndex","reset","Home","NcBreadcrumbs","NcBreadcrumb","filesStore","dirs","sections","exact","to","getNodeFromId","getFileIdFromPath","getDirDisplayName","onClick","ariaLabel","_setupProxy","nativeOn","useActionsMenuStore","useKeyboardStore","keyboardStore","altKey","ctrlKey","metaKey","shiftKey","onEvent","event","element","svg","CustomElementRender","CustomSvgIconRender","FileIcon","FolderIcon","Fragment","NcActionButton","NcActions","NcLoadingIcon","isSizeAvailable","filesListWidth","actionsMenuStore","selectionStore","backgroundFailed","backgroundImage","size","sizeOpacity","linkTo","is","href","selectedFiles","isSelected","cropPreviews","url","mimeIconUrl","enabledActions","enabledInlineActions","enabledMenuActions","uniqueId","openedMenu","get","caches","then","cache","match","fetchAndApplyPreview","img","resolve","reject","onCancel","resetState","clearImg","hashCode","hash","onSelectionChange","slice","start","end","filesToSelect","isAlreadySelected","onRightClick","formatFileSize","ref","_loading","onActionClick","opacity","currentFolder","totalSize","classForColumn","created","fileListEl","querySelector","$resizeObserver","ResizeObserver","entries","contentRect","width","observe","disconnect","mixins","filesListWidthMixin","selectedNodes","areSomeNodesLoading","inlineActions","$navigation","sortingMode","sorting_mode","isAscSorting","toggleSortBy","MenuDown","MenuUp","NcButton","filesSortingMixin","mode","sortAriaLabel","direction","FilesListHeaderButton","FilesListHeaderActions","selectAllBind","indeterminate","isAllSelected","isNoneSelected","isSomeSelected","onToggleAll","RecycleScroller","FileEntry","FilesListHeader","FilesListFooter","summaryFile","count","summaryFolder","slots","getFileId","item","caption","BreadCrumbs","FilesListVirtual","NcAppContent","promise","dirContents","v","isEmptyDir","isRefreshing","toPreviousDir","newView","oldView","newDir","oldDir","folder","contents","folders","directives","rawName","expression","fetchContent","Router","base","linkActiveClass","routes","alias","stringifyQuery","result","stringify","PiniaVuePlugin","pinia","createPinia","NavigationService","Object","assign","Settings","_settings","_name","_el","_open","_close","NavigationView","router","FilesListView","legacyViews","values","sublist","subview","processLegacyFilesViews","navigator","noRewrite","registration","serviceWorker","scope","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","keys","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","baseURI","self","location","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","bind","nc","__webpack_exports__"],"sourceRoot":""}