summaryrefslogtreecommitdiffstats
path: root/js/photos-2.js.map
diff options
context:
space:
mode:
authorCorentin Mors <corentin.mors@dashlane.com>2020-10-15 11:20:56 +0200
committerCorentin Mors <corentin.mors@dashlane.com>2020-10-15 13:03:12 +0200
commit7a867da0512094c005f98f1931b10000aad2375d (patch)
tree9cd0927d1e94b09b4f6ccafa15ca3cf429d8d579 /js/photos-2.js.map
parent7b307cb65f7bda48e96aae16ae27f9ecff6939bc (diff)
Fully migrate to the new Virtual Grid
Signed-off-by: Corentin Mors <corentin.mors@dashlane.com>
Diffstat (limited to 'js/photos-2.js.map')
-rw-r--r--js/photos-2.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/js/photos-2.js.map b/js/photos-2.js.map
index 8b0c207e..9be57090 100644
--- a/js/photos-2.js.map
+++ b/js/photos-2.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/components/EmptyContent.vue?c8bc","webpack:///./src/components/Navigation.vue?db22","webpack:///./src/utils/CancelableRequest.js","webpack:///src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?ff18","webpack:///./src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?9bb1","webpack:///./src/components/Navigation.vue?0cf3","webpack:///./src/components/Navigation.vue?4411","webpack:///src/components/Navigation.vue","webpack:///./src/components/Navigation.vue","webpack:///./src/assets/Illustrations lazy ^\\.\\/.*\\.svg$ namespace object","webpack:///./src/components/EmptyContent.vue?eb40","webpack:///./src/components/EmptyContent.vue?6200","webpack:///./src/components/FolderTagPreview.vue?8e69","webpack:///./src/components/File.vue?ae64","webpack:///./src/components/Grid.vue?7d7a","webpack:///./src/components/Navigation.vue?74c4","webpack:///./src/components/Navigation.vue?f149","webpack:///./src/components/File.vue?08c2","webpack:///./src/components/File.vue?c451","webpack:///src/components/File.vue","webpack:///./src/components/File.vue","webpack:///./src/components/Grid.vue?be98","webpack:///./src/components/Grid.vue?b7c0","webpack:///src/components/Grid.vue","webpack:///./src/components/Grid.vue","webpack:///./src/components/FolderTagPreview.vue?737d","webpack:///./src/components/FolderTagPreview.vue?c186","webpack:///src/components/FolderTagPreview.vue","webpack:///./src/components/FolderTagPreview.vue","webpack:///./src/components/FolderTagPreview.vue?d99b","webpack:///./src/components/FolderTagPreview.vue?3325","webpack:///./src/components/File.vue?d8e3","webpack:///./src/components/File.vue?594a","webpack:///./src/components/Grid.vue?6d01","webpack:///./src/components/Grid.vue?22fe"],"names":["api","content","__esModule","default","module","i","options","exports","locals","CancelableRequest","request","cancelToken","axios","CancelToken","source","url","Object","assign","token","cancel","component","_vm","this","_h","$createElement","_c","_self","staticClass","domProps","_s","illustration","_v","_t","directives","name","rawName","value","$slots","expression","_e","class","isRoot","attrs","on","folderUp","backToText","showActions","showSidebar","t","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","___CSS_LOADER_EXPORT___","push","loaded","davPath","ariaLabel","$event","preventDefault","openViewer","mime","includes","hasPreview","ref","src","basename","ariaUuid","onLoad","key","isEmpty","to","previewList","_l","file","fileid","generateImgSrc","onPreviewFail","icon"],"mappings":"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","file":"photos-2.js?v=072ce51b23cae790d00e","sourcesContent":["var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=4c3113d6&lang=scss&scoped=true&\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\n\n/**\n * Create a cancel token\n * @returns {CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {function} request the axios promise request\n * @returns {Object}\n */\nconst CancelableRequest = function(request) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {Object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\treturn request(\n\t\t\turl,\n\t\t\tObject.assign({ cancelToken: cancelToken.token }, options)\n\t\t)\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\nexport default CancelableRequest\n","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div v-if=\"isReady\" class=\"emptycontent\">\n\t\t<!-- eslint-disable-next-line vue/no-v-html (because it's an SVG file) -->\n\t\t<div v-if=\"haveIllustration\" class=\"illustration\" v-html=\"illustration\" />\n\t\t<div v-else class=\"icon-error\" />\n\t\t<h2><slot /></h2>\n\t\t<p v-show=\"$slots.desc\">\n\t\t\t<slot name=\"desc\" />\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'EmptyContent',\n\tprops: {\n\t\tillustrationName: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tillustration: '',\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Does this component have an illustration\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\thaveIllustration() {\n\t\t\treturn this.illustrationName !== ''\n\t\t},\n\n\t\t/**\n\t\t * Is the illustration loaded\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisLoaded() {\n\t\t\tif (!this.haveIllustration) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn this.illustration !== ''\n\t\t},\n\n\t\t/**\n\t\t * The component is ready if the illustration\n\t\t * is done loading or if there is none\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisReady() {\n\t\t\treturn !this.haveIllustration || (this.haveIllustration && this.isLoaded)\n\t\t},\n\t},\n\n\t/**\n\t * Fetch the new illustration as soon as it changes\n\t */\n\twatch: {\n\t\tillustrationName() {\n\t\t\tthis.getIllustration()\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.getIllustration()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch the illustration as webpack chunk\n\t\t */\n\t\tasync getIllustration() {\n\t\t\tthis.illustration = ''\n\t\t\tif (this.illustrationName !== '') {\n\t\t\t\ttry {\n\t\t\t\t\tconst illustration = await import(`../assets/Illustrations/${this.illustrationName}.svg`)\n\t\t\t\t\tthis.illustration = illustration.default\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Could not get the error illustration', error)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\">\n.emptycontent {\n\t// span all the available columns\n\tgrid-column: 1/-1;\n\tmargin-top: 20vh;\n}\n\n.illustration {\n\tmin-width: 200px;\n\tmax-width: 15%;\n\twidth: 300px;\n\tmargin: auto;\n\tmargin-bottom: 20px;\n\tposition: relative;\n\n\tsvg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-height: 40vh;\n\t}\n\n\t// change colour of illustration\n\t[fill*='6c63ff'] {\n\t\tfill: var(--color-primary-element);\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.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!./EmptyContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmptyContent.vue?vue&type=template&id=5881a110&\"\nimport script from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nexport * from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmptyContent.vue?vue&type=style&index=0&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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('div',{staticClass:\"emptycontent\"},[(_vm.haveIllustration)?_c('div',{staticClass:\"illustration\",domProps:{\"innerHTML\":_vm._s(_vm.illustration)}}):_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._t(\"default\")],2),_vm._v(\" \"),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$slots.desc),expression:\"$slots.desc\"}]},[_vm._t(\"desc\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"photos-navigation\",class:{'photos-navigation--root': _vm.isRoot},attrs:{\"role\":\"toolbar\"}},[(!_vm.isRoot)?_c('Actions',{staticClass:\"photos-navigation__back\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-confirm\"},on:{\"click\":_vm.folderUp}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.backToText)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('h2',{staticClass:\"photos-navigation__title\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.isRoot && _vm.showActions)?_c('Actions',{staticClass:\"photos-navigation__share\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-shared\"},on:{\"click\":_vm.showSidebar}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Share this folder'))+\"\\n\\t\\t\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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 - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :class=\"{'photos-navigation--root': isRoot}\" class=\"photos-navigation\" role=\"toolbar\">\n\t\t<Actions v-if=\"!isRoot\" class=\"photos-navigation__back\">\n\t\t\t<ActionButton\n\t\t\t\ticon=\"icon-confirm\"\n\t\t\t\t@click=\"folderUp\">\n\t\t\t\t{{ backToText }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t\t<h2 class=\"photos-navigation__title\">\n\t\t\t{{ name }}\n\t\t</h2>\n\t\t<Actions v-if=\"!isRoot && showActions\" class=\"photos-navigation__share\">\n\t\t\t<ActionButton\n\t\t\t\ticon=\"icon-shared\"\n\t\t\t\t@click=\"showSidebar\">\n\t\t\t\t{{ t('photos', 'Share this folder') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t</div>\n</template>\n\n<script>\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nexport default {\n\tname: 'Navigation',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tActions,\n\t},\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tbasename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tfilename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tshowActions: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\trootTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: t('photos', 'Photos'),\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisRoot() {\n\t\t\treturn this.filename === '/'\n\t\t},\n\t\tname() {\n\t\t\tif (this.isRoot) {\n\t\t\t\treturn this.rootTitle\n\t\t\t}\n\t\t\treturn this.basename\n\t\t},\n\t\tparentPath() {\n\t\t\tconst path = this.filename.split('/')\n\t\t\tpath.pop()\n\t\t\tconst parent = path.join('/')\n\t\t\treturn this.isRoot || parent.trim() === ''\n\t\t\t\t? '/'\n\t\t\t\t: path.join('/')\n\t\t},\n\t\tparentName() {\n\t\t\treturn this.parentPath && this.parentPath.split('/').pop()\n\t\t},\n\t\tbackToText() {\n\t\t\tif (this.parentPath === '/') {\n\t\t\t\treturn t('photos', 'Back to {folder}', { folder: this.rootTitle })\n\t\t\t}\n\t\t\treturn t('photos', 'Back to {folder}', { folder: this.parentName })\n\t\t},\n\n\t\t/**\n\t\t * We do not want encoded slashes when browsing by folder\n\t\t * so we generate a new valid route object, get the final url back\n\t\t * decode it and use it as a direct string, which vue-router\n\t\t * does not encode afterwards\n\t\t * @returns {string|object}\n\t\t */\n\t\tto() {\n\t\t\t// always remove first slash, the router\n\t\t\t// manage it automatically\n\t\t\tconst regex = /^\\/?(.*)/i\n\t\t\tconst path = regex.exec(this.parentPath)[1]\n\n\t\t\t// apply to current route\n\t\t\tconst { name, params } = Object.assign({}, this.$route, {\n\t\t\t\tparams: { path },\n\t\t\t})\n\n\t\t\t// return the full object as we don't care about\n\t\t\t// an empty path if this is route\n\t\t\tif (path === '') {\n\t\t\t\treturn { name }\n\t\t\t}\n\n\t\t\t// returning a string prevent vue-router to encode it again\n\t\t\treturn decodeURIComponent(this.$router.resolve({ name, params }).resolved.path)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tfolderUp() {\n\t\t\tthis.$router.push(this.to)\n\t\t},\n\t\tshowSidebar() {\n\t\t\tOCA.Files.Sidebar.open(this.filename)\n\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.icon-confirm {\n\ttransform: rotate(180deg)\n}\n\n.photos-navigation {\n\tdisplay: flex;\n\tposition: block;\n\theight: 44px;\n\tpadding: 0 40px;\n\talign-items: center;\n\tmax-width: 100%;\n\t&__title {\n\t\tmargin: 0;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__share {\n\t\tmargin-left: 10px;\n\t}\n\t&__back,\n\t&__share {\n\t\tflex-grow: 0;\n\t\tflex-shrink: 0;\n\t}\n}\n\n// generate variants based on grid sizes\n// TODO: use mixins/GridSizes as soon as node-sass supports it\n// needs node-sass 5.0 (with libsass 3.6)\n// https://github.com/sass/node-sass/pull/2312\n$previous: 0;\n@each $size, $config in get('sizes') {\n\t$marginTop: map-get($config, 'marginTop');\n\t$marginW: map-get($config, 'marginW');\n\n\t// if this is the last entry, only use min-width\n\t$rule: '(min-width: #{$previous}px) and (max-width: #{$size}px)';\n\t@if $size == 'max' {\n\t\t$rule: '(min-width: #{$previous}px)';\n\t}\n\n\t@media #{$rule} {\n\t\t.photos-navigation {\n\t\t\t// we space this with 2/3 margin top, 1/3 margin bottom\n\t\t\ttop: ($marginTop - 44px) * 2 / 3;\n\t\t\t// padding-left: $marginW;\n\t\t\t@if $marginW >= 44px {\n\t\t\t\t&__back {\n\t\t\t\t\tmargin: 0 (($marginW - 44px) / 2);\n\t\t\t\t}\n\t\t\t}\n\t\t\t&--root &__title {\n\t\t\t\tpadding-left: #{$marginW - 44}px;\n\t\t\t}\n\t\t}\n\t}\n\t$previous: $size;\n}\n</style>\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=4c3113d6&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=4c3113d6&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 \"4c3113d6\",\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./empty.svg\": [\n\t\t498,\n\t\t8\n\t],\n\t\"./folder.svg\": [\n\t\t499,\n\t\t9\n\t],\n\t\"./images.svg\": [\n\t\t500,\n\t\t10\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 228;\nmodule.exports = webpackAsyncContext;","import mod from \"-!../../node_modules/style-loader/dist/cjs.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/style-loader/dist/cjs.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".emptycontent{grid-column:1/-1;margin-top:20vh}.illustration{min-width:200px;max-width:15%;width:300px;margin:auto;margin-bottom:20px;position:relative}.illustration svg{width:100%;height:100%;max-height:40vh}.illustration [fill*='6c63ff']{fill:var(--color-primary-element)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://src/components/EmptyContent.vue\"],\"names\":[],\"mappings\":\"AAkHA,cAEC,gBAAiB,CACjB,eAAgB,CAChB,cAGA,eAAgB,CAChB,aAAc,CACd,WAAY,CACZ,WAAY,CACZ,kBAAmB,CACnB,iBAAkB,CANnB,kBASE,UAAW,CACX,WAAY,CACZ,eAAgB,CAXlB,+BAgBE,iCAAkC\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.emptycontent {\\n\\t// span all the available columns\\n\\tgrid-column: 1/-1;\\n\\tmargin-top: 20vh;\\n}\\n\\n.illustration {\\n\\tmin-width: 200px;\\n\\tmax-width: 15%;\\n\\twidth: 300px;\\n\\tmargin: auto;\\n\\tmargin-bottom: 20px;\\n\\tposition: relative;\\n\\n\\tsvg {\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmax-height: 40vh;\\n\\t}\\n\\n\\t// change colour of illustration\\n\\t[fill*='6c63ff'] {\\n\\t\\tfill: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=14565886&lang=scss&scoped=true&\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import mod from \"-!../../node_modules/style-loader/dist/cjs.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=4c3113d6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/style-loader/dist/cjs.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=4c3113d6&lang=scss&scoped=true&\"","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".icon-confirm[data-v-4c3113d6]{transform:rotate(180deg)}.photos-navigation[data-v-4c3113d6]{display:flex;position:block;height:44px;padding:0 40px;align-items:center;max-width:100%}.photos-navigation__title[data-v-4c3113d6]{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-navigation__share[data-v-4c3113d6]{margin-left:10px}.photos-navigation__back[data-v-4c3113d6],.photos-navigation__share[data-v-4c3113d6]{flex-grow:0;flex-shrink:0}@media (min-width: 0px) and (max-width: 400px){.photos-navigation[data-v-4c3113d6]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:-36px}}@media (min-width: 400px) and (max-width: 700px){.photos-navigation[data-v-4c3113d6]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:-36px}}@media (min-width: 700px) and (max-width: 1024px){.photos-navigation[data-v-4c3113d6]{top:14.66667px}.photos-navigation__back[data-v-4c3113d6]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:0px}}@media (min-width: 1024px) and (max-width: 1280px){.photos-navigation[data-v-4c3113d6]{top:14.66667px}.photos-navigation__back[data-v-4c3113d6]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:0px}}@media (min-width: 1280px) and (max-width: 1440px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:22px}}@media (min-width: 1440px) and (max-width: 1600px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:22px}}@media (min-width: 1600px) and (max-width: 2048px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:22px}}@media (min-width: 2048px) and (max-width: 2560px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:44px}}@media (min-width: 2560px) and (max-width: 3440px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:44px}}@media (min-width: 3440px){.photos-navigation[data-v-4c3113d6]{top:29.33333px}.photos-navigation__back[data-v-4c3113d6]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-4c3113d6]{padding-left:44px}}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://src/components/Navigation.vue\"],\"names\":[],\"mappings\":\"AAiJA,+BACC,wBAAyB,CACzB,oCAGA,YAAa,CACb,cAAe,CACf,WAAY,CACZ,cAAe,CACf,kBAAmB,CACnB,cAAe,CACf,2CACC,QAAS,CACT,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,2CAEA,gBAAiB,CACjB,qFAGA,WAAY,CACZ,aAAc,CACd,+CAmBA,oCAEC,cAAgC,CAOhC,oEACC,kBAAc,CACd,CAZH,iDACC,oCAEC,cAAgC,CAOhC,oEACC,kBAAc,CACd,CAZH,kDACC,oCAEC,cAAgC,CAG/B,0CACC,YAAiC,CACjC,oEAGD,gBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,YAAiC,CACjC,oEAGD,gBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd,CAZH,mDACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd,CAZH,2BACC,oCAEC,cAAgC,CAG/B,0CACC,aAAiC,CACjC,oEAGD,iBAAc,CACd\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.icon-confirm {\\n\\ttransform: rotate(180deg)\\n}\\n\\n.photos-navigation {\\n\\tdisplay: flex;\\n\\tposition: block;\\n\\theight: 44px;\\n\\tpadding: 0 40px;\\n\\talign-items: center;\\n\\tmax-width: 100%;\\n\\t&__title {\\n\\t\\tmargin: 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__share {\\n\\t\\tmargin-left: 10px;\\n\\t}\\n\\t&__back,\\n\\t&__share {\\n\\t\\tflex-grow: 0;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\\n// generate variants based on grid sizes\\n// TODO: use mixins/GridSizes as soon as node-sass supports it\\n// needs node-sass 5.0 (with libsass 3.6)\\n// https://github.com/sass/node-sass/pull/2312\\n$previous: 0;\\n@each $size, $config in get('sizes') {\\n\\t$marginTop: map-get($config, 'marginTop');\\n\\t$marginW: map-get($config, 'marginW');\\n\\n\\t// if this is the last entry, only use min-width\\n\\t$rule: '(min-width: #{$previous}px) and (max-width: #{$size}px)';\\n\\t@if $size == 'max' {\\n\\t\\t$rule: '(min-width: #{$previous}px)';\\n\\t}\\n\\n\\t@media #{$rule} {\\n\\t\\t.photos-navigation {\\n\\t\\t\\t// we space this with 2/3 margin top, 1/3 margin bottom\\n\\t\\t\\ttop: ($marginTop - 44px) * 2 / 3;\\n\\t\\t\\t// padding-left: $marginW;\\n\\t\\t\\t@if $marginW >= 44px {\\n\\t\\t\\t\\t&__back {\\n\\t\\t\\t\\t\\tmargin: 0 (($marginW - 44px) / 2);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&--root &__title {\\n\\t\\t\\t\\tpadding-left: #{$marginW - 44}px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t$previous: $size;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"file\",class:{'file--clear': !_vm.loaded},attrs:{\"href\":_vm.davPath,\"aria-label\":_vm.ariaLabel},on:{\"click\":function($event){$event.preventDefault();return _vm.openViewer($event)}}},[(_vm.mime.includes('video') && _vm.hasPreview)?_c('div',{staticClass:\"icon-video-white\"}):_vm._e(),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],ref:\"img\",attrs:{\"src\":_vm.src,\"alt\":_vm.basename,\"aria-describedby\":_vm.ariaUuid},on:{\"load\":_vm.onLoad}})]),_vm._v(\" \"),(!_vm.loaded)?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"fill\":\"url(#placeholder__gradient)\"}},[(_vm.isImage)?_c('use',{attrs:{\"xlink:href\":\"#placeholder--img\"}}):_c('use',{attrs:{\"xlink:href\":\"#placeholder--video\"}})]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.ariaUuid}},[_vm._v(_vm._s(_vm.basename))]),_vm._v(\" \"),_c('div',{staticClass:\"cover\",attrs:{\"role\":\"none\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.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!./File.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<a :class=\"{'file--clear': !loaded}\"\n\t\tclass=\"file\"\n\t\t:href=\"davPath\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t@click.prevent=\"openViewer\">\n\t\t<div v-if=\"mime.includes('video') && hasPreview\" class=\"icon-video-white\" />\n\t\t<!-- image and loading placeholder -->\n\t\t<transition name=\"fade\">\n\t\t\t<img v-show=\"loaded\"\n\t\t\t\tref=\"img\"\n\t\t\t\t:src=\"src\"\n\t\t\t\t:alt=\"basename\"\n\t\t\t\t:aria-describedby=\"ariaUuid\"\n\t\t\t\t@load=\"onLoad\">\n\t\t</transition>\n\t\t<svg v-if=\"!loaded\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox=\"0 0 32 32\"\n\t\t\tfill=\"url(#placeholder__gradient)\">\n\t\t\t<use v-if=\"isImage\" xlink:href=\"#placeholder--img\" />\n\t\t\t<use v-else xlink:href=\"#placeholder--video\" />\n\t\t</svg>\n\n\t\t<!-- image name and cover -->\n\t\t<p :id=\"ariaUuid\" class=\"hidden-visually\">{{ basename }}</p>\n\t\t<div class=\"cover\" role=\"none\" />\n\t</a>\n</template>\n\n<script>\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tname: 'File',\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tbasename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tfilename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tetag: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tfileid: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tmime: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlist: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tloadMore: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => ([]),\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdavPath() {\n\t\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`) + this.filename\n\t\t},\n\t\tariaUuid() {\n\t\t\treturn `image-${this.fileid}`\n\t\t},\n\t\tariaLabel() {\n\t\t\treturn t('photos', 'Open the full size \"{name}\" image', { name: this.basename })\n\t\t},\n\t\tisImage() {\n\t\t\treturn this.mime.startsWith('image')\n\t\t},\n\t\tsrc() {\n\t\t\treturn generateUrl(`/core/preview?fileId=${this.fileid}&x=${256}&y=${256}&a=false&v=${this.etag}`)\n\t\t},\n\t},\n\n\tbeforeDestroy() {\n\t\t// cancel any pending load\n\t\tthis.$refs.src = ''\n\t},\n\n\tmethods: {\n\t\topenViewer() {\n\t\t\tOCA.Viewer.open({ path: this.filename, list: this.list, loadMore: this.loadMore })\n\t\t},\n\t\tonLoad() {\n\t\t\tthis.loaded = true\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../mixins/FileFolder.scss';\n\n.icon-video-white {\n\tposition: absolute;\n\ttop: 10px;\n\tright: 10px;\n\tz-index: 5;\n}\n\nimg {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\n\tobject-fit: cover;\n}\n\nsvg {\n\tposition: absolute;\n\twidth: 70%;\n\theight: 70%;\n}\n</style>\n","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=14565886&scoped=true&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\nimport style0 from \"./File.vue?vue&type=style&index=0&id=14565886&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 \"14565886\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{staticClass:\"photos-grid\",attrs:{\"role\":\"grid\",\"name\":\"list\",\"tag\":\"div\"}},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{key:\"footer\",staticClass:\"photos-grid__footer-spacer\",attrs:{\"role\":\"none\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.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!./Grid.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<!-- Folder content -->\n\t<transition-group\n\t\tclass=\"photos-grid\"\n\t\trole=\"grid\"\n\t\tname=\"list\"\n\t\ttag=\"div\">\n\t\t<slot />\n\t\t<div key=\"footer\" role=\"none\" class=\"photos-grid__footer-spacer\" />\n\t</transition-group>\n</template>\n\n<script>\nexport default {\n\tname: 'Grid',\n}\n</script>\n\n<style scoped lang=\"scss\">\n.photos-grid {\n\tdisplay: grid;\n\talign-items: center;\n\tjustify-content: center;\n\tgrid-template-columns: repeat(10, 1fr);\n\tposition: relative;\n\n\t// always put one more row of grid for the spacer\n\t&__footer-spacer {\n\t\t// always add one row, so placing it on the first\n\t\t// column will always add one more\n\t\tgrid-column: 1;\n\t\t// same height as