photos/js/photos-src_mixins_GridConfi...

1 line
65 KiB
Plaintext

{"version":3,"file":"photos-src_mixins_GridConfig_js-src_utils_CancelableRequest_js-src_components_EmptyContent_vue-src_c-edf9ce.js?v=892c50ac417d43dee722","mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;;ACvCA;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///photos/src/components/EmptyContent.vue?vue&type=script&lang=js&","webpack:///photos/src/components/File.vue?vue&type=script&lang=js&","webpack:///photos/src/components/FolderTagPreview.vue?vue&type=script&lang=js&","webpack:///photos/src/components/Navigation.vue?vue&type=script&lang=js&","webpack:///photos/src/assets/grid-sizes.js","webpack:///photos/src/mixins/GridConfig.js","webpack:///photos/src/services/GridConfig.js","webpack:///photos/src/utils/CancelableRequest.js","webpack:///photos/src/components/EmptyContent.vue?vue&type=style&index=0&lang=scss&","webpack:///photos/src/components/File.vue?vue&type=style&index=0&id=ab80f8a8&lang=scss&scoped=true&","webpack:///photos/src/components/FolderTagPreview.vue?vue&type=style&index=0&id=77915c0c&lang=scss&scoped=true&","webpack:///photos/src/components/Navigation.vue?vue&type=style&index=0&id=81440b78&lang=scss&scoped=true&","webpack://photos/./src/components/EmptyContent.vue?7390","webpack://photos/./src/components/File.vue?737e","webpack://photos/./src/components/FolderTagPreview.vue?9ab0","webpack://photos/./src/components/Navigation.vue?dd49","webpack:///photos/src/components/EmptyContent.vue","webpack:///photos/src/components/File.vue","webpack:///photos/src/components/FolderTagPreview.vue","webpack:///photos/src/components/Navigation.vue","webpack://photos/./src/components/EmptyContent.vue?2b0c","webpack://photos/./src/components/File.vue?5012","webpack://photos/./src/components/FolderTagPreview.vue?0464","webpack://photos/./src/components/Navigation.vue?edc7","webpack:///photos/src/components/EmptyContent.vue?vue&type=template&id=6c3ea49c&","webpack:///photos/src/components/File.vue?vue&type=template&id=ab80f8a8&scoped=true&","webpack:///photos/src/components/FolderTagPreview.vue?vue&type=template&id=77915c0c&scoped=true&","webpack:///photos/src/components/Navigation.vue?vue&type=template&id=81440b78&scoped=true&","webpack:///photos/src/assets/Illustrations|lazy|/^\\.\\/.*\\.svg$/|groupOptions: {}|namespace object"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'EmptyContent',\n props: {\n illustrationName: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n illustration: ''\n };\n },\n computed: {\n /**\n * Does this component have an illustration\n *\n * @return {boolean}\n */\n haveIllustration: function haveIllustration() {\n return this.illustrationName !== '';\n },\n\n /**\n * Is the illustration loaded\n *\n * @return {boolean}\n */\n isLoaded: function isLoaded() {\n if (!this.haveIllustration) {\n return true;\n }\n\n return this.illustration !== '';\n },\n\n /**\n * The component is ready if the illustration\n * is done loading or if there is none\n *\n * @return {boolean}\n */\n isReady: function isReady() {\n return !this.haveIllustration || this.haveIllustration && this.isLoaded;\n }\n },\n\n /**\n * Fetch the new illustration as soon as it changes\n */\n watch: {\n illustrationName: function illustrationName() {\n this.getIllustration();\n }\n },\n beforeMount: function beforeMount() {\n this.getIllustration();\n },\n methods: {\n /**\n * Fetch the illustration as webpack chunk\n */\n getIllustration: function getIllustration() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var illustration;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.illustration = '';\n\n if (!(_this.illustrationName !== '')) {\n _context.next = 12;\n break;\n }\n\n _context.prev = 2;\n _context.next = 5;\n return import(\"../assets/Illustrations/\".concat(_this.illustrationName, \".svg\"));\n\n case 5:\n illustration = _context.sent;\n _this.illustration = illustration.default;\n _context.next = 12;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](2);\n console.error('Could not get the error illustration', _context.t0);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 9]]);\n }))();\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport UserConfig from '../mixins/UserConfig';\nexport default {\n name: 'File',\n mixins: [UserConfig],\n inheritAttrs: false,\n props: {\n item: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n loaded: false,\n error: false\n };\n },\n computed: {\n davPath: function davPath() {\n return generateRemoteUrl(\"dav/files/\".concat(getCurrentUser().uid)) + this.item.injected.filename;\n },\n ariaUuid: function ariaUuid() {\n return \"image-\".concat(this.item.injected.fileid);\n },\n ariaLabel: function ariaLabel() {\n return t('photos', 'Open the full size \"{name}\" image', {\n name: this.item.injected.basename\n });\n },\n isImage: function isImage() {\n return this.item.injected.mime.startsWith('image');\n },\n decodedEtag: function decodedEtag() {\n return this.item.injected.etag.replace('&quot;', '').replace('&quot;', '');\n },\n src: function src() {\n return generateUrl(\"/core/preview?fileId=\".concat(this.item.injected.fileid, \"&c=\").concat(this.decodedEtag, \"&x=\", 250, \"&y=\", 250, \"&forceIcon=0&a=\").concat(this.croppedLayout ? '0' : '1'));\n }\n },\n beforeDestroy: function beforeDestroy() {\n // cancel any pending load\n this.$refs.src = '';\n },\n methods: {\n openViewer: function openViewer() {\n var _this = this;\n\n OCA.Viewer.open({\n path: this.item.injected.filename,\n list: this.item.injected.list,\n loadMore: this.item.injected.loadMore ? /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.item.injected.loadMore(true);\n\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })) : function () {\n return [];\n },\n canLoop: this.item.injected.canLoop\n });\n },\n\n /** When the image is fully loaded by browser we remove the placeholder */\n onLoad: function onLoad() {\n this.loaded = true;\n },\n onError: function onError() {\n this.error = true;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { generateUrl } from '@nextcloud/router';\nexport default {\n name: 'FolderTagPreview',\n props: {\n icon: {\n type: String,\n default: 'icon-folder'\n },\n id: {\n type: Number,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n path: {\n type: String,\n required: true\n },\n fileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n loaded: false,\n failed: []\n };\n },\n computed: {\n // folder is empty\n isEmpty: function isEmpty() {\n return this.previewList.length === 0;\n },\n ariaUuid: function ariaUuid() {\n return \"folder-\".concat(this.id);\n },\n ariaLabel: function ariaLabel() {\n return t('photos', 'Open the \"{name}\" sub-directory', {\n name: this.name\n });\n },\n\n /**\n * Previews list without the failed ones\n *\n * @return {object[]} the previews fileinfo\n */\n previewList: function previewList() {\n var _this = this;\n\n return this.fileList.filter(function (file) {\n return _this.failed.indexOf(file.fileid) === -1;\n });\n },\n\n /**\n * We do not want encoded slashes when browsing by folder\n * so we generate a new valid route object based on the\n * current named route, get the final url back, decode it\n * and use it as a direct string.\n * Which vue-router does not encode afterwards!\n *\n * @return {string}\n */\n to: function to() {\n // always remove first slash, the router\n // manage it automatically\n var regex = /^\\/?(.+)/i;\n var path = regex.exec(this.path)[1]; // apply to current route\n\n return Object.assign({}, this.$route, {\n params: {\n path: path.split('/')\n }\n });\n }\n },\n methods: {\n generateImgSrc: function generateImgSrc(_ref) {\n var fileid = _ref.fileid,\n etag = _ref.etag;\n // use etag to force cache reload if file changed\n return generateUrl(\"/core/preview?fileId=\".concat(fileid, \"&c=\").concat(etag, \"&x=\", 250, \"&y=\", 250, \"&forceIcon=0&a=0\"));\n },\n onPreviewFail: function onPreviewFail(_ref2) {\n var fileid = _ref2.fileid;\n this.failed.push(fileid);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Actions from '@nextcloud/vue/dist/Components/Actions';\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton';\nexport default {\n name: 'Navigation',\n components: {\n ActionButton: ActionButton,\n Actions: Actions\n },\n inheritAttrs: false,\n props: {\n basename: {\n type: String,\n required: true\n },\n filename: {\n type: String,\n required: true\n },\n showActions: {\n type: Boolean,\n default: false\n },\n rootTitle: {\n type: String,\n default: t('photos', 'Photos')\n }\n },\n computed: {\n isRoot: function isRoot() {\n return this.filename === '/';\n },\n name: function name() {\n if (this.isRoot) {\n return this.rootTitle;\n }\n\n return this.basename;\n },\n parentPath: function parentPath() {\n var path = this.filename.split('/');\n path.pop();\n var parent = path.join('/');\n return this.isRoot || parent.trim() === '' ? '/' : path.join('/');\n },\n parentName: function parentName() {\n return this.parentPath && this.parentPath.split('/').pop();\n },\n backToText: function backToText() {\n if (this.parentPath === '/') {\n return t('photos', 'Back to {folder}', {\n folder: this.rootTitle\n });\n }\n\n return t('photos', 'Back to {folder}', {\n folder: this.parentName\n });\n },\n\n /**\n * We do not want encoded slashes when browsing by folder\n * so we generate a new valid route object, get the final url back\n * decode it and use it as a direct string, which vue-router\n * does not encode afterwards\n *\n * @return {string|object}\n */\n to: function to() {\n // always remove first slash, the router\n // manage it automatically\n var regex = /^\\/?(.*)/i;\n var path = regex.exec(this.parentPath)[1]; // apply to current route\n\n var _Object$assign = Object.assign({}, this.$route, {\n params: {\n path: path\n }\n }),\n name = _Object$assign.name,\n params = _Object$assign.params; // return the full object as we don't care about\n // an empty path if this is route\n\n\n if (path === '') {\n return {\n name: name\n };\n } // returning a string prevent vue-router to encode it again\n\n\n return decodeURIComponent(this.$router.resolve({\n name: name,\n params: params\n }).resolved.path);\n }\n },\n methods: {\n folderUp: function folderUp() {\n this.$router.push(this.to);\n },\n showSidebar: function showSidebar() {\n OCA.Files.Sidebar.open(this.filename);\n }\n }\n};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 <http://www.gnu.org/licenses/>.\n *\n */\n// for now we want to keep the same gap everywhere\nvar gap = 8;\n/**\n * Define the max width proportions\n * The number (key) indicate the MAX size\n *\n * needs to be compatible with webpack config\n * so no export default {}\n */\n\nmodule.exports = {\n sizes: {\n 400: {\n marginTop: 66,\n marginW: gap,\n count: 3,\n gap: gap\n },\n 700: {\n marginTop: 66,\n marginW: gap,\n count: 4,\n gap: gap\n },\n 1024: {\n marginTop: 66,\n marginW: 44,\n count: 5,\n gap: gap\n },\n 1280: {\n marginTop: 66,\n marginW: 44,\n count: 4,\n gap: gap\n },\n 1440: {\n marginTop: 88,\n marginW: 66,\n count: 5,\n gap: gap\n },\n 1600: {\n marginTop: 88,\n marginW: 66,\n count: 6,\n gap: gap\n },\n 2048: {\n marginTop: 88,\n marginW: 66,\n count: 7,\n gap: gap\n },\n 2560: {\n marginTop: 88,\n marginW: 88,\n count: 8,\n gap: gap\n },\n 3440: {\n marginTop: 88,\n marginW: 88,\n count: 9,\n gap: gap\n },\n max: {\n marginTop: 88,\n marginW: 88,\n count: 10,\n gap: gap\n }\n }\n};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 <http://www.gnu.org/licenses/>.\n *\n */\nimport getGridConfig from '../services/GridConfig';\n/**\n * Get the current used grid config\n */\n\nexport default {\n data: function data() {\n return {\n gridConfig: {}\n };\n },\n created: function created() {\n var _this = this;\n\n getGridConfig.$on('changed', function (val) {\n _this.gridConfig = val;\n });\n console.debug(\"[\".concat(appName, \"]\"), 'Grid config', Object.assign({}, getGridConfig.gridConfig));\n this.gridConfig = getGridConfig.gridConfig;\n },\n beforeDestroy: function beforeDestroy() {\n getGridConfig.$off('changed', this.gridConfig);\n }\n};","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 <http://www.gnu.org/licenses/>.\n *\n */\nimport Vue from 'vue';\nimport { sizes } from '../assets/grid-sizes';\nexport default new Vue({\n data: function data() {\n return {\n gridConfig: sizes.max\n };\n },\n watch: {\n gridConfig: function gridConfig(val) {\n this.$emit('changed', val);\n }\n },\n created: function created() {\n window.addEventListener('resize', this.handleWindowResize);\n this.handleWindowResize();\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleWindowResize);\n },\n methods: {\n handleWindowResize: function handleWindowResize() {\n // find the first grid size that fit the current window width\n var currentSize = Object.keys(sizes).find(function (size) {\n return size > document.documentElement.clientWidth;\n });\n this.gridConfig = sizes[currentSize] || sizes.max;\n }\n }\n});","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios';\n/**\n * Create a cancel token\n *\n * @return {CancelTokenSource}\n */\n\nvar createCancelToken = function createCancelToken() {\n return axios.CancelToken.source();\n};\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\n\n\nvar CancelableRequest = function CancelableRequest(request) {\n /**\n * Generate an axios cancel token\n */\n var cancelToken = createCancelToken();\n /**\n * Execute the request\n *\n * @param {string} url the url to send the request to\n * @param {object} [options] optional config for the request\n */\n\n var fetch = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, options) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", request(url, Object.assign({\n cancelToken: cancelToken.token\n }, options)));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function fetch(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }();\n\n return {\n request: fetch,\n cancel: cancelToken.cancel\n };\n};\n\nexport default CancelableRequest;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.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_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".emptycontent {\\n grid-column: 1/-1;\\n margin-top: 20vh;\\n}\\n.illustration {\\n min-width: 200px;\\n max-width: 15%;\\n width: 300px;\\n margin: auto;\\n margin-bottom: 20px;\\n position: relative;\\n}\\n.illustration svg {\\n width: 100%;\\n height: 100%;\\n max-height: 40vh;\\n}\\n.illustration [fill*=\\\"6c63ff\\\"] {\\n fill: var(--color-primary-element);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.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_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n.file[data-v-ab80f8a8],\\n.folder[data-v-ab80f8a8] {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n -webkit-user-select: none;\\n user-select: none;\\n border-radius: var(--border-radius);\\n overflow: hidden;\\n}\\n.file .cover[data-v-ab80f8a8],\\n.folder .cover[data-v-ab80f8a8] {\\n z-index: 2;\\n width: 100%;\\n padding-bottom: 100%;\\n transition: opacity var(--animation-quick) ease-in-out;\\n opacity: 0;\\n background-color: var(--color-main-text);\\n}\\n.file.active .cover[data-v-ab80f8a8], .file:active .cover[data-v-ab80f8a8], .file:hover .cover[data-v-ab80f8a8], .file:focus .cover[data-v-ab80f8a8],\\n.folder.active .cover[data-v-ab80f8a8],\\n.folder:active .cover[data-v-ab80f8a8],\\n.folder:hover .cover[data-v-ab80f8a8],\\n.folder:focus .cover[data-v-ab80f8a8] {\\n opacity: 0.3;\\n}\\n.file--clear.active .cover[data-v-ab80f8a8], .file--clear:active .cover[data-v-ab80f8a8], .file--clear:hover .cover[data-v-ab80f8a8], .file--clear:focus .cover[data-v-ab80f8a8],\\n.folder--clear.active .cover[data-v-ab80f8a8],\\n.folder--clear:active .cover[data-v-ab80f8a8],\\n.folder--clear:hover .cover[data-v-ab80f8a8],\\n.folder--clear:focus .cover[data-v-ab80f8a8] {\\n opacity: 0.1;\\n}\\n.fade-enter-active[data-v-ab80f8a8], .fade-leave-active[data-v-ab80f8a8] {\\n transition: opacity var(--animation-quick) ease-in-out;\\n}\\n.fade-enter[data-v-ab80f8a8], .fade-leave-to[data-v-ab80f8a8] {\\n opacity: 0;\\n}\\n.transition-group[data-v-ab80f8a8] {\\n display: contents;\\n}\\n.icon-video-white[data-v-ab80f8a8] {\\n position: absolute;\\n top: 10px;\\n right: 10px;\\n z-index: 20;\\n}\\nimg[data-v-ab80f8a8] {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n color: transparent;\\n object-fit: contain;\\n}\\n.file--cropped img[data-v-ab80f8a8] {\\n object-fit: cover;\\n}\\nsvg[data-v-ab80f8a8] {\\n position: absolute;\\n width: 70%;\\n height: 70%;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.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_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n.file[data-v-77915c0c],\\n.folder[data-v-77915c0c] {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n -webkit-user-select: none;\\n user-select: none;\\n border-radius: var(--border-radius);\\n overflow: hidden;\\n}\\n.file .cover[data-v-77915c0c],\\n.folder .cover[data-v-77915c0c] {\\n z-index: 2;\\n width: 100%;\\n padding-bottom: 100%;\\n transition: opacity var(--animation-quick) ease-in-out;\\n opacity: 0;\\n background-color: var(--color-main-text);\\n}\\n.file.active .cover[data-v-77915c0c], .file:active .cover[data-v-77915c0c], .file:hover .cover[data-v-77915c0c], .file:focus .cover[data-v-77915c0c],\\n.folder.active .cover[data-v-77915c0c],\\n.folder:active .cover[data-v-77915c0c],\\n.folder:hover .cover[data-v-77915c0c],\\n.folder:focus .cover[data-v-77915c0c] {\\n opacity: 0.3;\\n}\\n.file--clear.active .cover[data-v-77915c0c], .file--clear:active .cover[data-v-77915c0c], .file--clear:hover .cover[data-v-77915c0c], .file--clear:focus .cover[data-v-77915c0c],\\n.folder--clear.active .cover[data-v-77915c0c],\\n.folder--clear:active .cover[data-v-77915c0c],\\n.folder--clear:hover .cover[data-v-77915c0c],\\n.folder--clear:focus .cover[data-v-77915c0c] {\\n opacity: 0.1;\\n}\\n.fade-enter-active[data-v-77915c0c], .fade-leave-active[data-v-77915c0c] {\\n transition: opacity var(--animation-quick) ease-in-out;\\n}\\n.fade-enter[data-v-77915c0c], .fade-leave-to[data-v-77915c0c] {\\n opacity: 0;\\n}\\n.folder-content[data-v-77915c0c] {\\n position: absolute;\\n display: grid;\\n width: 100%;\\n height: 100%;\\n}\\n.folder-content--grid-1[data-v-77915c0c] {\\n grid-template-columns: 1fr;\\n grid-template-rows: 1fr;\\n}\\n.folder-content--grid-2[data-v-77915c0c] {\\n grid-template-columns: 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content--grid-3[data-v-77915c0c] {\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content--grid-3 img[data-v-77915c0c]:first-child {\\n grid-column: span 2;\\n}\\n.folder-content--grid-4[data-v-77915c0c] {\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content img[data-v-77915c0c] {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.folder-name[data-v-77915c0c] {\\n position: absolute;\\n z-index: 3;\\n display: flex;\\n overflow: hidden;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n transition: opacity var(--animation-quick) ease-in-out;\\n opacity: 1;\\n}\\n.folder-name__icon[data-v-77915c0c] {\\n height: 40%;\\n margin-top: calc(30% - 1rem / 2);\\n background-size: 40%;\\n}\\n.folder-name__name[data-v-77915c0c] {\\n overflow: hidden;\\n height: 1rem;\\n padding: 0 10px;\\n text-align: center;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n color: var(--color-main-background);\\n text-shadow: 0 0 8px var(--color-main-text);\\n font-size: 1rem;\\n line-height: 1rem;\\n}\\n.folder--clear .folder-name__icon[data-v-77915c0c] {\\n opacity: 0.3;\\n}\\n.folder--clear .folder-name__name[data-v-77915c0c] {\\n color: var(--color-main-text);\\n text-shadow: 0 0 8px var(--color-main-background);\\n}\\n.folder:not(.folder--clear) .cover[data-v-77915c0c] {\\n opacity: 0.3;\\n}\\n.folder:not(.folder--clear):active .folder-name[data-v-77915c0c],\\n.folder:not(.folder--clear):active .cover[data-v-77915c0c], .folder:not(.folder--clear):hover .folder-name[data-v-77915c0c],\\n.folder:not(.folder--clear):hover .cover[data-v-77915c0c], .folder:not(.folder--clear):focus .folder-name[data-v-77915c0c],\\n.folder:not(.folder--clear):focus .cover[data-v-77915c0c] {\\n opacity: 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.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_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n.icon-confirm[data-v-81440b78] {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n.photos-navigation[data-v-81440b78] {\\n display: flex;\\n position: block;\\n height: 44px;\\n padding: 0 40px;\\n align-items: center;\\n max-width: 100%;\\n}\\n.photos-navigation__title[data-v-81440b78] {\\n margin: 0;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.photos-navigation__share[data-v-81440b78] {\\n margin-left: 10px;\\n}\\n.photos-navigation__back[data-v-81440b78], .photos-navigation__share[data-v-81440b78] {\\n flex-grow: 0;\\n flex-shrink: 0;\\n}\\n@media (min-width: 0px) and (max-width: 400px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: -7.3333333333px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: -36px;\\n}\\n}\\n@media (min-width: 400px) and (max-width: 700px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: -7.3333333333px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: -36px;\\n}\\n}\\n@media (min-width: 700px) and (max-width: 1024px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: -7.3333333333px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 0px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 0px;\\n}\\n}\\n@media (min-width: 1024px) and (max-width: 1280px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: -7.3333333333px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 0px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 0px;\\n}\\n}\\n@media (min-width: 1280px) and (max-width: 1440px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 11px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 22px;\\n}\\n}\\n@media (min-width: 1440px) and (max-width: 1600px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 11px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 22px;\\n}\\n}\\n@media (min-width: 1600px) and (max-width: 2048px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 11px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 22px;\\n}\\n}\\n@media (min-width: 2048px) and (max-width: 2560px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 22px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 44px;\\n}\\n}\\n@media (min-width: 2560px) and (max-width: 3440px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 22px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 44px;\\n}\\n}\\n@media (min-width: 3440px) {\\n.photos-navigation[data-v-81440b78] {\\n margin-top: 0px;\\n}\\n.photos-navigation__back[data-v-81440b78] {\\n margin: 0 22px;\\n}\\n.photos-navigation--root .photos-navigation__title[data-v-81440b78] {\\n padding-left: 44px;\\n}\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=ab80f8a8&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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=ab80f8a8&lang=scss&scoped=true&\";\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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=77915c0c&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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=77915c0c&lang=scss&scoped=true&\";\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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=81440b78&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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=81440b78&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmptyContent.vue?vue&type=template&id=6c3ea49c&\"\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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6c3ea49c')) {\n api.createRecord('6c3ea49c', component.options)\n } else {\n api.reload('6c3ea49c', component.options)\n }\n module.hot.accept(\"./EmptyContent.vue?vue&type=template&id=6c3ea49c&\", function () {\n api.rerender('6c3ea49c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/EmptyContent.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=ab80f8a8&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=ab80f8a8&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 \"ab80f8a8\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('ab80f8a8')) {\n api.createRecord('ab80f8a8', component.options)\n } else {\n api.reload('ab80f8a8', component.options)\n }\n module.hot.accept(\"./File.vue?vue&type=template&id=ab80f8a8&scoped=true&\", function () {\n api.rerender('ab80f8a8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/File.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./FolderTagPreview.vue?vue&type=template&id=77915c0c&scoped=true&\"\nimport script from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderTagPreview.vue?vue&type=style&index=0&id=77915c0c&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 \"77915c0c\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('77915c0c')) {\n api.createRecord('77915c0c', component.options)\n } else {\n api.reload('77915c0c', component.options)\n }\n module.hot.accept(\"./FolderTagPreview.vue?vue&type=template&id=77915c0c&scoped=true&\", function () {\n api.rerender('77915c0c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/FolderTagPreview.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=81440b78&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=81440b78&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 \"81440b78\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('81440b78')) {\n api.createRecord('81440b78', component.options)\n } else {\n api.reload('81440b78', component.options)\n }\n module.hot.accept(\"./Navigation.vue?vue&type=template&id=81440b78&scoped=true&\", function () {\n api.rerender('81440b78', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/Navigation.vue\"\nexport default component.exports","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 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&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.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!./FolderTagPreview.vue?vue&type=script&lang=js&\"","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&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.isReady\n ? _c(\"div\", { staticClass: \"emptycontent\" }, [\n _vm.haveIllustration\n ? _c(\"div\", {\n staticClass: \"illustration\",\n domProps: { innerHTML: _vm._s(_vm.illustration) },\n })\n : _c(\"div\", { staticClass: \"icon-error\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._t(\"default\")], 2),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.$slots.desc,\n expression: \"$slots.desc\",\n },\n ],\n },\n [_vm._t(\"desc\")],\n 2\n ),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"a\",\n {\n staticClass: \"file\",\n class: {\n \"file--cropped\": _vm.croppedLayout,\n },\n attrs: { href: _vm.davPath, \"aria-label\": _vm.ariaLabel },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.openViewer.apply(null, arguments)\n },\n },\n },\n [\n _vm.item.injected.mime.includes(\"video\") && _vm.item.injected.hasPreview\n ? _c(\"div\", { staticClass: \"icon-video-white\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"transition-group\",\n { staticClass: \"transition-group\", attrs: { name: \"fade\" } },\n [\n !_vm.error\n ? _c(\"img\", {\n key: _vm.item.injected.basename + \"-img\",\n ref: \"img\",\n attrs: {\n src: _vm.src,\n alt: _vm.item.injected.basename,\n \"aria-describedby\": _vm.ariaUuid,\n },\n on: { load: _vm.onLoad, error: _vm.onError },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.loaded || _vm.error\n ? _c(\n \"svg\",\n {\n key: _vm.item.injected.basename + \"-svg\",\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"url(#placeholder__gradient)\",\n },\n },\n [\n _vm.isImage\n ? _c(\"use\", { attrs: { href: \"#placeholder--img\" } })\n : _c(\"use\", { attrs: { href: \"#placeholder--video\" } }),\n ]\n )\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"hidden-visually\", attrs: { id: _vm.ariaUuid } }, [\n _vm._v(_vm._s(_vm.item.injected.basename)),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"cover\", attrs: { role: \"none\" } }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"router-link\",\n {\n staticClass: \"folder\",\n class: { \"folder--clear\": _vm.isEmpty },\n attrs: { to: _vm.to, \"aria-label\": _vm.ariaLabel },\n },\n [\n _c(\"transition\", { attrs: { name: \"fade\" } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.loaded,\n expression: \"loaded\",\n },\n ],\n staticClass: \"folder-content\",\n class: \"folder-content--grid-\" + _vm.previewList.length,\n attrs: { role: \"none\" },\n },\n _vm._l(_vm.previewList, function (file) {\n return _c(\"img\", {\n key: file.fileid,\n attrs: { src: _vm.generateImgSrc(file), alt: \"\" },\n on: {\n load: function ($event) {\n _vm.loaded = true\n },\n error: function ($event) {\n return _vm.onPreviewFail(file)\n },\n },\n })\n }),\n 0\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"folder-name\" }, [\n _c(\"span\", {\n staticClass: \"folder-name__icon\",\n class: [!_vm.isEmpty ? \"icon-white\" : \"icon-dark\", _vm.icon],\n attrs: { role: \"img\" },\n }),\n _vm._v(\" \"),\n _c(\n \"p\",\n { staticClass: \"folder-name__name\", attrs: { id: _vm.ariaUuid } },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.name) + \"\\n\\t\\t\")]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"cover\", attrs: { role: \"none\" } }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"photos-navigation\",\n class: { \"photos-navigation--root\": _vm.isRoot },\n attrs: { role: \"toolbar\" },\n },\n [\n !_vm.isRoot\n ? _c(\n \"Actions\",\n { staticClass: \"photos-navigation__back\" },\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-confirm\" },\n on: { click: _vm.folderUp },\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.backToText) + \"\\n\\t\\t\")]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"h2\", { staticClass: \"photos-navigation__title\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.name) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n !_vm.isRoot && _vm.showActions\n ? _c(\n \"Actions\",\n { staticClass: \"photos-navigation__share\" },\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-shared\" },\n on: { click: _vm.showSidebar },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"photos\", \"Share this folder\")) +\n \"\\n\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var map = {\n\t\"./empty.svg\": [\n\t\t\"./src/assets/Illustrations/empty.svg\",\n\t\t\"src_assets_Illustrations_empty_svg\"\n\t],\n\t\"./folder.svg\": [\n\t\t\"./src/assets/Illustrations/folder.svg\",\n\t\t\"src_assets_Illustrations_folder_svg\"\n\t],\n\t\"./images.svg\": [\n\t\t\"./src/assets/Illustrations/images.svg\",\n\t\t\"src_assets_Illustrations_images_svg\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\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(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./src/assets/Illustrations lazy recursive ^\\\\.\\\\/.*\\\\.svg$\";\nmodule.exports = webpackAsyncContext;"],"names":[],"sourceRoot":""}