{"version":3,"file":"FoldersView-Dcwlkt86.chunk.mjs","sources":["../node_modules/vue-virtual-grid/dist/vue-virtual-grid.es.js","../src/components/FileLegacy.vue","../src/components/FolderTagPreview.vue","../src/services/FolderContent.ts","../src/components/FolderComponent.vue","../src/assets/grid-sizes.ts","../src/services/GridConfig.ts","../src/mixins/GridConfig.ts","../src/views/FoldersView.vue"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport Vue from \"vue\";\n/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function(obj2) {\n return typeof obj2;\n };\n } else {\n _typeof = function(obj2) {\n return obj2 && typeof Symbol === \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++)\n arr2[i] = arr[i];\n return arr2;\n }\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\")\n return Array.from(iter);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction reflectionIsSupported() {\n return typeof Reflect !== \"undefined\" && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function(key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function(key) {\n forwardMetadata(to, from, key);\n });\n}\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function(metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function(target, key, index) {\n var Ctor = typeof target === \"function\" ? target : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== \"number\") {\n index = void 0;\n }\n Ctor.__decorators__.push(function(options) {\n return factory(options, key, index);\n });\n };\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n return value == null || type !== \"object\" && type !== \"function\";\n}\nfunction collectDataFromConstructor(vm, Component2) {\n var originalInit = Component2.prototype._init;\n Component2.prototype._init = function() {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function(key2) {\n Object.defineProperty(_this, key2, {\n get: function get() {\n return vm[key2];\n },\n set: function set(value) {\n vm[key2] = value;\n },\n configurable: true\n });\n });\n };\n var data = new Component2();\n Component2.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function(key) {\n if (data[key] !== void 0) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\nvar $internalHooks = [\n \"data\",\n \"beforeCreate\",\n \"created\",\n \"beforeMount\",\n \"mounted\",\n \"beforeDestroy\",\n \"destroyed\",\n \"beforeUpdate\",\n \"updated\",\n \"activated\",\n \"deactivated\",\n \"render\",\n \"errorCaptured\",\n \"serverPrefetch\"\n];\nfunction componentFactory(Component2) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n options.name = options.name || Component2._componentTag || Component2.name;\n var proto = Component2.prototype;\n Object.getOwnPropertyNames(proto).forEach(function(key) {\n if (key === \"constructor\") {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (descriptor.value !== void 0) {\n if (typeof descriptor.value === \"function\") {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component2);\n }\n });\n var decorators = Component2.__decorators__;\n if (decorators) {\n decorators.forEach(function(fn) {\n return fn(options);\n });\n delete Component2.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component2.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component2, Super);\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component2);\n }\n return Extended;\n}\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function(key) {\n if (shouldIgnore[key]) {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === \"cid\") {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\nfunction Component(options) {\n if (typeof options === \"function\") {\n return componentFactory(options);\n }\n return function(Component2) {\n return componentFactory(Component2, options);\n };\n}\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\nglobalThis && globalThis.__spreadArrays || function() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nfunction needToProduceProvide(original) {\n return typeof original !== \"function\" || !original.managed && !original.managedReactive;\n}\nfunction produceProvide(original) {\n var provide = function() {\n var _this = this;\n var rv = typeof original === \"function\" ? original.call(this) : original;\n rv = Object.create(rv || null);\n rv[reactiveInjectKey] = Object.create(this[reactiveInjectKey] || {});\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function(i2) {\n rv[provide.managedReactive[i2]] = this_1[i2];\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i2], {\n enumerable: true,\n configurable: true,\n get: function() {\n return _this[i2];\n }\n });\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nvar reactiveInjectKey = \"__reactiveInject__\";\nfunction inheritInjected(componentOptions) {\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {}\n };\n }\n}\nvar reflectMetadataIsSupported = typeof Reflect !== \"undefined\" && typeof Reflect.getMetadata !== \"undefined\";\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) && typeof options !== \"function\" && !options.hasOwnProperty(\"type\") && typeof options.type === \"undefined\") {\n var type = Reflect.getMetadata(\"design:type\", target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\nfunction Prop(options) {\n if (options === void 0) {\n options = {};\n }\n return function(target, key) {\n applyMetadata(options, target, key);\n createDecorator(function(componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\nfunction ProvideReactive(key) {\n return createDecorator(function(componentOptions, k) {\n var provide = componentOptions.provide;\n inheritInjected(componentOptions);\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\nfunction Watch(path, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function(componentOptions, handler) {\n if (typeof componentOptions.watch !== \"object\") {\n componentOptions.watch = /* @__PURE__ */ Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === \"object\" && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n } else if (typeof watch[path] === \"undefined\") {\n watch[path] = [];\n }\n watch[path].push({ handler, deep, immediate });\n });\n}\nconst getGridGapDefault = (elementWidth, windowHeight) => {\n if (elementWidth > 720 && windowHeight > 480) {\n return 10;\n } else {\n return 5;\n }\n};\nconst getColumnCountDefault = (elementWidth) => {\n return Math.floor(elementWidth / 250);\n};\nconst getWindowMarginDefault = (windowHeight) => {\n return Math.round(windowHeight * 1.5);\n};\nconst getItemRatioHeightDefault = (height, width, columnWidth) => {\n const imageRatio = height / width;\n return Math.round(columnWidth * imageRatio);\n};\nconst debugLog = (condition, ...args) => {\n if (condition) {\n console.debug(...args);\n }\n};\nvar __defProp2 = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp2(target, key, result);\n return result;\n};\nlet VirtualGrid$1 = class extends Vue {\n constructor() {\n super(...arguments);\n this.updateLock = false;\n this.bottomReached = false;\n this.ref = null;\n this.containerData = {\n windowSize: { height: 0, width: 0 },\n windowScroll: { x: 0, y: 0 },\n elementWindowOffset: 0,\n elementSize: { height: 0, width: 0 }\n };\n }\n get loadingBatch() {\n return this.loader && this.updateLock;\n }\n get configData() {\n return this.computeConfigData(this.containerData, this.items);\n }\n get layoutData() {\n return this.computeLayoutData(this.configData);\n }\n get renderData() {\n return this.computeRenderData(this.configData, this.containerData, this.layoutData);\n }\n mounted() {\n var _a;\n this.ref = this.$refs.virtualGrid;\n this.initiliazeGrid();\n window.addEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).addEventListener(\"scroll\", this.scroll);\n }\n beforeDestroy() {\n var _a;\n window.removeEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).removeEventListener(\"scroll\", this.scroll);\n }\n onScrollElementChanged(scrollElement, oldScrollElement) {\n (oldScrollElement != null ? oldScrollElement : window).removeEventListener(\"scroll\", this.scroll);\n (scrollElement != null ? scrollElement : window).addEventListener(\"scroll\", this.scroll);\n }\n resize() {\n this.loadMoreData();\n }\n scroll() {\n this.loadMoreData();\n }\n initiliazeGrid() {\n this.computeContainerData();\n this.$nextTick(async () => {\n this.loadMoreData();\n });\n }\n loadMoreData() {\n this.loadMoreDataAsync().catch((error) => {\n if (error) {\n console.error(\"Fail to load next data batch\", error);\n }\n }).then();\n }\n async loadMoreDataAsync() {\n this.computeContainerData();\n const windowTop = this.containerData.windowScroll.y;\n const windowBottom = windowTop + this.containerData.windowSize.height;\n const bottomTrigger = Math.max(0, this.containerData.elementWindowOffset + this.containerData.elementSize.height - this.updateTriggerMargin);\n if (!this.bottomReached && windowBottom >= bottomTrigger && !this.updateLock) {\n this.updateLock = true;\n debugLog(this.debug, \"Loading next batch\");\n const isLastBatch = await this.updateFunction();\n if (isLastBatch) {\n debugLog(this.debug, \"Bottom reached\");\n this.bottomReached = true;\n }\n this.updateLock = false;\n await this.loadMoreDataAsync();\n }\n return;\n }\n computeContainerData() {\n if (this.ref === null) {\n return;\n }\n const windowSize = this.getWindowSize();\n const windowScroll = this.getWindowScroll();\n const elementWindowOffset = this.getElementOffset(this.ref);\n const elementSize = this.getElementSize(this.ref);\n this.containerData = { windowSize, windowScroll, elementWindowOffset, elementSize };\n }\n computeConfigData(containerData, items) {\n if (containerData === null || items === null) {\n return {\n windowMargin: 0,\n gridGap: 0,\n columnCount: 1,\n entries: []\n };\n }\n const elementWidth = containerData.elementSize ? containerData.elementSize.width : 0;\n const windowMargin = this.getWindowMargin(containerData.windowSize.height);\n const gridGap = this.getGridGap(elementWidth, containerData.windowSize.height);\n const columnCount = this.getColumnCount(elementWidth);\n const columnWidth = this.getColumnWidth(columnCount, gridGap, elementWidth);\n const entries = items.map((item) => {\n if (!item.width) {\n return item;\n }\n const imageWidth = columnWidth * item.columnSpan + gridGap * (item.columnSpan - 1);\n return __spreadProps(__spreadValues({}, item), {\n height: this.getItemRatioHeight(item.height, item.width, imageWidth),\n width: imageWidth\n });\n });\n return {\n windowMargin,\n gridGap,\n columnCount,\n entries\n };\n }\n computeLayoutData(configData) {\n if (configData === null) {\n return { cells: [], totalHeight: 0 };\n }\n let currentRowNumber = 1;\n let prevRowsTotalHeight = 0;\n let currentRowMaxHeight = 0;\n let columnShift = 0;\n const cells = configData.entries.map((entry, index) => {\n const { columnCount, gridGap } = configData;\n let columnSpanRecompute = entry.columnSpan;\n let heightRecompute = entry.height;\n if (columnSpanRecompute < 1) {\n columnSpanRecompute = columnCount;\n }\n const distanceToRowStart = (index + columnShift) % columnCount;\n if (entry.newRow && distanceToRowStart !== 0) {\n columnShift += columnCount - distanceToRowStart;\n }\n const shiftedIndex = index + columnShift;\n const columnNumber = shiftedIndex % columnCount + 1;\n const rowNumber = Math.floor(shiftedIndex / columnCount) + 1;\n if (columnNumber + columnSpanRecompute > columnCount + 1) {\n const overlapNumber = columnNumber + columnSpanRecompute - columnCount - 1;\n const overlapRatio = overlapNumber / columnSpanRecompute;\n heightRecompute = heightRecompute * (1 - overlapRatio);\n columnSpanRecompute -= overlapNumber;\n }\n if (columnSpanRecompute > 1) {\n columnShift += columnSpanRecompute - 1;\n }\n if (rowNumber !== currentRowNumber) {\n currentRowNumber = rowNumber;\n prevRowsTotalHeight += currentRowMaxHeight + gridGap;\n currentRowMaxHeight = 0;\n }\n const offset = prevRowsTotalHeight;\n const height = Math.round(heightRecompute);\n currentRowMaxHeight = Math.max(currentRowMaxHeight, height);\n return __spreadProps(__spreadValues({}, entry), { columnNumber, rowNumber, offset, height, columnSpan: columnSpanRecompute });\n });\n const totalHeight = prevRowsTotalHeight + currentRowMaxHeight;\n return { cells, totalHeight };\n }\n computeRenderData(configData, containerData, layoutData) {\n if (layoutData === null || configData === null) {\n return { cellsToRender: [], firstRenderedRowNumber: 0, firstRenderedRowOffset: 0 };\n }\n const cellsToRender = [];\n let firstRenderedRowNumber = null;\n let firstRenderedRowOffset = null;\n if (containerData.elementWindowOffset !== null) {\n const elementWindowOffset = containerData.elementWindowOffset;\n for (const cell of layoutData.cells) {\n const cellTop = elementWindowOffset + cell.offset;\n const cellBottom = cellTop + cell.height;\n const windowTop = containerData.windowScroll.y;\n const windowBottom = windowTop + containerData.windowSize.height;\n const renderTop = windowTop - configData.windowMargin;\n const renderBottom = windowBottom + configData.windowMargin;\n if (cellTop > renderBottom) {\n continue;\n }\n if (cellBottom < renderTop) {\n continue;\n }\n if (firstRenderedRowNumber === null) {\n firstRenderedRowNumber = cell.rowNumber;\n }\n if (cell.rowNumber === firstRenderedRowNumber) {\n firstRenderedRowOffset = firstRenderedRowOffset ? Math.min(firstRenderedRowOffset, cell.offset) : cell.offset;\n }\n cellsToRender.push(cell);\n }\n }\n return { cellsToRender, firstRenderedRowNumber, firstRenderedRowOffset };\n }\n getColumnWidth(columnCount, gridGap, elementWidth) {\n if (columnCount === null || gridGap === null || elementWidth === null) {\n return 0;\n }\n const totalGapSpace = (columnCount - 1) * gridGap;\n const columnWidth = Math.round((elementWidth - totalGapSpace) / columnCount);\n return columnWidth;\n }\n getGridRowStart(cell, renderData) {\n if (renderData === null) {\n return void 0;\n }\n const offset = renderData.firstRenderedRowNumber !== null ? renderData.firstRenderedRowNumber - 1 : 0;\n const gridRowStart = cell.rowNumber - offset;\n return `${gridRowStart}`;\n }\n resetGrid() {\n this.bottomReached = false;\n this.loadMoreData();\n }\n isSameElementSize(a, b) {\n return a.width === b.width && a.height === b.height;\n }\n getWindowSize() {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n getElementSize(element) {\n const rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height\n };\n }\n isSameElementScroll(a, b) {\n return a.x === b.x && a.y === b.y;\n }\n getWindowScroll() {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n }\n getElementOffset(element) {\n return window.scrollY + element.getBoundingClientRect().top;\n }\n};\n__decorateClass([\n Prop({ required: true })\n], VirtualGrid$1.prototype, \"items\", 2);\n__decorateClass([\n Prop({ default: () => () => true })\n], VirtualGrid$1.prototype, \"updateFunction\", 2);\n__decorateClass([\n Prop({ default: () => getGridGapDefault })\n], VirtualGrid$1.prototype, \"getGridGap\", 2);\n__decorateClass([\n Prop({ default: () => getColumnCountDefault })\n], VirtualGrid$1.prototype, \"getColumnCount\", 2);\n__decorateClass([\n Prop({ default: () => getWindowMarginDefault })\n], VirtualGrid$1.prototype, \"getWindowMargin\", 2);\n__decorateClass([\n Prop({ default: () => getItemRatioHeightDefault })\n], VirtualGrid$1.prototype, \"getItemRatioHeight\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"scrollElement\", 2);\n__decorateClass([\n Prop({ default: 500 })\n], VirtualGrid$1.prototype, \"updateTriggerMargin\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"loader\", 2);\n__decorateClass([\n Prop({ default: false })\n], VirtualGrid$1.prototype, \"debug\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"updateLock\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"bottomReached\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"ref\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"containerData\", 2);\n__decorateClass([\n Watch(\"scrollElement\")\n], VirtualGrid$1.prototype, \"onScrollElementChanged\", 1);\nVirtualGrid$1 = __decorateClass([\n Component({\n name: \"VirtualGrid\"\n })\n], VirtualGrid$1);\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"virtualGrid\", style: {\n boxSizing: \"border-box\",\n height: _vm.layoutData.totalHeight + \"px\",\n paddingTop: _vm.renderData !== null && _vm.renderData.firstRenderedRowOffset !== null ? _vm.renderData.firstRenderedRowOffset + \"px\" : \"0px\"\n } }, [_c(\"div\", { staticClass: \"grid\", style: {\n \"display\": \"-ms-grid\",\n \"display\": \"grid\",\n \"align-items\": \"center\",\n \"grid-template-columns\": \"repeat(\" + _vm.configData.columnCount + \", 1fr)\",\n \"gap\": _vm.configData.gridGap + \"px\"\n } }, _vm._l(_vm.renderData.cellsToRender, function(item) {\n return _c(\"div\", { key: item.id, staticClass: \"grid-item-wrapper\", style: {\n \"height\": item.height + \"px\",\n \"grid-column-start\": item.columnNumber,\n \"grid-column-end\": item.columnNumber + item.columnSpan,\n \"grid-row-start\": _vm.getGridRowStart(item, _vm.renderData)\n } }, [_c(item.renderComponent, _vm._g({ tag: \"component\", attrs: { \"item\": item } }, _vm.$listeners))], 1);\n }), 0), _c(_vm.loadingBatch && _vm.loader, { tag: \"component\" })], 1);\n};\nvar staticRenderFns = [];\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(VirtualGrid$1, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar VirtualGrid = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { VirtualGrid as default };\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios, { type AxiosRequestConfig } from '@nextcloud/axios'\nimport { defaultRemoteURL, defaultRootPath } from '@nextcloud/files/dav'\nimport { generateUrl } from '@nextcloud/router'\nimport allowedMimes from './AllowedMimes.js'\n\nexport type FoldersNode = {\n\tbasename: string\n\tetag: string\n\tfileid: number\n\tfilename: string\n\tsource: string\n\tlastmod: number\n\tmime: string\n\tsize: number\n\ttype: string\n\tpermissions: string\n\thasPreview: boolean\n}\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param path\n * @param options\n */\nexport default async function(path: string = '/', options: AxiosRequestConfig & { shared?: boolean } = {}) {\n\tconst endpoint = generateUrl(`/apps/photos/api/v1/${options.shared ? 'shared' : 'albums'}`)\n\n\t// fetch listing\n\tconst response = await axios.get(endpoint + path, options)\n\tconst list: FoldersNode[] = response.data\n\t\t.map((data) => ({\n\t\t\t...data,\n\t\t\tfilename: `${defaultRootPath}${data.filename}`,\n\t\t\tsource: decodeURI(defaultRemoteURL + `${defaultRootPath}${data.filename}`),\n\t\t}))\n\n\t// filter all the files and folders\n\tlet folder: FoldersNode | undefined\n\tconst folders: FoldersNode[] = []\n\tconst files: FoldersNode[] = []\n\n\tfor (const entry of list) {\n\t\t// is this the current provided path ?\n\t\tif (entry.filename === `${defaultRootPath}${path}`) {\n\t\t\tfolder = entry\n\t\t} else if (entry.type !== 'file') {\n\t\t\tfolders.push(entry)\n\t\t} else if (allowedMimes.indexOf(entry.mime) > -1) {\n\t\t\tfiles.push(entry)\n\t\t}\n\t}\n\n\t// return current folder, subfolders and files\n\treturn { folder, folders, files }\n}\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\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 */\nexport default {\n\t400: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 3,\n\t\tfolderCount: 1,\n\t},\n\t700: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 4,\n\t\tfolderCount: 1,\n\t},\n\t1024: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 5,\n\t\tfolderCount: 2,\n\t},\n\t1280: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 4,\n\t\tfolderCount: 2,\n\t},\n\t1440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 5,\n\t\tfolderCount: 3,\n\t},\n\t1600: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 6,\n\t\tfolderCount: 4,\n\t},\n\t2048: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 7,\n\t\tfolderCount: 4,\n\t},\n\t2560: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 8,\n\t\tfolderCount: 6,\n\t},\n\t3440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 9,\n\t\tfolderCount: 8,\n\t},\n\tmax: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 10,\n\t\tfolderCount: 10,\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport sizes from '../assets/grid-sizes.js'\n\nexport default new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: sizes.max,\n\t\t}\n\t},\n\twatch: {\n\t\tgridConfig(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\t// find the first grid size that fit the current window width\n\t\t\tconst currentSize = Object.keys(sizes).map((size) => Number.parseInt(size)).find((size) => size > document.documentElement.clientWidth)\n\t\t\tthis.gridConfig = sizes[currentSize as number] || sizes.max\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineComponent } from 'vue'\nimport getGridConfig from '../services/GridConfig.js'\nimport logger from '../services/logger.js'\n\n/**\n * Get the current used grid config\n */\nexport default defineComponent({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: {} as typeof getGridConfig.gridConfig,\n\t\t}\n\t},\n\n\tcreated() {\n\t\tgetGridConfig.$on('changed', this.handleGridConfigChange)\n\t\tlogger.debug('Grid config', { gridConfig: getGridConfig.gridConfig })\n\t\tthis.gridConfig = getGridConfig.gridConfig\n\t},\n\n\tbeforeDestroy() {\n\t\tgetGridConfig.$off('changed', this.handleGridConfigChange)\n\t},\n\n\tmethods: {\n\t\thandleGridConfigChange(val: typeof getGridConfig.gridConfig) {\n\t\t\tthis.gridConfig = val\n\t\t},\n\t},\n})\n","\n\n\n\n\n\n\n"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","_typeof","obj2","_defineProperty","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","i","arr2","iter","reflectionIsSupported","copyReflectionMetadata","to","from","forwardMetadata","propertyKey","metaKeys","metaKey","metadata","fakeArray","hasProto","createDecorator","factory","target","index","Ctor","options","isPrimitive","type","collectDataFromConstructor","vm","Component2","originalInit","_this","keys","key2","data","plainData","$internalHooks","componentFactory","proto","descriptor","decorators","fn","superProto","Super","Vue","Extended","forwardStaticMembers","shouldIgnore","Original","extendedDescriptor","superDescriptor","Component","needToProduceProvide","original","produceProvide","provide","rv","reactiveInjectKey","_loop_1","i2","this_1","inheritInjected","componentOptions","reflectMetadataIsSupported","applyMetadata","Prop","k","ProvideReactive","Watch","path","_a","deep","_b","immediate","handler","watch","getGridGapDefault","elementWidth","windowHeight","getColumnCountDefault","getWindowMarginDefault","getItemRatioHeightDefault","height","width","columnWidth","imageRatio","debugLog","condition","args","__defProp2","__getOwnPropDesc","__decorateClass","kind","result","decorator","VirtualGrid$1","scrollElement","oldScrollElement","error","windowBottom","bottomTrigger","windowSize","windowScroll","elementWindowOffset","elementSize","containerData","items","windowMargin","gridGap","columnCount","entries","item","imageWidth","configData","currentRowNumber","prevRowsTotalHeight","currentRowMaxHeight","columnShift","cells","entry","columnSpanRecompute","heightRecompute","distanceToRowStart","shiftedIndex","columnNumber","rowNumber","overlapNumber","overlapRatio","offset","totalHeight","layoutData","cellsToRender","firstRenderedRowNumber","firstRenderedRowOffset","cell","cellTop","cellBottom","windowTop","renderTop","renderBottom","totalGapSpace","renderData","element","rect","render","_vm","_h","_c","staticRenderFns","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","h","context","existing","__cssModules","__component__","__vue2_injectStyles","o","VirtualGrid","_sfc_main$3","t","generateUrl","legacyToViewerFileInfo","file","_sfc_main$2","FolderOutline","RouterLink","fileid","etag","prefix","getCurrentUser","getFolderContent","endpoint","list","axios","defaultRootPath","defaultRemoteURL","folder","folders","files","allowedMimes","_sfc_main$1","defineComponent","FolderTagPreview","AbortControllerMixin","previewFolderContent","previewFiles","id","firstChildFolder","filename","unPrefixedFileName","logger","sizes","getGridConfig","val","currentSize","size","GridConfigMixin","_sfc_main","HeaderNavigation","NcEmptyContent","NcLoadingIcon","UploadPicker","getUploader","Folder","parsePermissions","FolderComponent","FileLegacy","upload","relPath","node","fetchFile"],"mappings":"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","x_google_ignoreList":[0]}