From 24603e5d846b74dc3b5df0e9d7cead371efe8e94 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 13 Feb 2024 18:06:35 +0100 Subject: [PATCH] chore: Compile assets Signed-off-by: Ferdinand Thiessen --- dist/files-main.js | 4 ++-- dist/files-main.js.map | 2 +- dist/settings-users-8351.js | 4 ++-- dist/settings-users-8351.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- dist/settings-vue-settings-apps-users-management.js.map | 2 +- dist/theming-admin-theming.js | 4 ++-- dist/theming-admin-theming.js.map | 2 +- dist/theming-personal-theming.js | 4 ++-- dist/theming-personal-theming.js.map | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/dist/files-main.js b/dist/files-main.js index b13939a599f..5ffa36df439 100644 --- a/dist/files-main.js +++ b/dist/files-main.js @@ -1,3 +1,3 @@ /*! For license information please see files-main.js.LICENSE.txt */ -(()=>{var e,n,s,i={51772:t=>{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function s(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,s,r,o){if("function"!=typeof s)throw new TypeError("The listener must be a function");var a=new i(s,r||t,o),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new s:delete t._events[e]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,s,i=[];if(0===this._eventsCount)return i;for(s in t=this._events)e.call(t,s)&&i.push(n?s.slice(1):s);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=n?n+t:t,s=this._events[e];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,r=s.length,o=new Array(r);i{"use strict";var i={};s.r(i),s.d(i,{exclude:()=>Ft,extract:()=>kt,parse:()=>St,parseUrl:()=>Nt,pick:()=>Pt,stringify:()=>Lt,stringifyUrl:()=>It});var r=s(20144),o=!0;function a(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:void 0!==s.g?s.g:{}}r.ZP.util.warn;const l="function"==typeof Proxy,c="devtools-plugin:setup";let u,d;class m{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const e in t.settings){const s=t.settings[e];n[e]=s.defaultValue}const i=`__vue-devtools-plugin-settings__${t.id}`;let r=Object.assign({},n);try{const t=localStorage.getItem(i),e=JSON.parse(t);Object.assign(r,e)}catch(t){}this.fallbacks={getSettings:()=>r,setSettings(t){try{localStorage.setItem(i,JSON.stringify(t))}catch(t){}r=t},now:()=>{return void 0!==u||("undefined"!=typeof window&&window.performance?(u=!0,d=window.performance):void 0!==s.g&&(null===(t=s.g.perf_hooks)||void 0===t?void 0:t.performance)?(u=!0,d=s.g.perf_hooks.performance):u=!1),u?d.now():Date.now();var t}},e&&e.on("plugin:settings:set",((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const t of this.targetQueue)t.resolve(await this.target[t.method](...t.args))}}function p(t,e){const n=t,s=a(),i=a().__VUE_DEVTOOLS_GLOBAL_HOOK__,r=l&&n.enableEarlyProxy;if(!i||!s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&r){const t=r?new m(n,i):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(c,t,e)}var f=s(25108);let g;const h=t=>g=t,A=Symbol();function w(t){return t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!=typeof t.toJSON}var y;!function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"}(y||(y={}));const v="undefined"!=typeof window,b="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&v,C=(()=>"object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:"object"==typeof globalThis?globalThis:{HTMLElement:null})();function x(t,e,n){const s=new XMLHttpRequest;s.open("GET",t),s.responseType="blob",s.onload=function(){S(s.response,e,n)},s.onerror=function(){f.error("could not download file")},s.send()}function _(t){const e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function T(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(e){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(n)}}const E="object"==typeof navigator?navigator:{userAgent:""},k=(()=>/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent))(),S=v?"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!k?function(t,e="download",n){const s=document.createElement("a");s.download=e,s.rel="noopener","string"==typeof t?(s.href=t,s.origin!==location.origin?_(s.href)?x(t,e,n):(s.target="_blank",T(s)):T(s)):(s.href=URL.createObjectURL(t),setTimeout((function(){URL.revokeObjectURL(s.href)}),4e4),setTimeout((function(){T(s)}),0))}:"msSaveOrOpenBlob"in E?function(t,e="download",n){if("string"==typeof t)if(_(t))x(t,e,n);else{const e=document.createElement("a");e.href=t,e.target="_blank",setTimeout((function(){T(e)}))}else navigator.msSaveOrOpenBlob(function(t,{autoBom:e=!1}={}){return e&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,n),e)}:function(t,e,n,s){if((s=s||open("","_blank"))&&(s.document.title=s.document.body.innerText="downloading..."),"string"==typeof t)return x(t,e,n);const i="application/octet-stream"===t.type,r=/constructor/i.test(String(C.HTMLElement))||"safari"in C,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&r||k)&&"undefined"!=typeof FileReader){const e=new FileReader;e.onloadend=function(){let t=e.result;if("string"!=typeof t)throw s=null,new Error("Wrong reader.result type");t=o?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=t:location.assign(t),s=null},e.readAsDataURL(t)}else{const e=URL.createObjectURL(t);s?s.location.assign(e):location.href=e,s=null,setTimeout((function(){URL.revokeObjectURL(e)}),4e4)}}:()=>{};function L(t,e){const n="🍍 "+t;"function"==typeof __VUE_DEVTOOLS_TOAST__?__VUE_DEVTOOLS_TOAST__(n,e):"error"===e?f.error(n):"warn"===e?f.warn(n):f.log(n)}function N(t){return"_a"in t&&"install"in t}function I(){if(!("clipboard"in navigator))return L("Your browser doesn't support the Clipboard API","error"),!0}function P(t){return!!(t instanceof Error&&t.message.toLowerCase().includes("document is not focused"))&&(L('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0)}let F;function O(t,e){for(const n in e){const s=t.state.value[n];s?Object.assign(s,e[n]):t.state.value[n]=e[n]}}function B(t){return{_custom:{display:t}}}const D="🍍 Pinia (root)",j="_root";function U(t){return N(t)?{id:j,label:D}:{id:t.$id,label:t.$id}}function R(t){return t?Array.isArray(t)?t.reduce(((t,e)=>(t.keys.push(e.key),t.operations.push(e.type),t.oldValue[e.key]=e.oldValue,t.newValue[e.key]=e.newValue,t)),{oldValue:{},keys:[],operations:[],newValue:{}}):{operation:B(t.type),key:B(t.key),oldValue:t.oldValue,newValue:t.newValue}:{}}function z(t){switch(t){case y.direct:return"mutation";case y.patchFunction:case y.patchObject:return"$patch";default:return"unknown"}}let M=!0;const V=[],$="pinia:mutations",q="pinia",{assign:H}=Object,Z=t=>"🍍 "+t;function G(t,e){p({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:V,app:t},(n=>{"function"!=typeof n.now&&L("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),n.addTimelineLayer({id:$,label:"Pinia 🍍",color:15064968}),n.addInspector({id:q,label:"Pinia 🍍",icon:"storage",treeFilterPlaceholder:"Search stores",actions:[{icon:"content_copy",action:()=>{!async function(t){if(!I())try{await navigator.clipboard.writeText(JSON.stringify(t.state.value)),L("Global state copied to clipboard.")}catch(t){if(P(t))return;L("Failed to serialize the state. Check the console for more details.","error"),f.error(t)}}(e)},tooltip:"Serialize and copy the state"},{icon:"content_paste",action:async()=>{await async function(t){if(!I())try{O(t,JSON.parse(await navigator.clipboard.readText())),L("Global state pasted from clipboard.")}catch(t){if(P(t))return;L("Failed to deserialize the state from clipboard. Check the console for more details.","error"),f.error(t)}}(e),n.sendInspectorTree(q),n.sendInspectorState(q)},tooltip:"Replace the state with the content of your clipboard"},{icon:"save",action:()=>{!async function(t){try{S(new Blob([JSON.stringify(t.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(t){L("Failed to export the state as JSON. Check the console for more details.","error"),f.error(t)}}(e)},tooltip:"Save the state as a JSON file"},{icon:"folder_open",action:async()=>{await async function(t){try{const e=(F||(F=document.createElement("input"),F.type="file",F.accept=".json"),function(){return new Promise(((t,e)=>{F.onchange=async()=>{const e=F.files;if(!e)return t(null);const n=e.item(0);return t(n?{text:await n.text(),file:n}:null)},F.oncancel=()=>t(null),F.onerror=e,F.click()}))}),n=await e();if(!n)return;const{text:s,file:i}=n;O(t,JSON.parse(s)),L(`Global state imported from "${i.name}".`)}catch(t){L("Failed to import the state from JSON. Check the console for more details.","error"),f.error(t)}}(e),n.sendInspectorTree(q),n.sendInspectorState(q)},tooltip:"Import the state from a JSON file"}],nodeActions:[{icon:"restore",tooltip:'Reset the state (with "$reset")',action:t=>{const n=e._s.get(t);n?"function"!=typeof n.$reset?L(`Cannot reset "${t}" store because it doesn't have a "$reset" method implemented.`,"warn"):(n.$reset(),L(`Store "${t}" reset.`)):L(`Cannot reset "${t}" store because it wasn't found.`,"warn")}}]}),n.on.inspectComponent(((t,e)=>{const n=t.componentInstance&&t.componentInstance.proxy;if(n&&n._pStores){const e=t.componentInstance.proxy._pStores;Object.values(e).forEach((e=>{t.instanceData.state.push({type:Z(e.$id),key:"state",editable:!0,value:e._isOptionsAPI?{_custom:{value:(0,r.IU)(e.$state),actions:[{icon:"restore",tooltip:"Reset the state of this store",action:()=>e.$reset()}]}}:Object.keys(e.$state).reduce(((t,n)=>(t[n]=e.$state[n],t)),{})}),e._getters&&e._getters.length&&t.instanceData.state.push({type:Z(e.$id),key:"getters",editable:!1,value:e._getters.reduce(((t,n)=>{try{t[n]=e[n]}catch(e){t[n]=e}return t}),{})})}))}})),n.on.getInspectorTree((n=>{if(n.app===t&&n.inspectorId===q){let t=[e];t=t.concat(Array.from(e._s.values())),n.rootNodes=(n.filter?t.filter((t=>"$id"in t?t.$id.toLowerCase().includes(n.filter.toLowerCase()):D.toLowerCase().includes(n.filter.toLowerCase()))):t).map(U)}})),n.on.getInspectorState((n=>{if(n.app===t&&n.inspectorId===q){const t=n.nodeId===j?e:e._s.get(n.nodeId);if(!t)return;t&&(n.state=function(t){if(N(t)){const e=Array.from(t._s.keys()),n=t._s,s={state:e.map((e=>({editable:!0,key:e,value:t.state.value[e]}))),getters:e.filter((t=>n.get(t)._getters)).map((t=>{const e=n.get(t);return{editable:!1,key:t,value:e._getters.reduce(((t,n)=>(t[n]=e[n],t)),{})}}))};return s}const e={state:Object.keys(t.$state).map((e=>({editable:!0,key:e,value:t.$state[e]})))};return t._getters&&t._getters.length&&(e.getters=t._getters.map((e=>({editable:!1,key:e,value:t[e]})))),t._customProperties.size&&(e.customProperties=Array.from(t._customProperties).map((e=>({editable:!0,key:e,value:t[e]})))),e}(t))}})),n.on.editInspectorState(((n,s)=>{if(n.app===t&&n.inspectorId===q){const t=n.nodeId===j?e:e._s.get(n.nodeId);if(!t)return L(`store "${n.nodeId}" not found`,"error");const{path:s}=n;N(t)?s.unshift("state"):1===s.length&&t._customProperties.has(s[0])&&!(s[0]in t.$state)||s.unshift("$state"),M=!1,n.set(t,s,n.state.value),M=!0}})),n.on.editComponentState((t=>{if(t.type.startsWith("🍍")){const n=t.type.replace(/^🍍\s*/,""),s=e._s.get(n);if(!s)return L(`store "${n}" not found`,"error");const{path:i}=t;if("state"!==i[0])return L(`Invalid path for store "${n}":\n${i}\nOnly state can be modified.`);i[0]="$state",M=!1,t.set(s,i,t.state.value),M=!0}}))}))}let Y,W=0;function K(t,e,n){const s=e.reduce(((e,n)=>(e[n]=(0,r.IU)(t)[n],e)),{});for(const e in s)t[e]=function(){const i=W,r=n?new Proxy(t,{get:(...t)=>(Y=i,Reflect.get(...t)),set:(...t)=>(Y=i,Reflect.set(...t))}):t;Y=i;const o=s[e].apply(r,arguments);return Y=void 0,o}}function J({app:t,store:e,options:n}){if(e.$id.startsWith("__hot:"))return;e._isOptionsAPI=!!n.state,K(e,Object.keys(n.actions),e._isOptionsAPI);const s=e._hotUpdate;(0,r.IU)(e)._hotUpdate=function(t){s.apply(this,arguments),K(e,Object.keys(t._hmrPayload.actions),!!e._isOptionsAPI)},function(t,e){V.includes(Z(e.$id))||V.push(Z(e.$id)),p({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:V,app:t,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},(t=>{const n="function"==typeof t.now?t.now.bind(t):Date.now;e.$onAction((({after:s,onError:i,name:r,args:o})=>{const a=W++;t.addTimelineEvent({layerId:$,event:{time:n(),title:"🛫 "+r,subtitle:"start",data:{store:B(e.$id),action:B(r),args:o},groupId:a}}),s((s=>{Y=void 0,t.addTimelineEvent({layerId:$,event:{time:n(),title:"🛬 "+r,subtitle:"end",data:{store:B(e.$id),action:B(r),args:o,result:s},groupId:a}})})),i((s=>{Y=void 0,t.addTimelineEvent({layerId:$,event:{time:n(),logType:"error",title:"💥 "+r,subtitle:"end",data:{store:B(e.$id),action:B(r),args:o,error:s},groupId:a}})}))}),!0),e._customProperties.forEach((s=>{(0,r.YP)((()=>(0,r.SU)(e[s])),((e,i)=>{t.notifyComponentUpdate(),t.sendInspectorState(q),M&&t.addTimelineEvent({layerId:$,event:{time:n(),title:"Change",subtitle:s,data:{newValue:e,oldValue:i},groupId:Y}})}),{deep:!0})})),e.$subscribe((({events:s,type:i},r)=>{if(t.notifyComponentUpdate(),t.sendInspectorState(q),!M)return;const o={time:n(),title:z(i),data:H({store:B(e.$id)},R(s)),groupId:Y};i===y.patchFunction?o.subtitle="⤵️":i===y.patchObject?o.subtitle="🧩":s&&!Array.isArray(s)&&(o.subtitle=s.type),s&&(o.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:s}}),t.addTimelineEvent({layerId:$,event:o})}),{detached:!0,flush:"sync"});const s=e._hotUpdate;e._hotUpdate=(0,r.Xl)((i=>{s(i),t.addTimelineEvent({layerId:$,event:{time:n(),title:"🔥 "+e.$id,subtitle:"HMR update",data:{store:B(e.$id),info:B("HMR update")}}}),t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q)}));const{$dispose:i}=e;e.$dispose=()=>{i(),t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q),t.getSettings().logStoreChanges&&L(`Disposed "${e.$id}" store 🗑`)},t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q),t.getSettings().logStoreChanges&&L(`"${e.$id}" store installed 🆕`)}))}(t,e)}const Q=()=>{};function X(t,e,n,s=Q){t.push(e);const i=()=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),s())};return!n&&(0,r.nZ)()&&(0,r.EB)(i),i}function tt(t,...e){t.slice().forEach((t=>{t(...e)}))}const et=t=>t();function nt(t,e){t instanceof Map&&e instanceof Map&&e.forEach(((e,n)=>t.set(n,e))),t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const s=e[n],i=t[n];w(i)&&w(s)&&t.hasOwnProperty(n)&&!(0,r.dq)(s)&&!(0,r.PG)(s)?t[n]=nt(i,s):t[n]=s}return t}const st=Symbol(),it=new WeakMap,{assign:rt}=Object;function ot(t,e,n={},s,i,a){let l;const c=rt({actions:{}},n),u={deep:!0};let d,m,p,f=[],g=[];const A=s.state.value[t];a||A||(o?(0,r.t8)(s.state.value,t,{}):s.state.value[t]={});const v=(0,r.iH)({});let C;function x(e){let n;d=m=!1,"function"==typeof e?(e(s.state.value[t]),n={type:y.patchFunction,storeId:t,events:p}):(nt(s.state.value[t],e),n={type:y.patchObject,payload:e,storeId:t,events:p});const i=C=Symbol();(0,r.Y3)().then((()=>{C===i&&(d=!0)})),m=!0,tt(f,n,s.state.value[t])}const _=a?function(){const{state:t}=n,e=t?t():{};this.$patch((t=>{rt(t,e)}))}:Q;function T(e,n){return function(){h(s);const i=Array.from(arguments),r=[],o=[];let a;tt(g,{args:i,name:e,store:S,after:function(t){r.push(t)},onError:function(t){o.push(t)}});try{a=n.apply(this&&this.$id===t?this:S,i)}catch(t){throw tt(o,t),t}return a instanceof Promise?a.then((t=>(tt(r,t),t))).catch((t=>(tt(o,t),Promise.reject(t)))):(tt(r,a),a)}}const E=(0,r.Xl)({actions:{},getters:{},state:[],hotState:v}),k={_p:s,$id:t,$onAction:X.bind(null,g),$patch:x,$reset:_,$subscribe(e,n={}){const i=X(f,e,n.detached,(()=>o())),o=l.run((()=>(0,r.YP)((()=>s.state.value[t]),(s=>{("sync"===n.flush?m:d)&&e({storeId:t,type:y.direct,events:p},s)}),rt({},u,n))));return i},$dispose:function(){l.stop(),f=[],g=[],s._s.delete(t)}};o&&(k._r=!1);const S=(0,r.qj)(b?rt({_hmrPayload:E,_customProperties:(0,r.Xl)(new Set)},k):k);s._s.set(t,S);const L=(s._a&&s._a.runWithContext||et)((()=>s._e.run((()=>(l=(0,r.B)()).run(e)))));for(const e in L){const n=L[e];if((0,r.dq)(n)&&(I=n,!(0,r.dq)(I)||!I.effect)||(0,r.PG)(n))a||(!A||(N=n,o?it.has(N):w(N)&&N.hasOwnProperty(st))||((0,r.dq)(n)?n.value=A[e]:nt(n,A[e])),o?(0,r.t8)(s.state.value[t],e,n):s.state.value[t][e]=n);else if("function"==typeof n){const t=T(e,n);o?(0,r.t8)(L,e,t):L[e]=t,c.actions[e]=n}}var N,I;if(o?Object.keys(L).forEach((t=>{(0,r.t8)(S,t,L[t])})):(rt(S,L),rt((0,r.IU)(S),L)),Object.defineProperty(S,"$state",{get:()=>s.state.value[t],set:t=>{x((e=>{rt(e,t)}))}}),b){const t={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((e=>{Object.defineProperty(S,e,rt({value:S[e]},t))}))}return o&&(S._r=!0),s._p.forEach((t=>{if(b){const e=l.run((()=>t({store:S,app:s._a,pinia:s,options:c})));Object.keys(e||{}).forEach((t=>S._customProperties.add(t))),rt(S,e)}else rt(S,l.run((()=>t({store:S,app:s._a,pinia:s,options:c}))))})),A&&a&&n.hydrate&&n.hydrate(S.$state,A),d=!0,m=!0,S}function at(t,e,n){let s,i;const a="function"==typeof e;function l(t,n){const l=!!(0,r.FN)();return(t=t||(l?(0,r.f3)(A,null):null))&&h(t),(t=g)._s.has(s)||(a?ot(s,e,i,t):function(t,e,n,s){const{state:i,actions:a,getters:l}=e,c=n.state.value[t];let u;u=ot(t,(function(){c||(o?(0,r.t8)(n.state.value,t,i?i():{}):n.state.value[t]=i?i():{});const e=(0,r.BK)(n.state.value[t]);return rt(e,a,Object.keys(l||{}).reduce(((e,s)=>(e[s]=(0,r.Xl)((0,r.Fl)((()=>{h(n);const e=n._s.get(t);if(!o||e._r)return l[s].call(e,e)}))),e)),{}))}),e,n,0,!0)}(s,i,t)),t._s.get(s)}return"string"==typeof t?(s=t,i=a?n:e):(i=t,s=t.id),l.$id=s,l}var lt=s(5656),ct=s(77958),ut=s(79753);const dt="%[a-f0-9]{2}",mt=new RegExp("("+dt+")|([^%]+?)","gi"),pt=new RegExp("("+dt+")+","gi");function ft(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),s=t.slice(e);return Array.prototype.concat.call([],ft(n),ft(s))}function gt(t){try{return decodeURIComponent(t)}catch{let e=t.match(mt)||[];for(let n=1;nnull==t,yt=t=>encodeURIComponent(t).replace(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),vt=Symbol("encodeFragmentIdentifier");function bt(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function Ct(t,e){return e.encode?e.strict?yt(t):encodeURIComponent(t):t}function xt(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=pt.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=gt(n[0]);t!==n[0]&&(e[n[0]]=t)}n=pt.exec(t)}e["%C2"]="�";const s=Object.keys(e);for(const n of s)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function _t(t){return Array.isArray(t)?t.sort():"object"==typeof t?_t(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function Tt(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function Et(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function kt(t){const e=(t=Tt(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function St(t,e){bt((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,s)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===s[t]&&(s[t]={}),s[t][e[1]]=n):s[t]=n};case"bracket":return(t,n,s)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"colon-list-separator":return(t,n,s)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"comma":case"separator":return(e,n,s)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),r="string"==typeof n&&!i&&xt(n,t).includes(t.arrayFormatSeparator);n=r?xt(n,t):n;const o=i||r?n.split(t.arrayFormatSeparator).map((e=>xt(e,t))):null===n?n:xt(n,t);s[e]=o};case"bracket-separator":return(e,n,s)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(s[e]=n?xt(n,t):n);const r=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>xt(e,t)));void 0!==s[e]?s[e]=[...s[e],...r]:s[e]=r};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),s=Object.create(null);if("string"!=typeof t)return s;if(!(t=t.trim().replace(/^[?#&]/,"")))return s;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replace(/\+/g," "):i;let[r,o]=ht(t,"=");void 0===r&&(r=t),o=void 0===o?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?o:xt(o,e),n(xt(r,e),o,s)}for(const[t,n]of Object.entries(s))if("object"==typeof n&&null!==n)for(const[t,s]of Object.entries(n))n[t]=Et(s,e);else s[t]=Et(n,e);return!1===e.sort?s:(!0===e.sort?Object.keys(s).sort():Object.keys(s).sort(e.sort)).reduce(((t,e)=>{const n=s[e];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?t[e]=_t(n):t[e]=n,t}),Object.create(null))}function Lt(t,e){if(!t)return"";bt((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&wt(t[n])||e.skipEmptyString&&""===t[n],s=function(t){switch(t.arrayFormat){case"index":return e=>(n,s)=>{const i=n.length;return void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),"[",i,"]"].join("")]:[...n,[Ct(e,t),"[",Ct(i,t),"]=",Ct(s,t)].join("")]};case"bracket":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),"[]"].join("")]:[...n,[Ct(e,t),"[]=",Ct(s,t)].join("")];case"colon-list-separator":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),":list="].join("")]:[...n,[Ct(e,t),":list=",Ct(s,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(s,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?s:(i=null===i?"":i,0===s.length?[[Ct(n,t),e,Ct(i,t)].join("")]:[[s,Ct(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,Ct(e,t)]:[...n,[Ct(e,t),"=",Ct(s,t)].join("")]}}(e),i={};for(const[e,s]of Object.entries(t))n(e)||(i[e]=s);const r=Object.keys(i);return!1!==e.sort&&r.sort(e.sort),r.map((n=>{const i=t[n];return void 0===i?"":null===i?Ct(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?Ct(n,e)+"[]":i.reduce(s(n),[]).join("&"):Ct(n,e)+"="+Ct(i,e)})).filter((t=>t.length>0)).join("&")}function Nt(t,e){e={decode:!0,...e};let[n,s]=ht(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:St(kt(t),e),...e&&e.parseFragmentIdentifier&&s?{fragmentIdentifier:xt(s,e)}:{}}}function It(t,e){e={encode:!0,strict:!0,[vt]:!0,...e};const n=Tt(t.url).split("?")[0]||"";let s=Lt({...St(kt(t.url),{sort:!1}),...t.query},e);s&&(s=`?${s}`);let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if(t.fragmentIdentifier){const s=new URL(n);s.hash=t.fragmentIdentifier,i=e[vt]?s.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${i}`}function Pt(t,e,n){n={parseFragmentIdentifier:!0,[vt]:!1,...n};const{url:s,query:i,fragmentIdentifier:r}=Nt(t,n);return It({url:s,query:At(i,e),fragmentIdentifier:r},n)}function Ft(t,e,n){return Pt(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}const Ot=i;var Bt=s(25108);function Dt(t,e){for(var n in e)t[n]=e[n];return t}var jt=/[!'()*]/g,Ut=function(t){return"%"+t.charCodeAt(0).toString(16)},Rt=/%2C/g,zt=function(t){return encodeURIComponent(t).replace(jt,Ut).replace(Rt,",")};function Mt(t){try{return decodeURIComponent(t)}catch(t){}return t}var Vt=function(t){return null==t||"object"==typeof t?t:String(t)};function $t(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),s=Mt(n.shift()),i=n.length>0?Mt(n.join("=")):null;void 0===e[s]?e[s]=i:Array.isArray(e[s])?e[s].push(i):e[s]=[e[s],i]})),e):e}function qt(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return zt(e);if(Array.isArray(n)){var s=[];return n.forEach((function(t){void 0!==t&&(null===t?s.push(zt(e)):s.push(zt(e)+"="+zt(t)))})),s.join("&")}return zt(e)+"="+zt(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var Ht=/\/?$/;function Zt(t,e,n,s){var i=s&&s.options.stringifyQuery,r=e.query||{};try{r=Gt(r)}catch(t){}var o={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:r,params:e.params||{},fullPath:Kt(e,i),matched:t?Wt(t):[]};return n&&(o.redirectedFrom=Kt(n,i)),Object.freeze(o)}function Gt(t){if(Array.isArray(t))return t.map(Gt);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=Gt(t[n]);return e}return t}var Yt=Zt(null,{path:"/"});function Wt(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function Kt(t,e){var n=t.path,s=t.query;void 0===s&&(s={});var i=t.hash;return void 0===i&&(i=""),(n||"/")+(e||qt)(s)+i}function Jt(t,e,n){return e===Yt?t===e:!!e&&(t.path&&e.path?t.path.replace(Ht,"")===e.path.replace(Ht,"")&&(n||t.hash===e.hash&&Qt(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(n||t.hash===e.hash&&Qt(t.query,e.query)&&Qt(t.params,e.params)))}function Qt(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),s=Object.keys(e).sort();return n.length===s.length&&n.every((function(n,i){var r=t[n];if(s[i]!==n)return!1;var o=e[n];return null==r||null==o?r===o:"object"==typeof r&&"object"==typeof o?Qt(r,o):String(r)===String(o)}))}function Xt(t){for(var e=0;e=0&&(e=t.slice(s),t=t.slice(0,s));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}(i.path||""),c=e&&e.path||"/",u=l.path?ne(l.path,c,n||i.append):c,d=function(t,e,n){void 0===e&&(e={});var s,i=n||$t;try{s=i(t||"")}catch(t){s={}}for(var r in e){var o=e[r];s[r]=Array.isArray(o)?o.map(Vt):Vt(o)}return s}(l.query,i.query,s&&s.options.parseQuery),m=i.hash||l.hash;return m&&"#"!==m.charAt(0)&&(m="#"+m),{_normalized:!0,path:u,query:d,hash:m}}var be,Ce=function(){},xe={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,s=this.$route,i=n.resolve(this.to,s,this.append),r=i.location,o=i.route,a=i.href,l={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,d=null==c?"router-link-active":c,m=null==u?"router-link-exact-active":u,p=null==this.activeClass?d:this.activeClass,f=null==this.exactActiveClass?m:this.exactActiveClass,g=o.redirectedFrom?Zt(null,ve(o.redirectedFrom),null,n):o;l[f]=Jt(s,g,this.exactPath),l[p]=this.exact||this.exactPath?l[f]:function(t,e){return 0===t.path.replace(Ht,"/").indexOf(e.path.replace(Ht,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(s,g);var h=l[f]?this.ariaCurrentValue:null,A=function(t){_e(t)&&(e.replace?n.replace(r,Ce):n.push(r,Ce))},w={click:_e};Array.isArray(this.event)?this.event.forEach((function(t){w[t]=A})):w[this.event]=A;var y={class:l},v=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:a,route:o,navigate:A,isActive:l[p],isExactActive:l[f]});if(v){if(1===v.length)return v[0];if(v.length>1||!v.length)return 0===v.length?t():t("span",{},v)}if("a"===this.tag)y.on=w,y.attrs={href:a,"aria-current":h};else{var b=Te(this.$slots.default);if(b){b.isStatic=!1;var C=b.data=Dt({},b.data);for(var x in C.on=C.on||{},C.on){var _=C.on[x];x in w&&(C.on[x]=Array.isArray(_)?_:[_])}for(var T in w)T in C.on?C.on[T].push(w[T]):C.on[T]=A;var E=b.data.attrs=Dt({},b.data.attrs);E.href=a,E["aria-current"]=h}else y.on=w}return t(this.tag,y,this.$slots.default)}};function _e(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Te(t){if(t)for(var e,n=0;n-1&&(l.params[m]=n.params[m]);return l.path=ye(u.path,l.params),a(u,l,o)}if(l.path){l.params={};for(var p=0;p-1}function nn(t,e){return en(t)&&t._isRouter&&(null==e||t.type===e)}function sn(t,e,n){var s=function(i){i>=t.length?n():t[i]?e(t[i],(function(){s(i+1)})):s(i+1)};s(0)}function rn(t,e){return on(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function on(t){return Array.prototype.concat.apply([],t)}var an="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function ln(t){var e=!1;return function(){for(var n=[],s=arguments.length;s--;)n[s]=arguments[s];if(!e)return e=!0,t.apply(this,n)}}var cn=function(t,e){this.router=t,this.base=function(t){if(!t)if(Ee){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=Yt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function un(t,e,n,s){var i=rn(t,(function(t,s,i,r){var o=function(t,e){return"function"!=typeof t&&(t=be.extend(t)),t.options[e]}(t,e);if(o)return Array.isArray(o)?o.map((function(t){return n(t,s,i,r)})):n(o,s,i,r)}));return on(s?i.reverse():i)}function dn(t,e){if(e)return function(){return t.apply(e,arguments)}}cn.prototype.listen=function(t){this.cb=t},cn.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},cn.prototype.onError=function(t){this.errorCbs.push(t)},cn.prototype.transitionTo=function(t,e,n){var s,i=this;try{s=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var r=this.current;this.confirmTransition(s,(function(){i.updateRoute(s),e&&e(s),i.ensureURL(),i.router.afterHooks.forEach((function(t){t&&t(s,r)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(t){t(s)})))}),(function(t){n&&n(t),t&&!i.ready&&(nn(t,Je.redirected)&&r===Yt||(i.ready=!0,i.readyErrorCbs.forEach((function(e){e(t)}))))}))},cn.prototype.confirmTransition=function(t,e,n){var s=this,i=this.current;this.pending=t;var r,o,a=function(t){!nn(t)&&en(t)&&(s.errorCbs.length?s.errorCbs.forEach((function(e){e(t)})):Bt.error(t)),n&&n(t)},l=t.matched.length-1,c=i.matched.length-1;if(Jt(t,i)&&l===c&&t.matched[l]===i.matched[c])return this.ensureURL(),t.hash&&Re(this.router,i,t,!1),a(((o=Xe(r=i,t,Je.duplicated,'Avoided redundant navigation to current location: "'+r.fullPath+'".')).name="NavigationDuplicated",o));var u,d=function(t,e){var n,s=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,s=Ye&&n;s&&this.listeners.push(Ue());var i=function(){var n=t.current,i=pn(t.base);t.current===Yt&&i===t._startLocation||t.transitionTo(i,(function(t){s&&Re(e,t,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){We(se(s.base+t.fullPath)),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){Ke(se(s.base+t.fullPath)),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(pn(this.base)!==this.current.fullPath){var e=se(this.base+this.current.fullPath);t?We(e):Ke(e)}},e.prototype.getCurrentLocation=function(){return pn(this.base)},e}(cn);function pn(t){var e=window.location.pathname,n=e.toLowerCase(),s=t.toLowerCase();return!t||n!==s&&0!==n.indexOf(se(s+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var fn=function(t){function e(e,n,s){t.call(this,e,n),s&&function(t){var e=pn(t);if(!/^\/#/.test(e))return window.location.replace(se(t+"/#"+e)),!0}(this.base)||gn()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=Ye&&e;n&&this.listeners.push(Ue());var s=function(){var e=t.current;gn()&&t.transitionTo(hn(),(function(s){n&&Re(t.router,s,e,!0),Ye||yn(s.fullPath)}))},i=Ye?"popstate":"hashchange";window.addEventListener(i,s),this.listeners.push((function(){window.removeEventListener(i,s)}))}},e.prototype.push=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){wn(t.fullPath),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){yn(t.fullPath),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;hn()!==e&&(t?wn(e):yn(e))},e.prototype.getCurrentLocation=function(){return hn()},e}(cn);function gn(){var t=hn();return"/"===t.charAt(0)||(yn("/"+t),!1)}function hn(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function An(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function wn(t){Ye?We(An(t)):window.location.hash=t}function yn(t){Ye?Ke(An(t)):window.location.replace(An(t))}var vn=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var s=this;this.transitionTo(t,(function(t){s.stack=s.stack.slice(0,s.index+1).concat(t),s.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this;this.transitionTo(t,(function(t){s.stack=s.stack.slice(0,s.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var s=this.stack[n];this.confirmTransition(s,(function(){var t=e.current;e.index=n,e.updateRoute(s),e.router.afterHooks.forEach((function(e){e&&e(s,t)}))}),(function(t){nn(t,Je.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(cn),bn=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ne(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Ye&&!1!==t.fallback,this.fallback&&(e="hash"),Ee||(e="abstract"),this.mode=e,e){case"history":this.history=new mn(this,t.base);break;case"hash":this.history=new fn(this,t.base,this.fallback);break;case"abstract":this.history=new vn(this,t.base)}},Cn={currentRoute:{configurable:!0}};bn.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Cn.currentRoute.get=function(){return this.history&&this.history.current},bn.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof mn||n instanceof fn){var s=function(t){n.setupListeners(),function(t){var s=n.current,i=e.options.scrollBehavior;Ye&&i&&"fullPath"in t&&Re(e,t,s,!1)}(t)};n.transitionTo(n.getCurrentLocation(),s,s)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},bn.prototype.beforeEach=function(t){return _n(this.beforeHooks,t)},bn.prototype.beforeResolve=function(t){return _n(this.resolveHooks,t)},bn.prototype.afterEach=function(t){return _n(this.afterHooks,t)},bn.prototype.onReady=function(t,e){this.history.onReady(t,e)},bn.prototype.onError=function(t){this.history.onError(t)},bn.prototype.push=function(t,e,n){var s=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){s.history.push(t,e,n)}));this.history.push(t,e,n)},bn.prototype.replace=function(t,e,n){var s=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){s.history.replace(t,e,n)}));this.history.replace(t,e,n)},bn.prototype.go=function(t){this.history.go(t)},bn.prototype.back=function(){this.go(-1)},bn.prototype.forward=function(){this.go(1)},bn.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},bn.prototype.resolve=function(t,e,n){var s=ve(t,e=e||this.history.current,n,this),i=this.match(s,e),r=i.redirectedFrom||i.fullPath,o=function(t,e,n){var s="hash"===n?"#"+e:e;return t?se(t+"/"+s):s}(this.history.base,r,this.mode);return{location:s,route:i,href:o,normalizedTo:s,resolved:i}},bn.prototype.getRoutes=function(){return this.matcher.getRoutes()},bn.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==Yt&&this.history.transitionTo(this.history.getCurrentLocation())},bn.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==Yt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(bn.prototype,Cn);var xn=bn;function _n(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}bn.install=function t(e){if(!t.installed||be!==e){t.installed=!0,be=e;var n=function(t){return void 0!==t},s=function(t,e){var s=t.$options._parentVnode;n(s)&&n(s=s.data)&&n(s=s.registerRouteInstance)&&s(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,s(this,this)},destroyed:function(){s(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",te),e.component("RouterLink",xe);var i=e.config.optionMergeStrategies;i.beforeRouteEnter=i.beforeRouteLeave=i.beforeRouteUpdate=i.created}},bn.version="3.6.5",bn.isNavigationFailure=nn,bn.NavigationFailureType=Je,bn.START_LOCATION=Yt,Ee&&window.Vue&&window.Vue.use(bn),r.ZP.use(xn);const Tn=xn.prototype.push;xn.prototype.push=function(t,e,n){return e||n?Tn.call(this,t,e,n):Tn.call(this,t).catch((t=>t))};const En=new xn({mode:"history",base:(0,ut.generateUrl)("/apps/files"),linkActiveClass:"active",routes:[{path:"/",redirect:{name:"filelist",params:{view:"files"}}},{path:"/:view/:fileid(\\d+)?",name:"filelist",props:!0}],stringifyQuery(t){const e=Ot.stringify(t).replace(/%2F/gim,"/");return e?"?"+e:""}});function kn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Sn=s(25108);var Ln=s(6134),Nn=s(69183),In=s(31352);const Pn={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Fn=s(51900);const On=(0,Fn.Z)(Pn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Bn=s(57084),Dn=s(26640),jn=s(46226),Un=s(43554);var Rn=s(93664);const zn=(0,Un.j)("files","viewConfigs",{}),Mn=function(){const t=at("viewconfig",{state:()=>({viewConfig:zn}),getters:{getConfig:t=>e=>t.viewConfig[e]||{}},actions:{onUpdate(t,e,n){this.viewConfig[t]||r.ZP.set(this.viewConfig,t,{}),r.ZP.set(this.viewConfig[t],e,n)},async update(t,e,n){Rn.Z.put((0,ut.generateUrl)(`/apps/files/api/v1/views/${t}/${e}`),{value:n}),(0,Nn.j8)("files:viewconfig:updated",{view:t,key:e,value:n})},setSortingBy(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"basename",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"files";this.update(e,"sorting_mode",t),this.update(e,"sorting_direction","asc")},toggleSortingDirection(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files";const e="asc"===(this.getConfig(t)||{sorting_direction:"asc"}).sorting_direction?"desc":"asc";this.update(t,"sorting_direction",e)}}}),e=t(...arguments);return e._initialized||((0,Nn.Ld)("files:viewconfig:updated",(function(t){let{view:n,key:s,value:i}=t;e.onUpdate(n,s,i)})),e._initialized=!0),e},Vn=(0,s(17499).IY)().setApp("files").detectUser().build();function $n(t,e,n){var s,i=n||{},r=i.noTrailing,o=void 0!==r&&r,a=i.noLeading,l=void 0!==a&&a,c=i.debounceMode,u=void 0===c?void 0:c,d=!1,m=0;function p(){s&&clearTimeout(s)}function f(){for(var n=arguments.length,i=new Array(n),r=0;rt?l?(m=Date.now(),o||(s=setTimeout(u?g:f,t))):f():!0!==o&&(s=setTimeout(u?g:f,void 0===u?t-c:t)))}return f.cancel=function(t){var e=(t||{}).upcomingOnly,n=void 0!==e&&e;p(),d=!n},f}var qn=s(64024);const Hn={name:"ChartPieIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zn=(0,Fn.Z)(Hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chart-pie-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Gn=s(29094);const Yn={name:"NavigationQuota",components:{ChartPie:Zn,NcAppNavigationItem:Dn.Z,NcProgressBar:Gn.Z},data:()=>({loadingStorageStats:!1,storageStats:(0,Un.j)("files","storageStats",null)}),computed:{storageStatsTitle(){const t=(0,lt.sS)(this.storageStats?.used,!1,!1),e=(0,lt.sS)(this.storageStats?.quota,!1,!1);return this.storageStats?.quota<0?this.t("files","{usedQuotaByte} used",{usedQuotaByte:t}):this.t("files","{used} of {quota} used",{used:t,quota:e})},storageStatsTooltip(){return this.storageStats.relative?this.t("files","{relative}% used",this.storageStats):""}},beforeMount(){setInterval(this.throttleUpdateStorageStats,6e4),(0,Nn.Ld)("files:node:created",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:deleted",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:moved",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:updated",this.throttleUpdateStorageStats)},mounted(){this.storageStats?.free<=0&&this.showStorageFullWarning()},methods:{debounceUpdateStorageStats:(Wn={}.atBegin,$n(200,(function(t){this.updateStorageStats(t)}),{debounceMode:!1!==(void 0!==Wn&&Wn)})),throttleUpdateStorageStats:$n(1e3,(function(t){this.updateStorageStats(t)})),async updateStorageStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.loadingStorageStats){this.loadingStorageStats=!0;try{const t=await Rn.Z.get((0,ut.generateUrl)("/apps/files/api/v1/stats"));if(!t?.data?.data)throw new Error("Invalid storage stats");this.storageStats?.free>0&&t.data.data?.free<=0&&this.showStorageFullWarning(),this.storageStats=t.data.data}catch(n){Vn.error("Could not refresh storage stats",{error:n}),e&&(0,qn.x2)(t("files","Could not refresh storage stats"))}finally{this.loadingStorageStats=!1}}},showStorageFullWarning(){(0,qn.x2)(this.t("files","Your storage is full, files can not be updated or synced anymore!"))},t:In.Iu}};var Wn,Kn=s(93379),Jn=s.n(Kn),Qn=s(7795),Xn=s.n(Qn),ts=s(90569),es=s.n(ts),ns=s(3565),ss=s.n(ns),is=s(19216),rs=s.n(is),os=s(44589),as=s.n(os),ls=s(75136),cs={};cs.styleTagTransform=as(),cs.setAttributes=ss(),cs.insert=es().bind(null,"head"),cs.domAPI=Xn(),cs.insertStyleElement=rs(),Jn()(ls.Z,cs),ls.Z&&ls.Z.locals&&ls.Z.locals;const us=(0,Fn.Z)(Yn,(function(){var t=this,e=t._self._c;return t.storageStats?e("NcAppNavigationItem",{staticClass:"app-navigation-entry__settings-quota",class:{"app-navigation-entry__settings-quota--not-unlimited":t.storageStats.quota>=0},attrs:{"aria-label":t.t("files","Storage informations"),loading:t.loadingStorageStats,name:t.storageStatsTitle,title:t.storageStatsTooltip,"data-cy-files-navigation-settings-quota":""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.debounceUpdateStorageStats.apply(null,arguments)}}},[e("ChartPie",{attrs:{slot:"icon",size:20},slot:"icon"}),t._v(" "),t.storageStats.quota>=0?e("NcProgressBar",{attrs:{slot:"extra",error:t.storageStats.relative>80,value:Math.min(t.storageStats.relative,100)},slot:"extra"}):t._e()],1):t._e()}),[],!1,null,"18ceb3ce",null).exports;var ds=s(64845),ms=s(28454),ps=s(9359);const fs={name:"ClipboardIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gs=(0,Fn.Z)(fs,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var hs=s(18484);const As={name:"Setting",props:{el:{type:Function,required:!0}},mounted(){this.$el.appendChild(this.el())}},ws=(0,Fn.Z)(As,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,ys=(0,Un.j)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),vs=function(){const t=at("userconfig",{state:()=>({userConfig:ys}),actions:{onUpdate(t,e){r.ZP.set(this.userConfig,t,e)},async update(t,e){await Rn.Z.put((0,ut.generateUrl)("/apps/files/api/v1/config/"+t),{value:e}),(0,Nn.j8)("files:config:updated",{key:t,value:e})}}})(...arguments);return t._initialized||((0,Nn.Ld)("files:config:updated",(function(e){let{key:n,value:s}=e;t.onUpdate(n,s)})),t._initialized=!0),t},bs={name:"Settings",components:{Clipboard:gs,NcAppSettingsDialog:ds.N,NcAppSettingsSection:ms.Z,NcCheckboxRadioSwitch:ps.Z,NcInputField:hs.Z,Setting:ws},props:{open:{type:Boolean,default:!1}},setup:()=>({userConfigStore:vs()}),data:()=>({settings:window.OCA?.Files?.Settings?.settings||[],webdavUrl:(0,ut.generateRemoteUrl)("dav/files/"+encodeURIComponent((0,ct.ts)()?.uid)),webdavDocs:"https://docs.nextcloud.com/server/stable/go.php?to=user-webdav",appPasswordUrl:(0,ut.generateUrl)("/settings/user/security#generate-app-token-section"),webdavUrlCopied:!1,enableGridView:(0,Un.j)("core","config",[])["enable_non-accessible_features"]??!0}),computed:{userConfig(){return this.userConfigStore.userConfig}},beforeMount(){this.settings.forEach((t=>t.open()))},beforeDestroy(){this.settings.forEach((t=>t.close()))},methods:{onClose(){this.$emit("close")},setConfig(t,e){this.userConfigStore.update(t,e)},async copyCloudId(){document.querySelector("input#webdav-url-input").select(),navigator.clipboard?(await navigator.clipboard.writeText(this.webdavUrl),this.webdavUrlCopied=!0,(0,qn.s$)(t("files","WebDAV URL copied to clipboard")),setTimeout((()=>{this.webdavUrlCopied=!1}),5e3)):(0,qn.x2)(t("files","Clipboard is not available"))},t:In.Iu}};var Cs=s(21865),xs={};xs.styleTagTransform=as(),xs.setAttributes=ss(),xs.insert=es().bind(null,"head"),xs.domAPI=Xn(),xs.insertStyleElement=rs(),Jn()(Cs.Z,xs),Cs.Z&&Cs.Z.locals&&Cs.Z.locals;const _s=(0,Fn.Z)(bs,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.open,"show-navigation":!0,name:t.t("files","Files settings")},on:{"update:open":t.onClose}},[e("NcAppSettingsSection",{attrs:{id:"settings",name:t.t("files","Files settings")}},[e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.sort_favorites_first},on:{"update:checked":function(e){return t.setConfig("sort_favorites_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort favorites first"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.sort_folders_first},on:{"update:checked":function(e){return t.setConfig("sort_folders_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort folders before files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.show_hidden},on:{"update:checked":function(e){return t.setConfig("show_hidden",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Show hidden files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.crop_image_previews},on:{"update:checked":function(e){return t.setConfig("crop_image_previews",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Crop image previews"))+"\n\t\t")]),t._v(" "),t.enableGridView?e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.grid_view},on:{"update:checked":function(e){return t.setConfig("grid_view",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Enable the grid view"))+"\n\t\t")]):t._e()],1),t._v(" "),0!==t.settings.length?e("NcAppSettingsSection",{attrs:{id:"more-settings",name:t.t("files","Additional settings")}},[t._l(t.settings,(function(t){return[e("Setting",{key:t.name,attrs:{el:t.el}})]}))],2):t._e(),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"webdav",name:t.t("files","WebDAV")}},[e("NcInputField",{attrs:{id:"webdav-url-input",label:t.t("files","WebDAV URL"),"show-trailing-button":!0,success:t.webdavUrlCopied,"trailing-button-label":t.t("files","Copy to clipboard"),value:t.webdavUrl,readonly:"readonly",type:"url"},on:{focus:function(t){return t.target.select()},"trailing-button-click":t.copyCloudId},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e("Clipboard",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.webdavDocs,target:"_blank",rel:"noreferrer noopener"}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Use this address to access your Files via WebDAV"))+" ↗\n\t\t\t")])]),t._v(" "),e("br"),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.appPasswordUrl}},[t._v("\n\t\t\t\t"+t._s(t.t("files","If you have enabled 2FA, you must create and use a new app password by clicking here."))+" ↗\n\t\t\t")])])],1)],1)}),[],!1,null,"6d63c120",null).exports,Ts={name:"Navigation",components:{Cog:On,NavigationQuota:us,NcAppNavigation:Bn.Z,NcAppNavigationItem:Dn.Z,NcIconSvgWrapper:jn.Z,SettingsModal:_s},setup:()=>({viewConfigStore:Mn()}),data:()=>({settingsOpened:!1}),computed:{currentViewId(){return this.$route?.params?.view||"files"},currentView(){return this.views.find((t=>t.id===this.currentViewId))},views(){return this.$navigation.views},parentViews(){return this.views.filter((t=>!t.parent)).sort(((t,e)=>t.order-e.order))},childViews(){return this.views.filter((t=>!!t.parent)).reduce(((t,e)=>(t[e.parent]=[...t[e.parent]||[],e],t[e.parent].sort(((t,e)=>t.order-e.order)),t)),{})}},watch:{currentView(t,e){t.id!==e?.id&&(this.$navigation.setActive(t),Vn.debug(`Navigation changed from ${e.id} to ${t.id}`,{from:e,to:t}),this.showView(t))}},beforeMount(){this.currentView&&(Vn.debug("Navigation mounted. Showing requested view",{view:this.currentView}),this.showView(this.currentView))},methods:{useExactRouteMatching(t){return this.childViews[t.id]?.length>0},showView(t){window?.OCA?.Files?.Sidebar?.close?.(),this.$navigation.setActive(t),function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}(t.name),(0,Nn.j8)("files:navigation:changed",t)},onToggleExpand(t){const e=this.isExpanded(t);t.expanded=!e,this.viewConfigStore.update(t.id,"expanded",!e)},isExpanded(t){return"boolean"==typeof this.viewConfigStore.getConfig(t.id)?.expanded?!0===this.viewConfigStore.getConfig(t.id).expanded:!0===t.expanded},generateToNavigation(t){if(t.params){const{dir:e}=t.params;return{name:"filelist",params:t.params,query:{dir:e}}}return{name:"filelist",params:{view:t.id}}},openSettings(){this.settingsOpened=!0},onSettingsClose(){this.settingsOpened=!1},t:In.Iu}};var Es=s(12131),ks={};ks.styleTagTransform=as(),ks.setAttributes=ss(),ks.insert=es().bind(null,"head"),ks.domAPI=Xn(),ks.insertStyleElement=rs(),Jn()(Es.Z,ks),Es.Z&&Es.Z.locals&&Es.Z.locals;const Ss=(0,Fn.Z)(Ts,(function(){var t=this,e=t._self._c;return e("NcAppNavigation",{attrs:{"data-cy-files-navigation":"","aria-label":t.t("files","Files")},scopedSlots:t._u([{key:"list",fn:function(){return t._l(t.parentViews,(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"allow-collapse":!0,"data-cy-files-navigation-item":n.id,exact:t.useExactRouteMatching(n),icon:n.iconClass,name:n.name,open:t.isExpanded(n),pinned:n.sticky,to:t.generateToNavigation(n)},on:{"update:open":function(e){return t.onToggleExpand(n)}}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e(),t._v(" "),t._l(t.childViews[n.id],(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"data-cy-files-navigation-item":n.id,"exact-path":!0,icon:n.iconClass,name:n.name,to:t.generateToNavigation(n)}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e()],1)}))],2)}))},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NavigationQuota"),t._v(" "),e("NcAppNavigationItem",{attrs:{"aria-label":t.t("files","Open the files app settings"),name:t.t("files","Files settings"),"data-cy-files-navigation-settings-button":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.openSettings.apply(null,arguments)}}},[e("Cog",{attrs:{slot:"icon",size:20},slot:"icon"})],1)],1)]},proxy:!0}])},[t._v(" "),t._v(" "),e("SettingsModal",{attrs:{open:t.settingsOpened,"data-cy-files-navigation-settings":""},on:{close:t.onSettingsClose}})],1)}),[],!1,null,"3f2914e1",null).exports;var Ls=s(42515),Ns=s(62520),Is=function(t,e){return te?1:0},Ps=function(t,e){var n=t.localeCompare(e);return n?n/Math.abs(n):0},Fs=/(^0x[\da-fA-F]+$|^([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?!\.\d+)(?=\D|\s|$))|\d+)/g,Os=/^\s+|\s+$/g,Bs=/\s+/g,Ds=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,js=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[/-]\d{1,4}[/-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,Us=/^0+[1-9]{1}[0-9]*$/,Rs=/[^\x00-\x80]/,zs=function(t,e){return te?1:0},Ms=function(t){return t.replace(Bs," ").replace(Os,"")},Vs=function(t){if(0!==t.length){var e=Number(t);if(!Number.isNaN(e))return e}},$s=function(t,e,n){if(Ds.test(t)&&(!Us.test(t)||0===e||"."!==n[e-1]))return Vs(t)||0},qs=function(t,e,n){return{parsedNumber:$s(t,e,n),normalizedString:Ms(t)}},Hs=function(t){var e=function(t){return t.replace(Fs,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")}(t).map(qs);return e},Zs=function(t){return"function"==typeof t},Gs=function(t){return Number.isNaN(t)||t instanceof Number&&Number.isNaN(t.valueOf())},Ys=function(t){return null===t},Ws=function(t){return!(null===t||"object"!=typeof t||Array.isArray(t)||t instanceof Number||t instanceof String||t instanceof Boolean||t instanceof Date)},Ks=function(t){return"symbol"==typeof t},Js=function(t){return void 0===t},Qs=function(t){if("string"==typeof t||t instanceof String||("number"==typeof t||t instanceof Number)&&!Gs(t)||"boolean"==typeof t||t instanceof Boolean||t instanceof Date){var e=function(t){return"boolean"==typeof t||t instanceof Boolean?Number(t).toString():"number"==typeof t||t instanceof Number?t.toString():t instanceof Date?t.getTime().toString():"string"==typeof t||t instanceof String?t.toLowerCase().replace(Os,""):""}(t),n=function(t){var e=Vs(t);return void 0!==e?e:function(t){try{var e=Date.parse(t);return!Number.isNaN(e)&&js.test(t)?e:void 0}catch(t){return}}(t)}(e);return{parsedNumber:n,chunks:Hs(n?""+n:e),value:t}}return{isArray:Array.isArray(t),isFunction:Zs(t),isNaN:Gs(t),isNull:Ys(t),isObject:Ws(t),isSymbol:Ks(t),isUndefined:Js(t),value:t}},Xs=function(t){return"function"==typeof t?t:function(e){if(Array.isArray(e)){var n=Number(t);if(Number.isInteger(n))return e[n]}else if(e&&"object"==typeof e){var s=Object.getOwnPropertyDescriptor(e,t);return null==s?void 0:s.value}return e}};function ti(t,e,n){if(!t||!Array.isArray(t))return[];var s=function(t){if(!t)return[];var e=Array.isArray(t)?[].concat(t):[t];return e.some((function(t){return"string"!=typeof t&&"number"!=typeof t&&"function"!=typeof t}))?[]:e}(e),i=function(t){if(!t)return[];var e=Array.isArray(t)?[].concat(t):[t];return e.some((function(t){return"asc"!==t&&"desc"!==t&&"function"!=typeof t}))?[]:e}(n);return function(t,e,n){var s=e.length?e.map(Xs):[function(t){return t}],i=t.map((function(t,e){return{index:e,values:s.map((function(e){return e(t)})).map(Qs)}}));return i.sort((function(t,e){return function(t,e,n){for(var s=t.index,i=t.values,r=e.index,o=e.values,a=i.length,l=n.length,c=0;ci||s>i?n<=i?-1:1:0}(p.chunks,f.chunks):function(t,e){return(t.chunks?!e.chunks:e.chunks)?t.chunks?-1:1:(t.isNaN?!e.isNaN:e.isNaN)?t.isNaN?-1:1:(t.isSymbol?!e.isSymbol:e.isSymbol)?t.isSymbol?-1:1:(t.isObject?!e.isObject:e.isObject)?t.isObject?-1:1:(t.isArray?!e.isArray:e.isArray)?t.isArray?-1:1:(t.isFunction?!e.isFunction:e.isFunction)?t.isFunction?-1:1:(t.isNull?!e.isNull:e.isNull)?t.isNull?-1:1:0}(p,f));if(m)return m*("desc"===u?-1:1)}}var p,f;return s-r}(t,e,n)})),i.map((function(e){return function(t,e){return t[e]}(t,e.index)}))}(t,s,i)}var ei=s(5055),ni=s(41922),si=s(99125),ii=s(90207);const ri={name:"FormatListBulletedSquareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},oi=(0,Fn.Z)(ri,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon format-list-bulleted-square-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ai=s(81040),li=s(54572),ci=s(52506),ui=s(87604),di=s(81755);const mi={name:"AccountPlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pi=(0,Fn.Z)(mi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,fi={name:"ViewGridIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gi=(0,Fn.Z)(fi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon view-grid-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var hi=s(48250);const Ai=new lt.p$({id:"details",displayName:()=>(0,In.Iu)("files","Open details"),iconSvgInline:()=>hi,enabled:t=>1===t.length&&!!t[0]&&!!window?.OCA?.Files?.Sidebar&&((t[0].root?.startsWith("/files/")&&t[0].permissions!==lt.y3.NONE)??!1),async exec(t,e,n){try{return await window.OCA.Files.Sidebar.open(t.path),window.OCP.Files.Router.goToRoute(null,{view:e.id,fileid:t.fileid},{dir:n},!0),null}catch(t){return Vn.error("Error while opening sidebar",{error:t}),!1}},order:-50}),wi=function(){const t=at("files",{state:()=>({files:{},roots:{}}),getters:{getNode:t=>e=>t.files[e],getNodes:t=>e=>e.map((e=>t.files[e])).filter(Boolean),getRoot:t=>e=>t.roots[e]},actions:{updateNodes(t){const e=t.reduce(((t,e)=>e.fileid?(t[e.fileid]=e,t):(Vn.error("Trying to update/set a node without fileid",e),t)),{});r.ZP.set(this,"files",{...this.files,...e})},deleteNodes(t){t.forEach((t=>{t.fileid&&r.ZP.delete(this.files,t.fileid)}))},setRoot(t){let{service:e,root:n}=t;r.ZP.set(this.roots,e,n)},onDeletedNode(t){this.deleteNodes([t])},onCreatedNode(t){this.updateNodes([t])},onUpdatedNode(t){this.updateNodes([t])}}})(...arguments);return t._initialized||((0,Nn.Ld)("files:node:created",t.onCreatedNode),(0,Nn.Ld)("files:node:deleted",t.onDeletedNode),(0,Nn.Ld)("files:node:updated",t.onUpdatedNode),t._initialized=!0),t},yi=function(){const t=wi(),e=at("paths",{state:()=>({paths:{}}),getters:{getPath:t=>(e,n)=>{if(t.paths[e])return t.paths[e][n]}},actions:{addPath(t){this.paths[t.service]||r.ZP.set(this.paths,t.service,{}),r.ZP.set(this.paths[t.service],t.path,t.fileid)},onCreatedNode(e){const n=(0,lt.Ti)()?.active?.id||"files";if(e.fileid){if(e.type===lt.Tv.Folder&&this.addPath({service:n,path:e.path,fileid:e.fileid}),"/"===e.dirname){const s=t.getRoot(n);return s._children||r.ZP.set(s,"_children",[]),void s._children.push(e.fileid)}if(this.paths[n][e.dirname]){const s=this.paths[n][e.dirname],i=t.getNode(s);return Vn.debug("Path already exists, updating children",{parentFolder:i,node:e}),i?(i._children||r.ZP.set(i,"_children",[]),void i._children.push(e.fileid)):void Vn.error("Parent folder not found",{parentId:s})}Vn.debug("Parent path does not exists, skipping children update",{node:e})}else Vn.error("Node has no fileid",{node:e})}}})(...arguments);return e._initialized||((0,Nn.Ld)("files:node:created",e.onCreatedNode),e._initialized=!0),e},vi=at("selection",{state:()=>({selected:[],lastSelection:[],lastSelectedIndex:null}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r.ZP.set(this,"selected",[...new Set(t)])},setLastIndex(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;r.ZP.set(this,"lastSelection",t?this.selected:[]),r.ZP.set(this,"lastSelectedIndex",t)},reset(){r.ZP.set(this,"selected",[]),r.ZP.set(this,"lastSelection",[]),r.ZP.set(this,"lastSelectedIndex",null)}}});let bi;const Ci={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xi=(0,Fn.Z)(Ci,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var _i=s(66471),Ti=s(70911);const Ei=(0,r.aZ)({name:"BreadCrumbs",components:{Home:xi,NcBreadcrumbs:Ti.N,NcBreadcrumb:_i.N},props:{path:{type:String,default:"/"}},setup:()=>({filesStore:wi(),pathsStore:yi()}),computed:{currentView(){return this.$navigation.active},dirs(){var t;return["/",...this.path.split("/").filter(Boolean).map((t="/",e=>t+=`${e}/`)).map((t=>t.replace(/^(.+)\/$/,"$1")))]},sections(){return this.dirs.map((t=>{const e=this.getFileIdFromPath(t),n={...this.$route,params:{fileid:e},query:{dir:t}};return{dir:t,exact:!0,name:this.getDirDisplayName(t),to:n}}))}},methods:{getNodeFromId(t){return this.filesStore.getNode(t)},getFileIdFromPath(t){return this.pathsStore.getPath(this.currentView?.id,t)},getDirDisplayName(t){if("/"===t)return(0,In.Iu)("files","Home");const e=this.getFileIdFromPath(t),n=e?this.getNodeFromId(e):void 0;return n?.attributes?.displayName||(0,Ns.basename)(t)},onClick(t){t?.query?.dir===this.$route.query.dir&&this.$emit("reload")},titleForSection(t,e){return e?.to?.query?.dir===this.$route.query.dir?(0,In.Iu)("files","Reload current directory"):0===t?(0,In.Iu)("files",'Go to the "{dir}" directory',e):null},ariaForSection(t){return t?.to?.query?.dir===this.$route.query.dir?(0,In.Iu)("files","Reload current directory"):null},t:In.Iu}});var ki=s(60393),Si={};Si.styleTagTransform=as(),Si.setAttributes=ss(),Si.insert=es().bind(null,"head"),Si.domAPI=Xn(),Si.insertStyleElement=rs(),Jn()(ki.Z,Si),ki.Z&&ki.Z.locals&&ki.Z.locals;const Li=(0,Fn.Z)(Ei,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcBreadcrumbs",{attrs:{"data-cy-files-content-breadcrumbs":"","aria-label":t.t("files","Current directory path")},scopedSlots:t._u([{key:"actions",fn:function(){return[t._t("actions")]},proxy:!0}],null,!0)},t._l(t.sections,(function(n,s){return e("NcBreadcrumb",t._b({key:n.dir,attrs:{dir:"auto",to:n.to,title:t.titleForSection(s,n),"aria-description":t.ariaForSection(n)},nativeOn:{click:function(e){return t.onClick(n.to)}},scopedSlots:t._u([0===s?{key:"icon",fn:function(){return[e("Home",{attrs:{size:20}})]},proxy:!0}:null],null,!0)},"NcBreadcrumb",n,!1))})),1)}),[],!1,null,"1c4866bc",null).exports,Ni=t=>{const e=t.filter((t=>t.type===lt.Tv.File)).length,n=t.filter((t=>t.type===lt.Tv.Folder)).length;return 0===e?(0,In.uN)("files","{folderCount} folder","{folderCount} folders",n,{folderCount:n}):0===n?(0,In.uN)("files","{fileCount} file","{fileCount} files",e,{fileCount:e}):1===e?(0,In.uN)("files","1 file and {folderCount} folder","1 file and {folderCount} folders",n,{folderCount:n}):1===n?(0,In.uN)("files","{fileCount} file and 1 folder","{fileCount} files and 1 folder",e,{fileCount:e}):(0,In.Iu)("files","{fileCount} files and {folderCount} folders",{fileCount:e,folderCount:n})};var Ii=s(80351),Pi=s.n(Ii);const Fi=at("actionsmenu",{state:()=>({opened:null})}),Oi=at("dragging",{state:()=>({dragging:[]}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r.ZP.set(this,"dragging",t)},reset(){r.ZP.set(this,"dragging",[])}}}),Bi=function(){const t=at("renaming",{state:()=>({renamingNode:void 0,newName:""})})(...arguments);return t._initialized||((0,Nn.Ld)("files:node:rename",(function(e){t.renamingNode=e,t.newName=e.basename})),t._initialized=!0),t};var Di=s(52925);const ji={name:"FileMultipleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ui=(0,Fn.Z)(ji,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-multiple-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ri={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zi=(0,Fn.Z)(Ri,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Mi=r.ZP.extend({name:"DragAndDropPreview",components:{FileMultipleIcon:Ui,FolderIcon:zi},data:()=>({nodes:[]}),computed:{isSingleNode(){return 1===this.nodes.length},isSingleFolder(){return this.isSingleNode&&this.nodes[0].type===lt.Tv.Folder},name(){return this.size?`${this.summary} – ${this.size}`:this.summary},size(){const t=this.nodes.reduce(((t,e)=>t+e.size||0),0),e=parseInt(t,10)||0;return"number"!=typeof e||e<0?null:(0,lt.sS)(e,!0)},summary(){if(this.isSingleNode){const t=this.nodes[0];return t.attributes?.displayName||t.basename}return Ni(this.nodes)}},methods:{update(t){this.nodes=t,this.$refs.previewImg.replaceChildren(),t.slice(0,3).forEach((t=>{const e=document.querySelector(`[data-cy-files-list-row-fileid="${t.fileid}"] .files-list__row-icon img`);e&&this.$refs.previewImg.appendChild(e.parentNode.cloneNode(!0))})),this.$nextTick((()=>{this.$emit("loaded",this.$el)}))}}}),Vi=Mi;var $i=s(50262),qi={};qi.styleTagTransform=as(),qi.setAttributes=ss(),qi.insert=es().bind(null,"head"),qi.domAPI=Xn(),qi.insertStyleElement=rs(),Jn()($i.Z,qi),$i.Z&&$i.Z.locals&&$i.Z.locals;const Hi=(0,Fn.Z)(Vi,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list-drag-image"},[e("span",{staticClass:"files-list-drag-image__icon"},[e("span",{ref:"previewImg"}),t._v(" "),t.isSingleFolder?e("FolderIcon"):e("FileMultipleIcon")],1),t._v(" "),e("span",{staticClass:"files-list-drag-image__name"},[t._v(t._s(t.name))])])}),[],!1,null,null,null).exports,Zi=r.ZP.extend(Hi);let Gi;var Yi=s(51473),Wi={};Wi.styleTagTransform=as(),Wi.setAttributes=ss(),Wi.insert=es().bind(null,"head"),Wi.domAPI=Xn(),Wi.insertStyleElement=rs(),Jn()(Yi.Z,Wi),Yi.Z&&Yi.Z.locals&&Yi.Z.locals;var Ki=s(51120);const{Axios:Ji,AxiosError:Qi,CanceledError:Xi,isCancel:tr,CancelToken:er,VERSION:nr,all:sr,Cancel:ir,isAxiosError:rr,spread:or,toFormData:ar,AxiosHeaders:lr,HttpStatusCode:cr,formToJSON:ur,getAdapter:dr,mergeConfig:mr}=Ki.default;var pr=s(59546),fr=s(96384),gr=s(59440);let hr;const Ar=()=>(hr||(hr=new gr.Z({concurrency:3})),hr);var wr;!function(t){t.MOVE="Move",t.COPY="Copy",t.MOVE_OR_COPY="move-or-copy"}(wr||(wr={}));const yr=t=>0!=(t.reduce(((t,e)=>Math.min(t,e.permissions)),lt.y3.ALL)<.y3.UPDATE),vr=t=>(t=>t.every((t=>!JSON.parse(t.attributes?.["share-attributes"]??"[]").some((t=>"permissions"===t.scope&&!1===t.enabled&&"download"===t.key)))))(t),br=t=>yr(t)?vr(t)?wr.MOVE_OR_COPY:wr.MOVE:wr.COPY,Cr=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return;if(e.type!==lt.Tv.Folder)throw new Error((0,In.Iu)("files","Destination is not a folder"));if(n===wr.MOVE&&t.dirname===e.path)throw new Error((0,In.Iu)("files","This file/folder is already in that directory"));if(`${e.path}/`.startsWith(`${t.path}/`))throw new Error((0,In.Iu)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));r.ZP.set(t,"status",lt.e4.LOADING);const i=Ar();return await i.add((async()=>{const i=t=>1===t?(0,In.Iu)("files","(copy)"):(0,In.Iu)("files","(copy %n)",void 0,t);try{const r=(0,lt.rp)(),o=(0,Ns.join)(lt._o,t.path),a=(0,Ns.join)(lt._o,e.path);if(n===wr.COPY){let n=t.basename;if(!s){const e=await r.getDirectoryContents(a);n=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t=>`(${t})`,s=t,i=1;for(;e.includes(s);){const e=(0,Ns.extname)(t);s=`${(0,Ns.basename)(t,e)} ${n(i++)}${e}`}return s}(t.basename,e.map((t=>t.basename)),i)}if(await r.copyFile(o,(0,Ns.join)(a,n)),t.dirname===e.path){const{data:t}=await r.stat((0,Ns.join)(a,n),{details:!0,data:(0,lt.h7)()});(0,Nn.j8)("files:node:created",(0,lt.RL)(t))}}else await r.moveFile(o,(0,Ns.join)(a,t.basename)),(0,Nn.j8)("files:node:deleted",t)}catch(t){if(t instanceof Qi){if(412===t?.response?.status)throw new Error((0,In.Iu)("files","A file or folder with that name already exists in this folder"));if(423===t?.response?.status)throw new Error((0,In.Iu)("files","The files is locked"));if(404===t?.response?.status)throw new Error((0,In.Iu)("files","The file does not exist anymore"));if(t.message)throw new Error(t.message)}throw Vn.debug(t),new Error}finally{r.ZP.set(t,"status",void 0)}}))},xr=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2?arguments[2]:void 0;const s=n.map((t=>t.fileid)).filter(Boolean),i=(0,qn.fn)((0,In.Iu)("files","Choose destination")).allowDirectories(!0).setFilter((t=>0!=(t.permissions<.y3.CREATE)&&!s.includes(t.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(e);return new Promise(((e,s)=>{i.setButtonFactory(((s,i)=>{const r=[],o=(0,Ns.basename)(i),a=n.map((t=>t.dirname)),l=n.map((t=>t.path));return t!==wr.COPY&&t!==wr.MOVE_OR_COPY||r.push({label:o?(0,In.Iu)("files","Copy to {target}",{target:o}):(0,In.Iu)("files","Copy"),type:"primary",icon:pr,async callback(t){e({destination:t[0],action:wr.COPY})}}),a.includes(i)||l.includes(i)||t!==wr.MOVE&&t!==wr.MOVE_OR_COPY||r.push({label:o?(0,In.Iu)("files","Move to {target}",{target:o}):(0,In.Iu)("files","Move"),type:t===wr.MOVE?"primary":"secondary",icon:fr,async callback(t){e({destination:t[0],action:wr.MOVE})}}),r})),i.build().pick().catch((t=>{Vn.debug(t),t instanceof qn.Pq?s(new Error((0,In.Iu)("files","Cancelled move or copy operation"))):s(new Error((0,In.Iu)("files","Move or copy operation failed")))}))}))};new lt.p$({id:"move-copy",displayName(t){switch(br(t)){case wr.MOVE:return(0,In.Iu)("files","Move");case wr.COPY:return(0,In.Iu)("files","Copy");case wr.MOVE_OR_COPY:return(0,In.Iu)("files","Move or copy")}},iconSvgInline:()=>fr,enabled:t=>!!t.every((t=>t.root?.startsWith("/files/")))&&t.length>0&&(yr(t)||vr(t)),async exec(t,e,n){const s=br([t]);let i;try{i=await xr(s,n,[t])}catch(t){return Vn.error(t),!1}try{return await Cr(t,i.destination,i.action),!0}catch(t){return!!(t instanceof Error&&t.message)&&((0,qn.x2)(t.message),null)}},async execBatch(t,e,n){const s=br(t),i=await xr(s,n,t),r=t.map((async t=>{try{return await Cr(t,i.destination,i.action),!0}catch(e){return Vn.error(`Failed to ${i.action} node`,{node:t,error:e}),!1}}));return await Promise.all(r)},order:15}),r.ZP.directive("onClickOutside",Di.hs);const _r=(0,r.aZ)({props:{source:{type:[lt.gt,lt.$B,lt.NB],required:!0},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},data:()=>({loading:"",dragover:!1,gridMode:!1}),computed:{currentView(){return this.$navigation.active},currentDir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentFileId(){return this.$route.params?.fileid||this.$route.query?.fileid||null},fileid(){return this.source?.fileid},uniqueId(){return this.source.source.split("").reduce((function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t}),0)},isLoading(){return this.source.status===lt.e4.LOADING},extension(){return this.source.attributes?.displayName?(0,Ns.extname)(this.source.attributes.displayName):this.source.extension||""},displayName(){const t=this.extension,e=this.source.attributes.displayName||this.source.basename;return t?e.slice(0,0-t.length):e},draggingFiles(){return this.draggingStore.dragging},selectedFiles(){return this.selectionStore.selected},isSelected(){return this.fileid&&this.selectedFiles.includes(this.fileid)},isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},isActive(){return this.fileid?.toString?.()===this.currentFileId?.toString?.()},canDrag(){if(this.isRenaming)return!1;const t=t=>0!=(t?.permissions<.y3.UPDATE);return this.selectedFiles.length>0?this.selectedFiles.map((t=>this.filesStore.getNode(t))).every(t):t(this.source)},canDrop(){return!(this.source.type!==lt.Tv.Folder||this.fileid&&this.draggingFiles.includes(this.fileid)||0==(this.source.permissions<.y3.CREATE))},openedMenu:{get(){return this.actionsMenuStore.opened===this.uniqueId.toString()},set(t){if(t){const t=this.$root.$el;t.style.removeProperty("--mouse-pos-x"),t.style.removeProperty("--mouse-pos-y")}this.actionsMenuStore.opened=t?this.uniqueId.toString():null}}},watch:{source(){this.resetState()}},beforeDestroy(){this.resetState()},methods:{resetState(){this.loading="",this.$refs.preview.reset(),this.openedMenu=!1},onRightClick(t){if(this.openedMenu)return;if(!this.gridMode){const e=this.$root.$el,n=e.getBoundingClientRect();e.style.setProperty("--mouse-pos-x",Math.max(n.left,Math.min(t.clientX,t.clientX-200))+"px"),e.style.setProperty("--mouse-pos-y",Math.max(n.top,t.clientY-n.top)+"px")}const e=this.selectedFiles.length>1;this.actionsMenuStore.opened=this.isSelected&&e?"global":this.uniqueId.toString(),t.preventDefault(),t.stopPropagation()},execDefaultAction(t){if(t.ctrlKey||t.metaKey)return t.preventDefault(),window.open((0,ut.generateUrl)("/f/{fileId}",{fileId:this.fileid})),!1;this.$refs.actions.execDefaultAction(t)},openDetailsIfAvailable(t){t.preventDefault(),t.stopPropagation(),Ai?.enabled?.([this.source],this.currentView)&&Ai.exec(this.source,this.currentView,this.currentDir)},onDragOver(t){this.dragover=this.canDrop,this.canDrop?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none"},onDragLeave(t){const e=t.currentTarget;e?.contains(t.relatedTarget)||(this.dragover=!1)},async onDragStart(t){if(t.stopPropagation(),!this.canDrag||!this.fileid)return t.preventDefault(),void t.stopPropagation();Vn.debug("Drag started",{event:t}),t.dataTransfer?.clearData?.(),this.renamingStore.$reset(),this.selectedFiles.includes(this.fileid)?this.draggingStore.set(this.selectedFiles):this.draggingStore.set([this.fileid]);const e=this.draggingStore.dragging.map((t=>this.filesStore.getNode(t))),n=await(async t=>new Promise((e=>{Gi||(Gi=(new Zi).$mount(),document.body.appendChild(Gi.$el)),Gi.update(t),Gi.$on("loaded",(()=>{e(Gi.$el),Gi.$off("loaded")}))})))(e);t.dataTransfer?.setDragImage(n,-10,-10)},onDragEnd(){this.draggingStore.reset(),this.dragover=!1,Vn.debug("Drag ended")},async onDrop(t){if(!this.draggingFiles&&!t.dataTransfer?.files?.length)return;if(t.preventDefault(),t.stopPropagation(),!this.canDrop||0!==t.button)return;const e=t.ctrlKey;if(this.dragover=!1,Vn.debug("Dropped",{event:t,selection:this.draggingFiles}),t.dataTransfer?.files&&t.dataTransfer.files.length>0){const e=(0,si.g)();if(!e.destination.path.startsWith(e.destination.path))return Vn.error("The current uploader destination is not the same as the current folder"),void(0,qn.x2)((0,In.Iu)("files","An error occurred while uploading. Please try again later."));Vn.debug(`Uploading files to ${this.source.path}`);const n=[];for(const s of t.dataTransfer.files)n.push(e.upload((0,Ns.join)(this.source.basename,s.name),s));const s=(await Promise.allSettled(n)).filter((t=>"rejected"===t.status));return s.length>0?(Vn.error("Error while uploading files",{errors:s}),void(0,qn.x2)((0,In.Iu)("files","Some files could not be uploaded"))):(Vn.debug("Files uploaded successfully"),void(0,qn.s$)((0,In.Iu)("files","Files uploaded successfully")))}this.draggingFiles.map((t=>this.filesStore.getNode(t))).forEach((async t=>{r.ZP.set(t,"status",lt.e4.LOADING);try{await Cr(t,this.source,e?wr.COPY:wr.MOVE)}catch(n){Vn.error("Error while moving file",{error:n}),e?(0,qn.x2)((0,In.Iu)("files","Could not copy {file}. {message}",{file:t.basename,message:n.message||""})):(0,qn.x2)((0,In.Iu)("files","Could not move {file}. {message}",{file:t.basename,message:n.message||""}))}finally{r.ZP.set(t,"status",void 0)}})),this.draggingFiles.some((t=>this.selectedFiles.includes(t)))&&(Vn.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},t:In.Iu}});var Tr=s(97947);const Er={name:"CustomElementRender",props:{source:{type:Object,required:!0},currentView:{type:Object,required:!0},render:{type:Function,required:!0}},watch:{source(){this.updateRootElement()},currentView(){this.updateRootElement()}},mounted(){this.updateRootElement()},methods:{async updateRootElement(){const t=await this.render(this.source,this.currentView);t?this.$el.replaceChildren(t):this.$el.replaceChildren()}}},kr=(0,Fn.Z)(Er,(function(){return(0,this._self._c)("span")}),[],!1,null,null,null).exports,Sr={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Lr=(0,Fn.Z)(Sr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Nr={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ir=(0,Fn.Z)(Nr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Pr=s(43589),Fr=s(61057),Or=s(81243);const Br=(0,lt.Vn)(),Dr=r.ZP.extend({name:"FileEntryActions",components:{ArrowLeftIcon:Lr,ChevronRightIcon:Ir,CustomElementRender:kr,NcActionButton:Pr.Z,NcActions:Fr.Z,NcActionSeparator:Or.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z},props:{filesListWidth:{type:Number,required:!0},loading:{type:String,required:!0},opened:{type:Boolean,default:!1},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},data:()=>({openedSubmenu:null}),computed:{currentDir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentView(){return this.$navigation.active},isLoading(){return this.source.status===lt.e4.LOADING},enabledActions(){return this.source.attributes.failed?[]:Br.filter((t=>!t.enabled||t.enabled([this.source],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},enabledInlineActions(){return this.filesListWidth<768||this.gridMode?[]:this.enabledActions.filter((t=>t?.inline?.(this.source,this.currentView)))},enabledRenderActions(){return this.gridMode?[]:this.enabledActions.filter((t=>"function"==typeof t.renderInline))},enabledDefaultActions(){return this.enabledActions.filter((t=>!!t?.default))},enabledMenuActions(){if(this.openedSubmenu)return this.enabledInlineActions;const t=[...this.enabledInlineActions,...this.enabledActions.filter((t=>t.default!==lt.DT.HIDDEN&&"function"!=typeof t.renderInline))].filter(((t,e,n)=>e===n.findIndex((e=>e.id===t.id)))),e=t.filter((t=>!t.parent)).map((t=>t.id));return t.filter((t=>!(t.parent&&e.includes(t.parent))))},enabledSubmenuActions(){return this.enabledActions.filter((t=>t.parent)).reduce(((t,e)=>(t[e.parent]||(t[e.parent]=[]),t[e.parent].push(e),t)),{})},openedMenu:{get(){return this.opened},set(t){this.$emit("update:opened",t)}},getBoundariesElement:()=>document.querySelector(".app-content > .files-list"),mountType(){return this.source._attributes["mount-type"]}},methods:{actionDisplayName(t){if((this.gridMode||this.filesListWidth<768&&t.inline)&&"function"==typeof t.title){const e=t.title([this.source],this.currentView);if(e)return e}return t.displayName([this.source],this.currentView)},async onActionClick(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isLoading||""!==this.loading)return;if(this.enabledSubmenuActions[t.id])return void(this.openedSubmenu=t);const n=t.displayName([this.source],this.currentView);try{this.$emit("update:loading",t.id),r.ZP.set(this.source,"status",lt.e4.LOADING);const e=await t.exec(this.source,this.currentView,this.currentDir);if(null==e)return;if(e)return void(0,qn.s$)((0,In.Iu)("files",'"{displayName}" action executed successfully',{displayName:n}));(0,qn.x2)((0,In.Iu)("files",'"{displayName}" action failed',{displayName:n}))}catch(e){Vn.error("Error while executing action",{action:t,e}),(0,qn.x2)((0,In.Iu)("files",'"{displayName}" action failed',{displayName:n}))}finally{this.$emit("update:loading",""),r.ZP.set(this.source,"status",void 0),e&&(this.openedSubmenu=null)}},execDefaultAction(t){this.enabledDefaultActions.length>0&&(t.preventDefault(),t.stopPropagation(),this.enabledDefaultActions[0].exec(this.source,this.currentView,this.currentDir))},isMenu(t){return this.enabledSubmenuActions[t]?.length>0},async onBackToMenuClick(t){this.openedSubmenu=null,await this.$nextTick(),this.$nextTick((()=>{const e=this.$refs[`action-${t.id}`][0];e&&e.$el.querySelector("button")?.focus()}))},t:In.Iu}}),jr=Dr;var Ur=s(27440),Rr={};Rr.styleTagTransform=as(),Rr.setAttributes=ss(),Rr.insert=es().bind(null,"head"),Rr.domAPI=Xn(),Rr.insertStyleElement=rs(),Jn()(Ur.Z,Rr),Ur.Z&&Ur.Z.locals&&Ur.Z.locals;var zr=s(66788),Mr={};Mr.styleTagTransform=as(),Mr.setAttributes=ss(),Mr.insert=es().bind(null,"head"),Mr.domAPI=Xn(),Mr.insertStyleElement=rs(),Jn()(zr.Z,Mr),zr.Z&&zr.Z.locals&&zr.Z.locals;var Vr=(0,Fn.Z)(jr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-actions",attrs:{"data-cy-files-list-row-actions":""}},[t._l(t.enabledRenderActions,(function(n){return e("CustomElementRender",{key:n.id,staticClass:"files-list__row-action--inline",class:"files-list__row-action-"+n.id,attrs:{"current-view":t.currentView,render:n.renderInline,source:t.source}})})),t._v(" "),e("NcActions",{ref:"actionsMenu",attrs:{"boundaries-element":t.getBoundariesElement,container:t.getBoundariesElement,"force-name":!0,type:"tertiary","force-menu":0===t.enabledInlineActions.length,inline:t.enabledInlineActions.length,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e},close:function(e){t.openedSubmenu=null}}},[t._l(t.enabledMenuActions,(function(n){return e("NcActionButton",{key:n.id,ref:`action-${n.id}`,refInFor:!0,class:{[`files-list__row-action-${n.id}`]:!0,"files-list__row-action--menu":t.isMenu(n.id)},attrs:{"close-after-click":!t.isMenu(n.id),"data-cy-files-list-row-action":n.id,"is-menu":t.isMenu(n.id),title:n.title?.([t.source],t.currentView)},on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline([t.source],t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s("shared"===t.mountType&&"sharing-status"===n.id?"":t.actionDisplayName(n))+"\n\t\t")])})),t._v(" "),t.openedSubmenu&&t.enabledSubmenuActions[t.openedSubmenu?.id]?[e("NcActionButton",{staticClass:"files-list__row-action-back",on:{click:function(e){return t.onBackToMenuClick(t.openedSubmenu)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)},[t._v("\n\t\t\t\t"+t._s(t.actionDisplayName(t.openedSubmenu))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.enabledSubmenuActions[t.openedSubmenu?.id],(function(n){return e("NcActionButton",{key:n.id,staticClass:"files-list__row-action--submenu",class:`files-list__row-action-${n.id}`,attrs:{"close-after-click":!1,"data-cy-files-list-row-action":n.id,title:n.title?.([t.source],t.currentView)},on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline([t.source],t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(t.actionDisplayName(n))+"\n\t\t\t")])}))]:t._e()],2)],2)}),[],!1,null,"2fa8d0d9",null);const $r=Vr.exports,qr=(0,r.aZ)({name:"FileEntryCheckbox",components:{NcCheckboxRadioSwitch:ps.Z,NcLoadingIcon:ui.Z},props:{fileid:{type:Number,required:!0},isLoading:{type:Boolean,default:!1},nodes:{type:Array,required:!0},source:{type:Object,required:!0}},setup(){const t=vi(),e=function(){const t=at("keyboard",{state:()=>({altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1}),actions:{onEvent(t){t||(t=window.event),r.ZP.set(this,"altKey",!!t.altKey),r.ZP.set(this,"ctrlKey",!!t.ctrlKey),r.ZP.set(this,"metaKey",!!t.metaKey),r.ZP.set(this,"shiftKey",!!t.shiftKey)}}})(...arguments);return t._initialized||(window.addEventListener("keydown",t.onEvent),window.addEventListener("keyup",t.onEvent),window.addEventListener("mousemove",t.onEvent),t._initialized=!0),t}();return{keyboardStore:e,selectionStore:t}},computed:{selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.fileid)},index(){return this.nodes.findIndex((t=>t.fileid===this.fileid))},isFile(){return this.source.type===lt.Tv.File},ariaLabel(){return this.isFile?(0,In.Iu)("files",'Toggle selection for file "{displayName}"',{displayName:this.source.basename}):(0,In.Iu)("files",'Toggle selection for folder "{displayName}"',{displayName:this.source.basename})}},methods:{onSelectionChange(t){const e=this.index,n=this.selectionStore.lastSelectedIndex;if(this.keyboardStore?.shiftKey&&null!==n){const t=this.selectedFiles.includes(this.fileid),s=Math.min(e,n),i=Math.max(n,e),r=this.selectionStore.lastSelection,o=this.nodes.map((t=>t.fileid)).slice(s,i+1).filter(Boolean),a=[...r,...o].filter((e=>!t||e!==this.fileid));return Vn.debug("Shift key pressed, selecting all files in between",{start:s,end:i,filesToSelect:o,isAlreadySelected:t}),void this.selectionStore.set(a)}const s=t?[...this.selectedFiles,this.fileid]:this.selectedFiles.filter((t=>t!==this.fileid));Vn.debug("Updating selection",{selection:s}),this.selectionStore.set(s),this.selectionStore.setLastIndex(e)},resetSelection(){this.selectionStore.reset()},t:In.Iu}}),Hr=(0,Fn.Z)(qr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[t.isLoading?e("NcLoadingIcon"):e("NcCheckboxRadioSwitch",{attrs:{"aria-label":t.ariaLabel,checked:t.isSelected},on:{"update:checked":t.onSelectionChange}})],1)}),[],!1,null,null,null).exports;var Zr=s(49368);const Gr=(0,Un.j)("files","forbiddenCharacters",""),Yr=r.ZP.extend({name:"FileEntryName",components:{NcTextField:Zr.Z},props:{displayName:{type:String,required:!0},extension:{type:String,required:!0},filesListWidth:{type:Number,required:!0},nodes:{type:Array,required:!0},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup:()=>({renamingStore:Bi()}),computed:{isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},newName:{get(){return this.renamingStore.newName},set(t){this.renamingStore.newName=t}},renameLabel(){return{[lt.Tv.File]:(0,In.Iu)("files","File name"),[lt.Tv.Folder]:(0,In.Iu)("files","Folder name")}[this.source.type]},linkTo(){if(this.source.attributes.failed)return{is:"span",params:{title:(0,In.Iu)("files","This node is unavailable")}};const t=this.$parent?.$refs?.actions?.enabledDefaultActions;return t?.length>0?{is:"a",params:{title:t[0].displayName([this.source],this.currentView),role:"button",tabindex:"0"}}:this.source?.permissions<.y3.READ?{is:"a",params:{download:this.source.basename,href:this.source.source,title:(0,In.Iu)("files","Download file {name}",{name:this.displayName}),tabindex:"0"}}:{is:"span"}}},watch:{isRenaming:{immediate:!0,handler(t){t&&this.startRenaming()}}},methods:{checkInputValidity(t){const e=t.target,n=this.newName.trim?.()||"";Vn.debug("Checking input validity",{newName:n});try{this.isFileNameValid(n),e.setCustomValidity(""),e.title=""}catch(t){e.setCustomValidity(t.message),e.title=t.message}finally{e.reportValidity()}},isFileNameValid(t){const e=t.trim();if("."===e||".."===e)throw new Error((0,In.Iu)("files",'"{name}" is an invalid file name.',{name:t}));if(0===e.length)throw new Error((0,In.Iu)("files","File name cannot be empty."));if(-1!==e.indexOf("/"))throw new Error((0,In.Iu)("files",'"/" is not allowed inside a file name.'));if(e.match(OC.config.blacklist_files_regex))throw new Error((0,In.Iu)("files",'"{name}" is not an allowed filetype.',{name:t}));if(this.checkIfNodeExists(t))throw new Error((0,In.Iu)("files","{newName} already exists.",{newName:t}));return e.split("").forEach((t=>{if(-1!==Gr.indexOf(t))throw new Error(this.t("files",'"{char}" is not allowed inside a file name.',{char:t}))})),!0},checkIfNodeExists(t){return this.nodes.find((e=>e.basename===t&&e!==this.source))},startRenaming(){this.$nextTick((()=>{const t=(this.source.extension||"").split("").length,e=this.source.basename.split("").length-t,n=this.$refs.renameInput?.$refs?.inputField?.$refs?.input;n?(n.setSelectionRange(0,e),n.focus(),n.dispatchEvent(new Event("keyup"))):Vn.error("Could not find the rename input")}))},stopRenaming(){this.isRenaming&&this.renamingStore.$reset()},async onRename(){const t=this.source.basename,e=this.source.encodedSource,n=this.newName.trim?.()||"";if(""!==n)if(t!==n)if(this.checkIfNodeExists(n))(0,qn.x2)((0,In.Iu)("files","Another entry with the same name already exists"));else{this.loading="renaming",r.ZP.set(this.source,"status",lt.e4.LOADING),this.source.rename(n),Vn.debug("Moving file to",{destination:this.source.encodedSource,oldEncodedSource:e});try{await(0,Rn.Z)({method:"MOVE",url:e,headers:{Destination:this.source.encodedSource,Overwrite:"F"}}),(0,Nn.j8)("files:node:updated",this.source),(0,Nn.j8)("files:node:renamed",this.source),(0,qn.s$)((0,In.Iu)("files",'Renamed "{oldName}" to "{newName}"',{oldName:t,newName:n})),this.stopRenaming(),this.$nextTick((()=>{this.$refs.basename.focus()}))}catch(e){if(Vn.error("Error while renaming file",{error:e}),this.source.rename(t),this.$refs.renameInput.focus(),404===e?.response?.status)return void(0,qn.x2)((0,In.Iu)("files",'Could not rename "{oldName}", it does not exist any more',{oldName:t}));if(412===e?.response?.status)return void(0,qn.x2)((0,In.Iu)("files",'The name "{newName}" is already used in the folder "{dir}". Please choose a different name.',{newName:n,dir:this.currentDir}));(0,qn.x2)((0,In.Iu)("files",'Could not rename "{oldName}"',{oldName:t}))}finally{this.loading=!1,r.ZP.set(this.source,"status",void 0)}}else this.stopRenaming();else(0,qn.x2)((0,In.Iu)("files","Name cannot be empty"))},t:In.Iu}}),Wr=(0,Fn.Z)(Yr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.isRenaming?e("form",{directives:[{name:"on-click-outside",rawName:"v-on-click-outside",value:t.stopRenaming,expression:"stopRenaming"}],staticClass:"files-list__row-rename",attrs:{"aria-label":t.t("files","Rename file")},on:{submit:function(e){return e.preventDefault(),e.stopPropagation(),t.onRename.apply(null,arguments)}}},[e("NcTextField",{ref:"renameInput",attrs:{label:t.renameLabel,autofocus:!0,minlength:1,required:!0,value:t.newName,enterkeyhint:"done"},on:{"update:value":function(e){t.newName=e},keyup:[t.checkInputValidity,function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.stopRenaming.apply(null,arguments)}]}})],1):e(t.linkTo.is,t._b({ref:"basename",tag:"component",staticClass:"files-list__row-name-link",attrs:{"aria-hidden":t.isRenaming,"data-cy-files-list-row-name-link":""},on:{click:function(e){return t.$emit("click",e)}}},"component",t.linkTo.params,!1),[e("span",{staticClass:"files-list__row-name-text"},[e("span",{staticClass:"files-list__row-name-",domProps:{textContent:t._s(t.displayName)}}),t._v(" "),e("span",{staticClass:"files-list__row-name-ext",domProps:{textContent:t._s(t.extension)}})])])}),[],!1,null,null,null).exports;var Kr=s(60186);const Jr={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qr=(0,Fn.Z)(Jr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Xr={name:"FolderOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},to=(0,Fn.Z)(Xr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-open-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,eo={name:"KeyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},no=(0,Fn.Z)(eo,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon key-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,so={name:"NetworkIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},io=(0,Fn.Z)(so,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon network-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ro={name:"TagIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},oo=(0,Fn.Z)(ro,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tag-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ao={name:"PlayCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},lo=(0,Fn.Z)(ao,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-circle-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,co={name:"CollectivesIcon",props:{title:{type:String,default:""},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},uo=(0,Fn.Z)(co,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon collectives-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 16 16"}},[e("path",{attrs:{d:"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z"}}),t._v(" "),e("path",{attrs:{d:"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z"}}),t._v(" "),e("path",{attrs:{d:"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z"}}),t._v(" "),e("path",{attrs:{d:"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z"}})])])}),[],!1,null,null,null).exports,mo=(0,r.aZ)({name:"FavoriteIcon",components:{NcIconSvgWrapper:jn.Z},data:()=>({StarSvg:''}),async mounted(){await this.$nextTick();const t=this.$el.querySelector("svg");t?.setAttribute?.("viewBox","-4 -4 30 30")},methods:{t:In.Iu}});var po=s(29785),fo={};fo.styleTagTransform=as(),fo.setAttributes=ss(),fo.insert=es().bind(null,"head"),fo.domAPI=Xn(),fo.insertStyleElement=rs(),Jn()(po.Z,fo),po.Z&&po.Z.locals&&po.Z.locals;const go=(0,Fn.Z)(mo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:t.t("files","Favorite"),svg:t.StarSvg}})}),[],!1,null,"77afa6dc",null).exports,ho=r.ZP.extend({name:"FileEntryPreview",components:{AccountGroupIcon:Kr.Z,AccountPlusIcon:pi,CollectivesIcon:uo,FavoriteIcon:go,FileIcon:Qr,FolderIcon:zi,FolderOpenIcon:to,KeyIcon:no,LinkIcon:ii.Z,NetworkIcon:io,TagIcon:oo},props:{source:{type:Object,required:!0},dragover:{type:Boolean,default:!1},gridMode:{type:Boolean,default:!1}},setup:()=>({userConfigStore:vs()}),data:()=>({backgroundFailed:void 0}),computed:{fileid(){return this.source?.fileid?.toString?.()},isFavorite(){return 1===this.source.attributes.favorite},userConfig(){return this.userConfigStore.userConfig},cropPreviews(){return!0===this.userConfig.crop_image_previews},previewUrl(){if(this.source.type===lt.Tv.Folder)return null;if(!0===this.backgroundFailed)return null;try{const t=this.source.attributes.previewUrl||(0,ut.generateUrl)("/core/preview?fileId={fileid}",{fileid:this.fileid}),e=new URL(window.location.origin+t);return e.searchParams.set("x",this.gridMode?"128":"32"),e.searchParams.set("y",this.gridMode?"128":"32"),e.searchParams.set("mimeFallback","true"),e.searchParams.set("a",!0===this.cropPreviews?"0":"1"),e.href}catch(t){return null}},fileOverlay(){return void 0!==this.source.attributes["metadata-files-live-photo"]?lo:null},folderOverlay(){if(this.source.type!==lt.Tv.Folder)return null;if(1===this.source?.attributes?.["is-encrypted"])return no;if(this.source?.attributes?.["is-tag"])return oo;const t=Object.values(this.source?.attributes?.["share-types"]||{}).flat();if(t.some((t=>t===ni.D.SHARE_TYPE_LINK||t===ni.D.SHARE_TYPE_EMAIL)))return ii.Z;if(t.length>0)return pi;switch(this.source?.attributes?.["mount-type"]){case"external":case"external-session":return io;case"group":return Kr.Z;case"collective":return uo}return null}},methods:{reset(){!0===this.backgroundFailed&&this.$refs.previewImg&&(this.$refs.previewImg.src=""),this.backgroundFailed=void 0},t:In.Iu}}),Ao=(0,Fn.Z)(ho,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("span",{staticClass:"files-list__row-icon"},["folder"===t.source.type?[t.dragover?t._m(0):[t._m(1),t._v(" "),t.folderOverlay?e(t.folderOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay"}):t._e()]]:t.previewUrl&&!0!==t.backgroundFailed?e("img",{ref:"previewImg",staticClass:"files-list__row-icon-preview",class:{"files-list__row-icon-preview--loaded":!1===t.backgroundFailed},attrs:{alt:"",loading:"lazy",src:t.previewUrl},on:{error:function(e){t.backgroundFailed=!0},load:function(e){t.backgroundFailed=!1}}}):t._m(2),t._v(" "),t.isFavorite?e("span",{staticClass:"files-list__row-icon-favorite"},[t._m(3)],1):t._e(),t._v(" "),t.fileOverlay?e(t.fileOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay files-list__row-icon-overlay--file"}):t._e()],2)}),[function(){var t=this._self._c;return this._self._setupProxy,t("FolderOpenIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FolderIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FileIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FavoriteIcon")}],!1,null,null,null).exports,wo=(0,r.aZ)({name:"FileEntry",components:{CustomElementRender:kr,FileEntryActions:$r,FileEntryCheckbox:Hr,FileEntryName:Wr,FileEntryPreview:Ao,NcDateTime:Tr.Z},mixins:[_r],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},setup:()=>({actionsMenuStore:Fi(),draggingStore:Oi(),filesStore:wi(),renamingStore:Bi(),selectionStore:vi()}),computed:{rowListeners(){return{...this.isRenaming?{}:{dragstart:this.onDragStart,dragover:this.onDragOver},contextmenu:this.onRightClick,dragleave:this.onDragLeave,dragend:this.onDragEnd,drop:this.onDrop}},columns(){return this.filesListWidth<512||this.compact?[]:this.currentView?.columns||[]},size(){const t=parseInt(this.source.size,10)||0;return"number"!=typeof t||t<0?this.t("files","Pending"):(0,lt.sS)(t,!0)},sizeOpacity(){const t=parseInt(this.source.size,10)||0;return!t||t<0?{}:{color:`color-mix(in srgb, var(--color-main-text) ${Math.round(Math.min(100,100*Math.pow(this.source.size/10485760,2)))}%, var(--color-text-maxcontrast))`}},mtimeOpacity(){const t=26784e5,e=this.source.mtime?.getTime?.();if(!e)return{};const n=Math.round(Math.min(100,100*(t-(Date.now()-e))/t));return n<0?{}:{color:`color-mix(in srgb, var(--color-main-text) ${n}%, var(--color-text-maxcontrast))`}},mtimeTitle(){return this.source.mtime?Pi()(this.source.mtime).format("LLL"):""},isActive(){return this.fileid===this.currentFileId?.toString?.()}},methods:{formatFileSize:lt.sS}}),yo=(0,Fn.Z)(wo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",t._g({staticClass:"files-list__row",class:{"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading,"files-list__row--active":t.isActive},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag}},t.rowListeners),[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{source:t.source,dragover:t.dragover},nativeOn:{click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,nodes:t.nodes,source:t.source},on:{click:t.execDefaultAction}})],1),t._v(" "),e("FileEntryActions",{directives:[{name:"show",rawName:"v-show",value:!t.isRenamingSmallScreen,expression:"!isRenamingSmallScreen"}],ref:"actions",class:`files-list__row-actions-${t.uniqueId}`,attrs:{"files-list-width":t.filesListWidth,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}}),t._v(" "),!t.compact&&t.isSizeAvailable?e("td",{staticClass:"files-list__row-size",style:t.sizeOpacity,attrs:{"data-cy-files-list-row-size":""},on:{click:t.openDetailsIfAvailable}},[e("span",[t._v(t._s(t.size))])]):t._e(),t._v(" "),!t.compact&&t.isMtimeAvailable?e("td",{staticClass:"files-list__row-mtime",style:t.mtimeOpacity,attrs:{"data-cy-files-list-row-mtime":""},on:{click:t.openDetailsIfAvailable}},[e("NcDateTime",{attrs:{timestamp:t.source.mtime,"ignore-seconds":!0}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("td",{key:n.id,staticClass:"files-list__row-column-custom",class:`files-list__row-${t.currentView?.id}-${n.id}`,attrs:{"data-cy-files-list-row-column-custom":n.id},on:{click:t.openDetailsIfAvailable}},[e("CustomElementRender",{attrs:{"current-view":t.currentView,render:n.render,source:t.source}})],1)}))],2)}),[],!1,null,null,null).exports,vo=(0,r.aZ)({name:"FileEntryGrid",components:{FileEntryActions:$r,FileEntryCheckbox:Hr,FileEntryName:Wr,FileEntryPreview:Ao},mixins:[_r],inheritAttrs:!1,setup:()=>({actionsMenuStore:Fi(),draggingStore:Oi(),filesStore:wi(),renamingStore:Bi(),selectionStore:vi()}),data:()=>({gridMode:!0})}),bo=(0,Fn.Z)(vo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row",class:{"files-list__row--active":t.isActive,"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag},on:{contextmenu:t.onRightClick,dragover:t.onDragOver,dragleave:t.onDragLeave,dragstart:t.onDragStart,dragend:t.onDragEnd,drop:t.onDrop}},[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{dragover:t.dragover,"grid-mode":!0,source:t.source},nativeOn:{click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,"grid-mode":!0,nodes:t.nodes,source:t.source},on:{click:t.execDefaultAction}})],1),t._v(" "),e("FileEntryActions",{ref:"actions",class:`files-list__row-actions-${t.uniqueId}`,attrs:{"files-list-width":t.filesListWidth,"grid-mode":!0,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}})],1)}),[],!1,null,null,null).exports;var Co=s(25108);const xo={name:"FilesListHeader",props:{header:{type:Object,required:!0},currentFolder:{type:Object,required:!0},currentView:{type:Object,required:!0}},computed:{enabled(){return this.header.enabled(this.currentFolder,this.currentView)}},watch:{enabled(t){t&&this.header.updated(this.currentFolder,this.currentView)},currentFolder(){this.header.updated(this.currentFolder,this.currentView)}},mounted(){Co.debug("Mounted",this.header.id),this.header.render(this.$refs.mount,this.currentFolder,this.currentView)}},_o=(0,Fn.Z)(xo,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.enabled,expression:"enabled"}],class:`files-list__header-${t.header.id}`},[e("span",{ref:"mount"})])}),[],!1,null,null,null).exports,To=r.ZP.extend({name:"FilesListTableFooter",components:{},props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},summary:{type:String,default:""},filesListWidth:{type:Number,default:0}},setup(){const t=yi();return{filesStore:wi(),pathsStore:t}},computed:{currentView(){return this.$navigation.active},dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){if(!this.currentView?.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},columns(){return this.filesListWidth<512?[]:this.currentView?.columns||[]},totalSize(){return this.currentFolder?.size?(0,lt.sS)(this.currentFolder.size,!0):(0,lt.sS)(this.nodes.reduce(((t,e)=>t+e.size||0),0),!0)}},methods:{classForColumn(t){return{"files-list__row-column-custom":!0,[`files-list__row-${this.currentView.id}-${t.id}`]:!0}},t:In.Iu}});var Eo=s(16250),ko={};ko.styleTagTransform=as(),ko.setAttributes=ss(),ko.insert=es().bind(null,"head"),ko.domAPI=Xn(),ko.insertStyleElement=rs(),Jn()(Eo.Z,ko),Eo.Z&&Eo.Z.locals&&Eo.Z.locals;const So=(0,Fn.Z)(To,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",[e("th",{staticClass:"files-list__row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("files","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"files-list__row-name"},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("span",[t._v(t._s(t.summary))])]),t._v(" "),e("td",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("td",{staticClass:"files-list__column files-list__row-size"},[e("span",[t._v(t._s(t.totalSize))])]):t._e(),t._v(" "),t.isMtimeAvailable?e("td",{staticClass:"files-list__column files-list__row-mtime"}):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n)},[e("span",[t._v(t._s(n.summary?.(t.nodes,t.currentView)))])])}))],2)}),[],!1,null,"a85bde20",null).exports;var Lo=s(63198),No=s(7290);const Io=r.ZP.extend({computed:{...(Fo=Mn,Oo=["getConfig","setSortingBy","toggleSortingDirection"],Array.isArray(Oo)?Oo.reduce(((t,e)=>(t[e]=function(){return Fo(this.$pinia)[e]},t)),{}):Object.keys(Oo).reduce(((t,e)=>(t[e]=function(){const t=Fo(this.$pinia),n=Oo[e];return"function"==typeof n?n.call(this,t):t[n]},t)),{})),currentView(){return this.$navigation.active},sortingMode(){return this.getConfig(this.currentView.id)?.sorting_mode||this.currentView?.defaultSortKey||"basename"},isAscSorting(){const t=this.getConfig(this.currentView.id)?.sorting_direction;return"desc"!==t}},methods:{toggleSortBy(t){this.sortingMode!==t?this.setSortingBy(t,this.currentView.id):this.toggleSortingDirection(this.currentView.id)}}}),Po=(0,r.aZ)({name:"FilesListTableHeaderButton",components:{MenuDown:Lo.Z,MenuUp:No.Z,NcButton:li.Z},mixins:[Io],props:{name:{type:String,required:!0},mode:{type:String,required:!0}},methods:{t:In.Iu}});var Fo,Oo,Bo=s(97704),Do={};Do.styleTagTransform=as(),Do.setAttributes=ss(),Do.insert=es().bind(null,"head"),Do.domAPI=Xn(),Do.insertStyleElement=rs(),Jn()(Bo.Z,Do),Bo.Z&&Bo.Z.locals&&Bo.Z.locals;const jo=(0,Fn.Z)(Po,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcButton",{class:["files-list__column-sort-button",{"files-list__column-sort-button--active":t.sortingMode===t.mode,"files-list__column-sort-button--size":"size"===t.sortingMode}],attrs:{alignment:"size"===t.mode?"end":"start-reverse",type:"tertiary"},on:{click:function(e){return t.toggleSortBy(t.mode)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.sortingMode!==t.mode||t.isAscSorting?e("MenuUp",{staticClass:"files-list__column-sort-button-icon"}):e("MenuDown",{staticClass:"files-list__column-sort-button-icon"})]},proxy:!0}])},[t._v(" "),e("span",{staticClass:"files-list__column-sort-button-text"},[t._v(t._s(t.name))])])}),[],!1,null,"2dd1845e",null).exports,Uo=(0,r.aZ)({name:"FilesListTableHeader",components:{FilesListTableHeaderButton:jo,NcCheckboxRadioSwitch:ps.Z},mixins:[Io],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup:()=>({filesStore:wi(),selectionStore:vi()}),computed:{currentView(){return this.$navigation.active},columns(){return this.filesListWidth<512?[]:this.currentView?.columns||[]},dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},selectAllBind(){const t=(0,In.Iu)("files","Toggle selection for all files and folders");return{"aria-label":t,checked:this.isAllSelected,indeterminate:this.isSomeSelected,title:t}},selectedNodes(){return this.selectionStore.selected},isAllSelected(){return this.selectedNodes.length===this.nodes.length},isNoneSelected(){return 0===this.selectedNodes.length},isSomeSelected(){return!this.isAllSelected&&!this.isNoneSelected}},methods:{ariaSortForMode(t){return this.sortingMode===t?this.isAscSorting?"ascending":"descending":null},classForColumn(t){return{"files-list__column":!0,"files-list__column--sortable":!!t.sort,"files-list__row-column-custom":!0,[`files-list__row-${this.currentView?.id}-${t.id}`]:!0}},onToggleAll(t){if(t){const t=this.nodes.map((t=>t.fileid)).filter(Boolean);Vn.debug("Added all nodes to selection",{selection:t}),this.selectionStore.setLastIndex(null),this.selectionStore.set(t)}else Vn.debug("Cleared selection"),this.selectionStore.reset()},resetSelection(){this.selectionStore.reset()},t:In.Iu}});var Ro=s(25385),zo={};zo.styleTagTransform=as(),zo.setAttributes=ss(),zo.insert=es().bind(null,"head"),zo.domAPI=Xn(),zo.insertStyleElement=rs(),Jn()(Ro.Z,zo),Ro.Z&&Ro.Z.locals&&Ro.Z.locals;const Mo=(0,Fn.Z)(Uo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row-head"},[e("th",{staticClass:"files-list__column files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[e("NcCheckboxRadioSwitch",t._b({on:{"update:checked":t.onToggleAll}},"NcCheckboxRadioSwitch",t.selectAllBind,!1))],1),t._v(" "),e("th",{staticClass:"files-list__column files-list__row-name files-list__column--sortable",attrs:{"aria-sort":t.ariaSortForMode("basename")}},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Name"),mode:"basename"}})],1),t._v(" "),e("th",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("th",{staticClass:"files-list__column files-list__row-size",class:{"files-list__column--sortable":t.isSizeAvailable},attrs:{"aria-sort":t.ariaSortForMode("size")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Size"),mode:"size"}})],1):t._e(),t._v(" "),t.isMtimeAvailable?e("th",{staticClass:"files-list__column files-list__row-mtime",class:{"files-list__column--sortable":t.isMtimeAvailable},attrs:{"aria-sort":t.ariaSortForMode("mtime")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Modified"),mode:"mtime"}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n),attrs:{"aria-sort":t.ariaSortForMode(n.id)}},[n.sort?e("FilesListTableHeaderButton",{attrs:{name:n.title,mode:n.id}}):e("span",[t._v("\n\t\t\t"+t._s(n.title)+"\n\t\t")])],1)}))],2)}),[],!1,null,"952162c2",null).exports,Vo=r.ZP.extend({data:()=>({filesListWidth:null}),mounted(){const t=document.querySelector("#app-content-vue");this.filesListWidth=t?.clientWidth??null,this.$resizeObserver=new ResizeObserver((e=>{e.length>0&&e[0].target===t&&(this.filesListWidth=e[0].contentRect.width)})),this.$resizeObserver.observe(t)},beforeDestroy(){this.$resizeObserver.disconnect()}});var $o=s(20296),qo=s(25108);const Ho=r.ZP.extend({name:"VirtualList",mixins:[Vo],props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},extraProps:{type:Object,default:()=>({})},scrollToIndex:{type:Number,default:0},gridMode:{type:Boolean,default:!1},caption:{type:String,default:""}},data(){return{index:this.scrollToIndex,beforeHeight:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{isReady(){return this.tableHeight>0},bufferItems(){return this.gridMode?this.columnCount:3},itemHeight(){return this.gridMode?197:55},itemWidth:()=>175,rowCount(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+this.bufferItems/this.columnCount*2+1},columnCount(){return this.gridMode?Math.floor(this.filesListWidth/this.itemWidth):1},startIndex(){return Math.max(0,this.index-this.bufferItems)},shownItems(){return this.gridMode?this.rowCount*this.columnCount:this.rowCount},renderedItems(){if(!this.isReady)return[];const t=this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems),e=t.filter((t=>Object.values(this.$_recycledPool).includes(t[this.dataKey]))).map((t=>t[this.dataKey])),n=Object.keys(this.$_recycledPool).filter((t=>!e.includes(this.$_recycledPool[t])));return t.map((t=>{const e=Object.values(this.$_recycledPool).indexOf(t[this.dataKey]);if(-1!==e)return{key:Object.keys(this.$_recycledPool)[e],item:t};const s=n.pop()||Math.random().toString(36).substr(2);return this.$_recycledPool[s]=t[this.dataKey],{key:s,item:t}}))},tbodyStyle(){const t=this.startIndex+this.rowCount>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.floor(Math.min(this.dataSources.length-this.startIndex,e)/this.columnCount);return{paddingTop:Math.floor(this.startIndex/this.columnCount)*this.itemHeight+"px",paddingBottom:t?0:n*this.itemHeight+"px"}}},watch:{scrollToIndex(t){this.scrollTo(t)},columnCount(t,e){0!==e?this.scrollTo(this.index):qo.debug("VirtualList: columnCount is 0, skipping scroll")}},mounted(){const t=this.$refs?.before,e=this.$el,n=this.$refs?.thead;this.resizeObserver=new ResizeObserver((0,$o.debounce)((()=>{this.beforeHeight=t?.clientHeight??0,this.headerHeight=n?.clientHeight??0,this.tableHeight=e?.clientHeight??0,Vn.debug("VirtualList: resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(t),this.resizeObserver.observe(e),this.resizeObserver.observe(n),this.scrollToIndex&&this.scrollTo(this.scrollToIndex),this.$el.addEventListener("scroll",this.onScroll,{passive:!0}),this.$_recycledPool={}},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{scrollTo(t){const e=Math.ceil(this.dataSources.length/this.columnCount);if(e{this._onScrollHandle=null;const t=this.$el.scrollTop-this.beforeHeight,e=Math.floor(t/this.itemHeight)*this.columnCount;this.index=Math.max(0,e),this.$emit("scroll")}))}}}),Zo=(0,Fn.Z)(Ho,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list",attrs:{"data-cy-files-list":""}},[e("div",{ref:"before",staticClass:"files-list__before"},[t._t("before")],2),t._v(" "),t.$scopedSlots["header-overlay"]?e("div",{staticClass:"files-list__thead-overlay"},[t._t("header-overlay")],2):t._e(),t._v(" "),e("table",{staticClass:"files-list__table",class:{"files-list__table--with-thead-overlay":!!t.$scopedSlots["header-overlay"]}},[t.caption?e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.caption)+"\n\t\t")]):t._e(),t._v(" "),e("thead",{ref:"thead",staticClass:"files-list__thead",attrs:{"data-cy-files-list-thead":""}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"files-list__tbody",class:t.gridMode?"files-list__tbody--grid":"files-list__tbody--list",style:t.tbodyStyle,attrs:{"data-cy-files-list-tbody":""}},t._l(t.renderedItems,(function(n,s){let{key:i,item:r}=n;return e(t.dataComponent,t._b({key:i,tag:"component",attrs:{source:r,index:s}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"show",rawName:"v-show",value:t.isReady,expression:"isReady"}],staticClass:"files-list__tfoot",attrs:{"data-cy-files-list-tfoot":""}},[t._t("footer")],2)])])}),[],!1,null,null,null).exports,Go=(0,lt.Vn)(),Yo=(0,r.aZ)({name:"FilesListTableHeaderActions",components:{NcActions:Fr.Z,NcActionButton:Pr.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z},mixins:[Vo],props:{currentView:{type:Object,required:!0},selectedNodes:{type:Array,default:()=>[]}},setup:()=>({actionsMenuStore:Fi(),filesStore:wi(),selectionStore:vi()}),data:()=>({loading:null}),computed:{dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},enabledActions(){return Go.filter((t=>t.execBatch)).filter((t=>!t.enabled||t.enabled(this.nodes,this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},nodes(){return this.selectedNodes.map((t=>this.getNode(t))).filter(Boolean)},areSomeNodesLoading(){return this.nodes.some((t=>t.status===lt.e4.LOADING))},openedMenu:{get(){return"global"===this.actionsMenuStore.opened},set(t){this.actionsMenuStore.opened=t?"global":null}},inlineActions(){return this.filesListWidth<512?0:this.filesListWidth<768?1:this.filesListWidth<1024?2:3}},methods:{getNode(t){return this.filesStore.getNode(t)},async onActionClick(t){const e=t.displayName(this.nodes,this.currentView),n=this.selectedNodes;try{this.loading=t.id,this.nodes.forEach((t=>{r.ZP.set(t,"status",lt.e4.LOADING)}));const s=await t.execBatch(this.nodes,this.currentView,this.dir);if(!s.some((t=>null!==t)))return void this.selectionStore.reset();if(s.some((t=>!1===t))){const t=n.filter(((t,e)=>!1===s[e]));if(this.selectionStore.set(t),s.some((t=>null===t)))return;return void(0,qn.x2)(this.t("files",'"{displayName}" failed on some elements ',{displayName:e}))}(0,qn.s$)(this.t("files",'"{displayName}" batch action executed successfully',{displayName:e})),this.selectionStore.reset()}catch(n){Vn.error("Error while executing action",{action:t,e:n}),(0,qn.x2)(this.t("files",'"{displayName}" action failed',{displayName:e}))}finally{this.loading=null,this.nodes.forEach((t=>{r.ZP.set(t,"status",void 0)}))}},t:In.Iu}}),Wo=Yo;var Ko=s(35261),Jo={};Jo.styleTagTransform=as(),Jo.setAttributes=ss(),Jo.insert=es().bind(null,"head"),Jo.domAPI=Xn(),Jo.insertStyleElement=rs(),Jn()(Ko.Z,Jo),Ko.Z&&Ko.Z.locals&&Ko.Z.locals;var Qo=(0,Fn.Z)(Wo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list__column files-list__row-actions-batch"},[e("NcActions",{ref:"actionsMenu",attrs:{disabled:!!t.loading||t.areSomeNodesLoading,"force-name":!0,inline:t.inlineActions,"menu-name":t.inlineActions<=1?t.t("files","Actions"):null,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e}}},t._l(t.enabledActions,(function(n){return e("NcActionButton",{key:n.id,class:"files-list__row-actions-batch-"+n.id,on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline(t.nodes,t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(n.displayName(t.nodes,t.currentView))+"\n\t\t")])})),1)],1)}),[],!1,null,"d939292c",null);const Xo=Qo.exports,ta=(0,r.aZ)({name:"FilesListVirtual",components:{FilesListHeader:_o,FilesListTableFooter:So,FilesListTableHeader:Mo,VirtualList:Zo,FilesListTableHeaderActions:Xo},mixins:[Vo],props:{currentView:{type:lt.G7,required:!0},currentFolder:{type:lt.gt,required:!0},nodes:{type:Array,required:!0}},setup:()=>({userConfigStore:vs(),selectionStore:vi()}),data:()=>({FileEntry:yo,FileEntryGrid:bo,headers:(0,lt.De)(),scrollToIndex:0,openFileId:null}),computed:{userConfig(){return this.userConfigStore.userConfig},fileId(){return parseInt(this.$route.params.fileid)||null},openFile(){return!!this.$route.query.openfile},summary(){return Ni(this.nodes)},isMtimeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.mtime))},isSizeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.attributes.size))},sortedHeaders(){return this.currentFolder&&this.currentView?[...this.headers].sort(((t,e)=>t.order-e.order)):[]},caption(){const t=(0,In.Iu)("files","List of files and folders.");return`${this.currentView.caption||t}\n${(0,In.Iu)("files","Column headers with buttons are sortable.")}\n${(0,In.Iu)("files","This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.")}`},selectedNodes(){return this.selectionStore.selected},isNoneSelected(){return 0===this.selectedNodes.length}},watch:{fileId(t){this.scrollToFile(t,!1)},openFile(t){t&&this.$nextTick((()=>this.handleOpenFile(this.fileId)))}},mounted(){window.document.querySelector("main.app-content").addEventListener("dragover",this.onDragOver);const{id:t}=(0,Un.j)("files","openFileInfo",{});this.scrollToFile(t??this.fileId),this.openSidebarForFile(t??this.fileId),this.handleOpenFile(t??null)},beforeDestroy(){window.document.querySelector("main.app-content").removeEventListener("dragover",this.onDragOver)},methods:{openSidebarForFile(t){if(document.documentElement.clientWidth>1024&&this.currentFolder.fileid!==t){const e=this.nodes.find((e=>e.fileid===t));e&&Ai?.enabled?.([e],this.currentView)&&(Vn.debug("Opening sidebar on file "+e.path,{node:e}),Ai.exec(e,this.currentView,this.currentFolder.path))}},scrollToFile(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t){const n=this.nodes.findIndex((e=>e.fileid===t));e&&-1===n&&t!==this.currentFolder.fileid&&(0,qn.x2)(this.t("files","File not found")),this.scrollToIndex=Math.max(0,n)}},handleOpenFile(t){if(null===t||this.openFileId===t)return;const e=this.nodes.find((e=>e.fileid===t));void 0!==e&&e.type!==lt.Tv.Folder&&(Vn.debug("Opening file "+e.path,{node:e}),this.openFileId=t,(0,lt.Vn)().filter((t=>!t.enabled||t.enabled([e],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0))).filter((t=>!!t?.default))[0].exec(e,this.currentView,this.currentFolder.path))},getFileId:t=>t.fileid,onDragOver(t){const e=t.dataTransfer?.types.includes("Files");if(e)return;t.preventDefault(),t.stopPropagation();const n=this.$refs.table.$el.getBoundingClientRect().top,s=n+this.$refs.table.$el.getBoundingClientRect().height;t.clientYs-50&&(this.$refs.table.$el.scrollTop=this.$refs.table.$el.scrollTop+25)},t:In.Iu}});var ea=s(39402),na={};na.styleTagTransform=as(),na.setAttributes=ss(),na.insert=es().bind(null,"head"),na.domAPI=Xn(),na.insertStyleElement=rs(),Jn()(ea.Z,na),ea.Z&&ea.Z.locals&&ea.Z.locals;var sa=s(62513),ia={};ia.styleTagTransform=as(),ia.setAttributes=ss(),ia.insert=es().bind(null,"head"),ia.domAPI=Xn(),ia.insertStyleElement=rs(),Jn()(sa.Z,ia),sa.Z&&sa.Z.locals&&sa.Z.locals;const ra=(0,Fn.Z)(ta,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("VirtualList",{ref:"table",attrs:{"data-component":t.userConfig.grid_view?t.FileEntryGrid:t.FileEntry,"data-key":"source","data-sources":t.nodes,"grid-mode":t.userConfig.grid_view,"extra-props":{isMtimeAvailable:t.isMtimeAvailable,isSizeAvailable:t.isSizeAvailable,nodes:t.nodes,filesListWidth:t.filesListWidth},"scroll-to-index":t.scrollToIndex,caption:t.caption},scopedSlots:t._u([t.isNoneSelected?null:{key:"header-overlay",fn:function(){return[e("FilesListTableHeaderActions",{attrs:{"current-view":t.currentView,"selected-nodes":t.selectedNodes}})]},proxy:!0},{key:"before",fn:function(){return t._l(t.sortedHeaders,(function(n){return e("FilesListHeader",{key:n.id,attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,header:n}})}))},proxy:!0},{key:"header",fn:function(){return[e("FilesListTableHeader",{ref:"thead",attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes}})]},proxy:!0},{key:"footer",fn:function(){return[e("FilesListTableFooter",{attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes,summary:t.summary}})]},proxy:!0}],null,!0)})}),[],!1,null,"48fb0b13",null).exports,oa={name:"TrayArrowDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},aa=(0,Fn.Z)(oa,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tray-arrow-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var la=s(65358);const ca=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=(0,si.g)();try{return await n.upload(`${e}${t.name}`,t)}catch(e){throw(0,qn.x2)((0,In.Iu)("files",'Uploading "{filename}" failed',{filename:t.name})),e}},ua=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(t.isFile)return[await new Promise(((n,s)=>{t.file((async t=>n(await ca(t,e))),(t=>s(t)))}))];{const n=t,s=(0,la.RQ)(lt._o,(0,si.g)().destination.path,e,n.name);Vn.debug("Handle directory recursively",{name:n.name,absolutPath:s});const i=(0,lt.rp)();if(!await i.exists(s)){Vn.debug("Directory does not exist, creating it",{absolutPath:s}),await i.createDirectory(s,{recursive:!0});const t=await i.stat(s,{details:!0,data:(0,lt.h7)()});(0,Nn.j8)("files:node:created",(0,lt.RL)(t.data))}const r=await function(t){const e=t.createReader();return new Promise(((t,n)=>{const s=[],i=()=>{e.readEntries((e=>{e.length?(s.push(...e),i()):t(s)}),(t=>{n(t)}))};i()}))}(n),o=r.sort((t=>t.isFile?-1:1)).map((t=>ua(t,`${e}${n.name}/`)));return(await Promise.all(o)).flat()}},da=(0,r.aZ)({name:"DragAndDropNotice",components:{TrayArrowDownIcon:aa},props:{currentFolder:{type:lt.gt,required:!0}},data:()=>({dragover:!1}),computed:{canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions<.y3.CREATE)},isQuotaExceeded(){return 0===this.currentFolder?.attributes?.["quota-available-bytes"]},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.canUpload?null:this.t("files","You don’t have permission to upload or create files here")}},mounted(){const t=window.document.querySelector("main.app-content");t.addEventListener("dragover",this.onDragOver),t.addEventListener("dragleave",this.onDragLeave),t.addEventListener("drop",this.onContentDrop)},beforeDestroy(){const t=window.document.querySelector("main.app-content");t.removeEventListener("dragover",this.onDragOver),t.removeEventListener("dragleave",this.onDragLeave),t.removeEventListener("drop",this.onContentDrop)},methods:{onDragOver(t){t.preventDefault();const e=t.dataTransfer?.types.includes("Files");e&&(this.dragover=!0)},onDragLeave(t){const e=t.currentTarget;e?.contains(t.relatedTarget??t.target)||this.dragover&&(this.dragover=!1)},onContentDrop(t){Vn.debug("Drag and drop cancelled, dropped on empty space",{event:t}),t.preventDefault(),this.dragover&&(this.dragover=!1)},async onDrop(t){if(Vn.debug("Dropped on DragAndDropNotice",{event:t}),this.cantUploadLabel)(0,qn.x2)(this.cantUploadLabel);else if(!this.$el.querySelector("tbody")?.contains(t.target)){if(t.preventDefault(),t.stopPropagation(),t.dataTransfer&&t.dataTransfer.items.length>0){Vn.debug(`Uploading files to ${this.currentFolder.path}`);const e=await(async t=>{const e=[];for(const n of t.items){if("file"!==n.kind){Vn.debug("Skipping dropped item",{kind:n.kind,type:n.type});continue}const t=n?.getAsEntry?.()??n.webkitGetAsEntry();if(null===t){Vn.debug("Could not get FilesystemEntry of item, falling back to file");const t=n.getAsFile();null===t?(Vn.warn("Could not process DataTransferItem",{type:n.type,kind:n.kind}),(0,qn.x2)((0,In.Iu)("files","One of the dropped files could not be processed"))):e.push(await ca(t))}else Vn.debug("Handle recursive upload",{entry:t.name}),e.push(...await ua(t))}return e})(t.dataTransfer);if(Vn.debug("Upload terminated",{uploads:e}),e.some((t=>t.status===si.c.FAILED))){(0,qn.x2)((0,In.Iu)("files","Some files could not be uploaded"));const t=e.filter((t=>t.status===si.c.FAILED));Vn.debug("Some files could not be uploaded",{failedUploads:t})}else(0,qn.s$)((0,In.Iu)("files","Files uploaded successfully"));const n=e.findLast((t=>t.status!==si.c.FAILED&&!t.file.webkitRelativePath.includes("/")&&t.response?.headers?.["oc-fileid"]));void 0!==n&&this.$router.push({...this.$route,params:{view:this.$route.params?.view??"files",fileid:parseInt(n.response.headers["oc-fileid"])}})}this.dragover=!1}},t:In.Iu}});var ma=s(21902),pa={};pa.styleTagTransform=as(),pa.setAttributes=ss(),pa.insert=es().bind(null,"head"),pa.domAPI=Xn(),pa.insertStyleElement=rs(),Jn()(ma.Z,pa),ma.Z&&ma.Z.locals&&ma.Z.locals;const fa=(0,Fn.Z)(da,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{directives:[{name:"show",rawName:"v-show",value:t.dragover,expression:"dragover"}],staticClass:"files-list__drag-drop-notice",on:{drop:t.onDrop}},[e("div",{staticClass:"files-list__drag-drop-notice-wrapper"},[t.canUpload&&!t.isQuotaExceeded?[e("TrayArrowDownIcon",{attrs:{size:48}}),t._v(" "),e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.t("files","Drag and drop files here to upload"))+"\n\t\t\t")])]:[e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.cantUploadLabel)+"\n\t\t\t")])]],2)])}),[],!1,null,"46caa8f8",null).exports,ga=void 0!==(0,Ls.F)()?.files_sharing,ha=(0,r.aZ)({name:"FilesList",components:{BreadCrumbs:Li,DragAndDropNotice:fa,FilesListVirtual:ra,LinkIcon:ii.Z,ListViewIcon:oi,NcAppContent:ai.Z,NcButton:li.Z,NcEmptyContent:ci.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z,PlusIcon:di.Z,AccountPlusIcon:pi,UploadPicker:si.U,ViewGridIcon:gi},mixins:[Vo,Io],setup(){const t=wi(),e=yi(),n=vi(),s=function(){return bi=(0,si.g)(),at("uploader",{state:()=>({queue:bi.queue})})(...arguments)}();return{filesStore:t,pathsStore:e,selectionStore:n,uploaderStore:s,userConfigStore:vs(),viewConfigStore:Mn(),enableGridView:(0,Un.j)("core","config",[])["enable_non-accessible_features"]??!0}},data:()=>({loading:!0,promise:null,Type:ni.D}),computed:{userConfig(){return this.userConfigStore.userConfig},currentView(){return this.$navigation.active||this.$navigation.views.find((t=>t.id===(this.$route.params?.view??"files")))},dir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){if(!this.currentView?.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},sortingParameters(){return[[...this.userConfig.sort_favorites_first?[t=>1!==t.attributes?.favorite]:[],...this.userConfig.sort_folders_first?[t=>"folder"!==t.type]:[],..."basename"!==this.sortingMode?[t=>t[this.sortingMode]]:[],t=>t.attributes?.displayName||t.basename,t=>t.basename],[...this.userConfig.sort_favorites_first?["asc"]:[],...this.userConfig.sort_folders_first?["asc"]:[],..."mtime"===this.sortingMode?[this.isAscSorting?"desc":"asc"]:[],..."mtime"!==this.sortingMode&&"basename"!==this.sortingMode?[this.isAscSorting?"asc":"desc"]:[],this.isAscSorting?"asc":"desc",this.isAscSorting?"asc":"desc"]]},dirContentsSorted(){if(!this.currentView)return[];const t=(this.currentView?.columns||[]).find((t=>t.id===this.sortingMode));if(t?.sort&&"function"==typeof t.sort){const e=[...this.dirContents].sort(t.sort);return this.isAscSorting?e:e.reverse()}return ti([...this.dirContents],...this.sortingParameters)},dirContents(){const t=this.userConfigStore?.userConfig.show_hidden;return(this.currentFolder?._children||[]).map(this.getNode).filter((e=>t?!!e:e&&!0!==e?.attributes?.hidden&&!e?.basename.startsWith(".")))},isEmptyDir(){return 0===this.dirContents.length},isRefreshing(){return void 0!==this.currentFolder&&!this.isEmptyDir&&this.loading},toPreviousDir(){const t=this.dir.split("/").slice(0,-1).join("/")||"/";return{...this.$route,query:{dir:t}}},shareAttributes(){if(this.currentFolder?.attributes?.["share-types"])return Object.values(this.currentFolder?.attributes?.["share-types"]||{}).flat()},shareButtonLabel(){return this.shareAttributes?this.shareButtonType===ni.D.SHARE_TYPE_LINK?this.t("files","Shared by link"):this.t("files","Shared"):this.t("files","Share")},shareButtonType(){return this.shareAttributes?this.shareAttributes.some((t=>t===ni.D.SHARE_TYPE_LINK))?ni.D.SHARE_TYPE_LINK:ni.D.SHARE_TYPE_USER:null},gridViewButtonLabel(){return this.userConfig.grid_view?this.t("files","Switch to list view"):this.t("files","Switch to grid view")},canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions<.y3.CREATE)},isQuotaExceeded(){return 0===this.currentFolder?.attributes?.["quota-available-bytes"]},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.t("files","You don’t have permission to upload or create files here")},canShare(){return ga&&this.currentFolder&&0!=(this.currentFolder.permissions<.y3.SHARE)}},watch:{currentView(t,e){t?.id!==e?.id&&(Vn.debug("View changed",{newView:t,oldView:e}),this.selectionStore.reset(),this.fetchContent())},dir(t,e){Vn.debug("Directory changed",{newDir:t,oldDir:e}),this.selectionStore.reset(),this.fetchContent(),this.$refs?.filesListVirtual?.$el&&(this.$refs.filesListVirtual.$el.scrollTop=0)},dirContents(t){Vn.debug("Directory contents changed",{view:this.currentView,folder:this.currentFolder,contents:t}),(0,Nn.j8)("files:list:updated",{view:this.currentView,folder:this.currentFolder,contents:t})}},mounted(){this.fetchContent(),(0,Nn.Ld)("files:node:updated",this.onUpdatedNode)},unmounted(){(0,Nn.r1)("files:node:updated",this.onUpdatedNode)},methods:{async fetchContent(){this.loading=!0;const t=this.dir,e=this.currentView;if(e){"function"==typeof this.promise?.cancel&&(this.promise.cancel(),Vn.debug("Cancelled previous ongoing fetch")),this.promise=e.getContents(t);try{const{folder:n,contents:s}=await this.promise;Vn.debug("Fetched contents",{dir:t,folder:n,contents:s}),this.filesStore.updateNodes(s),this.$set(n,"_children",s.map((t=>t.fileid))),"/"===t?this.filesStore.setRoot({service:e.id,root:n}):n.fileid?(this.filesStore.updateNodes([n]),this.pathsStore.addPath({service:e.id,fileid:n.fileid,path:t})):Vn.error("Invalid root folder returned",{dir:t,folder:n,currentView:e}),s.filter((t=>"folder"===t.type)).forEach((n=>{this.pathsStore.addPath({service:e.id,fileid:n.fileid,path:(0,Ns.join)(t,n.basename)})}))}catch(t){Vn.error("Error while fetching content",{error:t})}finally{this.loading=!1}}else Vn.debug("The current view doesn't exists or is not ready.",{currentView:e})},getNode(t){return this.filesStore.getNode(t)},onUpload(t){(0,Ns.dirname)(t.source)===this.currentFolder?.source&&this.fetchContent()},async onUploadFail(t){const e=t.response?.status||0;if(507!==e)if(404!==e&&409!==e)if(403!==e){try{const e=new ei.Parser({trim:!0,explicitRoot:!1}),n=(await e.parseStringPromise(t.response?.data))["s:message"][0];if("string"==typeof n&&""!==n.trim())return void(0,qn.x2)(this.t("files","Error during upload: {message}",{message:n}))}catch(t){}0===e?(0,qn.x2)(this.t("files","Unknown error during upload")):(0,qn.x2)(this.t("files","Error during upload, status code {status}",{status:e}))}else(0,qn.x2)(this.t("files","Operation is blocked by access control"));else(0,qn.x2)(this.t("files","Target folder does not exist any more"));else(0,qn.x2)(this.t("files","Not enough free space"))},onUpdatedNode(t){t?.fileid===this.currentFolder?.fileid&&this.fetchContent()},openSharingSidebar(){this.currentFolder?(window?.OCA?.Files?.Sidebar?.setActiveTab&&window.OCA.Files.Sidebar.setActiveTab("sharing"),Ai.exec(this.currentFolder,this.currentView,this.currentFolder.path)):Vn.debug("No current folder found for opening sharing sidebar")},toggleGridView(){this.userConfigStore.update("grid_view",!this.userConfig.grid_view)},t:In.Iu,n:In.uN}});var Aa=s(71380),wa={};wa.styleTagTransform=as(),wa.setAttributes=ss(),wa.insert=es().bind(null,"head"),wa.domAPI=Xn(),wa.insertStyleElement=rs(),Jn()(Aa.Z,wa),Aa.Z&&Aa.Z.locals&&Aa.Z.locals;const ya=(0,Fn.Z)(ha,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppContent",{attrs:{"data-cy-files-content":""}},[e("div",{staticClass:"files-list__header"},[e("BreadCrumbs",{attrs:{path:t.dir},on:{reload:t.fetchContent},scopedSlots:t._u([{key:"actions",fn:function(){return[t.canShare&&t.filesListWidth>=512?e("NcButton",{staticClass:"files-list__header-share-button",class:{"files-list__header-share-button--shared":t.shareButtonType},attrs:{"aria-label":t.shareButtonLabel,title:t.shareButtonLabel,type:"tertiary"},on:{click:t.openSharingSidebar},scopedSlots:t._u([{key:"icon",fn:function(){return[t.shareButtonType===t.Type.SHARE_TYPE_LINK?e("LinkIcon"):e("AccountPlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2969853559)}):t._e(),t._v(" "),!t.canUpload||t.isQuotaExceeded?e("NcButton",{staticClass:"files-list__header-upload-button--disabled",attrs:{"aria-label":t.cantUploadLabel,title:t.cantUploadLabel,disabled:!0,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files","Add"))+"\n\t\t\t\t")]):t.currentFolder?e("UploadPicker",{staticClass:"files-list__header-upload-button",attrs:{content:t.dirContents,destination:t.currentFolder,multiple:!0},on:{failed:t.onUploadFail,uploaded:t.onUpload}}):t._e()]},proxy:!0}])}),t._v(" "),t.filesListWidth>=512&&t.enableGridView?e("NcButton",{staticClass:"files-list__header-grid-button",attrs:{"aria-label":t.gridViewButtonLabel,title:t.gridViewButtonLabel,type:"tertiary"},on:{click:t.toggleGridView},scopedSlots:t._u([{key:"icon",fn:function(){return[t.userConfig.grid_view?e("ListViewIcon"):e("ViewGridIcon")]},proxy:!0}],null,!1,1682960703)}):t._e(),t._v(" "),t.isRefreshing?e("NcLoadingIcon",{staticClass:"files-list__refresh-icon"}):t._e()],1),t._v(" "),!t.loading&&t.canUpload?e("DragAndDropNotice",{attrs:{"current-folder":t.currentFolder}}):t._e(),t._v(" "),t.loading&&!t.isRefreshing?e("NcLoadingIcon",{staticClass:"files-list__loading-icon",attrs:{size:38,name:t.t("files","Loading current folder")}}):!t.loading&&t.isEmptyDir?e("NcEmptyContent",{attrs:{name:t.currentView?.emptyTitle||t.t("files","No files in here"),description:t.currentView?.emptyCaption||t.t("files","Upload some content or sync with your devices!"),"data-cy-files-content-empty":""},scopedSlots:t._u([{key:"action",fn:function(){return["/"!==t.dir?e("NcButton",{attrs:{"aria-label":t.t("files","Go to the previous folder"),type:"primary",to:t.toPreviousDir}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Go back"))+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:t.currentView.icon}})]},proxy:!0}])}):e("FilesListVirtual",{ref:"filesListVirtual",attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,nodes:t.dirContentsSorted}})],1)}),[],!1,null,"b2731ace",null).exports,va=(0,r.aZ)({name:"FilesApp",components:{NcContent:Ln.Z,FilesList:ya,Navigation:Ss}}),ba=(0,Fn.Z)(va,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcContent",{attrs:{"app-name":"files"}},[e("Navigation"),t._v(" "),e("FilesList")],1)}),[],!1,null,null,null).exports;s.nc=btoa((0,ct.IH)()),window.OCA.Files=window.OCA.Files??{},window.OCP.Files=window.OCP.Files??{};const Ca=new class{constructor(t){var e,n,s;e=this,s=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_router"))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,this._router=t}get name(){return this._router.currentRoute.name}get query(){return this._router.currentRoute.query||{}}get params(){return this._router.currentRoute.params||{}}goTo(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._router.push({path:t,replace:e})}goToRoute(t,e,n,s){return this._router.push({name:t,query:n,params:e,replace:s})}}(En);Object.assign(window.OCP.Files,{Router:Ca}),r.ZP.use((function(t){t.mixin({beforeCreate(){const t=this.$options;if(t.pinia){const e=t.pinia;if(!this._provided){const t={};Object.defineProperty(this,"_provided",{get:()=>t,set:e=>Object.assign(t,e)})}this._provided[A]=e,this.$pinia||(this.$pinia=e),e._a=this,v&&h(e),b&&G(e._a,e)}else!this.$pinia&&t.parent&&t.parent.$pinia&&(this.$pinia=t.parent.$pinia)},destroyed(){delete this._pStores}})}));const xa=function(){const t=(0,r.B)(!0),e=t.run((()=>(0,r.iH)({})));let n=[],s=[];const i=(0,r.Xl)({install(t){h(i),o||(i._a=t,t.provide(A,i),t.config.globalProperties.$pinia=i,b&&G(t,i),s.forEach((t=>n.push(t))),s=[])},use(t){return this._a||o?n.push(t):s.push(t),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return b&&"undefined"!=typeof Proxy&&i.use(J),i}(),_a=r.ZP.observable((0,lt.Ti)());r.ZP.prototype.$navigation=_a;const Ta=new class{constructor(){var t,e,n;t=this,n=void 0,(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e="_settings"))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,this._settings=[],Sn.debug("OCA.Files.Settings initialized")}register(t){return this._settings.filter((e=>e.name===t.name)).length>0?(Sn.error("A setting with the same name is already registered"),!1):(this._settings.push(t),!0)}get settings(){return this._settings}};Object.assign(window.OCA.Files,{Settings:Ta}),Object.assign(window.OCA.Files.Settings,{Setting:class{constructor(t,e){let{el:n,open:s,close:i}=e;kn(this,"_close",void 0),kn(this,"_el",void 0),kn(this,"_name",void 0),kn(this,"_open",void 0),this._name=t,this._el=n,this._open=s,this._close=i,"function"!=typeof this._open&&(this._open=()=>{}),"function"!=typeof this._close&&(this._close=()=>{})}get name(){return this._name}get el(){return this._el}get open(){return this._open}get close(){return this._close}}}),new(r.ZP.extend(ba))({router:En,pinia:xa}).$mount("#content")},51473:(t,e,n)=>{"use strict";n.d(e,{Z:()=>f});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r),a=n(61667),l=n.n(a),c=new URL(n(79839),n.b),u=new URL(n(88717),n.b),d=o()(i()),m=l()(c),p=l()(u);d.push([t.id,`@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${m});\n content: " ";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${p});\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n`,"",{version:3,sources:["webpack://./node_modules/@nextcloud/dialogs/dist/style.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,gBAAgB;EAChB,gBAAgB;EAChB,8CAA8C;EAC9C,6BAA6B;EAC7B,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,mCAAmC;EACnC,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,2BAA2B;EAC3B,6BAA6B;EAC7B,aAAa;AACf;AACA;;EAEE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;AACd;AACA;;EAEE,yDAA8Q;EAC9Q,YAAY;EACZ,wCAAwC;EACxC,qBAAqB;EACrB,WAAW;EACX,YAAY;AACd;AACA;;EAEE,wBAAwB;EACxB,wBAAwB;AAC1B;AACA;;;;;;EAME,eAAe;EACf,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,eAAe;AACjB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;;EAEE,2CAA2C;AAC7C;AACA;EACE,yDAAsT;AACxT;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,4BAA4B;EAC5B,wBAAwB;EACxB,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;AACF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,qBAAqB;EACrB,YAAY;EACZ,oIAAoI;EACpI,2BAA2B;EAC3B,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,WAAW;AACb;AACA;EACE,wBAAwB;EACxB,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,yBAAyB;EACzB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,oCAAoC;EACpC,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,WAAW;EACX,yBAAyB;EACzB,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,UAAU;EACV,MAAM;EACN,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,gBAAgB;AAClB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;AACF;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;EACA;IACE,gBAAgB;EAClB;AACF;AACA;EACE,uBAAuB;AACzB;AACA;;EAEE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE;IACE,SAAS;EACX;AACF;AACA;EACE;IACE,yCAAyC;EAC3C;AACF;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,OAAO;EACP,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,mCAAmC;AACrC;AACA;EACE;IACE,oEAAoE;EACtE;AACF;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB",sourcesContent:["@charset \"UTF-8\";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'/%3e%3c/svg%3e\");\n content: \" \";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'%20style='fill-opacity:1;fill:%23ffffff'/%3e%3c/svg%3e\");\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n"],sourceRoot:""}]);const f=d},75716:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const a=o},60393:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".breadcrumb[data-v-1c4866bc]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-1c4866bc] a{cursor:pointer !important}","",{version:3,sources:["webpack://./apps/files/src/components/BreadCrumbs.vue"],names:[],mappings:"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA",sourcesContent:["\n.breadcrumb {\n\t// Take as much space as possible\n\tflex: 1 1 100% !important;\n\twidth: 100%;\n\n\t::v-deep a {\n\t\tcursor: pointer !important;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},21902:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__drag-drop-notice[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-46caa8f8]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropNotice.vue"],names:[],mappings:"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA",sourcesContent:["\n.files-list__drag-drop-notice {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\t// Breadcrumbs height + row thead height\n\tmin-height: calc(58px + 55px);\n\tmargin: 0;\n\tuser-select: none;\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: var(--color-main-background);\n\tborder-color: black;\n\n\th3 {\n\t\tmargin-left: 16px;\n\t\tcolor: inherit;\n\t}\n\n\t&-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 15vh;\n\t\tmax-height: 70%;\n\t\tpadding: 0 5vw;\n\t\tborder: 2px var(--color-border-dark) dashed;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},50262:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropPreview.vue"],names:[],mappings:"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n$size: 32px;\n$stack-shift: 6px;\n\n.files-list-drag-image {\n\tposition: absolute;\n\ttop: -9999px;\n\tleft: -9999px;\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-items: center;\n\theight: 44px;\n\tpadding: 6px 12px;\n\tbackground: var(--color-main-background);\n\n\t&__icon,\n\t.files-list__row-icon {\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t&__icon {\n\t\toverflow: visible;\n\t\tmargin-right: 12px;\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t}\n\n\t\t.material-design-icon {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t&.folder-icon {\n\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t// Previews container\n\t\t> span {\n\t\t\tdisplay: flex;\n\n\t\t\t// Stack effect if more than one element\n\t\t\t.files-list__row-icon + .files-list__row-icon {\n\t\t\t\tmargin-top: $stack-shift;\n\t\t\t\tmargin-left: $stack-shift - $size;\n\t\t\t\t& + .files-list__row-icon {\n\t\t\t\t\tmargin-top: $stack-shift * 2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If we have manually clone the preview,\n\t\t\t// let's hide any fallback icons\n\t\t\t&:not(:empty) + * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},29785:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".favorite-marker-icon[data-v-77afa6dc]{color:#a08b00;min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue"],names:[],mappings:"AACA,uCACC,aAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA",sourcesContent:["\n.favorite-marker-icon {\n\tcolor: #a08b00;\n\t// Override NcIconSvgWrapper defaults (clickable area)\n\tmin-width: unset !important;\n min-height: unset !important;\n\n\t:deep() {\n\t\tsvg {\n\t\t\t// We added a stroke for a11y so we must increase the size to include the stroke\n\t\t\twidth: 26px !important;\n\t\t\theight: 26px !important;\n\n\t\t\t// Override NcIconSvgWrapper defaults of 20px\n\t\t\tmax-width: unset !important;\n\t\t\tmax-height: unset !important;\n\n\t\t\t// Sow a border around the icon for better contrast\n\t\t\tpath {\n\t\t\t\tstroke: var(--color-main-background);\n\t\t\t\tstroke-width: 8px;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t\tpaint-order: stroke;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=o},27440:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important}[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAGA,uCACC,6EAAA,CAGA,kEACC,0FAAA,CAGD,kEACC,YAAA",sourcesContent:['\n// Allow right click to define the position of the menu\n// only if defined\n[style*="mouse-pos-x"] .v-popper__popper {\n\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\n\n\t// If the menu is too close to the bottom, we move it up\n\t&[data-popper-placement="top"] {\n\t\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important;\n\t}\n\t// Hide arrow if floating\n\t.v-popper__arrow-container {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=o},66788:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"[data-v-2fa8d0d9] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-2fa8d0d9] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA",sourcesContent:["\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\n\t.button-vue__text {\n\t\tcolor: var(--color-primary-element);\n\t}\n\t.button-vue__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n}\n"],sourceRoot:""}]);const a=o},16250:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableFooter.vue"],names:[],mappings:"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA",sourcesContent:["\n// Scoped row\ntr {\n\tmargin-bottom: 300px;\n\tborder-top: 1px solid var(--color-border);\n\t// Prevent hover effect on the whole row\n\tbackground-color: transparent !important;\n\tborder-bottom: none !important;\n\n\ttd {\n\t\tuser-select: none;\n\t\t// Make sure the cell colors don't apply to column headers\n\t\tcolor: var(--color-text-maxcontrast) !important;\n\t}\n}\n"],sourceRoot:""}]);const a=o},25385:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__column[data-v-952162c2]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-952162c2]{cursor:pointer}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeader.vue"],names:[],mappings:"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA",sourcesContent:["\n.files-list__column {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n\n\t&--sortable {\n\t\tcursor: pointer;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},35261:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__row-actions-batch[data-v-d939292c]{flex:1 1 100% !important;max-width:100%}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderActions.vue"],names:[],mappings:"AACA,gDACC,wBAAA,CACA,cAAA",sourcesContent:["\n.files-list__row-actions-batch {\n\tflex: 1 1 100% !important;\n\tmax-width: 100%;\n}\n"],sourceRoot:""}]);const a=o},97704:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderButton.vue"],names:[],mappings:"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA",sourcesContent:["\n.files-list__column-sort-button {\n\t// Compensate for cells margin\n\tmargin: 0 calc(var(--cell-margin) * -1);\n\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\n\n\t&-text {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t}\n\n\t&-icon {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\topacity: 0;\n\t\ttransition: opacity var(--animation-quick);\n\t\tinset-inline-start: -10px;\n\t}\n\n\t&--size &-icon {\n\t\tinset-inline-start: 10px;\n\t}\n\n\t&--active &-icon,\n\t&:hover &-icon,\n\t&:focus &-icon,\n\t&:active &-icon {\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const a=o},39402:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list[data-v-48fb0b13]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;position:relative;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-48fb0b13] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-48fb0b13] tbody tr{contain:strict}.files-list[data-v-48fb0b13] tbody tr:hover,.files-list[data-v-48fb0b13] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-48fb0b13] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-48fb0b13] .files-list__table{display:block}.files-list[data-v-48fb0b13] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-48fb0b13] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-48fb0b13] .files-list__thead,.files-list[data-v-48fb0b13] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-48fb0b13] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-48fb0b13] .files-list__tfoot{min-height:300px}.files-list[data-v-48fb0b13] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-48fb0b13] td,.files-list[data-v-48fb0b13] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-48fb0b13] td span,.files-list[data-v-48fb0b13] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-48fb0b13] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-48fb0b13] .files-list__row-checkbox{justify-content:center}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-48fb0b13] .files-list__row:hover,.files-list[data-v-48fb0b13] .files-list__row:focus,.files-list[data-v-48fb0b13] .files-list__row:active,.files-list[data-v-48fb0b13] .files-list__row--active,.files-list[data-v-48fb0b13] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-48fb0b13] .files-list__row:hover>*,.files-list[data-v-48fb0b13] .files-list__row:focus>*,.files-list[data-v-48fb0b13] .files-list__row:active>*,.files-list[data-v-48fb0b13] .files-list__row--active>*,.files-list[data-v-48fb0b13] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-48fb0b13] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-48fb0b13] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-48fb0b13] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-48fb0b13] .files-list__row-icon *{cursor:pointer}.files-list[data-v-48fb0b13] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-48fb0b13] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-48fb0b13] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-48fb0b13] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-48fb0b13] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-48fb0b13] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-48fb0b13] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-48fb0b13] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-48fb0b13] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-48fb0b13] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-48fb0b13] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-48fb0b13] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-48fb0b13] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-48fb0b13] .files-list__row-actions{width:auto}.files-list[data-v-48fb0b13] .files-list__row-actions~td,.files-list[data-v-48fb0b13] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-48fb0b13] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-48fb0b13] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-48fb0b13] .files-list__row-mtime,.files-list[data-v-48fb0b13] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-48fb0b13] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-48fb0b13] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-48fb0b13] .files-list__row-column-custom{width:calc(var(--row-height)*2)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,iBAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA",sourcesContent:["\n.files-list {\n\t--row-height: 55px;\n\t--cell-margin: 14px;\n\n\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\n\t--checkbox-size: 24px;\n\t--clickable-area: 44px;\n\t--icon-preview-size: 32px;\n\n\tposition: relative;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t& :deep() {\n\t\t// Table head, body and footer\n\t\ttbody {\n\t\t\twill-change: padding;\n\t\t\tcontain: layout paint style;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\t// Necessary for virtual scrolling absolute\n\t\t\tposition: relative;\n\n\t\t\t/* Hover effect on tbody lines only */\n\t\t\ttr {\n\t\t\t\tcontain: strict;\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Before table and thead\n\t\t.files-list__before {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.files-list__table {\n\t\t\tdisplay: block;\n\n\t\t\t&.files-list__table--with-thead-overlay {\n\t\t\t\t// Hide the table header below the overlay\n\t\t\t\tmargin-top: calc(-1 * var(--row-height));\n\t\t\t}\n\t\t}\n\n\t\t.files-list__thead-overlay {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\ttop: 0;\n\t\t\t// Save space for a row checkbox\n\t\t\tmargin-left: var(--row-height);\n\t\t\t// More than .files-list__thead\n\t\t\tz-index: 20;\n\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Reuse row styles\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\t.files-list__thead,\n\t\t.files-list__tfoot {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-main-background);\n\n\t\t}\n\n\t\t// Table header\n\t\t.files-list__thead {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\tz-index: 10;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t// Table footer\n\t\t.files-list__tfoot {\n\t\t\tmin-height: 300px;\n\t\t}\n\n\t\ttr {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\tuser-select: none;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tbox-sizing: border-box;\n\t\t\tuser-select: none;\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\ttd, th {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 auto;\n\t\t\tjustify-content: left;\n\t\t\twidth: var(--row-height);\n\t\t\theight: var(--row-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: none;\n\n\t\t\t// Columns should try to add any text\n\t\t\t// node wrapped in a span. That should help\n\t\t\t// with the ellipsis on overflow.\n\t\t\tspan {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row--failed {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\topacity: .1;\n\t\t\tz-index: -1;\n\t\t\tbackground: var(--color-error);\n\t\t}\n\n\t\t.files-list__row-checkbox {\n\t\t\tjustify-content: center;\n\n\t\t\t.checkbox-radio-switch {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t--icon-size: var(--checkbox-size);\n\n\t\t\t\tlabel.checkbox-radio-switch__label {\n\t\t\t\t\twidth: var(--clickable-area);\n\t\t\t\t\theight: var(--clickable-area);\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\n\t\t\t\t}\n\n\t\t\t\t.checkbox-radio-switch__icon {\n\t\t\t\t\tmargin: 0 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row {\n\t\t\t&:hover, &:focus, &:active, &--active, &--dragover {\n\t\t\t\t// WCAG AA compliant\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t// text-maxcontrast have been designed to pass WCAG AA over\n\t\t\t\t// a white background, we need to adjust then.\n\t\t\t\t--color-text-maxcontrast: var(--color-main-text);\n\t\t\t\t> * {\n\t\t\t\t\t--color-border: var(--color-border-dark);\n\t\t\t\t}\n\n\t\t\t\t// Hover state of the row should also change the favorite markers background\n\t\t\t\t.favorite-marker-icon svg path {\n\t\t\t\t\tstroke: var(--color-background-hover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--dragover * {\n\t\t\t\t// Prevent dropping on row children\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t// Entry preview or mime icon\n\t\t.files-list__row-icon {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\talign-items: center;\n\t\t\t// No shrinking or growing allowed\n\t\t\tflex: 0 0 var(--icon-preview-size);\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--icon-preview-size);\n\t\t\theight: 100%;\n\t\t\t// Show same padding as the checkbox right padding for visual balance\n\t\t\tmargin-right: var(--checkbox-padding);\n\t\t\tcolor: var(--color-primary-element);\n\n\t\t\t// Icon is also clickable\n\t\t\t* {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t& > span {\n\t\t\t\tjustify-content: flex-start;\n\n\t\t\t\t&:not(.files-list__row-icon-favorite) svg {\n\t\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\t}\n\n\t\t\t\t// Slightly increase the size of the folder icon\n\t\t\t\t&.folder-icon,\n\t\t\t\t&.folder-open-icon {\n\t\t\t\t\tmargin: -3px;\n\t\t\t\t\tsvg {\n\t\t\t\t\t\twidth: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t\theight: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-preview {\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t// Center and contain the preview\n\t\t\t\tobject-fit: contain;\n\t\t\t\tobject-position: center;\n\n\t\t\t\t/* Preview not loaded animation effect */\n\t\t\t\t&:not(.files-list__row-icon-preview--loaded) {\n\t\t\t\t\tbackground: var(--color-loading-dark);\n\t\t\t\t\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-favorite {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0px;\n\t\t\t\tright: -10px;\n\t\t\t}\n\n\t\t\t// File and folder overlay\n\t\t\t&-overlay {\n\t\t\t\tposition: absolute;\n\t\t\t\tmax-height: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tmax-width: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t// better alignment with the folder icon\n\t\t\t\tmargin-top: 2px;\n\n\t\t\t\t// Improve icon contrast with a background for files\n\t\t\t\t&--file {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground: var(--color-main-background);\n\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Entry link\n\t\t.files-list__row-name {\n\t\t\t// Prevent link from overflowing\n\t\t\toverflow: hidden;\n\t\t\t// Take as much space as possible\n\t\t\tflex: 1 1 auto;\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// Fill cell height and width\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\t// Necessary for flex grow to work\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t// Already added to the inner text, see rule below\n\t\t\t\t&:focus-visible {\n\t\t\t\t\toutline: none;\n\t\t\t\t}\n\n\t\t\t\t// Keyboard indicator a11y\n\t\t\t\t&:focus .files-list__row-name-text {\n\t\t\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: 20px;\n\t\t\t\t}\n\t\t\t\t&:focus:not(:focus-visible) .files-list__row-name-text {\n\t\t\t\t\toutline: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.files-list__row-name-text {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t// Make some space for the outline\n\t\t\t\tpadding: 5px 10px;\n\t\t\t\tmargin-left: -10px;\n\t\t\t\t// Align two name and ext\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\n\t\t\t.files-list__row-name-ext {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\t// always show the extension\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t}\n\n\t\t// Rename form\n\t\t.files-list__row-rename {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 600px;\n\t\t\tinput {\n\t\t\t\twidth: 100%;\n\t\t\t\t// Align with text, 0 - padding - border\n\t\t\t\tmargin-left: -8px;\n\t\t\t\tpadding: 2px 6px;\n\t\t\t\tborder-width: 2px;\n\n\t\t\t\t&:invalid {\n\t\t\t\t\t// Show red border on invalid input\n\t\t\t\t\tborder-color: var(--color-error);\n\t\t\t\t\tcolor: red;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-actions {\n\t\t\t// take as much space as necessary\n\t\t\twidth: auto;\n\n\t\t\t// Add margin to all cells after the actions\n\t\t\t& ~ td,\n\t\t\t& ~ th {\n\t\t\t\tmargin: 0 var(--cell-margin);\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t\t.button-vue__text {\n\t\t\t\t\t// Remove bold from default button styling\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-action--inline {\n\t\t\tmargin-right: 7px;\n\t\t}\n\n\t\t.files-list__row-mtime,\n\t\t.files-list__row-size {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t.files-list__row-size {\n\t\t\twidth: calc(var(--row-height) * 1.5);\n\t\t\t// Right align content/text\n\t\t\tjustify-content: flex-end;\n\t\t}\n\n\t\t.files-list__row-mtime {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=o},62513:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA",sourcesContent:["\n// Grid mode\ntbody.files-list__tbody.files-list__tbody--grid {\n\t--half-clickable-area: calc(var(--clickable-area) / 2);\n\t--row-width: 160px;\n\t// We use half of the clickable area as visual balance margin\n\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\n\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\n\t--checkbox-padding: 0px;\n\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fill, var(--row-width));\n\tgrid-gap: 15px;\n\trow-gap: 15px;\n\n\talign-content: center;\n\talign-items: center;\n\tjustify-content: space-around;\n\tjustify-items: center;\n\n\ttr {\n\t\twidth: var(--row-width);\n\t\theight: calc(var(--row-height) + var(--clickable-area));\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t// Checkbox in the top left\n\t.files-list__row-checkbox {\n\t\tposition: absolute;\n\t\tz-index: 9;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\toverflow: hidden;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t\tborder-radius: var(--half-clickable-area);\n\t}\n\n\t// Star icon in the top right\n\t.files-list__row-icon-favorite {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n\n\t.files-list__row-name {\n\t\tdisplay: grid;\n\t\tjustify-content: stretch;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tgrid-auto-rows: var(--row-height) var(--clickable-area);\n\n\t\tspan.files-list__row-icon {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\t// Visual balance, we use half of the clickable area\n\t\t\t// as a margin around the preview\n\t\t\tpadding-top: var(--half-clickable-area);\n\t\t}\n\n\t\ta.files-list__row-name-link {\n\t\t\t// Minus action menu\n\t\t\twidth: calc(100% - var(--clickable-area));\n\t\t\theight: var(--clickable-area);\n\t\t}\n\n\t\t.files-list__row-name-text {\n\t\t\tmargin: 0;\n\t\t\tpadding-right: 0;\n\t\t}\n\t}\n\n\t.files-list__row-actions {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n}\n"],sourceRoot:""}]);const a=o},75136:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-navigation-entry__settings-quota--not-unlimited[data-v-18ceb3ce] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-18ceb3ce]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}","",{version:3,sources:["webpack://./apps/files/src/components/NavigationQuota.vue"],names:[],mappings:"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA",sourcesContent:["\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t&--not-unlimited::v-deep .app-navigation-entry__name {\n\t\tmargin-top: -6px;\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: 12px;\n\t\tmargin-left: 44px;\n\t\twidth: calc(100% - 44px - 22px);\n\t}\n}\n"],sourceRoot:""}]);const a=o},71380:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-content[data-v-b2731ace]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative}.files-list__header[data-v-b2731ace]{display:flex;align-items:center;flex:0 0;margin:4px 4px 4px 50px;max-width:100%}.files-list__header>*[data-v-b2731ace]{flex:0 0}.files-list__header-share-button[data-v-b2731ace]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-b2731ace]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-b2731ace]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-b2731ace]{margin:auto}","",{version:3,sources:["webpack://./apps/files/src/views/FilesList.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CAOA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,cAAA,CACA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CACA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n\tposition: relative;\n}\n\n$margin: 4px;\n$navigationToggleSize: 50px;\n\n.files-list {\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t// Do not grow or shrink (vertically)\n\t\tflex: 0 0;\n\t\t// Align with the navigation toggle icon\n\t\tmargin: $margin $margin $margin $navigationToggleSize;\n\t\tmax-width: 100%;\n\t\t> * {\n\t\t\t// Do not grow or shrink (horizontally)\n\t\t\t// Only the breadcrumbs shrinks\n\t\t\tflex: 0 0;\n\t\t}\n\n\t\t&-share-button {\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\t\t\t&--shared {\n\t\t\t\tcolor: var(--color-main-text) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__refresh-icon {\n\t\tflex: 0 0 44px;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__loading-icon {\n\t\tmargin: auto;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},12131:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-navigation[data-v-3f2914e1] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-3f2914e1] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-3f2914e1]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-3f2914e1]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/files/src/views/Navigation.vue"],names:[],mappings:"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA",sourcesContent:["\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\n.app-navigation::v-deep .app-navigation-entry-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\n\tcolor: var(--color-primary-element-text);\n}\n\n.app-navigation > ul.app-navigation__list {\n\t// Use flex gap value for more elegant spacing\n\tpadding-bottom: var(--default-grid-baseline, 4px);\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\toverflow: hidden !important;\n\tpadding-top: 0 !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]);const a=o},21865:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".setting-link[data-v-6d63c120]:hover{text-decoration:underline}","",{version:3,sources:["webpack://./apps/files/src/views/Settings.vue"],names:[],mappings:"AACA,qCACC,yBAAA",sourcesContent:["\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n"],sourceRoot:""}]);const a=o},46700:(t,e,n)=>{var s={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-ps":20315,"./ar-ps.js":20315,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku-kmr":90563,"./ku-kmr.js":90563,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function i(t){var e=r(t);return n(e)}function r(t){if(!n.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=r,t.exports=i,i.id=46700},36099:(t,e,n)=>{var s=n(48764).Buffer;!function(t){t.parser=function(t,e){return new r(t,e)},t.SAXParser=r,t.SAXStream=a,t.createStream=function(t,e){return new a(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(e,n){if(!(this instanceof r))return new r(e,n);var s=this;!function(t){for(var e=0,n=i.length;e"===r?(S(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=T.TEXT):w(r)?(n.state=T.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case T.SGML_DECL_QUOTED:r===n.q&&(n.state=T.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case T.DOCTYPE:">"===r?(n.state=T.TEXT,S(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=T.DOCTYPE_DTD:w(r)&&(n.state=T.DOCTYPE_QUOTED,n.q=r));continue;case T.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:n.doctype+=r,"]"===r?n.state=T.DOCTYPE:w(r)&&(n.state=T.DOCTYPE_DTD_QUOTED,n.q=r);continue;case T.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=T.DOCTYPE_DTD,n.q="");continue;case T.COMMENT:"-"===r?n.state=T.COMMENT_ENDING:n.comment+=r;continue;case T.COMMENT_ENDING:"-"===r?(n.state=T.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&S(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=T.COMMENT);continue;case T.COMMENT_ENDED:">"!==r?(F(n,"Malformed comment"),n.comment+="--"+r,n.state=T.COMMENT):n.state=T.TEXT;continue;case T.CDATA:"]"===r?n.state=T.CDATA_ENDING:n.cdata+=r;continue;case T.CDATA_ENDING:"]"===r?n.state=T.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=T.CDATA);continue;case T.CDATA_ENDING_2:">"===r?(n.cdata&&S(n,"oncdata",n.cdata),S(n,"onclosecdata"),n.cdata="",n.state=T.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=T.CDATA);continue;case T.PROC_INST:"?"===r?n.state=T.PROC_INST_ENDING:A(r)?n.state=T.PROC_INST_BODY:n.procInstName+=r;continue;case T.PROC_INST_BODY:if(!n.procInstBody&&A(r))continue;"?"===r?n.state=T.PROC_INST_ENDING:n.procInstBody+=r;continue;case T.PROC_INST_ENDING:">"===r?(S(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=T.TEXT):(n.procInstBody+="?"+r,n.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:v(f,r)?n.tagName+=r:(O(n),">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:(A(r)||F(n,"Invalid character in tag name"),n.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:">"===r?(j(n,!0),U(n)):(F(n,"Forward-slash in opening tag not followed by >"),n.state=T.ATTRIB);continue;case T.ATTRIB:if(A(r))continue;">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:v(p,r)?(n.attribName=r,n.attribValue="",n.state=T.ATTRIB_NAME):F(n,"Invalid attribute name");continue;case T.ATTRIB_NAME:"="===r?n.state=T.ATTRIB_VALUE:">"===r?(F(n,"Attribute without value"),n.attribValue=n.attribName,D(n),j(n)):A(r)?n.state=T.ATTRIB_NAME_SAW_WHITE:v(f,r)?n.attribName+=r:F(n,"Invalid attribute name");continue;case T.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=T.ATTRIB_VALUE;else{if(A(r))continue;F(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",S(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?j(n):v(p,r)?(n.attribName=r,n.state=T.ATTRIB_NAME):(F(n,"Invalid attribute name"),n.state=T.ATTRIB)}continue;case T.ATTRIB_VALUE:if(A(r))continue;w(r)?(n.q=r,n.state=T.ATTRIB_VALUE_QUOTED):(F(n,"Unquoted attribute value"),n.state=T.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case T.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=T.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}D(n),n.q="",n.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:A(r)?n.state=T.ATTRIB:">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:v(p,r)?(F(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=T.ATTRIB_NAME):F(n,"Invalid attribute name");continue;case T.ATTRIB_VALUE_UNQUOTED:if(!y(r)){"&"===r?n.state=T.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}D(n),">"===r?j(n):n.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(n.tagName)">"===r?U(n):v(f,r)?n.tagName+=r:n.script?(n.script+=""===r?U(n):F(n,"Invalid characters in closing tag");continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var u,d;switch(n.state){case T.TEXT_ENTITY:u=T.TEXT,d="textNode";break;case T.ATTRIB_VALUE_ENTITY_Q:u=T.ATTRIB_VALUE_QUOTED,d="attribValue";break;case T.ATTRIB_VALUE_ENTITY_U:u=T.ATTRIB_VALUE_UNQUOTED,d="attribValue"}if(";"===r)if(n.opt.unparsedEntities){var m=R(n);n.entity="",n.state=u,n.write(m)}else n[d]+=R(n),n.entity="",n.state=u;else v(n.entity.length?h:g,r)?n.entity+=r:(F(n,"Invalid character in entity name"),n[d]+="&"+n.entity+r,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),s=0,r=0,o=i.length;rn)switch(i[r]){case"textNode":L(e);break;case"cdata":S(e,"oncdata",e.cdata),e.cdata="";break;case"script":S(e,"onscript",e.script),e.script="";break;default:I(e,"Max buffer length exceeded: "+i[r])}s=Math.max(s,a)}var l=t.MAX_BUFFER_LENGTH-s;e.bufferCheckPosition=l+e.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;L(t=this),""!==t.cdata&&(S(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(S(t,"onscript",t.script),t.script="")}};try{e=n(42830).Stream}catch(t){e=function(){}}e||(e=function(){});var o=t.EVENTS.filter((function(t){return"error"!==t&&"end"!==t}));function a(t,n){if(!(this instanceof a))return new a(t,n);e.apply(this),this._parser=new r(t,n),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(t){s.emit("error",t),s._parser.error=null},this._decoder=null,o.forEach((function(t){Object.defineProperty(s,"on"+t,{get:function(){return s._parser["on"+t]},set:function(e){if(!e)return s.removeAllListeners(t),s._parser["on"+t]=e,e;s.on(t,e)},enumerable:!0,configurable:!1})}))}a.prototype=Object.create(e.prototype,{constructor:{value:a}}),a.prototype.write=function(t){if("function"==typeof s&&"function"==typeof s.isBuffer&&s.isBuffer(t)){if(!this._decoder){var e=n(32553).s;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,n){var s=this;return s._parser["on"+t]||-1===o.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,n)};var l="[CDATA[",c="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",d="http://www.w3.org/2000/xmlns/",m={xml:u,xmlns:d},p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function A(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function w(t){return'"'===t||"'"===t}function y(t){return">"===t||A(t)}function v(t,e){return t.test(e)}function b(t,e){return!v(t,e)}var C,x,_,T=0;for(var E in t.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach((function(e){var n=t.ENTITIES[e],s="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=s})),t.STATE)t.STATE[t.STATE[E]]=E;function k(t,e,n){t[e]&&t[e](n)}function S(t,e,n){t.textNode&&L(t),k(t,e,n)}function L(t){t.textNode=N(t.opt,t.textNode),t.textNode&&k(t,"ontext",t.textNode),t.textNode=""}function N(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function I(t,e){return L(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,k(t,"onerror",e),t}function P(t){return t.sawRoot&&!t.closedRoot&&F(t,"Unclosed root tag"),t.state!==T.BEGIN&&t.state!==T.BEGIN_WHITESPACE&&t.state!==T.TEXT&&I(t,"Unexpected end"),L(t),t.c="",t.closed=!0,k(t,"onend"),r.call(t,t.strict,t.opt),t}function F(t,e){if("object"!=typeof t||!(t instanceof r))throw new Error("bad call to strictFail");t.strict&&I(t,e)}function O(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,S(t,"onopentagstart",n)}function B(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),s=n[0],i=n[1];return e&&"xmlns"===t&&(s="xmlns",i=""),{prefix:s,local:i}}function D(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=B(t.attribName,!0),n=e.prefix,s=e.local;if("xmlns"===n)if("xml"===s&&t.attribValue!==u)F(t,"xml: prefix must be bound to "+u+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==d)F(t,"xmlns: prefix must be bound to "+d+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,S(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function j(t,e){if(t.opt.xmlns){var n=t.tag,s=B(t.tagName);n.prefix=s.prefix,n.local=s.local,n.uri=n.ns[s.prefix]||"",n.prefix&&!n.uri&&(F(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=s.prefix);var i=t.tags[t.tags.length-1]||t;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(e){S(t,"onopennamespace",{prefix:e,uri:n.ns[e]})}));for(var r=0,o=t.attribList.length;r",t.tagName="",void(t.state=T.SCRIPT);S(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var s=n;e--&&t.tags[e].name!==s;)F(t,"Unexpected close tag");if(e<0)return F(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=T.TEXT);t.tagName=n;for(var i=t.tags.length;i-- >e;){var r=t.tag=t.tags.pop();t.tagName=t.tag.name,S(t,"onclosetag",t.tagName);var o={};for(var a in r.ns)o[a]=r.ns[a];var l=t.tags[t.tags.length-1]||t;t.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(e){var n=r.ns[e];S(t,"onclosenamespace",{prefix:e,uri:n})}))}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=T.TEXT}function R(t){var e,n=t.entity,s=n.toLowerCase(),i="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(n=s).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||i.toLowerCase()!==n?(F(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function z(t,e){"<"===e?(t.state=T.OPEN_WAKA,t.startTagPosition=t.position):A(e)||(F(t,"Non-whitespace before first tag."),t.textNode=e,t.state=T.TEXT)}function M(t,e){var n="";return e1114111||x(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?n.push(o):(t=55296+((o-=65536)>>10),e=o%1024+56320,n.push(t,e)),(s+1===i||n.length>16384)&&(r+=C.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:_,configurable:!0,writable:!0}):String.fromCodePoint=_)}(e)},24889:function(t,e,n){var s=n(34155);!function(t,e){"use strict";if(!t.setImmediate){var n,i,r,o,a,l=1,c={},u=!1,d=t.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(t);m=m&&m.setTimeout?m:t,"[object process]"==={}.toString.call(t.process)?n=function(t){s.nextTick((function(){f(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(o="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(o)&&f(+e.data.slice(o.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),n=function(e){t.postMessage(o+e,"*")}):t.MessageChannel?((r=new MessageChannel).port1.onmessage=function(t){f(t.data)},n=function(t){r.port2.postMessage(t)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,n=function(t){var e=d.createElement("script");e.onreadystatechange=function(){f(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(f,0,t)},m.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),s=0;s{function e(t,e){return null==t?e:t}t.exports=function(t){var n,s=e((t=t||{}).max,1),i=e(t.min,0),r=e(t.autostart,!0),o=e(t.ignoreSameProgress,!1),a=null,l=null,c=null,u=(n=e(t.historyTimeConstant,2.5),function(t,e,s){return t+s/(s+n)*(e-t)});function d(){m(i)}function m(t,e){if("number"!=typeof e&&(e=Date.now()),l!==e&&(!o||c!==t)){if(null===l||null===c)return c=t,void(l=e);var n=.001*(e-l),s=(t-c)/n;a=null===a?s:u(a,s,n),c=t,l=e}}return{start:d,reset:function(){a=null,l=null,c=null,r&&d()},report:m,estimate:function(t){if(null===c)return 1/0;if(c>=s)return 0;if(null===a)return 1/0;var e=(s-c)/a;return"number"==typeof t&&"number"==typeof l&&(e-=.001*(t-l)),Math.max(0,e)},rate:function(){return null===a?0:a}}}},75475:function(t,e,n){var s=void 0!==n.g&&n.g||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,s,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,s,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(s,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(24889),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==n.g&&n.g.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==n.g&&n.g.clearImmediate||this&&this.clearImmediate},50306:function(t,e){(function(){"use strict";e.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this)},34096:function(t,e,n){(function(){"use strict";var t,s,i,r,o,a={}.hasOwnProperty;t=n(5532),s=n(38381).defaults,r=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},o=function(t){return""},i=function(t){return t.replace("]]>","]]]]>")},e.Builder=function(){function e(t){var e,n,i;for(e in this.options={},n=s[.2])a.call(n,e)&&(i=n[e],this.options[e]=i);for(e in t)a.call(t,e)&&(i=t[e],this.options[e]=i)}return e.prototype.buildObject=function(e){var n,i,l,c,u,d;return n=this.options.attrkey,i=this.options.charkey,1===Object.keys(e).length&&this.options.rootName===s[.2].rootName?e=e[u=Object.keys(e)[0]]:u=this.options.rootName,d=this,l=function(t,e){var s,c,u,m,p,f;if("object"!=typeof e)d.options.cdata&&r(e)?t.raw(o(e)):t.txt(e);else if(Array.isArray(e)){for(m in e)if(a.call(e,m))for(p in c=e[m])u=c[p],t=l(t.ele(p),u).up()}else for(p in e)if(a.call(e,p))if(c=e[p],p===n){if("object"==typeof c)for(s in c)f=c[s],t=t.att(s,f)}else if(p===i)t=d.options.cdata&&r(c)?t.raw(o(c)):t.txt(c);else if(Array.isArray(c))for(m in c)a.call(c,m)&&(t="string"==typeof(u=c[m])?d.options.cdata&&r(u)?t.ele(p).raw(o(u)).up():t.ele(p,u).up():l(t.ele(p),u).up());else"object"==typeof c?t=l(t.ele(p),c).up():"string"==typeof c&&d.options.cdata&&r(c)?t=t.ele(p).raw(o(c)).up():(null==c&&(c=""),t=t.ele(p,c.toString()).up());return t},c=t.create(u,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(c,e).end(this.options.renderOpts)},e}()}).call(this)},38381:function(t,e){(function(){e.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this)},99082:function(t,e,n){(function(){"use strict";var t,s,i,r,o,a,l,c,u,d=function(t,e){return function(){return t.apply(e,arguments)}},m={}.hasOwnProperty;c=n(36099),r=n(17187),t=n(50306),l=n(7526),u=n(75475).setImmediate,s=n(38381).defaults,o=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},a=function(t,e,n){var s,i;for(s=0,i=t.length;s0&&(c[t.options.childkey]=d),d=c;return s.length>0?t.assignOrPush(g,u,d):(t.options.explicitRoot&&(f=d,i(d={},u,f)),t.resultObject=d,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),n=function(t){return function(n){var i,r;if(r=s[s.length-1])return r[e]+=n,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==n.replace(/\\n/g,"").trim())&&(r[t.options.childkey]=r[t.options.childkey]||[],(i={"#name":"__text__"})[e]=n,t.options.normalize&&(i[e]=i[e].replace(/\s{2,}/g," ").trim()),r[t.options.childkey].push(i)),r}}(this),this.saxParser.ontext=n,this.saxParser.oncdata=function(t){var e;if(e=n(t))return e.cdata=!0}},r.prototype.parseString=function(e,n){var s;null!=n&&"function"==typeof n&&(this.on("end",(function(t){return this.reset(),n(null,t)})),this.on("error",(function(t){return this.reset(),n(t)})));try{return""===(e=e.toString()).trim()?(this.emit("end",null),!0):(e=t.stripBOM(e),this.options.async?(this.remaining=e,u(this.processAsync),this.saxParser):this.saxParser.write(e).close())}catch(t){if(s=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",s),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw s}},r.prototype.parseStringPromise=function(t){return new Promise((e=this,function(n,s){return e.parseString(t,(function(t,e){return t?s(t):n(e)}))}));var e},r}(r),e.parseString=function(t,n,s){var i,r;return null!=s?("function"==typeof s&&(i=s),"object"==typeof n&&(r=n)):("function"==typeof n&&(i=n),r={}),new e.Parser(r).parseString(t,i)},e.parseStringPromise=function(t,n){var s;return"object"==typeof n&&(s=n),new e.Parser(s).parseStringPromise(t)}}).call(this)},7526:function(t,e){(function(){"use strict";var t;t=new RegExp(/(?!xmlns)^.*:/),e.normalize=function(t){return t.toLowerCase()},e.firstCharLowerCase=function(t){return t.charAt(0).toLowerCase()+t.slice(1)},e.stripPrefix=function(e){return e.replace(t,"")},e.parseNumbers=function(t){return isNaN(t)||(t=t%1==0?parseInt(t,10):parseFloat(t)),t},e.parseBooleans=function(t){return/^(?:true|false)$/i.test(t)&&(t="true"===t.toLowerCase()),t}}).call(this)},5055:function(t,e,n){(function(){"use strict";var t,s,i,r,o={}.hasOwnProperty;s=n(38381),t=n(34096),i=n(99082),r=n(7526),e.defaults=s.defaults,e.processors=r,e.ValidationError=function(t){function e(t){this.message=t}return function(t,e){for(var n in e)o.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(e,Error),e}(),e.Builder=t.Builder,e.Parser=i.Parser,e.parseString=i.parseString,e.parseStringPromise=i.parseStringPromise}).call(this)},17557:function(t){(function(){t.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},39335:function(t){(function(){t.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},78369:function(t){(function(){var e,n,s,i,r,o,a,l=[].slice,c={}.hasOwnProperty;e=function(){var t,e,n,s,i,o;if(o=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],r(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},t.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&t.prefix===this.prefix&&t.localName===this.localName&&t.value===this.value},t}()}).call(this)},66170:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(39335),s=n(6488),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},6488:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(32026),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t),this.value=""}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.replaceData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.isEqualNode=function(t){return!!e.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},e}(e)}).call(this)},62096:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(39335),s=n(6488),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},30383:function(t,e,n){(function(){var e,s;e=n(93933),s=n(66210),t.exports=function(){function t(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(t.prototype,"parameterNames",{get:function(){return new s(Object.keys(this.defaultParams))}}),t.prototype.getParameter=function(t){return this.params.hasOwnProperty(t)?this.params[t]:null},t.prototype.canSetParameter=function(t,e){return!0},t.prototype.setParameter=function(t,e){return null!=e?this.params[t]=e:delete this.params[t]},t}()}).call(this)},93933:function(t){(function(){t.exports=function(){function t(){}return t.prototype.handleError=function(t){throw new Error(t)},t}()}).call(this)},91770:function(t){(function(){t.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},66210:function(t){(function(){t.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this)},51179:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i,r,o,a){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==i)throw new Error("Missing DTD attribute name. "+this.debugInfo(s));if(!r)throw new Error("Missing DTD attribute type. "+this.debugInfo(s));if(!o)throw new Error("Missing DTD attribute default. "+this.debugInfo(s));if(0!==o.indexOf("#")&&(o="#"+o),!o.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(s));if(a&&!o.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(s));this.elementName=this.stringify.name(s),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(i),this.attributeType=this.stringify.dtdAttType(r),a&&(this.defaultValue=this.stringify.dtdAttDefault(a)),this.defaultValueType=o}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},36347:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(s),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},99078:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(78369).isObject,s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,r,o){if(n.__super__.constructor.call(this,t),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==o)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!s,this.name=this.stringify.name(r),this.type=e.EntityDeclaration,i(o)){if(!o.pubID&&!o.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(o.pubID&&!o.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=o.pubID&&(this.pubID=this.stringify.dtdPubID(o.pubID)),null!=o.sysID&&(this.sysID=this.stringify.dtdSysID(o.sysID)),null!=o.nData&&(this.nData=this.stringify.dtdNData(o.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(o),this.internal=!0}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(n.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(n.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlVersion",{get:function(){return null}}),n.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},44777:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD notation name. "+this.debugInfo(s));if(!i.pubID&&!i.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(s));this.name=this.stringify.name(s),this.type=e.NotationDeclaration,null!=i.pubID&&(this.pubID=this.stringify.dtdPubID(i.pubID)),null!=i.sysID&&(this.sysID=this.stringify.dtdSysID(i.sysID))}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),n.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},59077:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(78369).isObject,s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,r,o){var a;n.__super__.constructor.call(this,t),i(s)&&(s=(a=s).version,r=a.encoding,o=a.standalone),s||(s="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(s),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=o&&(this.standalone=this.stringify.xmlStandalone(o))}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},8225:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u={}.hasOwnProperty;c=n(78369).isObject,l=n(32026),e=n(39335),s=n(51179),r=n(99078),i=n(36347),o=n(44777),a=n(40663),t.exports=function(t){function n(t,s,i){var r,o,a,l,u,d;if(n.__super__.constructor.call(this,t),this.type=e.DocType,t.children)for(o=0,a=(l=t.children).length;o=0;)this.up();return this.onEnd()},t.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},t.prototype.openNode=function(t){var n,i,r,o;if(!t.isOpen){if(this.root||0!==this.currentLevel||t.type!==e.Element||(this.root=t),i="",t.type===e.Element){for(r in this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+"<"+t.name,o=t.attribs)T.call(o,r)&&(n=o[r],i+=this.writer.attribute(n,this.writerOptions,this.currentLevel));i+=(t.children?">":"/>")+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.InsideTag}else this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+""),i+=this.writer.endline(t,this.writerOptions,this.currentLevel);return this.onData(i,this.currentLevel),t.isOpen=!0}},t.prototype.closeNode=function(t){var n;if(!t.isClosed)return"",this.writerOptions.state=s.CloseTag,n=t.type===e.Element?this.writer.indent(t,this.writerOptions,this.currentLevel)+""+this.writer.endline(t,this.writerOptions,this.currentLevel):this.writer.indent(t,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.None,this.onData(n,this.currentLevel),t.isClosed=!0},t.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},t.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},t.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},t.prototype.ele=function(){return this.element.apply(this,arguments)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.dtd=function(t,e,n){return this.doctype(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.att=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.a=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.ent=function(t,e){return this.entity(t,e)},t.prototype.pent=function(t,e){return this.pEntity(t,e)},t.prototype.not=function(t,e){return this.notation(t,e)},t}()}).call(this)},78833:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t){n.__super__.constructor.call(this,t),this.type=e.Dummy}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}(s)}).call(this)},32161:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u={}.hasOwnProperty;c=n(78369),l=c.isObject,a=c.isFunction,o=c.getValue,r=n(32026),e=n(39335),s=n(72750),i=n(40663),t.exports=function(t){function n(t,s,i){var r,o,a,l;if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(s),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,null!=i&&this.attribute(i),t.type===e.Document&&(this.isRoot=!0,this.documentObject=t,t.rootObject=this,t.children))for(o=0,a=(l=t.children).length;o=i;e=0<=i?++s:--s)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},n}(r)}).call(this)},40663:function(t){(function(){t.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.getNamedItem=function(t){return this.nodes[t]},t.prototype.setNamedItem=function(t){var e;return e=this.nodes[t.nodeName],this.nodes[t.nodeName]=t,e||null},t.prototype.removeNamedItem=function(t){var e;return e=this.nodes[t],delete this.nodes[t],e||null},t.prototype.item=function(t){return this.nodes[Object.keys(this.nodes)[t]]||null},t.prototype.getNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t.prototype.setNamedItemNS=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.removeNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},32026:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u,d,m,p,f,g,h,A,w,y={}.hasOwnProperty;w=n(78369),A=w.isObject,h=w.isFunction,g=w.isEmpty,f=w.getValue,c=null,i=null,r=null,o=null,a=null,m=null,p=null,d=null,l=null,s=null,u=null,e=null,t.exports=function(){function t(t){this.parent=t,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,c||(c=n(32161),i=n(66170),r=n(62096),o=n(59077),a=n(8225),m=n(79406),p=n(43595),d=n(19181),l=n(78833),s=n(39335),u=n(82390),n(40663),e=n(17557))}return Object.defineProperty(t.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(t.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(t.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new u(this.children)),this.childNodeList}}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(t.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(t.prototype,"textContent",{get:function(){var t,e,n,i,r;if(this.nodeType===s.Element||this.nodeType===s.DocumentFragment){for(r="",e=0,n=(i=this.children).length;e":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},t.prototype.ele=function(t,e,n){return this.element(t,e,n)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.doc=function(){return this.document()},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.u=function(){return this.up()},t.prototype.importXMLBuilder=function(t){return this.importDocument(t)},t.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.hasChildNodes=function(){return 0!==this.children.length},t.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isSupported=function(t,e){return!0},t.prototype.hasAttributes=function(){return 0!==this.attribs.length},t.prototype.compareDocumentPosition=function(t){var n,s;return(n=this)===t?0:this.document()!==t.document()?(s=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?s|=e.Preceding:s|=e.Following,s):n.isAncestor(t)?e.Contains|e.Preceding:n.isDescendant(t)?e.Contains|e.Following:n.isPreceding(t)?e.Preceding:e.Following},t.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isEqualNode=function(t){var e,n,s;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,s=this.children.length-1;0<=s?n<=s:n>=s;e=0<=s?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},t.prototype.isDescendant=function(t){var e,n,s,i;for(n=0,s=(i=this.children).length;nn},t.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),(function(s){if(n++,!e&&s===t)return e=!0})),e?n:-1},t.prototype.foreachTreeNode=function(t,e){var n,s,i,r,o;for(t||(t=this.document()),s=0,i=(r=t.children).length;s0){for(this.stream.write(" ["),this.stream.write(this.endline(t,e,n)),e.state=s.InsideTag,r=0,o=(a=t.children).length;r"),this.stream.write(this.endline(t,e,n)),e.state=s.None,this.closeNode(t,e,n)},n.prototype.element=function(t,n,i){var o,a,l,c,u,d,m,p,f;for(m in i||(i=0),this.openNode(t,n,i),n.state=s.OpenTag,this.stream.write(this.indent(t,n,i)+"<"+t.name),p=t.attribs)r.call(p,m)&&(o=p[m],this.attribute(o,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(this.stream.write(">"),n.state=s.CloseTag,this.stream.write("")):(n.state=s.CloseTag,this.stream.write(n.spaceBeforeSlash+"/>"));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){for(this.stream.write(">"+this.endline(t,n,i)),n.state=s.InsideTag,u=0,d=(f=t.children).length;u")}else this.stream.write(">"),n.state=s.InsideTag,n.suppressPrettyCount++,this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,n.state=s.CloseTag,this.stream.write("");return this.stream.write(this.endline(t,n,i)),n.state=s.None,this.closeNode(t,n,i)},n.prototype.processingInstruction=function(t,e,s){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,s))},n.prototype.raw=function(t,e,s){return this.stream.write(n.__super__.raw.call(this,t,e,s))},n.prototype.text=function(t,e,s){return this.stream.write(n.__super__.text.call(this,t,e,s))},n.prototype.dtdAttList=function(t,e,s){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,s))},n.prototype.dtdElement=function(t,e,s){return this.stream.write(n.__super__.dtdElement.call(this,t,e,s))},n.prototype.dtdEntity=function(t,e,s){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,s))},n.prototype.dtdNotation=function(t,e,s){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,s))},n}(i)}).call(this)},26434:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(60751),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t)}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),e.prototype.document=function(t,e){var n,s,i,r,o;for(e=this.filterOptions(e),r="",s=0,i=(o=t.children).length;s","]]]]>"),this.assertLegalChar(t))},t.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},t.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},t.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},t.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},t.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},t.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},t.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},t.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.convertAttKey="@",t.prototype.convertPIKey="?",t.prototype.convertTextKey="#text",t.prototype.convertCDataKey="#cdata",t.prototype.convertCommentKey="#comment",t.prototype.convertRawKey="#raw",t.prototype.assertLegalChar=function(t){var e,n;if(this.options.noValidation)return t;if(e="","1.0"===this.options.version){if(e=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(e=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},t.prototype.assertLegalName=function(t){var e;if(this.options.noValidation)return t;if(this.assertLegalChar(t),e=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(e))throw new Error("Invalid character in name");return t},t.prototype.textEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(//g,">").replace(/\r/g," "))},t.prototype.attEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(/0?new Array(s).join(e.indent):""},t.prototype.endline=function(t,e,n){return!e.pretty||e.suppressPrettyCount?"":e.newline},t.prototype.attribute=function(t,e,n){var s;return this.openAttribute(t,e,n),s=" "+t.name+'="'+t.value+'"',this.closeAttribute(t,e,n),s},t.prototype.cdata=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.comment=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"\x3c!-- ",e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=" --\x3e"+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.declaration=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.docType=function(t,e,n){var i,r,o,a,l;if(n||(n=0),this.openNode(t,e,n),e.state=s.OpenTag,a=this.indent(t,e,n),a+="0){for(a+=" [",a+=this.endline(t,e,n),e.state=s.InsideTag,r=0,o=(l=t.children).length;r",a+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),a},t.prototype.element=function(t,n,i){var o,a,l,c,u,d,m,p,f,g,h,A,w,y;for(f in i||(i=0),g=!1,h="",this.openNode(t,n,i),n.state=s.OpenTag,h+=this.indent(t,n,i)+"<"+t.name,A=t.attribs)r.call(A,f)&&(o=A[f],h+=this.attribute(o,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(h+=">",n.state=s.CloseTag,h+=""+this.endline(t,n,i)):(n.state=s.CloseTag,h+=n.spaceBeforeSlash+"/>"+this.endline(t,n,i));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){if(n.dontPrettyTextNodes)for(u=0,m=(w=t.children).length;u"+this.endline(t,n,i),n.state=s.InsideTag,d=0,p=(y=t.children).length;d",g&&n.suppressPrettyCount--,h+=this.endline(t,n,i),n.state=s.None}else h+=">",n.state=s.InsideTag,n.suppressPrettyCount++,g=!0,h+=this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,g=!1,n.state=s.CloseTag,h+=""+this.endline(t,n,i);return this.closeNode(t,n,i),h},t.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},t.prototype.processingInstruction=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.raw=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.text=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdAttList=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdElement=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdEntity=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdNotation=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.openNode=function(t,e,n){},t.prototype.closeNode=function(t,e,n){},t.prototype.openAttribute=function(t,e,n){},t.prototype.closeAttribute=function(t,e,n){},t}()}).call(this)},5532:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u,d;d=n(78369),c=d.assign,u=d.isFunction,i=n(91770),r=n(66934),o=n(79227),l=n(26434),a=n(81996),e=n(39335),s=n(30594),t.exports.create=function(t,e,n,s){var i,o;if(null==t)throw new Error("Root element needs a name.");return s=c({},e,n,s),o=(i=new r(s)).element(t),s.headless||(i.declaration(s),null==s.pubID&&null==s.sysID||i.dtd(s)),o},t.exports.begin=function(t,e,n){var s;return u(t)&&(e=(s=[t,e])[0],n=s[1],t={}),e?new o(t,e,n):new r(t)},t.exports.stringWriter=function(t){return new l(t)},t.exports.streamWriter=function(t,e){return new a(t,e)},t.exports.implementation=new i,t.exports.nodeType=e,t.exports.writerState=s}).call(this)},88717:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27%20style=%27fill-opacity:1;fill:%23ffffff%27/%3e%3c/svg%3e"},79839:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27/%3e%3c/svg%3e"},52361:()=>{},94616:()=>{},5656:(t,e,n)=>{"use strict";n.d(e,{$B:()=>P,DT:()=>h,De:()=>y,G7:()=>re,Ir:()=>ae,NB:()=>I,RL:()=>U,Ti:()=>z,Tv:()=>k,Vn:()=>w,_o:()=>O,e4:()=>N,gt:()=>F,h7:()=>T,p$:()=>A,pC:()=>j,rp:()=>D,sS:()=>g,tB:()=>E,y3:()=>v});var s=n(77958),i=n(17499),r=n(31352),o=n(62520),a=n(65358),l=n(79753),c=n(14596);const u=null===(d=(0,s.ts)())?(0,i.IY)().setApp("files").build():(0,i.IY)().setApp("files").setUid(d.uid).build();var d;class m{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):u.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.enabled||e.enabled(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!t.iconSvgInline&&!t.iconClass||!t.handler)throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.enabled&&"function"!=typeof t.enabled)throw new Error("Invalid enabled property");if("function"!=typeof t.handler)throw new Error("Invalid handler property");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order property");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const p=["B","KB","MB","GB","TB","PB"],f=["B","KiB","MiB","GiB","TiB","PiB"];function g(t,e=!1,n=!1,s=!1){n=n&&!s,"string"==typeof t&&(t=Number(t));let i=t>0?Math.floor(Math.log(t)/Math.log(s?1e3:1024)):0;i=Math.min((n?f.length:p.length)-1,i);const o=n?f[i]:p[i];let a=(t/Math.pow(s?1e3:1024,i)).toFixed(1);return!0===e&&0===i?("0.0"!==a?"< 1 ":"0 ")+(n?f[1]:p[1]):(a=i<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,r.aj)()),a+" "+o)}var h=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(h||{});class A{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if("parent"in t&&"string"!=typeof t.parent)throw new Error("Invalid parent");if(t.default&&!Object.values(h).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const w=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions},y=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],u.debug("FileListHeaders initialized")),window._nc_filelistheader};var v=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(v||{});const b=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],C={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},x=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...b]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},_=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...C}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},T=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t`},E=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,s.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`};var k=(t=>(t.Folder="folder",t.File="file",t))(k||{});const S=function(t,e){return null!==t.match(e)},L=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=v.NONE&&t.permissions<=v.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&S(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes((0,o.join)(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(N).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var N=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(N||{});class I{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){L(t,e||this._knownDavService),this._data=t;const n={set:(t,e,n)=>(this.updateMtime(),Reflect.set(t,e,n)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},n),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,o.basename)(this.source)}get extension(){return(0,o.extname)(this.source)}get dirname(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),n=this.root.replace(/\/$/,"");return(0,o.dirname)(t.slice(e+n.length)||"/")}const t=new URL(this.source);return(0,o.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:v.NONE:v.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return S(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,o.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),n=this.root.replace(/\/$/,"");return t.slice(e+n.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){L({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,o.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class P extends I{get type(){return k.File}}class F extends I{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return k.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const O=`/files/${(0,s.ts)()?.uid}`,B=(0,l.generateRemoteUrl)("dav"),D=function(t=B,e={}){const n=(0,c.eI)(t,{headers:e});function i(t){n.setHeaders({...e,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,s._S)(i),i((0,s.IH)()),(0,c.lD)().patch("fetch",((t,e)=>{const n=e.headers;return n?.method&&(e.method=n.method,delete n.method),fetch(t,e)})),n},j=async(t,e="/",n=O)=>(await t.getDirectoryContents(`${n}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>U(t,n))),U=function(t,e=O,n=B){const i=t.props,r=function(t=""){let e=v.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=v.CREATE),t.includes("G")&&(e|=v.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=v.UPDATE),t.includes("D")&&(e|=v.DELETE),t.includes("R")&&(e|=v.SHARE)),e}(i?.permissions),o=i?.["owner-id"]||(0,s.ts)()?.uid,a={id:i?.fileid||0,source:`${n}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:i?.size||Number.parseInt(i.getcontentlength||"0"),permissions:r,owner:o,root:e,attributes:{...t,...i,hasPreview:i?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new P(a):new F(a)};class R{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const z=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new R,u.debug("Navigation service initialized")),window._nc_navigation};class M{_column;constructor(t){V(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const V=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var $={},q={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",s=new RegExp("^"+n+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,n){if(e){const s=Object.keys(e),i=s.length;for(let r=0;r"u")},t.getAllMatches=function(t,e){const n=[];let s=e.exec(t);for(;s;){const i=[];i.startIndex=e.lastIndex-s[0].length;const r=s.length;for(let t=0;t5&&"xml"===s)return nt("InvalidXml","XML declaration allowed only at the start of the document.",rt(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function W(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let n=1;for(e+=8;e"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}$.validate=function(t,e){e=Object.assign({},Z,e);const n=[];let s=!1,i=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let r=0;r"!==t[r]&&" "!==t[r]&&"\t"!==t[r]&&"\n"!==t[r]&&"\r"!==t[r];r++)l+=t[r];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),r--),!it(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",nt("InvalidTag",e,rt(t,r))}const c=Q(t,r);if(!1===c)return nt("InvalidAttr","Attributes for '"+l+"' have open quote.",rt(t,r));let u=c.value;if(r=c.index,"/"===u[u.length-1]){const n=r-u.length;u=u.substring(0,u.length-1);const i=tt(u,e);if(!0!==i)return nt(i.err.code,i.err.msg,rt(t,n+i.err.line));s=!0}else if(a){if(!c.tagClosed)return nt("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",rt(t,r));if(u.trim().length>0)return nt("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",rt(t,o));{const e=n.pop();if(l!==e.tagName){let n=rt(t,e.tagStartPos);return nt("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+l+"'.",rt(t,o))}0==n.length&&(i=!0)}}else{const a=tt(u,e);if(!0!==a)return nt(a.err.code,a.err.msg,rt(t,r-u.length+a.err.line));if(!0===i)return nt("InvalidXml","Multiple possible root nodes found.",rt(t,r));-1!==e.unpairedTags.indexOf(l)||n.push({tagName:l,tagStartPos:o}),s=!0}for(r++;r0)||nt("InvalidXml","Invalid '"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):nt("InvalidXml","Start tag expected.",1)};const K='"',J="'";function Q(t,e){let n="",s="",i=!1;for(;e"===t[e]&&""===s){i=!0;break}n+=t[e]}return""===s&&{value:n,index:e,tagClosed:i}}const X=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function tt(t,e){const n=H.getAllMatches(t,X),s={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};at.buildOptions=function(t){return Object.assign({},lt,t)},at.defaultOptions=lt;const ct=q;function ut(t,e){let n="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},Ct=function(t,e){const n={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let s=1,i=!1,r=!1,o="";for(;e"===t[e]){if(r?"-"===t[e-1]&&"-"===t[e-2]&&(r=!1,s--):s--,0===s)break}else"["===t[e]?i=!0:o+=t[e];else{if(i&&mt(t,e))e+=7,[entityName,val,e]=ut(t,e+1),-1===val.indexOf("&")&&(n[ht(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(i&&pt(t,e))e+=8;else if(i&&ft(t,e))e+=8;else if(i&>(t,e))e+=9;else{if(!dt)throw new Error("Invalid DOCTYPE");r=!0}s++,o=""}if(0!==s)throw new Error("Unclosed DOCTYPE")}return{entities:n,i:e}},xt=function(t,e={}){if(e=Object.assign({},yt,e),!t||"string"!=typeof t)return t;let n=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(n))return t;if(e.hex&&At.test(n))return Number.parseInt(n,16);{const s=wt.exec(n);if(s){const i=s[1],r=s[2];let o=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(s[3]);const a=s[4]||s[6];if(!e.leadingZeros&&r.length>0&&i&&"."!==n[2])return t;if(!e.leadingZeros&&r.length>0&&!i&&"."!==n[1])return t;{const s=Number(n),l=""+s;return-1!==l.search(/[eE]/)||a?e.eNotation?s:t:-1!==n.indexOf(".")?"0"===l&&""===o||l===o||i&&l==="-"+o?s:t:r?o===l||i+o===l?s:t:n===l||n===i+l?s:t}}return t}};function _t(t){const e=Object.keys(t);for(let n=0;n0)){o||(t=this.replaceEntitiesValue(t));const s=this.options.tagValueProcessor(e,t,n,i,r);return null==s?t:typeof s!=typeof t||s!==t?s:this.options.trimValues||t.trim()===t?jt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function Et(t){if(this.options.removeNSPrefix){const e=t.split(":"),n="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=n+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,vt.nameRegexp);const kt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function St(t,e,n){if(!this.options.ignoreAttributes&&"string"==typeof t){const n=vt.getAllMatches(t,kt),s=n.length,i={};for(let t=0;t",r,"Closing Tag is not closed.");let o=t.substring(r+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(":");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(s=this.saveTextToParentTag(s,n,i));const a=i.substring(i.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=i.lastIndexOf("."),i=i.substring(0,l),n=this.tagsNodeStack.pop(),s="",r=e}else if("?"===t[r+1]){let e=Bt(t,r,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,n,i),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new bt(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,i,e.tagName)),this.addChild(n,t,i)}r=e.closeIndex+1}else if("!--"===t.substr(r+1,3)){const e=Ot(t,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){const o=t.substring(r+4,e-2);s=this.saveTextToParentTag(s,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=e}else if("!D"===t.substr(r+1,2)){const e=Ct(t,r);this.docTypeEntities=e.entities,r=e.i}else if("!["===t.substr(r+1,2)){const e=Ot(t,"]]>",r,"CDATA is not closed.")-2,o=t.substring(r+9,e);if(s=this.saveTextToParentTag(s,n,i),this.options.cdataPropName)n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]);else{let t=this.parseTextData(o,n.tagname,i,!0,!1,!0);null==t&&(t=""),n.add(this.options.textNodeName,t)}r=e+2}else{let o=Bt(t,r,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let c=o.tagExp,u=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&s&&"!xml"!==n.tagname&&(s=this.saveTextToParentTag(s,n,i,!1));const m=n;if(m&&-1!==this.options.unpairedTags.indexOf(m.tagname)&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),a!==e.tagname&&(i+=i?"."+a:a),this.isItStopNode(this.options.stopNodes,i,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))r=o.closeIndex;else{const n=this.readStopNodeData(t,l,d+1);if(!n)throw new Error(`Unexpected end of ${l}`);r=n.i,e=n.tagContent}const s=new bt(a);a!==c&&u&&(s[":@"]=this.buildAttributesMap(c,i,a)),e&&(e=this.parseTextData(e,a,i,!0,u,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),s.add(this.options.textNodeName,e),this.addChild(n,s,i)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new bt(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,i,a)),this.addChild(n,t,i),i=i.substr(0,i.lastIndexOf("."))}else{const t=new bt(a);this.tagsNodeStack.push(n),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,i,a)),this.addChild(n,t,i),n=t}s="",r=d}}else s+=t[r];return e.child};function Nt(t,e,n){const s=this.options.updateTag(e.tagname,n,e[":@"]);!1===s||("string"==typeof s&&(e.tagname=s),t.addChild(e))}const It=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Pt(t,e,n,s){return t&&(void 0===s&&(s=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,s))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function Ft(t,e,n){const s="*."+n;for(const n in t){const i=t[n];if(s===i||e===i)return!0}return!1}function Ot(t,e,n,s){const i=t.indexOf(e,n);if(-1===i)throw new Error(s);return i+e.length-1}function Bt(t,e,n,s=">"){const i=function(t,e,n=">"){let s,i="";for(let r=e;r",n,`${e} is not closed`);if(t.substring(n+2,r).trim()===e&&(i--,0===i))return{tagContent:t.substring(s,n),i:r};n=r}else if("?"===t[n+1])n=Ot(t,"?>",n+1,"StopNode is not closed.");else if("!--"===t.substr(n+1,3))n=Ot(t,"--\x3e",n+3,"StopNode is not closed.");else if("!["===t.substr(n+1,2))n=Ot(t,"]]>",n,"StopNode is not closed.")-2;else{const s=Bt(t,n,">");s&&((s&&s.tagName)===e&&"/"!==s.tagExp[s.tagExp.length-1]&&i++,n=s.closeIndex)}}function jt(t,e,n){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&xt(t,n)}return vt.isExist(t)?t:""}var Ut={};function Rt(t,e,n){let s;const i={};for(let r=0;r0&&(i[e.textNodeName]=s):void 0!==s&&(i[e.textNodeName]=s),i}function zt(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=_t,this.parseXml=Lt,this.parseTextData=Tt,this.resolveNameSpace=Et,this.buildAttributesMap=St,this.isItStopNode=Ft,this.replaceEntitiesValue=It,this.readStopNodeData=Dt,this.saveTextToParentTag=Pt,this.addChild=Nt}},{prettify:Ht}=Ut,Zt=$;function Gt(t,e,n,s){let i="",r=!1;for(let o=0;o`,r=!1;continue}if(l===e.commentPropName){i+=s+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,r=!0;continue}if("?"===l[0]){const t=Wt(a[":@"],e),n="?xml"===l?"":s;let o=a[l][0][e.textNodeName];o=0!==o.length?" "+o:"",i+=n+`<${l}${o}${t}?>`,r=!0;continue}let u=s;""!==u&&(u+=e.indentBy);const d=s+`<${l}${Wt(a[":@"],e)}`,m=Gt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?i+=d+">":i+=d+"/>":m&&0!==m.length||!e.suppressEmptyNode?m&&m.endsWith(">")?i+=d+`>${m}${s}`:(i+=d+">",m&&""!==s&&(m.includes("/>")||m.includes("`):i+=d+"/>",r=!0}return i}function Yt(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n0&&(n="\n"),Gt(t,e,"",n)},Xt={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function te(t){this.options=Object.assign({},Xt,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=se),this.processTextOrObjNode=ee,this.options.format?(this.indentate=ne,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function ee(t,e,n){const s=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,s.attrStr,n):this.buildObjectNode(s.val,e,s.attrStr,n)}function ne(t){return this.options.indentBy.repeat(t)}function se(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}te.prototype.build=function(t){return this.options.preserveOrder?Qt(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},te.prototype.j2x=function(t,e){let n="",s="";for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i))if(typeof t[i]>"u")this.isAttribute(i)&&(s+="");else if(null===t[i])this.isAttribute(i)?s+="":"?"===i[0]?s+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)s+=this.buildTextValNode(t[i],i,"",e);else if("object"!=typeof t[i]){const r=this.isAttribute(i);if(r)n+=this.buildAttrPairStr(r,""+t[i]);else if(i===this.options.textNodeName){let e=this.options.tagValueProcessor(i,""+t[i]);s+=this.replaceEntitiesValue(e)}else s+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){const n=t[i].length;let r="";for(let o=0;o"u"||(null===n?"?"===i[0]?s+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:"object"==typeof n?this.options.oneListGroup?r+=this.j2x(n,e+1).val:r+=this.processTextOrObjNode(n,i,e):r+=this.buildTextValNode(n,i,"",e))}this.options.oneListGroup&&(r=this.buildObjectNode(r,i,"",e)),s+=r}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){const e=Object.keys(t[i]),s=e.length;for(let r=0;r"+t+i}},te.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(s)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),""===i?this.indentate(s)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(s)+"<"+e+n+">"+i+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ie.XMLValidator.validate(t))return!1;let e;const n=new ie.XMLParser;try{e=n.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof M))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},ae=function(t){return(typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new m,u.debug("NewFileMenu initialized")),window._nc_newfilemenu).getEntries(t).sort(((t,e)=>void 0!==t.order&&void 0!==e.order&&t.order!==e.order?t.order-e.order:t.displayName.localeCompare(e.displayName,void 0,{numeric:!0,sensitivity:"base"})))}},99125:(t,e,n)=>{"use strict";n.d(e,{U:()=>un,a:()=>an,c:()=>We,g:()=>mn,l:()=>Je,n:()=>tn,t:()=>ln});var s=n(93379),i=n.n(s),r=n(7795),o=n.n(r),a=n(90569),l=n.n(a),c=n(3565),u=n.n(c),d=n(19216),m=n.n(d),p=n(44589),f=n.n(p),g=n(75716),h={};h.styleTagTransform=f(),h.setAttributes=u(),h.insert=l().bind(null,"head"),h.domAPI=o(),h.insertStyleElement=m(),i()(g.Z,h),g.Z&&g.Z.locals&&g.Z.locals;var A=n(65358),w=n(5656),y=n(79753),v=n(77958),b=n(93664);class C extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const x=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class _{static fn(t){return(...e)=>new _(((n,s,i)=>{e.push(i),t(...e).then(n,s)}))}#t=[];#e=!0;#n=x.pending;#s;#i;constructor(t){this.#s=new Promise(((e,n)=>{this.#i=n;const s=t=>{if(this.#n!==x.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#n.description}.`);this.#t.push(t)};Object.defineProperties(s,{shouldReject:{get:()=>this.#e,set:t=>{this.#e=t}}}),t((t=>{this.#n===x.canceled&&s.shouldReject||(e(t),this.#r(x.resolved))}),(t=>{this.#n===x.canceled&&s.shouldReject||(n(t),this.#r(x.rejected))}),s)}))}then(t,e){return this.#s.then(t,e)}catch(t){return this.#s.catch(t)}finally(t){return this.#s.finally(t)}cancel(t){if(this.#n===x.pending){if(this.#r(x.canceled),this.#t.length>0)try{for(const t of this.#t)t()}catch(t){return void this.#i(t)}this.#e&&this.#i(new C(t))}}get isCanceled(){return this.#n===x.canceled}#r(t){this.#n===x.pending&&(this.#n=t)}}Object.setPrototypeOf(_.prototype,Promise.prototype);var T=n(51772);class E extends Error{constructor(t){super(t),this.name="TimeoutError"}}class k extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const S=t=>void 0===globalThis.DOMException?new k(t):new DOMException(t),L=t=>{const e=void 0===t.reason?S("This operation was aborted."):t.reason;return e instanceof Error?e:S(e)};class N{#o=[];enqueue(t,e){const n={priority:(e={priority:0,...e}).priority,run:t};if(this.size&&this.#o[this.size-1].priority>=e.priority)return void this.#o.push(n);const s=function(t,e,n){let s=0,i=t.length;for(;i>0;){const r=Math.trunc(i/2);let o=s+r;n(t[o],e)<=0?(s=++o,i-=r+1):i=r}return s}(this.#o,n,((t,e)=>e.priority-t.priority));this.#o.splice(s,0,n)}dequeue(){const t=this.#o.shift();return t?.run}filter(t){return this.#o.filter((e=>e.priority===t.priority)).map((t=>t.run))}get size(){return this.#o.length}}class I extends T{#a;#l;#c=0;#u;#d;#m=0;#p;#f;#o;#g;#h=0;#A;#w;#y;timeout;constructor(t){if(super(),!("number"==typeof(t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:N,...t}).intervalCap&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(void 0===t.interval||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#a=t.carryoverConcurrencyCount,this.#l=t.intervalCap===Number.POSITIVE_INFINITY||0===t.interval,this.#u=t.intervalCap,this.#d=t.interval,this.#o=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#y=!0===t.throwOnTimeout,this.#w=!1===t.autoStart}get#v(){return this.#l||this.#c{this.#_()}),e)),!0;this.#c=this.#a?this.#h:0}return!1}#x(){if(0===this.#o.size)return this.#p&&clearInterval(this.#p),this.#p=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#w){const t=!this.#k;if(this.#v&&this.#b){const e=this.#o.dequeue();return!!e&&(this.emit("active"),e(),t&&this.#E(),!0)}}return!1}#E(){this.#l||void 0!==this.#p||(this.#p=setInterval((()=>{this.#T()}),this.#d),this.#m=Date.now()+this.#d)}#T(){0===this.#c&&0===this.#h&&this.#p&&(clearInterval(this.#p),this.#p=void 0),this.#c=this.#a?this.#h:0,this.#S()}#S(){for(;this.#x(););}get concurrency(){return this.#A}set concurrency(t){if(!("number"==typeof t&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#A=t,this.#S()}async#L(t){return new Promise(((e,n)=>{t.addEventListener("abort",(()=>{n(t.reason)}),{once:!0})}))}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#y,...e},new Promise(((n,s)=>{this.#o.enqueue((async()=>{this.#h++,this.#c++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=function(t,e){const{milliseconds:n,fallback:s,message:i,customTimers:r={setTimeout,clearTimeout}}=e;let o;const a=new Promise(((a,l)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(e.signal){const{signal:t}=e;t.aborted&&l(L(t)),t.addEventListener("abort",(()=>{l(L(t))}))}if(n===Number.POSITIVE_INFINITY)return void t.then(a,l);const c=new E;o=r.setTimeout.call(void 0,(()=>{if(s)try{a(s())}catch(t){l(t)}else"function"==typeof t.cancel&&t.cancel(),!1===i?a():i instanceof Error?l(i):(c.message=i??`Promise timed out after ${n} milliseconds`,l(c))}),n),(async()=>{try{a(await t)}catch(t){l(t)}})()})).finally((()=>{a.clear()}));return a.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},a}(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#L(e.signal)]));const i=await s;n(i),this.emit("completed",i)}catch(t){if(t instanceof E&&!e.throwOnTimeout)return void n();s(t),this.emit("error",t)}finally{this.#C()}}),e),this.emit("add"),this.#x()}))}async addAll(t,e){return Promise.all(t.map((async t=>this.add(t,e))))}start(){return this.#w?(this.#w=!1,this.#S(),this):this}pause(){this.#w=!0}clear(){this.#o=new this.#g}async onEmpty(){0!==this.#o.size&&await this.#N("empty")}async onSizeLessThan(t){this.#o.sizethis.#o.size{const s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)}))}get size(){return this.#o.size}sizeBy(t){return this.#o.filter(t).length}get pending(){return this.#h}get isPaused(){return this.#w}}var P=n(43452);const F=(t,e,n)=>t.bind(n);var O=n(17499),B=n(64024),D=n(69481),j=n(20144),U=n(43589),R=n(61057),z=n(54572),M=n(46226),V=n(29094),$=n(48264),q=n(48764).Buffer,H=n(25108);function Z(t,e){return function(){return t.apply(e,arguments)}}const{toString:G}=Object.prototype,{getPrototypeOf:Y}=Object,W=(tt=Object.create(null),t=>{const e=G.call(t);return tt[e]||(tt[e]=e.slice(8,-1).toLowerCase())}),K=t=>(t=t.toLowerCase(),e=>W(e)===t),J=t=>e=>typeof e===t,{isArray:Q}=Array,X=J("undefined");var tt;const et=K("ArrayBuffer"),nt=J("string"),st=J("function"),it=J("number"),rt=t=>null!==t&&"object"==typeof t,ot=t=>{if("object"!==W(t))return!1;const e=Y(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},at=K("Date"),lt=K("File"),ct=K("Blob"),ut=K("FileList"),dt=K("URLSearchParams");function mt(t,e,{allOwnKeys:n=!1}={}){if(null===t||typeof t>"u")return;let s,i;if("object"!=typeof t&&(t=[t]),Q(t))for(s=0,i=t.length;s0;)if(s=n[i],e===s.toLowerCase())return s;return null}const ft=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,gt=t=>!X(t)&&t!==ft,ht=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Y(Uint8Array)),At=K("HTMLFormElement"),wt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),yt=K("RegExp"),vt=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),s={};mt(n,((n,i)=>{let r;!1!==(r=e(n,i,t))&&(s[i]=r||n)})),Object.defineProperties(t,s)},bt="abcdefghijklmnopqrstuvwxyz",Ct="0123456789",xt={DIGIT:Ct,ALPHA:bt,ALPHA_DIGIT:bt+bt.toUpperCase()+Ct},_t=K("AsyncFunction"),Tt={isArray:Q,isArrayBuffer:et,isBuffer:function(t){return null!==t&&!X(t)&&null!==t.constructor&&!X(t.constructor)&&st(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||st(t.append)&&("formdata"===(e=W(t))||"object"===e&&st(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&et(t.buffer),e},isString:nt,isNumber:it,isBoolean:t=>!0===t||!1===t,isObject:rt,isPlainObject:ot,isUndefined:X,isDate:at,isFile:lt,isBlob:ct,isRegExp:yt,isFunction:st,isStream:t=>rt(t)&&st(t.pipe),isURLSearchParams:dt,isTypedArray:ht,isFileList:ut,forEach:mt,merge:function t(){const{caseless:e}=gt(this)&&this||{},n={},s=(s,i)=>{const r=e&&pt(n,i)||i;ot(n[r])&&ot(s)?n[r]=t(n[r],s):ot(s)?n[r]=t({},s):Q(s)?n[r]=s.slice():n[r]=s};for(let t=0,e=arguments.length;t(mt(e,((e,s)=>{n&&st(e)?t[s]=Z(e,n):t[s]=e}),{allOwnKeys:s}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,s)=>{let i,r,o;const a={};if(e=e||{},null==t)return e;do{for(i=Object.getOwnPropertyNames(t),r=i.length;r-- >0;)o=i[r],(!s||s(o,t,e))&&!a[o]&&(e[o]=t[o],a[o]=!0);t=!1!==n&&Y(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:W,kindOfTest:K,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const s=t.indexOf(e,n);return-1!==s&&s===n},toArray:t=>{if(!t)return null;if(Q(t))return t;let e=t.length;if(!it(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let s;for(;(s=n.next())&&!s.done;){const n=s.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const s=[];for(;null!==(n=t.exec(e));)s.push(n);return s},isHTMLForm:At,hasOwnProperty:wt,hasOwnProp:wt,reduceDescriptors:vt,freezeMethods:t=>{vt(t,((e,n)=>{if(st(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const s=t[n];if(st(s)){if(e.enumerable=!1,"writable"in e)return void(e.writable=!1);e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}}))},toObjectSet:(t,e)=>{const n={},s=t=>{t.forEach((t=>{n[t]=!0}))};return Q(t)?s(t):s(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:pt,global:ft,isContextDefined:gt,ALPHABET:xt,generateString:(t=16,e=xt.ALPHA_DIGIT)=>{let n="";const{length:s}=e;for(;t--;)n+=e[Math.random()*s|0];return n},isSpecCompliantForm:function(t){return!!(t&&st(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,s)=>{if(rt(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[s]=t;const i=Q(t)?[]:{};return mt(t,((t,e)=>{const r=n(t,s+1);!X(r)&&(i[e]=r)})),e[s]=void 0,i}}return t};return n(t,0)},isAsyncFn:_t,isThenable:t=>t&&(rt(t)||st(t))&&st(t.then)&&st(t.catch)};function Et(t,e,n,s,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i)}Tt.inherits(Et,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Tt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const kt=Et.prototype,St={};function Lt(t){return Tt.isPlainObject(t)||Tt.isArray(t)}function Nt(t){return Tt.endsWith(t,"[]")?t.slice(0,-2):t}function It(t,e,n){return t?t.concat(e).map((function(t,e){return t=Nt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{St[t]={value:t}})),Object.defineProperties(Et,St),Object.defineProperty(kt,"isAxiosError",{value:!0}),Et.from=(t,e,n,s,i,r)=>{const o=Object.create(kt);return Tt.toFlatObject(t,o,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),Et.call(o,t.message,e,n,s,i),o.cause=t,o.name=t.name,r&&Object.assign(o,r),o};const Pt=Tt.toFlatObject(Tt,{},null,(function(t){return/^is[A-Z]/.test(t)}));function Ft(t,e,n){if(!Tt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const s=(n=Tt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!Tt.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,r=n.dots,o=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&Tt.isSpecCompliantForm(e);if(!Tt.isFunction(i))throw new TypeError("visitor must be a function");function l(t){if(null===t)return"";if(Tt.isDate(t))return t.toISOString();if(!a&&Tt.isBlob(t))throw new Et("Blob is not supported. Use a Buffer instead.");return Tt.isArrayBuffer(t)||Tt.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):q.from(t):t}function c(t,n,i){let a=t;if(t&&!i&&"object"==typeof t)if(Tt.endsWith(n,"{}"))n=s?n:n.slice(0,-2),t=JSON.stringify(t);else if(Tt.isArray(t)&&function(t){return Tt.isArray(t)&&!t.some(Lt)}(t)||(Tt.isFileList(t)||Tt.endsWith(n,"[]"))&&(a=Tt.toArray(t)))return n=Nt(n),a.forEach((function(t,s){!Tt.isUndefined(t)&&null!==t&&e.append(!0===o?It([n],s,r):null===o?n:n+"[]",l(t))})),!1;return!!Lt(t)||(e.append(It(i,n,r),l(t)),!1)}const u=[],d=Object.assign(Pt,{defaultVisitor:c,convertValue:l,isVisitable:Lt});if(!Tt.isObject(t))throw new TypeError("data must be an object");return function t(n,s){if(!Tt.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+s.join("."));u.push(n),Tt.forEach(n,(function(n,r){!0===(!(Tt.isUndefined(n)||null===n)&&i.call(e,n,Tt.isString(r)?r.trim():r,s,d))&&t(n,s?s.concat(r):[r])})),u.pop()}}(t),e}function Ot(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function Bt(t,e){this._pairs=[],t&&Ft(t,this,e)}const Dt=Bt.prototype;function jt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ut(t,e,n){if(!e)return t;const s=n&&n.encode||jt,i=n&&n.serialize;let r;if(r=i?i(e,n):Tt.isURLSearchParams(e)?e.toString():new Bt(e,n).toString(s),r){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}Dt.append=function(t,e){this._pairs.push([t,e])},Dt.toString=function(t){const e=t?function(e){return t.call(this,e,Ot)}:Ot;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Rt=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Tt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},zt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Mt={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Bt,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Vt=typeof window<"u"&&typeof document<"u",$t=(t=>Vt&&["ReactNative","NativeScript","NS"].indexOf(t)<0)(typeof navigator<"u"&&navigator.product),qt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ht={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Vt,hasStandardBrowserEnv:$t,hasStandardBrowserWebWorkerEnv:qt},Symbol.toStringTag,{value:"Module"})),...Mt};function Zt(t){function e(t,n,s,i){let r=t[i++];const o=Number.isFinite(+r),a=i>=t.length;return r=!r&&Tt.isArray(s)?s.length:r,a?(Tt.hasOwnProp(s,r)?s[r]=[s[r],n]:s[r]=n,!o):((!s[r]||!Tt.isObject(s[r]))&&(s[r]=[]),e(t,n,s[r],i)&&Tt.isArray(s[r])&&(s[r]=function(t){const e={},n=Object.keys(t);let s;const i=n.length;let r;for(s=0;s{e(function(t){return Tt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),s,n,0)})),n}return null}const Gt={transitional:zt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",s=n.indexOf("application/json")>-1,i=Tt.isObject(t);if(i&&Tt.isHTMLForm(t)&&(t=new FormData(t)),Tt.isFormData(t))return s&&s?JSON.stringify(Zt(t)):t;if(Tt.isArrayBuffer(t)||Tt.isBuffer(t)||Tt.isStream(t)||Tt.isFile(t)||Tt.isBlob(t))return t;if(Tt.isArrayBufferView(t))return t.buffer;if(Tt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let r;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Ft(t,new Ht.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,s){return Ht.isNode&&Tt.isBuffer(t)?(this.append(e,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((r=Tt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Ft(r?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||s?(e.setContentType("application/json",!1),function(t,e,n){if(Tt.isString(t))try{return(0,JSON.parse)(t),Tt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Gt.transitional,n=e&&e.forcedJSONParsing,s="json"===this.responseType;if(t&&Tt.isString(t)&&(n&&!this.responseType||s)){const n=!(e&&e.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(t){if(n)throw"SyntaxError"===t.name?Et.from(t,Et.ERR_BAD_RESPONSE,this,null,this.response):t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ht.classes.FormData,Blob:Ht.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Tt.forEach(["delete","get","head","post","put","patch"],(t=>{Gt.headers[t]={}}));const Yt=Gt,Wt=Tt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Kt=Symbol("internals");function Jt(t){return t&&String(t).trim().toLowerCase()}function Qt(t){return!1===t||null==t?t:Tt.isArray(t)?t.map(Qt):String(t)}function Xt(t,e,n,s,i){if(Tt.isFunction(s))return s.call(this,e,n);if(i&&(e=n),Tt.isString(e)){if(Tt.isString(s))return-1!==e.indexOf(s);if(Tt.isRegExp(s))return s.test(e)}}let te=class{constructor(t){t&&this.set(t)}set(t,e,n){const s=this;function i(t,e,n){const i=Jt(e);if(!i)throw new Error("header name must be a non-empty string");const r=Tt.findKey(s,i);(!r||void 0===s[r]||!0===n||void 0===n&&!1!==s[r])&&(s[r||e]=Qt(t))}const r=(t,e)=>Tt.forEach(t,((t,n)=>i(t,n,e)));return Tt.isPlainObject(t)||t instanceof this.constructor?r(t,e):Tt.isString(t)&&(t=t.trim())&&!(t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))(t)?r((t=>{const e={};let n,s,i;return t&&t.split("\n").forEach((function(t){i=t.indexOf(":"),n=t.substring(0,i).trim().toLowerCase(),s=t.substring(i+1).trim(),!(!n||e[n]&&Wt[n])&&("set-cookie"===n?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)})),e})(t),e):null!=t&&i(e,t,n),this}get(t,e){if(t=Jt(t)){const n=Tt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(t);)e[s[1]]=s[2];return e}(t);if(Tt.isFunction(e))return e.call(this,t,n);if(Tt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Jt(t)){const n=Tt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Xt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let s=!1;function i(t){if(t=Jt(t)){const i=Tt.findKey(n,t);i&&(!e||Xt(0,n[i],i,e))&&(delete n[i],s=!0)}}return Tt.isArray(t)?t.forEach(i):i(t),s}clear(t){const e=Object.keys(this);let n=e.length,s=!1;for(;n--;){const i=e[n];(!t||Xt(0,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const e=this,n={};return Tt.forEach(this,((s,i)=>{const r=Tt.findKey(n,i);if(r)return e[r]=Qt(s),void delete e[i];const o=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(i):String(i).trim();o!==i&&delete e[i],e[o]=Qt(s),n[o]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return Tt.forEach(this,((n,s)=>{null!=n&&!1!==n&&(e[s]=t&&Tt.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Kt]=this[Kt]={accessors:{}}).accessors,n=this.prototype;function s(t){const s=Jt(t);e[s]||(function(t,e){const n=Tt.toCamelCase(" "+e);["get","set","has"].forEach((s=>{Object.defineProperty(t,s+n,{value:function(t,n,i){return this[s].call(this,e,t,n,i)},configurable:!0})}))}(n,t),e[s]=!0)}return Tt.isArray(t)?t.forEach(s):s(t),this}};te.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Tt.reduceDescriptors(te.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),Tt.freezeMethods(te);const ee=te;function ne(t,e){const n=this||Yt,s=e||n,i=ee.from(s.headers);let r=s.data;return Tt.forEach(t,(function(t){r=t.call(n,r,i.normalize(),e?e.status:void 0)})),i.normalize(),r}function se(t){return!(!t||!t.__CANCEL__)}function ie(t,e,n){Et.call(this,t??"canceled",Et.ERR_CANCELED,e,n),this.name="CanceledError"}Tt.inherits(ie,Et,{__CANCEL__:!0});const re=Ht.hasStandardBrowserEnv?{write:function(t,e,n,s,i,r){const o=[];o.push(t+"="+encodeURIComponent(e)),Tt.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),Tt.isString(s)&&o.push("path="+s),Tt.isString(i)&&o.push("domain="+i),!0===r&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function oe(t,e){return t&&!function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const ae=Ht.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function s(n){let s=n;return t&&(e.setAttribute("href",s),s=e.href),e.setAttribute("href",s),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=s(window.location.href),function(t){const e=Tt.isString(t)?s(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function le(t,e){let n=0;const s=function(t,e){t=t||10;const n=new Array(t),s=new Array(t);let i,r=0,o=0;return e=void 0!==e?e:1e3,function(a){const l=Date.now(),c=s[o];i||(i=l),n[r]=a,s[r]=l;let u=o,d=0;for(;u!==r;)d+=n[u++],u%=t;if(r=(r+1)%t,r===o&&(o=(o+1)%t),l-i{const r=i.loaded,o=i.lengthComputable?i.total:void 0,a=r-n,l=s(a);n=r;const c={loaded:r,total:o,progress:o?r/o:void 0,bytes:a,rate:l||void 0,estimated:l&&o&&r<=o?(o-r)/l:void 0,event:i};c[e?"download":"upload"]=!0,t(c)}}const ce=typeof XMLHttpRequest<"u"&&function(t){return new Promise((function(e,n){let s=t.data;const i=ee.from(t.headers).normalize(),r=t.responseType;let o,a;function l(){t.cancelToken&&t.cancelToken.unsubscribe(o),t.signal&&t.signal.removeEventListener("abort",o)}if(Tt.isFormData(s))if(Ht.hasStandardBrowserEnv||Ht.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(a=i.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];i.setContentType([t||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+n))}const u=oe(t.baseURL,t.url);function d(){if(!c)return;const s=ee.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());(function(t,e,n){const s=n.config.validateStatus;n.status&&s&&!s(n.status)?e(new Et("Request failed with status code "+n.status,[Et.ERR_BAD_REQUEST,Et.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)})((function(t){e(t),l()}),(function(t){n(t),l()}),{data:r&&"text"!==r&&"json"!==r?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:s,config:t,request:c}),c=null}if(c.open(t.method.toUpperCase(),Ut(u,t.params,t.paramsSerializer),!0),c.timeout=t.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){!c||4!==c.readyState||0===c.status&&(!c.responseURL||0!==c.responseURL.indexOf("file:"))||setTimeout(d)},c.onabort=function(){c&&(n(new Et("Request aborted",Et.ECONNABORTED,t,c)),c=null)},c.onerror=function(){n(new Et("Network Error",Et.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const s=t.transitional||zt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new Et(e,s.clarifyTimeoutError?Et.ETIMEDOUT:Et.ECONNABORTED,t,c)),c=null},Ht.hasStandardBrowserEnv){const e=ae(u)&&t.xsrfCookieName&&re.read(t.xsrfCookieName);e&&i.set(t.xsrfHeaderName,e)}void 0===s&&i.setContentType(null),"setRequestHeader"in c&&Tt.forEach(i.toJSON(),(function(t,e){c.setRequestHeader(e,t)})),Tt.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),r&&"json"!==r&&(c.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&c.addEventListener("progress",le(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",le(t.onUploadProgress)),(t.cancelToken||t.signal)&&(o=e=>{c&&(n(!e||e.type?new ie(null,t,c):e),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(o),t.signal&&(t.signal.aborted?o():t.signal.addEventListener("abort",o)));const m=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);m&&-1===Ht.protocols.indexOf(m)?n(new Et("Unsupported protocol "+m+":",Et.ERR_BAD_REQUEST,t)):c.send(s||null)}))},ue={http:null,xhr:ce};Tt.forEach(ue,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}}));const de=t=>`- ${t}`,me=t=>Tt.isFunction(t)||null===t||!1===t,pe=t=>{t=Tt.isArray(t)?t:[t];const{length:e}=t;let n,s;const i={};for(let r=0;r`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new Et("There is no suitable adapter to dispatch the request "+(e?t.length>1?"since :\n"+t.map(de).join("\n"):" "+de(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return s};function fe(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ie(null,t)}function ge(t){return fe(t),t.headers=ee.from(t.headers),t.data=ne.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),pe(t.adapter||Yt.adapter)(t).then((function(e){return fe(t),e.data=ne.call(t,t.transformResponse,e),e.headers=ee.from(e.headers),e}),(function(e){return se(e)||(fe(t),e&&e.response&&(e.response.data=ne.call(t,t.transformResponse,e.response),e.response.headers=ee.from(e.response.headers))),Promise.reject(e)}))}const he=t=>t instanceof ee?t.toJSON():t;function Ae(t,e){e=e||{};const n={};function s(t,e,n){return Tt.isPlainObject(t)&&Tt.isPlainObject(e)?Tt.merge.call({caseless:n},t,e):Tt.isPlainObject(e)?Tt.merge({},e):Tt.isArray(e)?e.slice():e}function i(t,e,n){return Tt.isUndefined(e)?Tt.isUndefined(t)?void 0:s(void 0,t,n):s(t,e,n)}function r(t,e){if(!Tt.isUndefined(e))return s(void 0,e)}function o(t,e){return Tt.isUndefined(e)?Tt.isUndefined(t)?void 0:s(void 0,t):s(void 0,e)}function a(n,i,r){return r in e?s(n,i):r in t?s(void 0,n):void 0}const l={url:r,method:r,data:r,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(t,e)=>i(he(t),he(e),!0)};return Tt.forEach(Object.keys(Object.assign({},t,e)),(function(s){const r=l[s]||i,o=r(t[s],e[s],s);Tt.isUndefined(o)&&r!==a||(n[s]=o)})),n}const we={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{we[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const ye={};we.transitional=function(t,e,n){function s(t,e){return"[Axios v1.6.1] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,i,r)=>{if(!1===t)throw new Et(s(i," has been removed"+(e?" in "+e:"")),Et.ERR_DEPRECATED);return e&&!ye[i]&&(ye[i]=!0,H.warn(s(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,r)}};const ve={assertOptions:function(t,e,n){if("object"!=typeof t)throw new Et("options must be an object",Et.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let i=s.length;for(;i-- >0;){const r=s[i],o=e[r];if(o){const e=t[r],n=void 0===e||o(e,r,t);if(!0!==n)throw new Et("option "+r+" must be "+n,Et.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Et("Unknown option "+r,Et.ERR_BAD_OPTION)}},validators:we},be=ve.validators;let Ce=class{constructor(t){this.defaults=t,this.interceptors={request:new Rt,response:new Rt}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Ae(this.defaults,e);const{transitional:n,paramsSerializer:s,headers:i}=e;void 0!==n&&ve.assertOptions(n,{silentJSONParsing:be.transitional(be.boolean),forcedJSONParsing:be.transitional(be.boolean),clarifyTimeoutError:be.transitional(be.boolean)},!1),null!=s&&(Tt.isFunction(s)?e.paramsSerializer={serialize:s}:ve.assertOptions(s,{encode:be.function,serialize:be.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let r=i&&Tt.merge(i.common,i[e.method]);i&&Tt.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete i[t]})),e.headers=ee.concat(r,i);const o=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));const l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let c,u,d=0;if(!a){const t=[ge.bind(this),void 0];for(t.unshift.apply(t,o),t.push.apply(t,l),u=t.length,c=Promise.resolve(e);d{_e[e]=t}));const Te=_e,Ee=function t(e){const n=new xe(e),s=Z(xe.prototype.request,n);return Tt.extend(s,xe.prototype,n,{allOwnKeys:!0}),Tt.extend(s,n,null,{allOwnKeys:!0}),s.create=function(n){return t(Ae(e,n))},s}(Yt);Ee.Axios=xe,Ee.CanceledError=ie,Ee.CancelToken=class t{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const s=new Promise((t=>{n.subscribe(t),e=t})).then(t);return s.cancel=function(){n.unsubscribe(e)},s},t((function(t,s,i){n.reason||(n.reason=new ie(t,s,i),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let e;return{token:new t((function(t){e=t})),cancel:e}}},Ee.isCancel=se,Ee.VERSION="1.6.1",Ee.toFormData=Ft,Ee.AxiosError=Et,Ee.Cancel=Ee.CanceledError,Ee.all=function(t){return Promise.all(t)},Ee.spread=function(t){return function(e){return t.apply(null,e)}},Ee.isAxiosError=function(t){return Tt.isObject(t)&&!0===t.isAxiosError},Ee.mergeConfig=Ae,Ee.AxiosHeaders=ee,Ee.formToJSON=t=>Zt(Tt.isHTMLForm(t)?new FormData(t):t),Ee.getAdapter=pe,Ee.HttpStatusCode=Te,Ee.default=Ee;const ke=Ee,{Axios:Se,AxiosError:Le,CanceledError:Ne,isCancel:Ie,CancelToken:Pe,VERSION:Fe,all:Oe,Cancel:Be,isAxiosError:De,spread:je,toFormData:Ue,AxiosHeaders:Re,HttpStatusCode:ze,formToJSON:Me,getAdapter:Ve,mergeConfig:$e}=ke,qe=function(t){if(!Number.isInteger(1)&&1!==Number.POSITIVE_INFINITY)throw new TypeError("Expected `concurrency` to be a number from 1 and up");const e=new P.Z;let n=0;const s=async(t,s,i)=>{n++;const r=(async()=>t(...i))();s(r);try{await r}catch{}n--,e.size>0&&e.dequeue()()},i=(t,...i)=>new Promise((r=>{((t,i,r)=>{e.enqueue(F(s.bind(void 0,t,i,r))),(async()=>{await Promise.resolve(),n<1&&e.size>0&&e.dequeue()()})()})(t,r,i)}));return Object.defineProperties(i,{activeCount:{get:()=>n},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}}}),i}(),He=new FileReader,Ze=async function(t,e,n,s=(()=>{}),i=void 0,r={}){let o;return o=e instanceof Blob?e:await e(),i&&(r.Destination=i),r["Content-Type"]||(r["Content-Type"]="application/octet-stream"),await b.Z.request({method:"PUT",url:t,data:o,signal:n,onUploadProgress:s,headers:r})},Ge=function(t,e,n){return qe((()=>new Promise(((s,i)=>{He.onload=()=>{null!==He.result&&s(new Blob([He.result],{type:"application/octet-stream"})),i(new Error("Error while reading the file"))},He.readAsArrayBuffer(t.slice(e,e+n))}))))},Ye=function(t=void 0){const e=window.OC?.appConfig?.files?.max_chunk_size;if(e<=0)return 0;if(!Number(e))return 10485760;const n=Math.max(Number(e),5242880);return void 0===t?n:Math.max(n,Math.ceil(t/1e4))};var We=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.UPLOADING=1]="UPLOADING",t[t.ASSEMBLING=2]="ASSEMBLING",t[t.FINISHED=3]="FINISHED",t[t.CANCELLED=4]="CANCELLED",t[t.FAILED=5]="FAILED",t))(We||{});let Ke=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(t,e=!1,n,s){const i=Math.min(Ye()>0?Math.ceil(n/Ye()):1,1e4);this._source=t,this._isChunked=e&&Ye()>0&&i>1,this._chunks=this._isChunked?i:1,this._size=n,this._file=s,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(t){this._response=t}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(t){if(t>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=t,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(t){this._status=t}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const Je=(t=>null===t?(0,O.IY)().setApp("uploader").build():(0,O.IY)().setApp("uploader").setUid(t.uid).build())((0,v.ts)());var Qe=(t=>(t[t.IDLE=0]="IDLE",t[t.UPLOADING=1]="UPLOADING",t[t.PAUSED=2]="PAUSED",t))(Qe||{});class Xe{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new I({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(t=!1,e){if(this._isPublic=t,!e){const t=(0,v.ts)()?.uid,n=(0,y.generateRemoteUrl)(`dav/files/${t}`);if(!t)throw new Error("User is not logged in");e=new w.gt({id:0,owner:t,permissions:w.y3.ALL,root:`/files/${t}`,source:n})}this.destination=e,Je.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:t,maxChunksSize:Ye()})}get destination(){return this._destinationFolder}set destination(t){if(!t)throw new Error("Invalid destination folder");this._destinationFolder=t}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const t=this._uploadQueue.map((t=>t.size)).reduce(((t,e)=>t+e),0),e=this._uploadQueue.map((t=>t.uploaded)).reduce(((t,e)=>t+e),0);this._queueSize=t,this._queueProgress=e,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(t){this._notifiers.push(t)}upload(t,e){const n=`${this.root}/${t.replace(/^\//,"")}`,{origin:s}=new URL(n),i=s+(0,A.Ec)(n.slice(s.length));Je.debug(`Uploading ${e.name} to ${i}`);const r=Ye(e.size),o=0===r||e.size{if(s(a.cancel),o){Je.debug("Initializing regular upload",{file:e,upload:a});const s=await Ge(e,0,a.size),r=async()=>{try{a.response=await Ze(i,s,a.signal,(()=>this.updateStats()),void 0,{"X-OC-Mtime":e.lastModified/1e3,"Content-Type":e.type}),a.uploaded=a.size,this.updateStats(),Je.debug(`Successfully uploaded ${e.name}`,{file:e,upload:a}),t(a)}catch(t){if(t instanceof Ne)return a.status=We.FAILED,void n("Upload has been cancelled");t?.response&&(a.response=t.response),a.status=We.FAILED,Je.error(`Failed uploading ${e.name}`,{error:t,file:e,upload:a}),n("Failed uploading the file")}this._notifiers.forEach((t=>{try{t(a)}catch{}}))};this._jobQueue.add(r),this.updateStats()}else{Je.debug("Initializing chunked upload",{file:e,upload:a});const s=await async function(t){const e=`${(0,y.generateRemoteUrl)(`dav/uploads/${(0,v.ts)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,n=t?{Destination:t}:void 0;return await b.Z.request({method:"MKCOL",url:e,headers:n}),e}(i),o=[];for(let t=0;tGe(e,n,r),u=()=>Ze(`${s}/${t+1}`,c,a.signal,(()=>this.updateStats()),i,{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,"Content-Type":"application/octet-stream"}).then((()=>{a.uploaded=a.uploaded+r})).catch((e=>{throw e instanceof Ne||(Je.error(`Chunk ${t+1} ${n} - ${l} uploading failed`),a.status=We.FAILED),e}));o.push(this._jobQueue.add(u))}try{await Promise.all(o),this.updateStats(),a.response=await b.Z.request({method:"MOVE",url:`${s}/.file`,headers:{Destination:i}}),this.updateStats(),a.status=We.FINISHED,Je.debug(`Successfully uploaded ${e.name}`,{file:e,upload:a}),t(a)}catch(t){t instanceof Ne?(a.status=We.FAILED,n("Upload has been cancelled")):(a.status=We.FAILED,n("Failed assembling the chunks together")),b.Z.request({method:"DELETE",url:`${s}`})}this._notifiers.forEach((t=>{try{t(a)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),a}))}}function tn(t,e,n,s,i,r,o,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),s&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),o?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}const en=tn({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,nn=tn({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,sn=tn({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,rn=(0,$.H)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2023","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAli , 2023\n"},msgstr:["Last-Translator: Ali , 2023\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2023","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nPavel Borecki , 2023\n"},msgstr:["Last-Translator: Pavel Borecki , 2023\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Jens Peter Nielsen , 2023","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSimon T, 2023\nJens Peter Nielsen , 2023\n"},msgstr:["Last-Translator: Jens Peter Nielsen , 2023\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2023","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMarkus Eckstein, 2023\nMario Siegmann , 2023\n"},msgstr:["Last-Translator: Mario Siegmann , 2023\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung ist unbekannt."]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2023","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMark Ziegler , 2023\nMario Siegmann , 2023\n"},msgstr:["Last-Translator: Mario Siegmann , 2023\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Next Cloud , 2023","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\n"},msgstr:["Last-Translator: Next Cloud , 2023\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimación del tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"John Molakvoæ , 2023","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJean-Claude Richard , 2023\nClément Saccoccio, 2023\nJohn Molakvoæ , 2023\n"},msgstr:["Last-Translator: John Molakvoæ , 2023\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, un nombre sera postfixé au nom du fichier."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de dernière modification inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Image d'aperçu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envoi annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléverser des fichiers"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2022","Language-Team":"Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBrandon Han, 2022\n"},msgstr:["Last-Translator: Brandon Han, 2022\nLanguage-Team: Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},Add:{msgid:"Add",msgstr:["추가"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산중"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Ari Selseng , 2022","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAri Selseng , 2022\n"},msgstr:["Last-Translator: Ari Selseng , 2022\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},Add:{msgid:"Add",msgstr:["Legg til"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},paused:{msgid:"paused",msgstr:["pauset"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"M H , 2023","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\n"},msgstr:["Last-Translator: M H , 2023\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Flávio Veras , 2022","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLeonardo Colman , 2022\nJeann Cavalcante , 2022\nFlávio Veras , 2022\n"},msgstr:["Last-Translator: Flávio Veras , 2022\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2023","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMagnus Höglund, 2023\n"},msgstr:["Last-Translator: Magnus Höglund, 2023\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2023","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nKaya Zeren , 2023\n"},msgstr:["Last-Translator: Kaya Zeren , 2023\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2023","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMehi Loki, 2023\nO St , 2023\n"},msgstr:["Last-Translator: O St , 2023\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, буде створено копію файлу до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати всі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Виберіть усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажте файли"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"blakduk, 2023","Language-Team":"Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nblakduk, 2023\n"},msgstr:["Last-Translator: blakduk, 2023\nLanguage-Team: Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},Add:{msgid:"Add",msgstr:["Thêm"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2023","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\n黃柏諺 , 2023\n"},msgstr:["Last-Translator: 黃柏諺 , 2023\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["新增"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((t=>rn.addTranslation(t.locale,t.json)));const on=rn.build(),an=on.ngettext.bind(on),ln=on.gettext.bind(on),cn=j.ZP.extend({name:"UploadPicker",components:{Cancel:en,NcActionButton:U.Z,NcActions:R.Z,NcButton:z.Z,NcIconSvgWrapper:M.Z,NcProgressBar:V.Z,Plus:nn,Upload:sn},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:w.gt,default:void 0},content:{type:Array,default:()=>[]}},data:()=>({addLabel:ln("New"),cancelLabel:ln("Cancel uploads"),uploadLabel:ln("Upload files"),progressLabel:ln("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:mn()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((t=>t.status===We.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((t=>t.status===We.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===Qe.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(t){this.setDestination(t)},totalQueueSize(t){this.eta=D({min:0,max:t}),this.updateStatus()},uploadedQueueSize(t){this.eta?.report?.(t),this.updateStatus()},isPaused(t){t?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),Je.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let t=[...this.$refs.input.files];if(function(t,e){const n=e.map((t=>t.basename));return t.filter((t=>{const e=t instanceof File?t.name:t.basename;return-1!==n.indexOf(e)})).length>0}(t,this.content)){const e=t.filter((t=>this.content.find((e=>e.basename===t.name)))).filter(Boolean),s=t.filter((t=>!e.includes(t)));try{const{selected:i,renamed:r}=await async function(t,e,s){const{default:i}=await n.e(3338).then(n.bind(n,83338));return new Promise(((n,r)=>{const o=new i({propsData:{dirname:t,conflicts:e,content:s}});o.$on("submit",(t=>{n(t),o.$destroy(),o.$el?.parentNode?.removeChild(o.$el)})),o.$on("cancel",(t=>{r(t??new Error("Canceled")),o.$destroy(),o.$el?.parentNode?.removeChild(o.$el)})),o.$mount(),document.body.appendChild(o.$el)}))}(this.destination.basename,e,this.content);t=[...s,...i,...r]}catch{return void(0,B.x2)(ln("Upload cancelled"))}}t.forEach((t=>{this.uploadManager.upload(t.name,t).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((t=>{t.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=ln("paused"));const t=Math.round(this.eta.estimate());if(t!==1/0)if(t<10)this.timeLeft=ln("a few seconds left");else if(t>60){const e=new Date(0);e.setSeconds(t);const n=e.toISOString().slice(11,19);this.timeLeft=ln("{time} left",{time:n})}else this.timeLeft=ln("{seconds} seconds left",{seconds:t});else this.timeLeft=ln("estimating time left")},setDestination(t){this.destination?(Je.debug("Destination set",{destination:t}),this.uploadManager.destination=t,this.newFileMenuEntries=(0,w.Ir)(t)):Je.debug("Invalid destination")},onUploadCompletion(t){t.status===We.FAILED?this.$emit("failed",t):this.$emit("uploaded",t)}}}),un=tn(cn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.destination?e("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":t.isUploading,"upload-picker--paused":t.isPaused},attrs:{"data-cy-upload-picker":""}},[t.newFileMenuEntries&&0===t.newFileMenuEntries.length?e("NcButton",{attrs:{disabled:t.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[t._v(" "+t._s(t.buttonName)+" ")]):e("NcActions",{attrs:{"menu-name":t.buttonName,"menu-title":t.addLabel,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[t._v(" "+t._s(t.uploadLabel)+" ")]),t._l(t.newFileMenuEntries,(function(n){return e("NcActionButton",{key:n.id,staticClass:"upload-picker__menu-entry",attrs:{icon:n.iconClass,"close-after-click":!0},on:{click:function(e){return n.handler(t.destination,t.content)}},scopedSlots:t._u([n.iconSvgInline?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(n.displayName)+" ")])}))],2),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[e("NcProgressBar",{attrs:{"aria-label":t.progressLabel,"aria-describedby":t.progressTimeId,error:t.hasFailure,value:t.progress,size:"medium"}}),e("p",{attrs:{id:t.progressTimeId}},[t._v(t._s(t.timeLeft))])],1),t.isUploading?e("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":t.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:t.onCancel},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):t._e(),e("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:t.accept?.join?.(", "),multiple:t.multiple,"data-cy-upload-picker-input":""},on:{change:t.onPick}})],1):t._e()}),[],!1,null,"af4c69fa",null,null).exports;let dn=null;function mn(){const t=null!==document.querySelector('input[name="isPublic"][value="1"]');return dn instanceof Xe||(dn=new Xe(t)),dn}}},r={};function o(t){var e=r[t];if(void 0!==e)return e.exports;var n=r[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}o.m=i,e=[],o.O=(t,n,s,i)=>{if(!n){var r=1/0;for(u=0;u=i)&&Object.keys(o.O).every((t=>o.O[t](n[l])))?n.splice(l--,1):(a=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,s,i]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,n)=>(o.f[n](t,e),e)),[])),o.u=t=>t+"-"+t+".js?v="+{3338:"efaa31bdda1e5637e85a",4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},s="nextcloud:",o.l=(t,e,i,r)=>{if(n[t])n[t].push(e);else{var a,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((t=>t(s))),e)return e(s)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=m.bind(null,a.onerror),a.onload=m.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=2181,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&!t;)t=n[s--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={2181:0};o.f.j=(e,n)=>{var s=o.o(t,e)?t[e]:void 0;if(0!==s)if(s)n.push(s[2]);else{var i=new Promise(((n,i)=>s=t[e]=[n,i]));n.push(s[2]=i);var r=o.p+o.u(e),a=new Error;o.l(r,(n=>{if(o.o(t,e)&&(0!==(s=t[e])&&(t[e]=void 0),s)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,s[1](a)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,n)=>{var s,i,r=n[0],a=n[1],l=n[2],c=0;if(r.some((e=>0!==t[e]))){for(s in a)o.o(a,s)&&(o.m[s]=a[s]);if(l)var u=l(o)}for(e&&e(n);co(81907)));a=o.O(a)})(); -//# sourceMappingURL=files-main.js.map?v=fdc7265ae3a549f3b788 \ No newline at end of file +(()=>{var e,n,s,i={51772:t=>{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function s(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,s,r,o){if("function"!=typeof s)throw new TypeError("The listener must be a function");var a=new i(s,r||t,o),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new s:delete t._events[e]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,s,i=[];if(0===this._eventsCount)return i;for(s in t=this._events)e.call(t,s)&&i.push(n?s.slice(1):s);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=n?n+t:t,s=this._events[e];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,r=s.length,o=new Array(r);i{"use strict";var i={};s.r(i),s.d(i,{exclude:()=>Ft,extract:()=>kt,parse:()=>St,parseUrl:()=>Nt,pick:()=>Pt,stringify:()=>Lt,stringifyUrl:()=>It});var r=s(20144),o=!0;function a(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:void 0!==s.g?s.g:{}}r.ZP.util.warn;const l="function"==typeof Proxy,c="devtools-plugin:setup";let u,d;class m{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const e in t.settings){const s=t.settings[e];n[e]=s.defaultValue}const i=`__vue-devtools-plugin-settings__${t.id}`;let r=Object.assign({},n);try{const t=localStorage.getItem(i),e=JSON.parse(t);Object.assign(r,e)}catch(t){}this.fallbacks={getSettings:()=>r,setSettings(t){try{localStorage.setItem(i,JSON.stringify(t))}catch(t){}r=t},now:()=>{return void 0!==u||("undefined"!=typeof window&&window.performance?(u=!0,d=window.performance):void 0!==s.g&&(null===(t=s.g.perf_hooks)||void 0===t?void 0:t.performance)?(u=!0,d=s.g.perf_hooks.performance):u=!1),u?d.now():Date.now();var t}},e&&e.on("plugin:settings:set",((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const t of this.targetQueue)t.resolve(await this.target[t.method](...t.args))}}function p(t,e){const n=t,s=a(),i=a().__VUE_DEVTOOLS_GLOBAL_HOOK__,r=l&&n.enableEarlyProxy;if(!i||!s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&r){const t=r?new m(n,i):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(c,t,e)}var f=s(25108);let g;const h=t=>g=t,A=Symbol();function w(t){return t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!=typeof t.toJSON}var y;!function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"}(y||(y={}));const v="undefined"!=typeof window,b="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&v,C=(()=>"object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:"object"==typeof globalThis?globalThis:{HTMLElement:null})();function x(t,e,n){const s=new XMLHttpRequest;s.open("GET",t),s.responseType="blob",s.onload=function(){S(s.response,e,n)},s.onerror=function(){f.error("could not download file")},s.send()}function _(t){const e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function T(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(e){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(n)}}const E="object"==typeof navigator?navigator:{userAgent:""},k=(()=>/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent))(),S=v?"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!k?function(t,e="download",n){const s=document.createElement("a");s.download=e,s.rel="noopener","string"==typeof t?(s.href=t,s.origin!==location.origin?_(s.href)?x(t,e,n):(s.target="_blank",T(s)):T(s)):(s.href=URL.createObjectURL(t),setTimeout((function(){URL.revokeObjectURL(s.href)}),4e4),setTimeout((function(){T(s)}),0))}:"msSaveOrOpenBlob"in E?function(t,e="download",n){if("string"==typeof t)if(_(t))x(t,e,n);else{const e=document.createElement("a");e.href=t,e.target="_blank",setTimeout((function(){T(e)}))}else navigator.msSaveOrOpenBlob(function(t,{autoBom:e=!1}={}){return e&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,n),e)}:function(t,e,n,s){if((s=s||open("","_blank"))&&(s.document.title=s.document.body.innerText="downloading..."),"string"==typeof t)return x(t,e,n);const i="application/octet-stream"===t.type,r=/constructor/i.test(String(C.HTMLElement))||"safari"in C,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&r||k)&&"undefined"!=typeof FileReader){const e=new FileReader;e.onloadend=function(){let t=e.result;if("string"!=typeof t)throw s=null,new Error("Wrong reader.result type");t=o?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=t:location.assign(t),s=null},e.readAsDataURL(t)}else{const e=URL.createObjectURL(t);s?s.location.assign(e):location.href=e,s=null,setTimeout((function(){URL.revokeObjectURL(e)}),4e4)}}:()=>{};function L(t,e){const n="🍍 "+t;"function"==typeof __VUE_DEVTOOLS_TOAST__?__VUE_DEVTOOLS_TOAST__(n,e):"error"===e?f.error(n):"warn"===e?f.warn(n):f.log(n)}function N(t){return"_a"in t&&"install"in t}function I(){if(!("clipboard"in navigator))return L("Your browser doesn't support the Clipboard API","error"),!0}function P(t){return!!(t instanceof Error&&t.message.toLowerCase().includes("document is not focused"))&&(L('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0)}let F;function O(t,e){for(const n in e){const s=t.state.value[n];s?Object.assign(s,e[n]):t.state.value[n]=e[n]}}function B(t){return{_custom:{display:t}}}const D="🍍 Pinia (root)",j="_root";function U(t){return N(t)?{id:j,label:D}:{id:t.$id,label:t.$id}}function R(t){return t?Array.isArray(t)?t.reduce(((t,e)=>(t.keys.push(e.key),t.operations.push(e.type),t.oldValue[e.key]=e.oldValue,t.newValue[e.key]=e.newValue,t)),{oldValue:{},keys:[],operations:[],newValue:{}}):{operation:B(t.type),key:B(t.key),oldValue:t.oldValue,newValue:t.newValue}:{}}function z(t){switch(t){case y.direct:return"mutation";case y.patchFunction:case y.patchObject:return"$patch";default:return"unknown"}}let M=!0;const V=[],$="pinia:mutations",q="pinia",{assign:H}=Object,Z=t=>"🍍 "+t;function G(t,e){p({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:V,app:t},(n=>{"function"!=typeof n.now&&L("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),n.addTimelineLayer({id:$,label:"Pinia 🍍",color:15064968}),n.addInspector({id:q,label:"Pinia 🍍",icon:"storage",treeFilterPlaceholder:"Search stores",actions:[{icon:"content_copy",action:()=>{!async function(t){if(!I())try{await navigator.clipboard.writeText(JSON.stringify(t.state.value)),L("Global state copied to clipboard.")}catch(t){if(P(t))return;L("Failed to serialize the state. Check the console for more details.","error"),f.error(t)}}(e)},tooltip:"Serialize and copy the state"},{icon:"content_paste",action:async()=>{await async function(t){if(!I())try{O(t,JSON.parse(await navigator.clipboard.readText())),L("Global state pasted from clipboard.")}catch(t){if(P(t))return;L("Failed to deserialize the state from clipboard. Check the console for more details.","error"),f.error(t)}}(e),n.sendInspectorTree(q),n.sendInspectorState(q)},tooltip:"Replace the state with the content of your clipboard"},{icon:"save",action:()=>{!async function(t){try{S(new Blob([JSON.stringify(t.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(t){L("Failed to export the state as JSON. Check the console for more details.","error"),f.error(t)}}(e)},tooltip:"Save the state as a JSON file"},{icon:"folder_open",action:async()=>{await async function(t){try{const e=(F||(F=document.createElement("input"),F.type="file",F.accept=".json"),function(){return new Promise(((t,e)=>{F.onchange=async()=>{const e=F.files;if(!e)return t(null);const n=e.item(0);return t(n?{text:await n.text(),file:n}:null)},F.oncancel=()=>t(null),F.onerror=e,F.click()}))}),n=await e();if(!n)return;const{text:s,file:i}=n;O(t,JSON.parse(s)),L(`Global state imported from "${i.name}".`)}catch(t){L("Failed to import the state from JSON. Check the console for more details.","error"),f.error(t)}}(e),n.sendInspectorTree(q),n.sendInspectorState(q)},tooltip:"Import the state from a JSON file"}],nodeActions:[{icon:"restore",tooltip:'Reset the state (with "$reset")',action:t=>{const n=e._s.get(t);n?"function"!=typeof n.$reset?L(`Cannot reset "${t}" store because it doesn't have a "$reset" method implemented.`,"warn"):(n.$reset(),L(`Store "${t}" reset.`)):L(`Cannot reset "${t}" store because it wasn't found.`,"warn")}}]}),n.on.inspectComponent(((t,e)=>{const n=t.componentInstance&&t.componentInstance.proxy;if(n&&n._pStores){const e=t.componentInstance.proxy._pStores;Object.values(e).forEach((e=>{t.instanceData.state.push({type:Z(e.$id),key:"state",editable:!0,value:e._isOptionsAPI?{_custom:{value:(0,r.IU)(e.$state),actions:[{icon:"restore",tooltip:"Reset the state of this store",action:()=>e.$reset()}]}}:Object.keys(e.$state).reduce(((t,n)=>(t[n]=e.$state[n],t)),{})}),e._getters&&e._getters.length&&t.instanceData.state.push({type:Z(e.$id),key:"getters",editable:!1,value:e._getters.reduce(((t,n)=>{try{t[n]=e[n]}catch(e){t[n]=e}return t}),{})})}))}})),n.on.getInspectorTree((n=>{if(n.app===t&&n.inspectorId===q){let t=[e];t=t.concat(Array.from(e._s.values())),n.rootNodes=(n.filter?t.filter((t=>"$id"in t?t.$id.toLowerCase().includes(n.filter.toLowerCase()):D.toLowerCase().includes(n.filter.toLowerCase()))):t).map(U)}})),n.on.getInspectorState((n=>{if(n.app===t&&n.inspectorId===q){const t=n.nodeId===j?e:e._s.get(n.nodeId);if(!t)return;t&&(n.state=function(t){if(N(t)){const e=Array.from(t._s.keys()),n=t._s,s={state:e.map((e=>({editable:!0,key:e,value:t.state.value[e]}))),getters:e.filter((t=>n.get(t)._getters)).map((t=>{const e=n.get(t);return{editable:!1,key:t,value:e._getters.reduce(((t,n)=>(t[n]=e[n],t)),{})}}))};return s}const e={state:Object.keys(t.$state).map((e=>({editable:!0,key:e,value:t.$state[e]})))};return t._getters&&t._getters.length&&(e.getters=t._getters.map((e=>({editable:!1,key:e,value:t[e]})))),t._customProperties.size&&(e.customProperties=Array.from(t._customProperties).map((e=>({editable:!0,key:e,value:t[e]})))),e}(t))}})),n.on.editInspectorState(((n,s)=>{if(n.app===t&&n.inspectorId===q){const t=n.nodeId===j?e:e._s.get(n.nodeId);if(!t)return L(`store "${n.nodeId}" not found`,"error");const{path:s}=n;N(t)?s.unshift("state"):1===s.length&&t._customProperties.has(s[0])&&!(s[0]in t.$state)||s.unshift("$state"),M=!1,n.set(t,s,n.state.value),M=!0}})),n.on.editComponentState((t=>{if(t.type.startsWith("🍍")){const n=t.type.replace(/^🍍\s*/,""),s=e._s.get(n);if(!s)return L(`store "${n}" not found`,"error");const{path:i}=t;if("state"!==i[0])return L(`Invalid path for store "${n}":\n${i}\nOnly state can be modified.`);i[0]="$state",M=!1,t.set(s,i,t.state.value),M=!0}}))}))}let Y,W=0;function K(t,e,n){const s=e.reduce(((e,n)=>(e[n]=(0,r.IU)(t)[n],e)),{});for(const e in s)t[e]=function(){const i=W,r=n?new Proxy(t,{get:(...t)=>(Y=i,Reflect.get(...t)),set:(...t)=>(Y=i,Reflect.set(...t))}):t;Y=i;const o=s[e].apply(r,arguments);return Y=void 0,o}}function J({app:t,store:e,options:n}){if(e.$id.startsWith("__hot:"))return;e._isOptionsAPI=!!n.state,K(e,Object.keys(n.actions),e._isOptionsAPI);const s=e._hotUpdate;(0,r.IU)(e)._hotUpdate=function(t){s.apply(this,arguments),K(e,Object.keys(t._hmrPayload.actions),!!e._isOptionsAPI)},function(t,e){V.includes(Z(e.$id))||V.push(Z(e.$id)),p({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:V,app:t,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},(t=>{const n="function"==typeof t.now?t.now.bind(t):Date.now;e.$onAction((({after:s,onError:i,name:r,args:o})=>{const a=W++;t.addTimelineEvent({layerId:$,event:{time:n(),title:"🛫 "+r,subtitle:"start",data:{store:B(e.$id),action:B(r),args:o},groupId:a}}),s((s=>{Y=void 0,t.addTimelineEvent({layerId:$,event:{time:n(),title:"🛬 "+r,subtitle:"end",data:{store:B(e.$id),action:B(r),args:o,result:s},groupId:a}})})),i((s=>{Y=void 0,t.addTimelineEvent({layerId:$,event:{time:n(),logType:"error",title:"💥 "+r,subtitle:"end",data:{store:B(e.$id),action:B(r),args:o,error:s},groupId:a}})}))}),!0),e._customProperties.forEach((s=>{(0,r.YP)((()=>(0,r.SU)(e[s])),((e,i)=>{t.notifyComponentUpdate(),t.sendInspectorState(q),M&&t.addTimelineEvent({layerId:$,event:{time:n(),title:"Change",subtitle:s,data:{newValue:e,oldValue:i},groupId:Y}})}),{deep:!0})})),e.$subscribe((({events:s,type:i},r)=>{if(t.notifyComponentUpdate(),t.sendInspectorState(q),!M)return;const o={time:n(),title:z(i),data:H({store:B(e.$id)},R(s)),groupId:Y};i===y.patchFunction?o.subtitle="⤵️":i===y.patchObject?o.subtitle="🧩":s&&!Array.isArray(s)&&(o.subtitle=s.type),s&&(o.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:s}}),t.addTimelineEvent({layerId:$,event:o})}),{detached:!0,flush:"sync"});const s=e._hotUpdate;e._hotUpdate=(0,r.Xl)((i=>{s(i),t.addTimelineEvent({layerId:$,event:{time:n(),title:"🔥 "+e.$id,subtitle:"HMR update",data:{store:B(e.$id),info:B("HMR update")}}}),t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q)}));const{$dispose:i}=e;e.$dispose=()=>{i(),t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q),t.getSettings().logStoreChanges&&L(`Disposed "${e.$id}" store 🗑`)},t.notifyComponentUpdate(),t.sendInspectorTree(q),t.sendInspectorState(q),t.getSettings().logStoreChanges&&L(`"${e.$id}" store installed 🆕`)}))}(t,e)}const Q=()=>{};function X(t,e,n,s=Q){t.push(e);const i=()=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),s())};return!n&&(0,r.nZ)()&&(0,r.EB)(i),i}function tt(t,...e){t.slice().forEach((t=>{t(...e)}))}const et=t=>t();function nt(t,e){t instanceof Map&&e instanceof Map&&e.forEach(((e,n)=>t.set(n,e))),t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const s=e[n],i=t[n];w(i)&&w(s)&&t.hasOwnProperty(n)&&!(0,r.dq)(s)&&!(0,r.PG)(s)?t[n]=nt(i,s):t[n]=s}return t}const st=Symbol(),it=new WeakMap,{assign:rt}=Object;function ot(t,e,n={},s,i,a){let l;const c=rt({actions:{}},n),u={deep:!0};let d,m,p,f=[],g=[];const A=s.state.value[t];a||A||(o?(0,r.t8)(s.state.value,t,{}):s.state.value[t]={});const v=(0,r.iH)({});let C;function x(e){let n;d=m=!1,"function"==typeof e?(e(s.state.value[t]),n={type:y.patchFunction,storeId:t,events:p}):(nt(s.state.value[t],e),n={type:y.patchObject,payload:e,storeId:t,events:p});const i=C=Symbol();(0,r.Y3)().then((()=>{C===i&&(d=!0)})),m=!0,tt(f,n,s.state.value[t])}const _=a?function(){const{state:t}=n,e=t?t():{};this.$patch((t=>{rt(t,e)}))}:Q;function T(e,n){return function(){h(s);const i=Array.from(arguments),r=[],o=[];let a;tt(g,{args:i,name:e,store:S,after:function(t){r.push(t)},onError:function(t){o.push(t)}});try{a=n.apply(this&&this.$id===t?this:S,i)}catch(t){throw tt(o,t),t}return a instanceof Promise?a.then((t=>(tt(r,t),t))).catch((t=>(tt(o,t),Promise.reject(t)))):(tt(r,a),a)}}const E=(0,r.Xl)({actions:{},getters:{},state:[],hotState:v}),k={_p:s,$id:t,$onAction:X.bind(null,g),$patch:x,$reset:_,$subscribe(e,n={}){const i=X(f,e,n.detached,(()=>o())),o=l.run((()=>(0,r.YP)((()=>s.state.value[t]),(s=>{("sync"===n.flush?m:d)&&e({storeId:t,type:y.direct,events:p},s)}),rt({},u,n))));return i},$dispose:function(){l.stop(),f=[],g=[],s._s.delete(t)}};o&&(k._r=!1);const S=(0,r.qj)(b?rt({_hmrPayload:E,_customProperties:(0,r.Xl)(new Set)},k):k);s._s.set(t,S);const L=(s._a&&s._a.runWithContext||et)((()=>s._e.run((()=>(l=(0,r.B)()).run(e)))));for(const e in L){const n=L[e];if((0,r.dq)(n)&&(I=n,!(0,r.dq)(I)||!I.effect)||(0,r.PG)(n))a||(!A||(N=n,o?it.has(N):w(N)&&N.hasOwnProperty(st))||((0,r.dq)(n)?n.value=A[e]:nt(n,A[e])),o?(0,r.t8)(s.state.value[t],e,n):s.state.value[t][e]=n);else if("function"==typeof n){const t=T(e,n);o?(0,r.t8)(L,e,t):L[e]=t,c.actions[e]=n}}var N,I;if(o?Object.keys(L).forEach((t=>{(0,r.t8)(S,t,L[t])})):(rt(S,L),rt((0,r.IU)(S),L)),Object.defineProperty(S,"$state",{get:()=>s.state.value[t],set:t=>{x((e=>{rt(e,t)}))}}),b){const t={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((e=>{Object.defineProperty(S,e,rt({value:S[e]},t))}))}return o&&(S._r=!0),s._p.forEach((t=>{if(b){const e=l.run((()=>t({store:S,app:s._a,pinia:s,options:c})));Object.keys(e||{}).forEach((t=>S._customProperties.add(t))),rt(S,e)}else rt(S,l.run((()=>t({store:S,app:s._a,pinia:s,options:c}))))})),A&&a&&n.hydrate&&n.hydrate(S.$state,A),d=!0,m=!0,S}function at(t,e,n){let s,i;const a="function"==typeof e;function l(t,n){const l=!!(0,r.FN)();return(t=t||(l?(0,r.f3)(A,null):null))&&h(t),(t=g)._s.has(s)||(a?ot(s,e,i,t):function(t,e,n,s){const{state:i,actions:a,getters:l}=e,c=n.state.value[t];let u;u=ot(t,(function(){c||(o?(0,r.t8)(n.state.value,t,i?i():{}):n.state.value[t]=i?i():{});const e=(0,r.BK)(n.state.value[t]);return rt(e,a,Object.keys(l||{}).reduce(((e,s)=>(e[s]=(0,r.Xl)((0,r.Fl)((()=>{h(n);const e=n._s.get(t);if(!o||e._r)return l[s].call(e,e)}))),e)),{}))}),e,n,0,!0)}(s,i,t)),t._s.get(s)}return"string"==typeof t?(s=t,i=a?n:e):(i=t,s=t.id),l.$id=s,l}var lt=s(5656),ct=s(77958),ut=s(79753);const dt="%[a-f0-9]{2}",mt=new RegExp("("+dt+")|([^%]+?)","gi"),pt=new RegExp("("+dt+")+","gi");function ft(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),s=t.slice(e);return Array.prototype.concat.call([],ft(n),ft(s))}function gt(t){try{return decodeURIComponent(t)}catch{let e=t.match(mt)||[];for(let n=1;nnull==t,yt=t=>encodeURIComponent(t).replace(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),vt=Symbol("encodeFragmentIdentifier");function bt(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function Ct(t,e){return e.encode?e.strict?yt(t):encodeURIComponent(t):t}function xt(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=pt.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=gt(n[0]);t!==n[0]&&(e[n[0]]=t)}n=pt.exec(t)}e["%C2"]="�";const s=Object.keys(e);for(const n of s)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function _t(t){return Array.isArray(t)?t.sort():"object"==typeof t?_t(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function Tt(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function Et(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function kt(t){const e=(t=Tt(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function St(t,e){bt((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,s)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===s[t]&&(s[t]={}),s[t][e[1]]=n):s[t]=n};case"bracket":return(t,n,s)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"colon-list-separator":return(t,n,s)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"comma":case"separator":return(e,n,s)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),r="string"==typeof n&&!i&&xt(n,t).includes(t.arrayFormatSeparator);n=r?xt(n,t):n;const o=i||r?n.split(t.arrayFormatSeparator).map((e=>xt(e,t))):null===n?n:xt(n,t);s[e]=o};case"bracket-separator":return(e,n,s)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(s[e]=n?xt(n,t):n);const r=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>xt(e,t)));void 0!==s[e]?s[e]=[...s[e],...r]:s[e]=r};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),s=Object.create(null);if("string"!=typeof t)return s;if(!(t=t.trim().replace(/^[?#&]/,"")))return s;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replace(/\+/g," "):i;let[r,o]=ht(t,"=");void 0===r&&(r=t),o=void 0===o?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?o:xt(o,e),n(xt(r,e),o,s)}for(const[t,n]of Object.entries(s))if("object"==typeof n&&null!==n)for(const[t,s]of Object.entries(n))n[t]=Et(s,e);else s[t]=Et(n,e);return!1===e.sort?s:(!0===e.sort?Object.keys(s).sort():Object.keys(s).sort(e.sort)).reduce(((t,e)=>{const n=s[e];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?t[e]=_t(n):t[e]=n,t}),Object.create(null))}function Lt(t,e){if(!t)return"";bt((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&wt(t[n])||e.skipEmptyString&&""===t[n],s=function(t){switch(t.arrayFormat){case"index":return e=>(n,s)=>{const i=n.length;return void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),"[",i,"]"].join("")]:[...n,[Ct(e,t),"[",Ct(i,t),"]=",Ct(s,t)].join("")]};case"bracket":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),"[]"].join("")]:[...n,[Ct(e,t),"[]=",Ct(s,t)].join("")];case"colon-list-separator":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[Ct(e,t),":list="].join("")]:[...n,[Ct(e,t),":list=",Ct(s,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(s,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?s:(i=null===i?"":i,0===s.length?[[Ct(n,t),e,Ct(i,t)].join("")]:[[s,Ct(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,Ct(e,t)]:[...n,[Ct(e,t),"=",Ct(s,t)].join("")]}}(e),i={};for(const[e,s]of Object.entries(t))n(e)||(i[e]=s);const r=Object.keys(i);return!1!==e.sort&&r.sort(e.sort),r.map((n=>{const i=t[n];return void 0===i?"":null===i?Ct(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?Ct(n,e)+"[]":i.reduce(s(n),[]).join("&"):Ct(n,e)+"="+Ct(i,e)})).filter((t=>t.length>0)).join("&")}function Nt(t,e){e={decode:!0,...e};let[n,s]=ht(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:St(kt(t),e),...e&&e.parseFragmentIdentifier&&s?{fragmentIdentifier:xt(s,e)}:{}}}function It(t,e){e={encode:!0,strict:!0,[vt]:!0,...e};const n=Tt(t.url).split("?")[0]||"";let s=Lt({...St(kt(t.url),{sort:!1}),...t.query},e);s&&(s=`?${s}`);let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if(t.fragmentIdentifier){const s=new URL(n);s.hash=t.fragmentIdentifier,i=e[vt]?s.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${i}`}function Pt(t,e,n){n={parseFragmentIdentifier:!0,[vt]:!1,...n};const{url:s,query:i,fragmentIdentifier:r}=Nt(t,n);return It({url:s,query:At(i,e),fragmentIdentifier:r},n)}function Ft(t,e,n){return Pt(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}const Ot=i;var Bt=s(25108);function Dt(t,e){for(var n in e)t[n]=e[n];return t}var jt=/[!'()*]/g,Ut=function(t){return"%"+t.charCodeAt(0).toString(16)},Rt=/%2C/g,zt=function(t){return encodeURIComponent(t).replace(jt,Ut).replace(Rt,",")};function Mt(t){try{return decodeURIComponent(t)}catch(t){}return t}var Vt=function(t){return null==t||"object"==typeof t?t:String(t)};function $t(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),s=Mt(n.shift()),i=n.length>0?Mt(n.join("=")):null;void 0===e[s]?e[s]=i:Array.isArray(e[s])?e[s].push(i):e[s]=[e[s],i]})),e):e}function qt(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return zt(e);if(Array.isArray(n)){var s=[];return n.forEach((function(t){void 0!==t&&(null===t?s.push(zt(e)):s.push(zt(e)+"="+zt(t)))})),s.join("&")}return zt(e)+"="+zt(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var Ht=/\/?$/;function Zt(t,e,n,s){var i=s&&s.options.stringifyQuery,r=e.query||{};try{r=Gt(r)}catch(t){}var o={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:r,params:e.params||{},fullPath:Kt(e,i),matched:t?Wt(t):[]};return n&&(o.redirectedFrom=Kt(n,i)),Object.freeze(o)}function Gt(t){if(Array.isArray(t))return t.map(Gt);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=Gt(t[n]);return e}return t}var Yt=Zt(null,{path:"/"});function Wt(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function Kt(t,e){var n=t.path,s=t.query;void 0===s&&(s={});var i=t.hash;return void 0===i&&(i=""),(n||"/")+(e||qt)(s)+i}function Jt(t,e,n){return e===Yt?t===e:!!e&&(t.path&&e.path?t.path.replace(Ht,"")===e.path.replace(Ht,"")&&(n||t.hash===e.hash&&Qt(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(n||t.hash===e.hash&&Qt(t.query,e.query)&&Qt(t.params,e.params)))}function Qt(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),s=Object.keys(e).sort();return n.length===s.length&&n.every((function(n,i){var r=t[n];if(s[i]!==n)return!1;var o=e[n];return null==r||null==o?r===o:"object"==typeof r&&"object"==typeof o?Qt(r,o):String(r)===String(o)}))}function Xt(t){for(var e=0;e=0&&(e=t.slice(s),t=t.slice(0,s));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}(i.path||""),c=e&&e.path||"/",u=l.path?ne(l.path,c,n||i.append):c,d=function(t,e,n){void 0===e&&(e={});var s,i=n||$t;try{s=i(t||"")}catch(t){s={}}for(var r in e){var o=e[r];s[r]=Array.isArray(o)?o.map(Vt):Vt(o)}return s}(l.query,i.query,s&&s.options.parseQuery),m=i.hash||l.hash;return m&&"#"!==m.charAt(0)&&(m="#"+m),{_normalized:!0,path:u,query:d,hash:m}}var be,Ce=function(){},xe={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,s=this.$route,i=n.resolve(this.to,s,this.append),r=i.location,o=i.route,a=i.href,l={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,d=null==c?"router-link-active":c,m=null==u?"router-link-exact-active":u,p=null==this.activeClass?d:this.activeClass,f=null==this.exactActiveClass?m:this.exactActiveClass,g=o.redirectedFrom?Zt(null,ve(o.redirectedFrom),null,n):o;l[f]=Jt(s,g,this.exactPath),l[p]=this.exact||this.exactPath?l[f]:function(t,e){return 0===t.path.replace(Ht,"/").indexOf(e.path.replace(Ht,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(s,g);var h=l[f]?this.ariaCurrentValue:null,A=function(t){_e(t)&&(e.replace?n.replace(r,Ce):n.push(r,Ce))},w={click:_e};Array.isArray(this.event)?this.event.forEach((function(t){w[t]=A})):w[this.event]=A;var y={class:l},v=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:a,route:o,navigate:A,isActive:l[p],isExactActive:l[f]});if(v){if(1===v.length)return v[0];if(v.length>1||!v.length)return 0===v.length?t():t("span",{},v)}if("a"===this.tag)y.on=w,y.attrs={href:a,"aria-current":h};else{var b=Te(this.$slots.default);if(b){b.isStatic=!1;var C=b.data=Dt({},b.data);for(var x in C.on=C.on||{},C.on){var _=C.on[x];x in w&&(C.on[x]=Array.isArray(_)?_:[_])}for(var T in w)T in C.on?C.on[T].push(w[T]):C.on[T]=A;var E=b.data.attrs=Dt({},b.data.attrs);E.href=a,E["aria-current"]=h}else y.on=w}return t(this.tag,y,this.$slots.default)}};function _e(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Te(t){if(t)for(var e,n=0;n-1&&(l.params[m]=n.params[m]);return l.path=ye(u.path,l.params),a(u,l,o)}if(l.path){l.params={};for(var p=0;p-1}function nn(t,e){return en(t)&&t._isRouter&&(null==e||t.type===e)}function sn(t,e,n){var s=function(i){i>=t.length?n():t[i]?e(t[i],(function(){s(i+1)})):s(i+1)};s(0)}function rn(t,e){return on(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function on(t){return Array.prototype.concat.apply([],t)}var an="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function ln(t){var e=!1;return function(){for(var n=[],s=arguments.length;s--;)n[s]=arguments[s];if(!e)return e=!0,t.apply(this,n)}}var cn=function(t,e){this.router=t,this.base=function(t){if(!t)if(Ee){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=Yt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function un(t,e,n,s){var i=rn(t,(function(t,s,i,r){var o=function(t,e){return"function"!=typeof t&&(t=be.extend(t)),t.options[e]}(t,e);if(o)return Array.isArray(o)?o.map((function(t){return n(t,s,i,r)})):n(o,s,i,r)}));return on(s?i.reverse():i)}function dn(t,e){if(e)return function(){return t.apply(e,arguments)}}cn.prototype.listen=function(t){this.cb=t},cn.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},cn.prototype.onError=function(t){this.errorCbs.push(t)},cn.prototype.transitionTo=function(t,e,n){var s,i=this;try{s=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var r=this.current;this.confirmTransition(s,(function(){i.updateRoute(s),e&&e(s),i.ensureURL(),i.router.afterHooks.forEach((function(t){t&&t(s,r)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(t){t(s)})))}),(function(t){n&&n(t),t&&!i.ready&&(nn(t,Je.redirected)&&r===Yt||(i.ready=!0,i.readyErrorCbs.forEach((function(e){e(t)}))))}))},cn.prototype.confirmTransition=function(t,e,n){var s=this,i=this.current;this.pending=t;var r,o,a=function(t){!nn(t)&&en(t)&&(s.errorCbs.length?s.errorCbs.forEach((function(e){e(t)})):Bt.error(t)),n&&n(t)},l=t.matched.length-1,c=i.matched.length-1;if(Jt(t,i)&&l===c&&t.matched[l]===i.matched[c])return this.ensureURL(),t.hash&&Re(this.router,i,t,!1),a(((o=Xe(r=i,t,Je.duplicated,'Avoided redundant navigation to current location: "'+r.fullPath+'".')).name="NavigationDuplicated",o));var u,d=function(t,e){var n,s=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,s=Ye&&n;s&&this.listeners.push(Ue());var i=function(){var n=t.current,i=pn(t.base);t.current===Yt&&i===t._startLocation||t.transitionTo(i,(function(t){s&&Re(e,t,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){We(se(s.base+t.fullPath)),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){Ke(se(s.base+t.fullPath)),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(pn(this.base)!==this.current.fullPath){var e=se(this.base+this.current.fullPath);t?We(e):Ke(e)}},e.prototype.getCurrentLocation=function(){return pn(this.base)},e}(cn);function pn(t){var e=window.location.pathname,n=e.toLowerCase(),s=t.toLowerCase();return!t||n!==s&&0!==n.indexOf(se(s+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var fn=function(t){function e(e,n,s){t.call(this,e,n),s&&function(t){var e=pn(t);if(!/^\/#/.test(e))return window.location.replace(se(t+"/#"+e)),!0}(this.base)||gn()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=Ye&&e;n&&this.listeners.push(Ue());var s=function(){var e=t.current;gn()&&t.transitionTo(hn(),(function(s){n&&Re(t.router,s,e,!0),Ye||yn(s.fullPath)}))},i=Ye?"popstate":"hashchange";window.addEventListener(i,s),this.listeners.push((function(){window.removeEventListener(i,s)}))}},e.prototype.push=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){wn(t.fullPath),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this,i=this.current;this.transitionTo(t,(function(t){yn(t.fullPath),Re(s.router,t,i,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;hn()!==e&&(t?wn(e):yn(e))},e.prototype.getCurrentLocation=function(){return hn()},e}(cn);function gn(){var t=hn();return"/"===t.charAt(0)||(yn("/"+t),!1)}function hn(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function An(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function wn(t){Ye?We(An(t)):window.location.hash=t}function yn(t){Ye?Ke(An(t)):window.location.replace(An(t))}var vn=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var s=this;this.transitionTo(t,(function(t){s.stack=s.stack.slice(0,s.index+1).concat(t),s.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var s=this;this.transitionTo(t,(function(t){s.stack=s.stack.slice(0,s.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var s=this.stack[n];this.confirmTransition(s,(function(){var t=e.current;e.index=n,e.updateRoute(s),e.router.afterHooks.forEach((function(e){e&&e(s,t)}))}),(function(t){nn(t,Je.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(cn),bn=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ne(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Ye&&!1!==t.fallback,this.fallback&&(e="hash"),Ee||(e="abstract"),this.mode=e,e){case"history":this.history=new mn(this,t.base);break;case"hash":this.history=new fn(this,t.base,this.fallback);break;case"abstract":this.history=new vn(this,t.base)}},Cn={currentRoute:{configurable:!0}};bn.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Cn.currentRoute.get=function(){return this.history&&this.history.current},bn.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof mn||n instanceof fn){var s=function(t){n.setupListeners(),function(t){var s=n.current,i=e.options.scrollBehavior;Ye&&i&&"fullPath"in t&&Re(e,t,s,!1)}(t)};n.transitionTo(n.getCurrentLocation(),s,s)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},bn.prototype.beforeEach=function(t){return _n(this.beforeHooks,t)},bn.prototype.beforeResolve=function(t){return _n(this.resolveHooks,t)},bn.prototype.afterEach=function(t){return _n(this.afterHooks,t)},bn.prototype.onReady=function(t,e){this.history.onReady(t,e)},bn.prototype.onError=function(t){this.history.onError(t)},bn.prototype.push=function(t,e,n){var s=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){s.history.push(t,e,n)}));this.history.push(t,e,n)},bn.prototype.replace=function(t,e,n){var s=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){s.history.replace(t,e,n)}));this.history.replace(t,e,n)},bn.prototype.go=function(t){this.history.go(t)},bn.prototype.back=function(){this.go(-1)},bn.prototype.forward=function(){this.go(1)},bn.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},bn.prototype.resolve=function(t,e,n){var s=ve(t,e=e||this.history.current,n,this),i=this.match(s,e),r=i.redirectedFrom||i.fullPath,o=function(t,e,n){var s="hash"===n?"#"+e:e;return t?se(t+"/"+s):s}(this.history.base,r,this.mode);return{location:s,route:i,href:o,normalizedTo:s,resolved:i}},bn.prototype.getRoutes=function(){return this.matcher.getRoutes()},bn.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==Yt&&this.history.transitionTo(this.history.getCurrentLocation())},bn.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==Yt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(bn.prototype,Cn);var xn=bn;function _n(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}bn.install=function t(e){if(!t.installed||be!==e){t.installed=!0,be=e;var n=function(t){return void 0!==t},s=function(t,e){var s=t.$options._parentVnode;n(s)&&n(s=s.data)&&n(s=s.registerRouteInstance)&&s(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,s(this,this)},destroyed:function(){s(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",te),e.component("RouterLink",xe);var i=e.config.optionMergeStrategies;i.beforeRouteEnter=i.beforeRouteLeave=i.beforeRouteUpdate=i.created}},bn.version="3.6.5",bn.isNavigationFailure=nn,bn.NavigationFailureType=Je,bn.START_LOCATION=Yt,Ee&&window.Vue&&window.Vue.use(bn),r.ZP.use(xn);const Tn=xn.prototype.push;xn.prototype.push=function(t,e,n){return e||n?Tn.call(this,t,e,n):Tn.call(this,t).catch((t=>t))};const En=new xn({mode:"history",base:(0,ut.generateUrl)("/apps/files"),linkActiveClass:"active",routes:[{path:"/",redirect:{name:"filelist",params:{view:"files"}}},{path:"/:view/:fileid(\\d+)?",name:"filelist",props:!0}],stringifyQuery(t){const e=Ot.stringify(t).replace(/%2F/gim,"/");return e?"?"+e:""}});function kn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Sn=s(25108);var Ln=s(6134),Nn=s(69183),In=s(31352);const Pn={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Fn=s(51900);const On=(0,Fn.Z)(Pn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Bn=s(57084),Dn=s(26640),jn=s(46226),Un=s(43554);var Rn=s(93664);const zn=(0,Un.j)("files","viewConfigs",{}),Mn=function(){const t=at("viewconfig",{state:()=>({viewConfig:zn}),getters:{getConfig:t=>e=>t.viewConfig[e]||{}},actions:{onUpdate(t,e,n){this.viewConfig[t]||r.ZP.set(this.viewConfig,t,{}),r.ZP.set(this.viewConfig[t],e,n)},async update(t,e,n){Rn.Z.put((0,ut.generateUrl)(`/apps/files/api/v1/views/${t}/${e}`),{value:n}),(0,Nn.j8)("files:viewconfig:updated",{view:t,key:e,value:n})},setSortingBy(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"basename",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"files";this.update(e,"sorting_mode",t),this.update(e,"sorting_direction","asc")},toggleSortingDirection(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files";const e="asc"===(this.getConfig(t)||{sorting_direction:"asc"}).sorting_direction?"desc":"asc";this.update(t,"sorting_direction",e)}}}),e=t(...arguments);return e._initialized||((0,Nn.Ld)("files:viewconfig:updated",(function(t){let{view:n,key:s,value:i}=t;e.onUpdate(n,s,i)})),e._initialized=!0),e},Vn=(0,s(17499).IY)().setApp("files").detectUser().build();function $n(t,e,n){var s,i=n||{},r=i.noTrailing,o=void 0!==r&&r,a=i.noLeading,l=void 0!==a&&a,c=i.debounceMode,u=void 0===c?void 0:c,d=!1,m=0;function p(){s&&clearTimeout(s)}function f(){for(var n=arguments.length,i=new Array(n),r=0;rt?l?(m=Date.now(),o||(s=setTimeout(u?g:f,t))):f():!0!==o&&(s=setTimeout(u?g:f,void 0===u?t-c:t)))}return f.cancel=function(t){var e=(t||{}).upcomingOnly,n=void 0!==e&&e;p(),d=!n},f}var qn=s(64024);const Hn={name:"ChartPieIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zn=(0,Fn.Z)(Hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chart-pie-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Gn=s(29094);const Yn={name:"NavigationQuota",components:{ChartPie:Zn,NcAppNavigationItem:Dn.Z,NcProgressBar:Gn.Z},data:()=>({loadingStorageStats:!1,storageStats:(0,Un.j)("files","storageStats",null)}),computed:{storageStatsTitle(){const t=(0,lt.sS)(this.storageStats?.used,!1,!1),e=(0,lt.sS)(this.storageStats?.quota,!1,!1);return this.storageStats?.quota<0?this.t("files","{usedQuotaByte} used",{usedQuotaByte:t}):this.t("files","{used} of {quota} used",{used:t,quota:e})},storageStatsTooltip(){return this.storageStats.relative?this.t("files","{relative}% used",this.storageStats):""}},beforeMount(){setInterval(this.throttleUpdateStorageStats,6e4),(0,Nn.Ld)("files:node:created",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:deleted",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:moved",this.throttleUpdateStorageStats),(0,Nn.Ld)("files:node:updated",this.throttleUpdateStorageStats)},mounted(){this.storageStats?.free<=0&&this.showStorageFullWarning()},methods:{debounceUpdateStorageStats:(Wn={}.atBegin,$n(200,(function(t){this.updateStorageStats(t)}),{debounceMode:!1!==(void 0!==Wn&&Wn)})),throttleUpdateStorageStats:$n(1e3,(function(t){this.updateStorageStats(t)})),async updateStorageStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.loadingStorageStats){this.loadingStorageStats=!0;try{const t=await Rn.Z.get((0,ut.generateUrl)("/apps/files/api/v1/stats"));if(!t?.data?.data)throw new Error("Invalid storage stats");this.storageStats?.free>0&&t.data.data?.free<=0&&this.showStorageFullWarning(),this.storageStats=t.data.data}catch(n){Vn.error("Could not refresh storage stats",{error:n}),e&&(0,qn.x2)(t("files","Could not refresh storage stats"))}finally{this.loadingStorageStats=!1}}},showStorageFullWarning(){(0,qn.x2)(this.t("files","Your storage is full, files can not be updated or synced anymore!"))},t:In.Iu}};var Wn,Kn=s(93379),Jn=s.n(Kn),Qn=s(7795),Xn=s.n(Qn),ts=s(90569),es=s.n(ts),ns=s(3565),ss=s.n(ns),is=s(19216),rs=s.n(is),os=s(44589),as=s.n(os),ls=s(75136),cs={};cs.styleTagTransform=as(),cs.setAttributes=ss(),cs.insert=es().bind(null,"head"),cs.domAPI=Xn(),cs.insertStyleElement=rs(),Jn()(ls.Z,cs),ls.Z&&ls.Z.locals&&ls.Z.locals;const us=(0,Fn.Z)(Yn,(function(){var t=this,e=t._self._c;return t.storageStats?e("NcAppNavigationItem",{staticClass:"app-navigation-entry__settings-quota",class:{"app-navigation-entry__settings-quota--not-unlimited":t.storageStats.quota>=0},attrs:{"aria-label":t.t("files","Storage informations"),loading:t.loadingStorageStats,name:t.storageStatsTitle,title:t.storageStatsTooltip,"data-cy-files-navigation-settings-quota":""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.debounceUpdateStorageStats.apply(null,arguments)}}},[e("ChartPie",{attrs:{slot:"icon",size:20},slot:"icon"}),t._v(" "),t.storageStats.quota>=0?e("NcProgressBar",{attrs:{slot:"extra",error:t.storageStats.relative>80,value:Math.min(t.storageStats.relative,100)},slot:"extra"}):t._e()],1):t._e()}),[],!1,null,"18ceb3ce",null).exports;var ds=s(64845),ms=s(28454),ps=s(9359);const fs={name:"ClipboardIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gs=(0,Fn.Z)(fs,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var hs=s(18484);const As={name:"Setting",props:{el:{type:Function,required:!0}},mounted(){this.$el.appendChild(this.el())}},ws=(0,Fn.Z)(As,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,ys=(0,Un.j)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),vs=function(){const t=at("userconfig",{state:()=>({userConfig:ys}),actions:{onUpdate(t,e){r.ZP.set(this.userConfig,t,e)},async update(t,e){await Rn.Z.put((0,ut.generateUrl)("/apps/files/api/v1/config/"+t),{value:e}),(0,Nn.j8)("files:config:updated",{key:t,value:e})}}})(...arguments);return t._initialized||((0,Nn.Ld)("files:config:updated",(function(e){let{key:n,value:s}=e;t.onUpdate(n,s)})),t._initialized=!0),t},bs={name:"Settings",components:{Clipboard:gs,NcAppSettingsDialog:ds.N,NcAppSettingsSection:ms.Z,NcCheckboxRadioSwitch:ps.Z,NcInputField:hs.Z,Setting:ws},props:{open:{type:Boolean,default:!1}},setup:()=>({userConfigStore:vs()}),data:()=>({settings:window.OCA?.Files?.Settings?.settings||[],webdavUrl:(0,ut.generateRemoteUrl)("dav/files/"+encodeURIComponent((0,ct.ts)()?.uid)),webdavDocs:"https://docs.nextcloud.com/server/stable/go.php?to=user-webdav",appPasswordUrl:(0,ut.generateUrl)("/settings/user/security#generate-app-token-section"),webdavUrlCopied:!1,enableGridView:(0,Un.j)("core","config",[])["enable_non-accessible_features"]??!0}),computed:{userConfig(){return this.userConfigStore.userConfig}},beforeMount(){this.settings.forEach((t=>t.open()))},beforeDestroy(){this.settings.forEach((t=>t.close()))},methods:{onClose(){this.$emit("close")},setConfig(t,e){this.userConfigStore.update(t,e)},async copyCloudId(){document.querySelector("input#webdav-url-input").select(),navigator.clipboard?(await navigator.clipboard.writeText(this.webdavUrl),this.webdavUrlCopied=!0,(0,qn.s$)(t("files","WebDAV URL copied to clipboard")),setTimeout((()=>{this.webdavUrlCopied=!1}),5e3)):(0,qn.x2)(t("files","Clipboard is not available"))},t:In.Iu}};var Cs=s(21865),xs={};xs.styleTagTransform=as(),xs.setAttributes=ss(),xs.insert=es().bind(null,"head"),xs.domAPI=Xn(),xs.insertStyleElement=rs(),Jn()(Cs.Z,xs),Cs.Z&&Cs.Z.locals&&Cs.Z.locals;const _s=(0,Fn.Z)(bs,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.open,"show-navigation":!0,name:t.t("files","Files settings")},on:{"update:open":t.onClose}},[e("NcAppSettingsSection",{attrs:{id:"settings",name:t.t("files","Files settings")}},[e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.sort_favorites_first},on:{"update:checked":function(e){return t.setConfig("sort_favorites_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort favorites first"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.sort_folders_first},on:{"update:checked":function(e){return t.setConfig("sort_folders_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort folders before files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.show_hidden},on:{"update:checked":function(e){return t.setConfig("show_hidden",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Show hidden files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.crop_image_previews},on:{"update:checked":function(e){return t.setConfig("crop_image_previews",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Crop image previews"))+"\n\t\t")]),t._v(" "),t.enableGridView?e("NcCheckboxRadioSwitch",{attrs:{checked:t.userConfig.grid_view},on:{"update:checked":function(e){return t.setConfig("grid_view",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Enable the grid view"))+"\n\t\t")]):t._e()],1),t._v(" "),0!==t.settings.length?e("NcAppSettingsSection",{attrs:{id:"more-settings",name:t.t("files","Additional settings")}},[t._l(t.settings,(function(t){return[e("Setting",{key:t.name,attrs:{el:t.el}})]}))],2):t._e(),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"webdav",name:t.t("files","WebDAV")}},[e("NcInputField",{attrs:{id:"webdav-url-input",label:t.t("files","WebDAV URL"),"show-trailing-button":!0,success:t.webdavUrlCopied,"trailing-button-label":t.t("files","Copy to clipboard"),value:t.webdavUrl,readonly:"readonly",type:"url"},on:{focus:function(t){return t.target.select()},"trailing-button-click":t.copyCloudId},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e("Clipboard",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.webdavDocs,target:"_blank",rel:"noreferrer noopener"}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Use this address to access your Files via WebDAV"))+" ↗\n\t\t\t")])]),t._v(" "),e("br"),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.appPasswordUrl}},[t._v("\n\t\t\t\t"+t._s(t.t("files","If you have enabled 2FA, you must create and use a new app password by clicking here."))+" ↗\n\t\t\t")])])],1)],1)}),[],!1,null,"6d63c120",null).exports,Ts={name:"Navigation",components:{Cog:On,NavigationQuota:us,NcAppNavigation:Bn.Z,NcAppNavigationItem:Dn.Z,NcIconSvgWrapper:jn.Z,SettingsModal:_s},setup:()=>({viewConfigStore:Mn()}),data:()=>({settingsOpened:!1}),computed:{currentViewId(){return this.$route?.params?.view||"files"},currentView(){return this.views.find((t=>t.id===this.currentViewId))},views(){return this.$navigation.views},parentViews(){return this.views.filter((t=>!t.parent)).sort(((t,e)=>t.order-e.order))},childViews(){return this.views.filter((t=>!!t.parent)).reduce(((t,e)=>(t[e.parent]=[...t[e.parent]||[],e],t[e.parent].sort(((t,e)=>t.order-e.order)),t)),{})}},watch:{currentView(t,e){t.id!==e?.id&&(this.$navigation.setActive(t),Vn.debug(`Navigation changed from ${e.id} to ${t.id}`,{from:e,to:t}),this.showView(t))}},beforeMount(){this.currentView&&(Vn.debug("Navigation mounted. Showing requested view",{view:this.currentView}),this.showView(this.currentView))},methods:{useExactRouteMatching(t){return this.childViews[t.id]?.length>0},showView(t){window?.OCA?.Files?.Sidebar?.close?.(),this.$navigation.setActive(t),function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}(t.name),(0,Nn.j8)("files:navigation:changed",t)},onToggleExpand(t){const e=this.isExpanded(t);t.expanded=!e,this.viewConfigStore.update(t.id,"expanded",!e)},isExpanded(t){return"boolean"==typeof this.viewConfigStore.getConfig(t.id)?.expanded?!0===this.viewConfigStore.getConfig(t.id).expanded:!0===t.expanded},generateToNavigation(t){if(t.params){const{dir:e}=t.params;return{name:"filelist",params:t.params,query:{dir:e}}}return{name:"filelist",params:{view:t.id}}},openSettings(){this.settingsOpened=!0},onSettingsClose(){this.settingsOpened=!1},t:In.Iu}};var Es=s(12131),ks={};ks.styleTagTransform=as(),ks.setAttributes=ss(),ks.insert=es().bind(null,"head"),ks.domAPI=Xn(),ks.insertStyleElement=rs(),Jn()(Es.Z,ks),Es.Z&&Es.Z.locals&&Es.Z.locals;const Ss=(0,Fn.Z)(Ts,(function(){var t=this,e=t._self._c;return e("NcAppNavigation",{attrs:{"data-cy-files-navigation":"","aria-label":t.t("files","Files")},scopedSlots:t._u([{key:"list",fn:function(){return t._l(t.parentViews,(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"allow-collapse":!0,"data-cy-files-navigation-item":n.id,exact:t.useExactRouteMatching(n),icon:n.iconClass,name:n.name,open:t.isExpanded(n),pinned:n.sticky,to:t.generateToNavigation(n)},on:{"update:open":function(e){return t.onToggleExpand(n)}}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e(),t._v(" "),t._l(t.childViews[n.id],(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"data-cy-files-navigation-item":n.id,"exact-path":!0,icon:n.iconClass,name:n.name,to:t.generateToNavigation(n)}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e()],1)}))],2)}))},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NavigationQuota"),t._v(" "),e("NcAppNavigationItem",{attrs:{"aria-label":t.t("files","Open the files app settings"),name:t.t("files","Files settings"),"data-cy-files-navigation-settings-button":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.openSettings.apply(null,arguments)}}},[e("Cog",{attrs:{slot:"icon",size:20},slot:"icon"})],1)],1)]},proxy:!0}])},[t._v(" "),t._v(" "),e("SettingsModal",{attrs:{open:t.settingsOpened,"data-cy-files-navigation-settings":""},on:{close:t.onSettingsClose}})],1)}),[],!1,null,"3f2914e1",null).exports;var Ls=s(42515),Ns=s(62520),Is=function(t,e){return te?1:0},Ps=function(t,e){var n=t.localeCompare(e);return n?n/Math.abs(n):0},Fs=/(^0x[\da-fA-F]+$|^([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?!\.\d+)(?=\D|\s|$))|\d+)/g,Os=/^\s+|\s+$/g,Bs=/\s+/g,Ds=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,js=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[/-]\d{1,4}[/-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,Us=/^0+[1-9]{1}[0-9]*$/,Rs=/[^\x00-\x80]/,zs=function(t,e){return te?1:0},Ms=function(t){return t.replace(Bs," ").replace(Os,"")},Vs=function(t){if(0!==t.length){var e=Number(t);if(!Number.isNaN(e))return e}},$s=function(t,e,n){if(Ds.test(t)&&(!Us.test(t)||0===e||"."!==n[e-1]))return Vs(t)||0},qs=function(t,e,n){return{parsedNumber:$s(t,e,n),normalizedString:Ms(t)}},Hs=function(t){var e=function(t){return t.replace(Fs,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")}(t).map(qs);return e},Zs=function(t){return"function"==typeof t},Gs=function(t){return Number.isNaN(t)||t instanceof Number&&Number.isNaN(t.valueOf())},Ys=function(t){return null===t},Ws=function(t){return!(null===t||"object"!=typeof t||Array.isArray(t)||t instanceof Number||t instanceof String||t instanceof Boolean||t instanceof Date)},Ks=function(t){return"symbol"==typeof t},Js=function(t){return void 0===t},Qs=function(t){if("string"==typeof t||t instanceof String||("number"==typeof t||t instanceof Number)&&!Gs(t)||"boolean"==typeof t||t instanceof Boolean||t instanceof Date){var e=function(t){return"boolean"==typeof t||t instanceof Boolean?Number(t).toString():"number"==typeof t||t instanceof Number?t.toString():t instanceof Date?t.getTime().toString():"string"==typeof t||t instanceof String?t.toLowerCase().replace(Os,""):""}(t),n=function(t){var e=Vs(t);return void 0!==e?e:function(t){try{var e=Date.parse(t);return!Number.isNaN(e)&&js.test(t)?e:void 0}catch(t){return}}(t)}(e);return{parsedNumber:n,chunks:Hs(n?""+n:e),value:t}}return{isArray:Array.isArray(t),isFunction:Zs(t),isNaN:Gs(t),isNull:Ys(t),isObject:Ws(t),isSymbol:Ks(t),isUndefined:Js(t),value:t}},Xs=function(t){return"function"==typeof t?t:function(e){if(Array.isArray(e)){var n=Number(t);if(Number.isInteger(n))return e[n]}else if(e&&"object"==typeof e){var s=Object.getOwnPropertyDescriptor(e,t);return null==s?void 0:s.value}return e}};function ti(t,e,n){if(!t||!Array.isArray(t))return[];var s=function(t){if(!t)return[];var e=Array.isArray(t)?[].concat(t):[t];return e.some((function(t){return"string"!=typeof t&&"number"!=typeof t&&"function"!=typeof t}))?[]:e}(e),i=function(t){if(!t)return[];var e=Array.isArray(t)?[].concat(t):[t];return e.some((function(t){return"asc"!==t&&"desc"!==t&&"function"!=typeof t}))?[]:e}(n);return function(t,e,n){var s=e.length?e.map(Xs):[function(t){return t}],i=t.map((function(t,e){return{index:e,values:s.map((function(e){return e(t)})).map(Qs)}}));return i.sort((function(t,e){return function(t,e,n){for(var s=t.index,i=t.values,r=e.index,o=e.values,a=i.length,l=n.length,c=0;ci||s>i?n<=i?-1:1:0}(p.chunks,f.chunks):function(t,e){return(t.chunks?!e.chunks:e.chunks)?t.chunks?-1:1:(t.isNaN?!e.isNaN:e.isNaN)?t.isNaN?-1:1:(t.isSymbol?!e.isSymbol:e.isSymbol)?t.isSymbol?-1:1:(t.isObject?!e.isObject:e.isObject)?t.isObject?-1:1:(t.isArray?!e.isArray:e.isArray)?t.isArray?-1:1:(t.isFunction?!e.isFunction:e.isFunction)?t.isFunction?-1:1:(t.isNull?!e.isNull:e.isNull)?t.isNull?-1:1:0}(p,f));if(m)return m*("desc"===u?-1:1)}}var p,f;return s-r}(t,e,n)})),i.map((function(e){return function(t,e){return t[e]}(t,e.index)}))}(t,s,i)}var ei=s(5055),ni=s(41922),si=s(99125),ii=s(90207);const ri={name:"FormatListBulletedSquareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},oi=(0,Fn.Z)(ri,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon format-list-bulleted-square-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ai=s(81040),li=s(54572),ci=s(52506),ui=s(87604),di=s(81755);const mi={name:"AccountPlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pi=(0,Fn.Z)(mi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,fi={name:"ViewGridIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gi=(0,Fn.Z)(fi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon view-grid-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var hi=s(48250);const Ai=new lt.p$({id:"details",displayName:()=>(0,In.Iu)("files","Open details"),iconSvgInline:()=>hi,enabled:t=>1===t.length&&!!t[0]&&!!window?.OCA?.Files?.Sidebar&&((t[0].root?.startsWith("/files/")&&t[0].permissions!==lt.y3.NONE)??!1),async exec(t,e,n){try{return await window.OCA.Files.Sidebar.open(t.path),window.OCP.Files.Router.goToRoute(null,{view:e.id,fileid:t.fileid},{dir:n},!0),null}catch(t){return Vn.error("Error while opening sidebar",{error:t}),!1}},order:-50}),wi=function(){const t=at("files",{state:()=>({files:{},roots:{}}),getters:{getNode:t=>e=>t.files[e],getNodes:t=>e=>e.map((e=>t.files[e])).filter(Boolean),getRoot:t=>e=>t.roots[e]},actions:{updateNodes(t){const e=t.reduce(((t,e)=>e.fileid?(t[e.fileid]=e,t):(Vn.error("Trying to update/set a node without fileid",e),t)),{});r.ZP.set(this,"files",{...this.files,...e})},deleteNodes(t){t.forEach((t=>{t.fileid&&r.ZP.delete(this.files,t.fileid)}))},setRoot(t){let{service:e,root:n}=t;r.ZP.set(this.roots,e,n)},onDeletedNode(t){this.deleteNodes([t])},onCreatedNode(t){this.updateNodes([t])},onUpdatedNode(t){this.updateNodes([t])}}})(...arguments);return t._initialized||((0,Nn.Ld)("files:node:created",t.onCreatedNode),(0,Nn.Ld)("files:node:deleted",t.onDeletedNode),(0,Nn.Ld)("files:node:updated",t.onUpdatedNode),t._initialized=!0),t},yi=function(){const t=wi(),e=at("paths",{state:()=>({paths:{}}),getters:{getPath:t=>(e,n)=>{if(t.paths[e])return t.paths[e][n]}},actions:{addPath(t){this.paths[t.service]||r.ZP.set(this.paths,t.service,{}),r.ZP.set(this.paths[t.service],t.path,t.fileid)},onCreatedNode(e){const n=(0,lt.Ti)()?.active?.id||"files";if(e.fileid){if(e.type===lt.Tv.Folder&&this.addPath({service:n,path:e.path,fileid:e.fileid}),"/"===e.dirname){const s=t.getRoot(n);return s._children||r.ZP.set(s,"_children",[]),void s._children.push(e.fileid)}if(this.paths[n][e.dirname]){const s=this.paths[n][e.dirname],i=t.getNode(s);return Vn.debug("Path already exists, updating children",{parentFolder:i,node:e}),i?(i._children||r.ZP.set(i,"_children",[]),void i._children.push(e.fileid)):void Vn.error("Parent folder not found",{parentId:s})}Vn.debug("Parent path does not exists, skipping children update",{node:e})}else Vn.error("Node has no fileid",{node:e})}}})(...arguments);return e._initialized||((0,Nn.Ld)("files:node:created",e.onCreatedNode),e._initialized=!0),e},vi=at("selection",{state:()=>({selected:[],lastSelection:[],lastSelectedIndex:null}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r.ZP.set(this,"selected",[...new Set(t)])},setLastIndex(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;r.ZP.set(this,"lastSelection",t?this.selected:[]),r.ZP.set(this,"lastSelectedIndex",t)},reset(){r.ZP.set(this,"selected",[]),r.ZP.set(this,"lastSelection",[]),r.ZP.set(this,"lastSelectedIndex",null)}}});let bi;const Ci={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xi=(0,Fn.Z)(Ci,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var _i=s(66471),Ti=s(70911);const Ei=(0,r.aZ)({name:"BreadCrumbs",components:{Home:xi,NcBreadcrumbs:Ti.N,NcBreadcrumb:_i.N},props:{path:{type:String,default:"/"}},setup:()=>({filesStore:wi(),pathsStore:yi()}),computed:{currentView(){return this.$navigation.active},dirs(){var t;return["/",...this.path.split("/").filter(Boolean).map((t="/",e=>t+=`${e}/`)).map((t=>t.replace(/^(.+)\/$/,"$1")))]},sections(){return this.dirs.map((t=>{const e=this.getFileIdFromPath(t),n={...this.$route,params:{fileid:e},query:{dir:t}};return{dir:t,exact:!0,name:this.getDirDisplayName(t),to:n}}))}},methods:{getNodeFromId(t){return this.filesStore.getNode(t)},getFileIdFromPath(t){return this.pathsStore.getPath(this.currentView?.id,t)},getDirDisplayName(t){if("/"===t)return(0,In.Iu)("files","Home");const e=this.getFileIdFromPath(t),n=e?this.getNodeFromId(e):void 0;return n?.attributes?.displayName||(0,Ns.basename)(t)},onClick(t){t?.query?.dir===this.$route.query.dir&&this.$emit("reload")},titleForSection(t,e){return e?.to?.query?.dir===this.$route.query.dir?(0,In.Iu)("files","Reload current directory"):0===t?(0,In.Iu)("files",'Go to the "{dir}" directory',e):null},ariaForSection(t){return t?.to?.query?.dir===this.$route.query.dir?(0,In.Iu)("files","Reload current directory"):null},t:In.Iu}});var ki=s(60393),Si={};Si.styleTagTransform=as(),Si.setAttributes=ss(),Si.insert=es().bind(null,"head"),Si.domAPI=Xn(),Si.insertStyleElement=rs(),Jn()(ki.Z,Si),ki.Z&&ki.Z.locals&&ki.Z.locals;const Li=(0,Fn.Z)(Ei,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcBreadcrumbs",{attrs:{"data-cy-files-content-breadcrumbs":"","aria-label":t.t("files","Current directory path")},scopedSlots:t._u([{key:"actions",fn:function(){return[t._t("actions")]},proxy:!0}],null,!0)},t._l(t.sections,(function(n,s){return e("NcBreadcrumb",t._b({key:n.dir,attrs:{dir:"auto",to:n.to,title:t.titleForSection(s,n),"aria-description":t.ariaForSection(n)},nativeOn:{click:function(e){return t.onClick(n.to)}},scopedSlots:t._u([0===s?{key:"icon",fn:function(){return[e("Home",{attrs:{size:20}})]},proxy:!0}:null],null,!0)},"NcBreadcrumb",n,!1))})),1)}),[],!1,null,"1c4866bc",null).exports,Ni=t=>{const e=t.filter((t=>t.type===lt.Tv.File)).length,n=t.filter((t=>t.type===lt.Tv.Folder)).length;return 0===e?(0,In.uN)("files","{folderCount} folder","{folderCount} folders",n,{folderCount:n}):0===n?(0,In.uN)("files","{fileCount} file","{fileCount} files",e,{fileCount:e}):1===e?(0,In.uN)("files","1 file and {folderCount} folder","1 file and {folderCount} folders",n,{folderCount:n}):1===n?(0,In.uN)("files","{fileCount} file and 1 folder","{fileCount} files and 1 folder",e,{fileCount:e}):(0,In.Iu)("files","{fileCount} files and {folderCount} folders",{fileCount:e,folderCount:n})};var Ii=s(80351),Pi=s.n(Ii);const Fi=at("actionsmenu",{state:()=>({opened:null})}),Oi=at("dragging",{state:()=>({dragging:[]}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r.ZP.set(this,"dragging",t)},reset(){r.ZP.set(this,"dragging",[])}}}),Bi=function(){const t=at("renaming",{state:()=>({renamingNode:void 0,newName:""})})(...arguments);return t._initialized||((0,Nn.Ld)("files:node:rename",(function(e){t.renamingNode=e,t.newName=e.basename})),t._initialized=!0),t};var Di=s(52925);const ji={name:"FileMultipleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ui=(0,Fn.Z)(ji,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-multiple-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ri={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zi=(0,Fn.Z)(Ri,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Mi=r.ZP.extend({name:"DragAndDropPreview",components:{FileMultipleIcon:Ui,FolderIcon:zi},data:()=>({nodes:[]}),computed:{isSingleNode(){return 1===this.nodes.length},isSingleFolder(){return this.isSingleNode&&this.nodes[0].type===lt.Tv.Folder},name(){return this.size?`${this.summary} – ${this.size}`:this.summary},size(){const t=this.nodes.reduce(((t,e)=>t+e.size||0),0),e=parseInt(t,10)||0;return"number"!=typeof e||e<0?null:(0,lt.sS)(e,!0)},summary(){if(this.isSingleNode){const t=this.nodes[0];return t.attributes?.displayName||t.basename}return Ni(this.nodes)}},methods:{update(t){this.nodes=t,this.$refs.previewImg.replaceChildren(),t.slice(0,3).forEach((t=>{const e=document.querySelector(`[data-cy-files-list-row-fileid="${t.fileid}"] .files-list__row-icon img`);e&&this.$refs.previewImg.appendChild(e.parentNode.cloneNode(!0))})),this.$nextTick((()=>{this.$emit("loaded",this.$el)}))}}}),Vi=Mi;var $i=s(50262),qi={};qi.styleTagTransform=as(),qi.setAttributes=ss(),qi.insert=es().bind(null,"head"),qi.domAPI=Xn(),qi.insertStyleElement=rs(),Jn()($i.Z,qi),$i.Z&&$i.Z.locals&&$i.Z.locals;const Hi=(0,Fn.Z)(Vi,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list-drag-image"},[e("span",{staticClass:"files-list-drag-image__icon"},[e("span",{ref:"previewImg"}),t._v(" "),t.isSingleFolder?e("FolderIcon"):e("FileMultipleIcon")],1),t._v(" "),e("span",{staticClass:"files-list-drag-image__name"},[t._v(t._s(t.name))])])}),[],!1,null,null,null).exports,Zi=r.ZP.extend(Hi);let Gi;var Yi=s(51473),Wi={};Wi.styleTagTransform=as(),Wi.setAttributes=ss(),Wi.insert=es().bind(null,"head"),Wi.domAPI=Xn(),Wi.insertStyleElement=rs(),Jn()(Yi.Z,Wi),Yi.Z&&Yi.Z.locals&&Yi.Z.locals;var Ki=s(51120);const{Axios:Ji,AxiosError:Qi,CanceledError:Xi,isCancel:tr,CancelToken:er,VERSION:nr,all:sr,Cancel:ir,isAxiosError:rr,spread:or,toFormData:ar,AxiosHeaders:lr,HttpStatusCode:cr,formToJSON:ur,getAdapter:dr,mergeConfig:mr}=Ki.default;var pr=s(59546),fr=s(96384),gr=s(59440);let hr;const Ar=()=>(hr||(hr=new gr.Z({concurrency:3})),hr);var wr;!function(t){t.MOVE="Move",t.COPY="Copy",t.MOVE_OR_COPY="move-or-copy"}(wr||(wr={}));const yr=t=>0!=(t.reduce(((t,e)=>Math.min(t,e.permissions)),lt.y3.ALL)<.y3.UPDATE),vr=t=>(t=>t.every((t=>!JSON.parse(t.attributes?.["share-attributes"]??"[]").some((t=>"permissions"===t.scope&&!1===t.enabled&&"download"===t.key)))))(t),br=t=>yr(t)?vr(t)?wr.MOVE_OR_COPY:wr.MOVE:wr.COPY,Cr=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return;if(e.type!==lt.Tv.Folder)throw new Error((0,In.Iu)("files","Destination is not a folder"));if(n===wr.MOVE&&t.dirname===e.path)throw new Error((0,In.Iu)("files","This file/folder is already in that directory"));if(`${e.path}/`.startsWith(`${t.path}/`))throw new Error((0,In.Iu)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));r.ZP.set(t,"status",lt.e4.LOADING);const i=Ar();return await i.add((async()=>{const i=t=>1===t?(0,In.Iu)("files","(copy)"):(0,In.Iu)("files","(copy %n)",void 0,t);try{const r=(0,lt.rp)(),o=(0,Ns.join)(lt._o,t.path),a=(0,Ns.join)(lt._o,e.path);if(n===wr.COPY){let n=t.basename;if(!s){const e=await r.getDirectoryContents(a);n=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t=>`(${t})`,s=t,i=1;for(;e.includes(s);){const e=(0,Ns.extname)(t);s=`${(0,Ns.basename)(t,e)} ${n(i++)}${e}`}return s}(t.basename,e.map((t=>t.basename)),i)}if(await r.copyFile(o,(0,Ns.join)(a,n)),t.dirname===e.path){const{data:t}=await r.stat((0,Ns.join)(a,n),{details:!0,data:(0,lt.h7)()});(0,Nn.j8)("files:node:created",(0,lt.RL)(t))}}else await r.moveFile(o,(0,Ns.join)(a,t.basename)),(0,Nn.j8)("files:node:deleted",t)}catch(t){if(t instanceof Qi){if(412===t?.response?.status)throw new Error((0,In.Iu)("files","A file or folder with that name already exists in this folder"));if(423===t?.response?.status)throw new Error((0,In.Iu)("files","The files is locked"));if(404===t?.response?.status)throw new Error((0,In.Iu)("files","The file does not exist anymore"));if(t.message)throw new Error(t.message)}throw Vn.debug(t),new Error}finally{r.ZP.set(t,"status",void 0)}}))},xr=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2?arguments[2]:void 0;const s=n.map((t=>t.fileid)).filter(Boolean),i=(0,qn.fn)((0,In.Iu)("files","Choose destination")).allowDirectories(!0).setFilter((t=>0!=(t.permissions<.y3.CREATE)&&!s.includes(t.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(e);return new Promise(((e,s)=>{i.setButtonFactory(((s,i)=>{const r=[],o=(0,Ns.basename)(i),a=n.map((t=>t.dirname)),l=n.map((t=>t.path));return t!==wr.COPY&&t!==wr.MOVE_OR_COPY||r.push({label:o?(0,In.Iu)("files","Copy to {target}",{target:o}):(0,In.Iu)("files","Copy"),type:"primary",icon:pr,async callback(t){e({destination:t[0],action:wr.COPY})}}),a.includes(i)||l.includes(i)||t!==wr.MOVE&&t!==wr.MOVE_OR_COPY||r.push({label:o?(0,In.Iu)("files","Move to {target}",{target:o}):(0,In.Iu)("files","Move"),type:t===wr.MOVE?"primary":"secondary",icon:fr,async callback(t){e({destination:t[0],action:wr.MOVE})}}),r})),i.build().pick().catch((t=>{Vn.debug(t),t instanceof qn.Pq?s(new Error((0,In.Iu)("files","Cancelled move or copy operation"))):s(new Error((0,In.Iu)("files","Move or copy operation failed")))}))}))};new lt.p$({id:"move-copy",displayName(t){switch(br(t)){case wr.MOVE:return(0,In.Iu)("files","Move");case wr.COPY:return(0,In.Iu)("files","Copy");case wr.MOVE_OR_COPY:return(0,In.Iu)("files","Move or copy")}},iconSvgInline:()=>fr,enabled:t=>!!t.every((t=>t.root?.startsWith("/files/")))&&t.length>0&&(yr(t)||vr(t)),async exec(t,e,n){const s=br([t]);let i;try{i=await xr(s,n,[t])}catch(t){return Vn.error(t),!1}try{return await Cr(t,i.destination,i.action),!0}catch(t){return!!(t instanceof Error&&t.message)&&((0,qn.x2)(t.message),null)}},async execBatch(t,e,n){const s=br(t),i=await xr(s,n,t),r=t.map((async t=>{try{return await Cr(t,i.destination,i.action),!0}catch(e){return Vn.error(`Failed to ${i.action} node`,{node:t,error:e}),!1}}));return await Promise.all(r)},order:15}),r.ZP.directive("onClickOutside",Di.hs);const _r=(0,r.aZ)({props:{source:{type:[lt.gt,lt.$B,lt.NB],required:!0},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},data:()=>({loading:"",dragover:!1,gridMode:!1}),computed:{currentView(){return this.$navigation.active},currentDir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentFileId(){return this.$route.params?.fileid||this.$route.query?.fileid||null},fileid(){return this.source?.fileid},uniqueId(){return this.source.source.split("").reduce((function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t}),0)},isLoading(){return this.source.status===lt.e4.LOADING},extension(){return this.source.attributes?.displayName?(0,Ns.extname)(this.source.attributes.displayName):this.source.extension||""},displayName(){const t=this.extension,e=this.source.attributes.displayName||this.source.basename;return t?e.slice(0,0-t.length):e},draggingFiles(){return this.draggingStore.dragging},selectedFiles(){return this.selectionStore.selected},isSelected(){return this.fileid&&this.selectedFiles.includes(this.fileid)},isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},isActive(){return this.fileid?.toString?.()===this.currentFileId?.toString?.()},canDrag(){if(this.isRenaming)return!1;const t=t=>0!=(t?.permissions<.y3.UPDATE);return this.selectedFiles.length>0?this.selectedFiles.map((t=>this.filesStore.getNode(t))).every(t):t(this.source)},canDrop(){return!(this.source.type!==lt.Tv.Folder||this.fileid&&this.draggingFiles.includes(this.fileid)||0==(this.source.permissions<.y3.CREATE))},openedMenu:{get(){return this.actionsMenuStore.opened===this.uniqueId.toString()},set(t){if(t){const t=this.$root.$el;t.style.removeProperty("--mouse-pos-x"),t.style.removeProperty("--mouse-pos-y")}this.actionsMenuStore.opened=t?this.uniqueId.toString():null}}},watch:{source(){this.resetState()}},beforeDestroy(){this.resetState()},methods:{resetState(){this.loading="",this.$refs.preview.reset(),this.openedMenu=!1},onRightClick(t){if(this.openedMenu)return;if(!this.gridMode){const e=this.$root.$el,n=e.getBoundingClientRect();e.style.setProperty("--mouse-pos-x",Math.max(n.left,Math.min(t.clientX,t.clientX-200))+"px"),e.style.setProperty("--mouse-pos-y",Math.max(n.top,t.clientY-n.top)+"px")}const e=this.selectedFiles.length>1;this.actionsMenuStore.opened=this.isSelected&&e?"global":this.uniqueId.toString(),t.preventDefault(),t.stopPropagation()},execDefaultAction(t){if(t.ctrlKey||t.metaKey)return t.preventDefault(),window.open((0,ut.generateUrl)("/f/{fileId}",{fileId:this.fileid})),!1;this.$refs.actions.execDefaultAction(t)},openDetailsIfAvailable(t){t.preventDefault(),t.stopPropagation(),Ai?.enabled?.([this.source],this.currentView)&&Ai.exec(this.source,this.currentView,this.currentDir)},onDragOver(t){this.dragover=this.canDrop,this.canDrop?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none"},onDragLeave(t){const e=t.currentTarget;e?.contains(t.relatedTarget)||(this.dragover=!1)},async onDragStart(t){if(t.stopPropagation(),!this.canDrag||!this.fileid)return t.preventDefault(),void t.stopPropagation();Vn.debug("Drag started",{event:t}),t.dataTransfer?.clearData?.(),this.renamingStore.$reset(),this.selectedFiles.includes(this.fileid)?this.draggingStore.set(this.selectedFiles):this.draggingStore.set([this.fileid]);const e=this.draggingStore.dragging.map((t=>this.filesStore.getNode(t))),n=await(async t=>new Promise((e=>{Gi||(Gi=(new Zi).$mount(),document.body.appendChild(Gi.$el)),Gi.update(t),Gi.$on("loaded",(()=>{e(Gi.$el),Gi.$off("loaded")}))})))(e);t.dataTransfer?.setDragImage(n,-10,-10)},onDragEnd(){this.draggingStore.reset(),this.dragover=!1,Vn.debug("Drag ended")},async onDrop(t){if(!this.draggingFiles&&!t.dataTransfer?.files?.length)return;if(t.preventDefault(),t.stopPropagation(),!this.canDrop||0!==t.button)return;const e=t.ctrlKey;if(this.dragover=!1,Vn.debug("Dropped",{event:t,selection:this.draggingFiles}),t.dataTransfer?.files&&t.dataTransfer.files.length>0){const e=(0,si.g)();if(!e.destination.path.startsWith(e.destination.path))return Vn.error("The current uploader destination is not the same as the current folder"),void(0,qn.x2)((0,In.Iu)("files","An error occurred while uploading. Please try again later."));Vn.debug(`Uploading files to ${this.source.path}`);const n=[];for(const s of t.dataTransfer.files)n.push(e.upload((0,Ns.join)(this.source.basename,s.name),s));const s=(await Promise.allSettled(n)).filter((t=>"rejected"===t.status));return s.length>0?(Vn.error("Error while uploading files",{errors:s}),void(0,qn.x2)((0,In.Iu)("files","Some files could not be uploaded"))):(Vn.debug("Files uploaded successfully"),void(0,qn.s$)((0,In.Iu)("files","Files uploaded successfully")))}this.draggingFiles.map((t=>this.filesStore.getNode(t))).forEach((async t=>{r.ZP.set(t,"status",lt.e4.LOADING);try{await Cr(t,this.source,e?wr.COPY:wr.MOVE)}catch(n){Vn.error("Error while moving file",{error:n}),e?(0,qn.x2)((0,In.Iu)("files","Could not copy {file}. {message}",{file:t.basename,message:n.message||""})):(0,qn.x2)((0,In.Iu)("files","Could not move {file}. {message}",{file:t.basename,message:n.message||""}))}finally{r.ZP.set(t,"status",void 0)}})),this.draggingFiles.some((t=>this.selectedFiles.includes(t)))&&(Vn.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},t:In.Iu}});var Tr=s(97947);const Er={name:"CustomElementRender",props:{source:{type:Object,required:!0},currentView:{type:Object,required:!0},render:{type:Function,required:!0}},watch:{source(){this.updateRootElement()},currentView(){this.updateRootElement()}},mounted(){this.updateRootElement()},methods:{async updateRootElement(){const t=await this.render(this.source,this.currentView);t?this.$el.replaceChildren(t):this.$el.replaceChildren()}}},kr=(0,Fn.Z)(Er,(function(){return(0,this._self._c)("span")}),[],!1,null,null,null).exports;var Sr=s(43589),Lr=s(61057),Nr=s(81243);const Ir={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Pr=(0,Fn.Z)(Ir,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Fr={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Or=(0,Fn.Z)(Fr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Br=(0,lt.Vn)(),Dr=r.ZP.extend({name:"FileEntryActions",components:{ArrowLeftIcon:Pr,ChevronRightIcon:Or,CustomElementRender:kr,NcActionButton:Sr.Z,NcActions:Lr.Z,NcActionSeparator:Nr.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z},props:{filesListWidth:{type:Number,required:!0},loading:{type:String,required:!0},opened:{type:Boolean,default:!1},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},data:()=>({openedSubmenu:null}),computed:{currentDir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentView(){return this.$navigation.active},isLoading(){return this.source.status===lt.e4.LOADING},enabledActions(){return this.source.attributes.failed?[]:Br.filter((t=>!t.enabled||t.enabled([this.source],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},enabledInlineActions(){return this.filesListWidth<768||this.gridMode?[]:this.enabledActions.filter((t=>t?.inline?.(this.source,this.currentView)))},enabledRenderActions(){return this.gridMode?[]:this.enabledActions.filter((t=>"function"==typeof t.renderInline))},enabledDefaultActions(){return this.enabledActions.filter((t=>!!t?.default))},enabledMenuActions(){if(this.openedSubmenu)return this.enabledInlineActions;const t=[...this.enabledInlineActions,...this.enabledActions.filter((t=>t.default!==lt.DT.HIDDEN&&"function"!=typeof t.renderInline))].filter(((t,e,n)=>e===n.findIndex((e=>e.id===t.id)))),e=t.filter((t=>!t.parent)).map((t=>t.id));return t.filter((t=>!(t.parent&&e.includes(t.parent))))},enabledSubmenuActions(){return this.enabledActions.filter((t=>t.parent)).reduce(((t,e)=>(t[e.parent]||(t[e.parent]=[]),t[e.parent].push(e),t)),{})},openedMenu:{get(){return this.opened},set(t){this.$emit("update:opened",t)}},getBoundariesElement:()=>document.querySelector(".app-content > .files-list"),mountType(){return this.source._attributes["mount-type"]}},methods:{actionDisplayName(t){if((this.gridMode||this.filesListWidth<768&&t.inline)&&"function"==typeof t.title){const e=t.title([this.source],this.currentView);if(e)return e}return t.displayName([this.source],this.currentView)},async onActionClick(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isLoading||""!==this.loading)return;if(this.enabledSubmenuActions[t.id])return void(this.openedSubmenu=t);const n=t.displayName([this.source],this.currentView);try{this.$emit("update:loading",t.id),r.ZP.set(this.source,"status",lt.e4.LOADING);const e=await t.exec(this.source,this.currentView,this.currentDir);if(null==e)return;if(e)return void(0,qn.s$)((0,In.Iu)("files",'"{displayName}" action executed successfully',{displayName:n}));(0,qn.x2)((0,In.Iu)("files",'"{displayName}" action failed',{displayName:n}))}catch(e){Vn.error("Error while executing action",{action:t,e}),(0,qn.x2)((0,In.Iu)("files",'"{displayName}" action failed',{displayName:n}))}finally{this.$emit("update:loading",""),r.ZP.set(this.source,"status",void 0),e&&(this.openedSubmenu=null)}},execDefaultAction(t){this.enabledDefaultActions.length>0&&(t.preventDefault(),t.stopPropagation(),this.enabledDefaultActions[0].exec(this.source,this.currentView,this.currentDir))},isMenu(t){return this.enabledSubmenuActions[t]?.length>0},async onBackToMenuClick(t){this.openedSubmenu=null,await this.$nextTick(),this.$nextTick((()=>{const e=this.$refs[`action-${t.id}`][0];e&&e.$el.querySelector("button")?.focus()}))},t:In.Iu}}),jr=Dr;var Ur=s(6523),Rr={};Rr.styleTagTransform=as(),Rr.setAttributes=ss(),Rr.insert=es().bind(null,"head"),Rr.domAPI=Xn(),Rr.insertStyleElement=rs(),Jn()(Ur.Z,Rr),Ur.Z&&Ur.Z.locals&&Ur.Z.locals;var zr=s(35127),Mr={};Mr.styleTagTransform=as(),Mr.setAttributes=ss(),Mr.insert=es().bind(null,"head"),Mr.domAPI=Xn(),Mr.insertStyleElement=rs(),Jn()(zr.Z,Mr),zr.Z&&zr.Z.locals&&zr.Z.locals;var Vr=(0,Fn.Z)(jr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-actions",attrs:{"data-cy-files-list-row-actions":""}},[t._l(t.enabledRenderActions,(function(n){return e("CustomElementRender",{key:n.id,staticClass:"files-list__row-action--inline",class:"files-list__row-action-"+n.id,attrs:{"current-view":t.currentView,render:n.renderInline,source:t.source}})})),t._v(" "),e("NcActions",{ref:"actionsMenu",attrs:{"boundaries-element":t.getBoundariesElement,container:t.getBoundariesElement,"force-name":!0,type:"tertiary","force-menu":0===t.enabledInlineActions.length,inline:t.enabledInlineActions.length,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e},close:function(e){t.openedSubmenu=null}}},[t._l(t.enabledMenuActions,(function(n){return e("NcActionButton",{key:n.id,ref:`action-${n.id}`,refInFor:!0,class:{[`files-list__row-action-${n.id}`]:!0,"files-list__row-action--menu":t.isMenu(n.id)},attrs:{"close-after-click":!t.isMenu(n.id),"data-cy-files-list-row-action":n.id,"is-menu":t.isMenu(n.id),title:n.title?.([t.source],t.currentView)},on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline([t.source],t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s("shared"===t.mountType&&"sharing-status"===n.id?"":t.actionDisplayName(n))+"\n\t\t")])})),t._v(" "),t.openedSubmenu&&t.enabledSubmenuActions[t.openedSubmenu?.id]?[e("NcActionButton",{staticClass:"files-list__row-action-back",on:{click:function(e){return t.onBackToMenuClick(t.openedSubmenu)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)},[t._v("\n\t\t\t\t"+t._s(t.actionDisplayName(t.openedSubmenu))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.enabledSubmenuActions[t.openedSubmenu?.id],(function(n){return e("NcActionButton",{key:n.id,staticClass:"files-list__row-action--submenu",class:`files-list__row-action-${n.id}`,attrs:{"close-after-click":!1,"data-cy-files-list-row-action":n.id,title:n.title?.([t.source],t.currentView)},on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline([t.source],t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(t.actionDisplayName(n))+"\n\t\t\t")])}))]:t._e()],2)],2)}),[],!1,null,"670325ac",null);const $r=Vr.exports,qr=(0,r.aZ)({name:"FileEntryCheckbox",components:{NcCheckboxRadioSwitch:ps.Z,NcLoadingIcon:ui.Z},props:{fileid:{type:Number,required:!0},isLoading:{type:Boolean,default:!1},nodes:{type:Array,required:!0},source:{type:Object,required:!0}},setup(){const t=vi(),e=function(){const t=at("keyboard",{state:()=>({altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1}),actions:{onEvent(t){t||(t=window.event),r.ZP.set(this,"altKey",!!t.altKey),r.ZP.set(this,"ctrlKey",!!t.ctrlKey),r.ZP.set(this,"metaKey",!!t.metaKey),r.ZP.set(this,"shiftKey",!!t.shiftKey)}}})(...arguments);return t._initialized||(window.addEventListener("keydown",t.onEvent),window.addEventListener("keyup",t.onEvent),window.addEventListener("mousemove",t.onEvent),t._initialized=!0),t}();return{keyboardStore:e,selectionStore:t}},computed:{selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.fileid)},index(){return this.nodes.findIndex((t=>t.fileid===this.fileid))},isFile(){return this.source.type===lt.Tv.File},ariaLabel(){return this.isFile?(0,In.Iu)("files",'Toggle selection for file "{displayName}"',{displayName:this.source.basename}):(0,In.Iu)("files",'Toggle selection for folder "{displayName}"',{displayName:this.source.basename})}},methods:{onSelectionChange(t){const e=this.index,n=this.selectionStore.lastSelectedIndex;if(this.keyboardStore?.shiftKey&&null!==n){const t=this.selectedFiles.includes(this.fileid),s=Math.min(e,n),i=Math.max(n,e),r=this.selectionStore.lastSelection,o=this.nodes.map((t=>t.fileid)).slice(s,i+1).filter(Boolean),a=[...r,...o].filter((e=>!t||e!==this.fileid));return Vn.debug("Shift key pressed, selecting all files in between",{start:s,end:i,filesToSelect:o,isAlreadySelected:t}),void this.selectionStore.set(a)}const s=t?[...this.selectedFiles,this.fileid]:this.selectedFiles.filter((t=>t!==this.fileid));Vn.debug("Updating selection",{selection:s}),this.selectionStore.set(s),this.selectionStore.setLastIndex(e)},resetSelection(){this.selectionStore.reset()},t:In.Iu}}),Hr=(0,Fn.Z)(qr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[t.isLoading?e("NcLoadingIcon"):e("NcCheckboxRadioSwitch",{attrs:{"aria-label":t.ariaLabel,checked:t.isSelected},on:{"update:checked":t.onSelectionChange}})],1)}),[],!1,null,null,null).exports;var Zr=s(49368);const Gr=(0,Un.j)("files","forbiddenCharacters",""),Yr=r.ZP.extend({name:"FileEntryName",components:{NcTextField:Zr.Z},props:{displayName:{type:String,required:!0},extension:{type:String,required:!0},filesListWidth:{type:Number,required:!0},nodes:{type:Array,required:!0},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup:()=>({renamingStore:Bi()}),computed:{isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},newName:{get(){return this.renamingStore.newName},set(t){this.renamingStore.newName=t}},renameLabel(){return{[lt.Tv.File]:(0,In.Iu)("files","File name"),[lt.Tv.Folder]:(0,In.Iu)("files","Folder name")}[this.source.type]},linkTo(){if(this.source.attributes.failed)return{is:"span",params:{title:(0,In.Iu)("files","This node is unavailable")}};const t=this.$parent?.$refs?.actions?.enabledDefaultActions;return t?.length>0?{is:"a",params:{title:t[0].displayName([this.source],this.currentView),role:"button",tabindex:"0"}}:this.source?.permissions<.y3.READ?{is:"a",params:{download:this.source.basename,href:this.source.source,title:(0,In.Iu)("files","Download file {name}",{name:this.displayName}),tabindex:"0"}}:{is:"span"}}},watch:{isRenaming:{immediate:!0,handler(t){t&&this.startRenaming()}}},methods:{checkInputValidity(t){const e=t.target,n=this.newName.trim?.()||"";Vn.debug("Checking input validity",{newName:n});try{this.isFileNameValid(n),e.setCustomValidity(""),e.title=""}catch(t){e.setCustomValidity(t.message),e.title=t.message}finally{e.reportValidity()}},isFileNameValid(t){const e=t.trim();if("."===e||".."===e)throw new Error((0,In.Iu)("files",'"{name}" is an invalid file name.',{name:t}));if(0===e.length)throw new Error((0,In.Iu)("files","File name cannot be empty."));if(-1!==e.indexOf("/"))throw new Error((0,In.Iu)("files",'"/" is not allowed inside a file name.'));if(e.match(OC.config.blacklist_files_regex))throw new Error((0,In.Iu)("files",'"{name}" is not an allowed filetype.',{name:t}));if(this.checkIfNodeExists(t))throw new Error((0,In.Iu)("files","{newName} already exists.",{newName:t}));return e.split("").forEach((t=>{if(-1!==Gr.indexOf(t))throw new Error(this.t("files",'"{char}" is not allowed inside a file name.',{char:t}))})),!0},checkIfNodeExists(t){return this.nodes.find((e=>e.basename===t&&e!==this.source))},startRenaming(){this.$nextTick((()=>{const t=(this.source.extension||"").split("").length,e=this.source.basename.split("").length-t,n=this.$refs.renameInput?.$refs?.inputField?.$refs?.input;n?(n.setSelectionRange(0,e),n.focus(),n.dispatchEvent(new Event("keyup"))):Vn.error("Could not find the rename input")}))},stopRenaming(){this.isRenaming&&this.renamingStore.$reset()},async onRename(){const t=this.source.basename,e=this.source.encodedSource,n=this.newName.trim?.()||"";if(""!==n)if(t!==n)if(this.checkIfNodeExists(n))(0,qn.x2)((0,In.Iu)("files","Another entry with the same name already exists"));else{this.loading="renaming",r.ZP.set(this.source,"status",lt.e4.LOADING),this.source.rename(n),Vn.debug("Moving file to",{destination:this.source.encodedSource,oldEncodedSource:e});try{await(0,Rn.Z)({method:"MOVE",url:e,headers:{Destination:this.source.encodedSource,Overwrite:"F"}}),(0,Nn.j8)("files:node:updated",this.source),(0,Nn.j8)("files:node:renamed",this.source),(0,qn.s$)((0,In.Iu)("files",'Renamed "{oldName}" to "{newName}"',{oldName:t,newName:n})),this.stopRenaming(),this.$nextTick((()=>{this.$refs.basename.focus()}))}catch(e){if(Vn.error("Error while renaming file",{error:e}),this.source.rename(t),this.$refs.renameInput.focus(),404===e?.response?.status)return void(0,qn.x2)((0,In.Iu)("files",'Could not rename "{oldName}", it does not exist any more',{oldName:t}));if(412===e?.response?.status)return void(0,qn.x2)((0,In.Iu)("files",'The name "{newName}" is already used in the folder "{dir}". Please choose a different name.',{newName:n,dir:this.currentDir}));(0,qn.x2)((0,In.Iu)("files",'Could not rename "{oldName}"',{oldName:t}))}finally{this.loading=!1,r.ZP.set(this.source,"status",void 0)}}else this.stopRenaming();else(0,qn.x2)((0,In.Iu)("files","Name cannot be empty"))},t:In.Iu}}),Wr=(0,Fn.Z)(Yr,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.isRenaming?e("form",{directives:[{name:"on-click-outside",rawName:"v-on-click-outside",value:t.stopRenaming,expression:"stopRenaming"}],staticClass:"files-list__row-rename",attrs:{"aria-label":t.t("files","Rename file")},on:{submit:function(e){return e.preventDefault(),e.stopPropagation(),t.onRename.apply(null,arguments)}}},[e("NcTextField",{ref:"renameInput",attrs:{label:t.renameLabel,autofocus:!0,minlength:1,required:!0,value:t.newName,enterkeyhint:"done"},on:{"update:value":function(e){t.newName=e},keyup:[t.checkInputValidity,function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.stopRenaming.apply(null,arguments)}]}})],1):e(t.linkTo.is,t._b({ref:"basename",tag:"component",staticClass:"files-list__row-name-link",attrs:{"aria-hidden":t.isRenaming,"data-cy-files-list-row-name-link":""},on:{click:function(e){return t.$emit("click",e)}}},"component",t.linkTo.params,!1),[e("span",{staticClass:"files-list__row-name-text"},[e("span",{staticClass:"files-list__row-name-",domProps:{textContent:t._s(t.displayName)}}),t._v(" "),e("span",{staticClass:"files-list__row-name-ext",domProps:{textContent:t._s(t.extension)}})])])}),[],!1,null,null,null).exports;var Kr=s(60186);const Jr={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qr=(0,Fn.Z)(Jr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Xr={name:"FolderOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},to=(0,Fn.Z)(Xr,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-open-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,eo={name:"KeyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},no=(0,Fn.Z)(eo,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon key-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,so={name:"NetworkIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},io=(0,Fn.Z)(so,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon network-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ro={name:"TagIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},oo=(0,Fn.Z)(ro,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tag-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ao={name:"PlayCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},lo=(0,Fn.Z)(ao,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-circle-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,co={name:"CollectivesIcon",props:{title:{type:String,default:""},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},uo=(0,Fn.Z)(co,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon collectives-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 16 16"}},[e("path",{attrs:{d:"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z"}}),t._v(" "),e("path",{attrs:{d:"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z"}}),t._v(" "),e("path",{attrs:{d:"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z"}}),t._v(" "),e("path",{attrs:{d:"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z"}})])])}),[],!1,null,null,null).exports,mo=(0,r.aZ)({name:"FavoriteIcon",components:{NcIconSvgWrapper:jn.Z},data:()=>({StarSvg:''}),async mounted(){await this.$nextTick();const t=this.$el.querySelector("svg");t?.setAttribute?.("viewBox","-4 -4 30 30")},methods:{t:In.Iu}});var po=s(29785),fo={};fo.styleTagTransform=as(),fo.setAttributes=ss(),fo.insert=es().bind(null,"head"),fo.domAPI=Xn(),fo.insertStyleElement=rs(),Jn()(po.Z,fo),po.Z&&po.Z.locals&&po.Z.locals;const go=(0,Fn.Z)(mo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:t.t("files","Favorite"),svg:t.StarSvg}})}),[],!1,null,"77afa6dc",null).exports,ho=r.ZP.extend({name:"FileEntryPreview",components:{AccountGroupIcon:Kr.Z,AccountPlusIcon:pi,CollectivesIcon:uo,FavoriteIcon:go,FileIcon:Qr,FolderIcon:zi,FolderOpenIcon:to,KeyIcon:no,LinkIcon:ii.Z,NetworkIcon:io,TagIcon:oo},props:{source:{type:Object,required:!0},dragover:{type:Boolean,default:!1},gridMode:{type:Boolean,default:!1}},setup:()=>({userConfigStore:vs()}),data:()=>({backgroundFailed:void 0}),computed:{fileid(){return this.source?.fileid?.toString?.()},isFavorite(){return 1===this.source.attributes.favorite},userConfig(){return this.userConfigStore.userConfig},cropPreviews(){return!0===this.userConfig.crop_image_previews},previewUrl(){if(this.source.type===lt.Tv.Folder)return null;if(!0===this.backgroundFailed)return null;try{const t=this.source.attributes.previewUrl||(0,ut.generateUrl)("/core/preview?fileId={fileid}",{fileid:this.fileid}),e=new URL(window.location.origin+t);return e.searchParams.set("x",this.gridMode?"128":"32"),e.searchParams.set("y",this.gridMode?"128":"32"),e.searchParams.set("mimeFallback","true"),e.searchParams.set("a",!0===this.cropPreviews?"0":"1"),e.href}catch(t){return null}},fileOverlay(){return void 0!==this.source.attributes["metadata-files-live-photo"]?lo:null},folderOverlay(){if(this.source.type!==lt.Tv.Folder)return null;if(1===this.source?.attributes?.["is-encrypted"])return no;if(this.source?.attributes?.["is-tag"])return oo;const t=Object.values(this.source?.attributes?.["share-types"]||{}).flat();if(t.some((t=>t===ni.D.SHARE_TYPE_LINK||t===ni.D.SHARE_TYPE_EMAIL)))return ii.Z;if(t.length>0)return pi;switch(this.source?.attributes?.["mount-type"]){case"external":case"external-session":return io;case"group":return Kr.Z;case"collective":return uo}return null}},methods:{reset(){!0===this.backgroundFailed&&this.$refs.previewImg&&(this.$refs.previewImg.src=""),this.backgroundFailed=void 0},t:In.Iu}}),Ao=(0,Fn.Z)(ho,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("span",{staticClass:"files-list__row-icon"},["folder"===t.source.type?[t.dragover?t._m(0):[t._m(1),t._v(" "),t.folderOverlay?e(t.folderOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay"}):t._e()]]:t.previewUrl&&!0!==t.backgroundFailed?e("img",{ref:"previewImg",staticClass:"files-list__row-icon-preview",class:{"files-list__row-icon-preview--loaded":!1===t.backgroundFailed},attrs:{alt:"",loading:"lazy",src:t.previewUrl},on:{error:function(e){t.backgroundFailed=!0},load:function(e){t.backgroundFailed=!1}}}):t._m(2),t._v(" "),t.isFavorite?e("span",{staticClass:"files-list__row-icon-favorite"},[t._m(3)],1):t._e(),t._v(" "),t.fileOverlay?e(t.fileOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay files-list__row-icon-overlay--file"}):t._e()],2)}),[function(){var t=this._self._c;return this._self._setupProxy,t("FolderOpenIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FolderIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FileIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FavoriteIcon")}],!1,null,null,null).exports,wo=(0,r.aZ)({name:"FileEntry",components:{CustomElementRender:kr,FileEntryActions:$r,FileEntryCheckbox:Hr,FileEntryName:Wr,FileEntryPreview:Ao,NcDateTime:Tr.Z},mixins:[_r],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},setup:()=>({actionsMenuStore:Fi(),draggingStore:Oi(),filesStore:wi(),renamingStore:Bi(),selectionStore:vi()}),computed:{rowListeners(){return{...this.isRenaming?{}:{dragstart:this.onDragStart,dragover:this.onDragOver},contextmenu:this.onRightClick,dragleave:this.onDragLeave,dragend:this.onDragEnd,drop:this.onDrop}},columns(){return this.filesListWidth<512||this.compact?[]:this.currentView?.columns||[]},size(){const t=parseInt(this.source.size,10)||0;return"number"!=typeof t||t<0?this.t("files","Pending"):(0,lt.sS)(t,!0)},sizeOpacity(){const t=parseInt(this.source.size,10)||0;return!t||t<0?{}:{color:`color-mix(in srgb, var(--color-main-text) ${Math.round(Math.min(100,100*Math.pow(this.source.size/10485760,2)))}%, var(--color-text-maxcontrast))`}},mtimeOpacity(){const t=26784e5,e=this.source.mtime?.getTime?.();if(!e)return{};const n=Math.round(Math.min(100,100*(t-(Date.now()-e))/t));return n<0?{}:{color:`color-mix(in srgb, var(--color-main-text) ${n}%, var(--color-text-maxcontrast))`}},mtimeTitle(){return this.source.mtime?Pi()(this.source.mtime).format("LLL"):""},isActive(){return this.fileid===this.currentFileId?.toString?.()}},methods:{formatFileSize:lt.sS}}),yo=(0,Fn.Z)(wo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",t._g({staticClass:"files-list__row",class:{"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading,"files-list__row--active":t.isActive},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag}},t.rowListeners),[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{source:t.source,dragover:t.dragover},nativeOn:{click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,nodes:t.nodes,source:t.source},on:{click:t.execDefaultAction}})],1),t._v(" "),e("FileEntryActions",{directives:[{name:"show",rawName:"v-show",value:!t.isRenamingSmallScreen,expression:"!isRenamingSmallScreen"}],ref:"actions",class:`files-list__row-actions-${t.uniqueId}`,attrs:{"files-list-width":t.filesListWidth,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}}),t._v(" "),!t.compact&&t.isSizeAvailable?e("td",{staticClass:"files-list__row-size",style:t.sizeOpacity,attrs:{"data-cy-files-list-row-size":""},on:{click:t.openDetailsIfAvailable}},[e("span",[t._v(t._s(t.size))])]):t._e(),t._v(" "),!t.compact&&t.isMtimeAvailable?e("td",{staticClass:"files-list__row-mtime",style:t.mtimeOpacity,attrs:{"data-cy-files-list-row-mtime":""},on:{click:t.openDetailsIfAvailable}},[e("NcDateTime",{attrs:{timestamp:t.source.mtime,"ignore-seconds":!0}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("td",{key:n.id,staticClass:"files-list__row-column-custom",class:`files-list__row-${t.currentView?.id}-${n.id}`,attrs:{"data-cy-files-list-row-column-custom":n.id},on:{click:t.openDetailsIfAvailable}},[e("CustomElementRender",{attrs:{"current-view":t.currentView,render:n.render,source:t.source}})],1)}))],2)}),[],!1,null,null,null).exports,vo=(0,r.aZ)({name:"FileEntryGrid",components:{FileEntryActions:$r,FileEntryCheckbox:Hr,FileEntryName:Wr,FileEntryPreview:Ao},mixins:[_r],inheritAttrs:!1,setup:()=>({actionsMenuStore:Fi(),draggingStore:Oi(),filesStore:wi(),renamingStore:Bi(),selectionStore:vi()}),data:()=>({gridMode:!0})}),bo=(0,Fn.Z)(vo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row",class:{"files-list__row--active":t.isActive,"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag},on:{contextmenu:t.onRightClick,dragover:t.onDragOver,dragleave:t.onDragLeave,dragstart:t.onDragStart,dragend:t.onDragEnd,drop:t.onDrop}},[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{dragover:t.dragover,"grid-mode":!0,source:t.source},nativeOn:{click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,"grid-mode":!0,nodes:t.nodes,source:t.source},on:{click:t.execDefaultAction}})],1),t._v(" "),e("FileEntryActions",{ref:"actions",class:`files-list__row-actions-${t.uniqueId}`,attrs:{"files-list-width":t.filesListWidth,"grid-mode":!0,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}})],1)}),[],!1,null,null,null).exports;var Co=s(25108);const xo={name:"FilesListHeader",props:{header:{type:Object,required:!0},currentFolder:{type:Object,required:!0},currentView:{type:Object,required:!0}},computed:{enabled(){return this.header.enabled(this.currentFolder,this.currentView)}},watch:{enabled(t){t&&this.header.updated(this.currentFolder,this.currentView)},currentFolder(){this.header.updated(this.currentFolder,this.currentView)}},mounted(){Co.debug("Mounted",this.header.id),this.header.render(this.$refs.mount,this.currentFolder,this.currentView)}},_o=(0,Fn.Z)(xo,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.enabled,expression:"enabled"}],class:`files-list__header-${t.header.id}`},[e("span",{ref:"mount"})])}),[],!1,null,null,null).exports,To=r.ZP.extend({name:"FilesListTableFooter",components:{},props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},summary:{type:String,default:""},filesListWidth:{type:Number,default:0}},setup(){const t=yi();return{filesStore:wi(),pathsStore:t}},computed:{currentView(){return this.$navigation.active},dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){if(!this.currentView?.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},columns(){return this.filesListWidth<512?[]:this.currentView?.columns||[]},totalSize(){return this.currentFolder?.size?(0,lt.sS)(this.currentFolder.size,!0):(0,lt.sS)(this.nodes.reduce(((t,e)=>t+e.size||0),0),!0)}},methods:{classForColumn(t){return{"files-list__row-column-custom":!0,[`files-list__row-${this.currentView.id}-${t.id}`]:!0}},t:In.Iu}});var Eo=s(16250),ko={};ko.styleTagTransform=as(),ko.setAttributes=ss(),ko.insert=es().bind(null,"head"),ko.domAPI=Xn(),ko.insertStyleElement=rs(),Jn()(Eo.Z,ko),Eo.Z&&Eo.Z.locals&&Eo.Z.locals;const So=(0,Fn.Z)(To,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",[e("th",{staticClass:"files-list__row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("files","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"files-list__row-name"},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("span",[t._v(t._s(t.summary))])]),t._v(" "),e("td",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("td",{staticClass:"files-list__column files-list__row-size"},[e("span",[t._v(t._s(t.totalSize))])]):t._e(),t._v(" "),t.isMtimeAvailable?e("td",{staticClass:"files-list__column files-list__row-mtime"}):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n)},[e("span",[t._v(t._s(n.summary?.(t.nodes,t.currentView)))])])}))],2)}),[],!1,null,"a85bde20",null).exports;var Lo=s(63198),No=s(7290);const Io=r.ZP.extend({computed:{...(Fo=Mn,Oo=["getConfig","setSortingBy","toggleSortingDirection"],Array.isArray(Oo)?Oo.reduce(((t,e)=>(t[e]=function(){return Fo(this.$pinia)[e]},t)),{}):Object.keys(Oo).reduce(((t,e)=>(t[e]=function(){const t=Fo(this.$pinia),n=Oo[e];return"function"==typeof n?n.call(this,t):t[n]},t)),{})),currentView(){return this.$navigation.active},sortingMode(){return this.getConfig(this.currentView.id)?.sorting_mode||this.currentView?.defaultSortKey||"basename"},isAscSorting(){const t=this.getConfig(this.currentView.id)?.sorting_direction;return"desc"!==t}},methods:{toggleSortBy(t){this.sortingMode!==t?this.setSortingBy(t,this.currentView.id):this.toggleSortingDirection(this.currentView.id)}}}),Po=(0,r.aZ)({name:"FilesListTableHeaderButton",components:{MenuDown:Lo.Z,MenuUp:No.Z,NcButton:li.Z},mixins:[Io],props:{name:{type:String,required:!0},mode:{type:String,required:!0}},methods:{t:In.Iu}});var Fo,Oo,Bo=s(97704),Do={};Do.styleTagTransform=as(),Do.setAttributes=ss(),Do.insert=es().bind(null,"head"),Do.domAPI=Xn(),Do.insertStyleElement=rs(),Jn()(Bo.Z,Do),Bo.Z&&Bo.Z.locals&&Bo.Z.locals;const jo=(0,Fn.Z)(Po,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcButton",{class:["files-list__column-sort-button",{"files-list__column-sort-button--active":t.sortingMode===t.mode,"files-list__column-sort-button--size":"size"===t.sortingMode}],attrs:{alignment:"size"===t.mode?"end":"start-reverse",type:"tertiary"},on:{click:function(e){return t.toggleSortBy(t.mode)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.sortingMode!==t.mode||t.isAscSorting?e("MenuUp",{staticClass:"files-list__column-sort-button-icon"}):e("MenuDown",{staticClass:"files-list__column-sort-button-icon"})]},proxy:!0}])},[t._v(" "),e("span",{staticClass:"files-list__column-sort-button-text"},[t._v(t._s(t.name))])])}),[],!1,null,"2dd1845e",null).exports,Uo=(0,r.aZ)({name:"FilesListTableHeader",components:{FilesListTableHeaderButton:jo,NcCheckboxRadioSwitch:ps.Z},mixins:[Io],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup:()=>({filesStore:wi(),selectionStore:vi()}),computed:{currentView(){return this.$navigation.active},columns(){return this.filesListWidth<512?[]:this.currentView?.columns||[]},dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},selectAllBind(){const t=(0,In.Iu)("files","Toggle selection for all files and folders");return{"aria-label":t,checked:this.isAllSelected,indeterminate:this.isSomeSelected,title:t}},selectedNodes(){return this.selectionStore.selected},isAllSelected(){return this.selectedNodes.length===this.nodes.length},isNoneSelected(){return 0===this.selectedNodes.length},isSomeSelected(){return!this.isAllSelected&&!this.isNoneSelected}},methods:{ariaSortForMode(t){return this.sortingMode===t?this.isAscSorting?"ascending":"descending":null},classForColumn(t){return{"files-list__column":!0,"files-list__column--sortable":!!t.sort,"files-list__row-column-custom":!0,[`files-list__row-${this.currentView?.id}-${t.id}`]:!0}},onToggleAll(t){if(t){const t=this.nodes.map((t=>t.fileid)).filter(Boolean);Vn.debug("Added all nodes to selection",{selection:t}),this.selectionStore.setLastIndex(null),this.selectionStore.set(t)}else Vn.debug("Cleared selection"),this.selectionStore.reset()},resetSelection(){this.selectionStore.reset()},t:In.Iu}});var Ro=s(25385),zo={};zo.styleTagTransform=as(),zo.setAttributes=ss(),zo.insert=es().bind(null,"head"),zo.domAPI=Xn(),zo.insertStyleElement=rs(),Jn()(Ro.Z,zo),Ro.Z&&Ro.Z.locals&&Ro.Z.locals;const Mo=(0,Fn.Z)(Uo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row-head"},[e("th",{staticClass:"files-list__column files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[e("NcCheckboxRadioSwitch",t._b({on:{"update:checked":t.onToggleAll}},"NcCheckboxRadioSwitch",t.selectAllBind,!1))],1),t._v(" "),e("th",{staticClass:"files-list__column files-list__row-name files-list__column--sortable",attrs:{"aria-sort":t.ariaSortForMode("basename")}},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Name"),mode:"basename"}})],1),t._v(" "),e("th",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("th",{staticClass:"files-list__column files-list__row-size",class:{"files-list__column--sortable":t.isSizeAvailable},attrs:{"aria-sort":t.ariaSortForMode("size")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Size"),mode:"size"}})],1):t._e(),t._v(" "),t.isMtimeAvailable?e("th",{staticClass:"files-list__column files-list__row-mtime",class:{"files-list__column--sortable":t.isMtimeAvailable},attrs:{"aria-sort":t.ariaSortForMode("mtime")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Modified"),mode:"mtime"}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n),attrs:{"aria-sort":t.ariaSortForMode(n.id)}},[n.sort?e("FilesListTableHeaderButton",{attrs:{name:n.title,mode:n.id}}):e("span",[t._v("\n\t\t\t"+t._s(n.title)+"\n\t\t")])],1)}))],2)}),[],!1,null,"952162c2",null).exports,Vo=r.ZP.extend({data:()=>({filesListWidth:null}),mounted(){const t=document.querySelector("#app-content-vue");this.filesListWidth=t?.clientWidth??null,this.$resizeObserver=new ResizeObserver((e=>{e.length>0&&e[0].target===t&&(this.filesListWidth=e[0].contentRect.width)})),this.$resizeObserver.observe(t)},beforeDestroy(){this.$resizeObserver.disconnect()}});var $o=s(20296),qo=s(25108);const Ho=r.ZP.extend({name:"VirtualList",mixins:[Vo],props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},extraProps:{type:Object,default:()=>({})},scrollToIndex:{type:Number,default:0},gridMode:{type:Boolean,default:!1},caption:{type:String,default:""}},data(){return{index:this.scrollToIndex,beforeHeight:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{isReady(){return this.tableHeight>0},bufferItems(){return this.gridMode?this.columnCount:3},itemHeight(){return this.gridMode?197:55},itemWidth:()=>175,rowCount(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+this.bufferItems/this.columnCount*2+1},columnCount(){return this.gridMode?Math.floor(this.filesListWidth/this.itemWidth):1},startIndex(){return Math.max(0,this.index-this.bufferItems)},shownItems(){return this.gridMode?this.rowCount*this.columnCount:this.rowCount},renderedItems(){if(!this.isReady)return[];const t=this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems),e=t.filter((t=>Object.values(this.$_recycledPool).includes(t[this.dataKey]))).map((t=>t[this.dataKey])),n=Object.keys(this.$_recycledPool).filter((t=>!e.includes(this.$_recycledPool[t])));return t.map((t=>{const e=Object.values(this.$_recycledPool).indexOf(t[this.dataKey]);if(-1!==e)return{key:Object.keys(this.$_recycledPool)[e],item:t};const s=n.pop()||Math.random().toString(36).substr(2);return this.$_recycledPool[s]=t[this.dataKey],{key:s,item:t}}))},tbodyStyle(){const t=this.startIndex+this.rowCount>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.floor(Math.min(this.dataSources.length-this.startIndex,e)/this.columnCount);return{paddingTop:Math.floor(this.startIndex/this.columnCount)*this.itemHeight+"px",paddingBottom:t?0:n*this.itemHeight+"px"}}},watch:{scrollToIndex(t){this.scrollTo(t)},columnCount(t,e){0!==e?this.scrollTo(this.index):qo.debug("VirtualList: columnCount is 0, skipping scroll")}},mounted(){const t=this.$refs?.before,e=this.$el,n=this.$refs?.thead;this.resizeObserver=new ResizeObserver((0,$o.debounce)((()=>{this.beforeHeight=t?.clientHeight??0,this.headerHeight=n?.clientHeight??0,this.tableHeight=e?.clientHeight??0,Vn.debug("VirtualList: resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(t),this.resizeObserver.observe(e),this.resizeObserver.observe(n),this.scrollToIndex&&this.scrollTo(this.scrollToIndex),this.$el.addEventListener("scroll",this.onScroll,{passive:!0}),this.$_recycledPool={}},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{scrollTo(t){const e=Math.ceil(this.dataSources.length/this.columnCount);if(e{this._onScrollHandle=null;const t=this.$el.scrollTop-this.beforeHeight,e=Math.floor(t/this.itemHeight)*this.columnCount;this.index=Math.max(0,e),this.$emit("scroll")}))}}}),Zo=(0,Fn.Z)(Ho,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list",attrs:{"data-cy-files-list":""}},[e("div",{ref:"before",staticClass:"files-list__before"},[t._t("before")],2),t._v(" "),t.$scopedSlots["header-overlay"]?e("div",{staticClass:"files-list__thead-overlay"},[t._t("header-overlay")],2):t._e(),t._v(" "),e("table",{staticClass:"files-list__table",class:{"files-list__table--with-thead-overlay":!!t.$scopedSlots["header-overlay"]}},[t.caption?e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.caption)+"\n\t\t")]):t._e(),t._v(" "),e("thead",{ref:"thead",staticClass:"files-list__thead",attrs:{"data-cy-files-list-thead":""}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"files-list__tbody",class:t.gridMode?"files-list__tbody--grid":"files-list__tbody--list",style:t.tbodyStyle,attrs:{"data-cy-files-list-tbody":""}},t._l(t.renderedItems,(function(n,s){let{key:i,item:r}=n;return e(t.dataComponent,t._b({key:i,tag:"component",attrs:{source:r,index:s}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"show",rawName:"v-show",value:t.isReady,expression:"isReady"}],staticClass:"files-list__tfoot",attrs:{"data-cy-files-list-tfoot":""}},[t._t("footer")],2)])])}),[],!1,null,null,null).exports,Go=(0,lt.Vn)(),Yo=(0,r.aZ)({name:"FilesListTableHeaderActions",components:{NcActions:Lr.Z,NcActionButton:Sr.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z},mixins:[Vo],props:{currentView:{type:Object,required:!0},selectedNodes:{type:Array,default:()=>[]}},setup:()=>({actionsMenuStore:Fi(),filesStore:wi(),selectionStore:vi()}),data:()=>({loading:null}),computed:{dir(){return(this.$route?.query?.dir||"/").replace(/^(.+)\/$/,"$1")},enabledActions(){return Go.filter((t=>t.execBatch)).filter((t=>!t.enabled||t.enabled(this.nodes,this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},nodes(){return this.selectedNodes.map((t=>this.getNode(t))).filter(Boolean)},areSomeNodesLoading(){return this.nodes.some((t=>t.status===lt.e4.LOADING))},openedMenu:{get(){return"global"===this.actionsMenuStore.opened},set(t){this.actionsMenuStore.opened=t?"global":null}},inlineActions(){return this.filesListWidth<512?0:this.filesListWidth<768?1:this.filesListWidth<1024?2:3}},methods:{getNode(t){return this.filesStore.getNode(t)},async onActionClick(t){const e=t.displayName(this.nodes,this.currentView),n=this.selectedNodes;try{this.loading=t.id,this.nodes.forEach((t=>{r.ZP.set(t,"status",lt.e4.LOADING)}));const s=await t.execBatch(this.nodes,this.currentView,this.dir);if(!s.some((t=>null!==t)))return void this.selectionStore.reset();if(s.some((t=>!1===t))){const t=n.filter(((t,e)=>!1===s[e]));if(this.selectionStore.set(t),s.some((t=>null===t)))return;return void(0,qn.x2)(this.t("files",'"{displayName}" failed on some elements ',{displayName:e}))}(0,qn.s$)(this.t("files",'"{displayName}" batch action executed successfully',{displayName:e})),this.selectionStore.reset()}catch(n){Vn.error("Error while executing action",{action:t,e:n}),(0,qn.x2)(this.t("files",'"{displayName}" action failed',{displayName:e}))}finally{this.loading=null,this.nodes.forEach((t=>{r.ZP.set(t,"status",void 0)}))}},t:In.Iu}}),Wo=Yo;var Ko=s(35261),Jo={};Jo.styleTagTransform=as(),Jo.setAttributes=ss(),Jo.insert=es().bind(null,"head"),Jo.domAPI=Xn(),Jo.insertStyleElement=rs(),Jn()(Ko.Z,Jo),Ko.Z&&Ko.Z.locals&&Ko.Z.locals;var Qo=(0,Fn.Z)(Wo,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list__column files-list__row-actions-batch"},[e("NcActions",{ref:"actionsMenu",attrs:{disabled:!!t.loading||t.areSomeNodesLoading,"force-name":!0,inline:t.inlineActions,"menu-name":t.inlineActions<=1?t.t("files","Actions"):null,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e}}},t._l(t.enabledActions,(function(n){return e("NcActionButton",{key:n.id,class:"files-list__row-actions-batch-"+n.id,on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline(t.nodes,t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(n.displayName(t.nodes,t.currentView))+"\n\t\t")])})),1)],1)}),[],!1,null,"d939292c",null);const Xo=Qo.exports,ta=(0,r.aZ)({name:"FilesListVirtual",components:{FilesListHeader:_o,FilesListTableFooter:So,FilesListTableHeader:Mo,VirtualList:Zo,FilesListTableHeaderActions:Xo},mixins:[Vo],props:{currentView:{type:lt.G7,required:!0},currentFolder:{type:lt.gt,required:!0},nodes:{type:Array,required:!0}},setup:()=>({userConfigStore:vs(),selectionStore:vi()}),data:()=>({FileEntry:yo,FileEntryGrid:bo,headers:(0,lt.De)(),scrollToIndex:0,openFileId:null}),computed:{userConfig(){return this.userConfigStore.userConfig},fileId(){return parseInt(this.$route.params.fileid)||null},openFile(){return!!this.$route.query.openfile},summary(){return Ni(this.nodes)},isMtimeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.mtime))},isSizeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.attributes.size))},sortedHeaders(){return this.currentFolder&&this.currentView?[...this.headers].sort(((t,e)=>t.order-e.order)):[]},caption(){const t=(0,In.Iu)("files","List of files and folders.");return`${this.currentView.caption||t}\n${(0,In.Iu)("files","Column headers with buttons are sortable.")}\n${(0,In.Iu)("files","This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.")}`},selectedNodes(){return this.selectionStore.selected},isNoneSelected(){return 0===this.selectedNodes.length}},watch:{fileId(t){this.scrollToFile(t,!1)},openFile(t){t&&this.$nextTick((()=>this.handleOpenFile(this.fileId)))}},mounted(){window.document.querySelector("main.app-content").addEventListener("dragover",this.onDragOver);const{id:t}=(0,Un.j)("files","openFileInfo",{});this.scrollToFile(t??this.fileId),this.openSidebarForFile(t??this.fileId),this.handleOpenFile(t??null)},beforeDestroy(){window.document.querySelector("main.app-content").removeEventListener("dragover",this.onDragOver)},methods:{openSidebarForFile(t){if(document.documentElement.clientWidth>1024&&this.currentFolder.fileid!==t){const e=this.nodes.find((e=>e.fileid===t));e&&Ai?.enabled?.([e],this.currentView)&&(Vn.debug("Opening sidebar on file "+e.path,{node:e}),Ai.exec(e,this.currentView,this.currentFolder.path))}},scrollToFile(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t){const n=this.nodes.findIndex((e=>e.fileid===t));e&&-1===n&&t!==this.currentFolder.fileid&&(0,qn.x2)(this.t("files","File not found")),this.scrollToIndex=Math.max(0,n)}},handleOpenFile(t){if(null===t||this.openFileId===t)return;const e=this.nodes.find((e=>e.fileid===t));void 0!==e&&e.type!==lt.Tv.Folder&&(Vn.debug("Opening file "+e.path,{node:e}),this.openFileId=t,(0,lt.Vn)().filter((t=>!t.enabled||t.enabled([e],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0))).filter((t=>!!t?.default))[0].exec(e,this.currentView,this.currentFolder.path))},getFileId:t=>t.fileid,onDragOver(t){const e=t.dataTransfer?.types.includes("Files");if(e)return;t.preventDefault(),t.stopPropagation();const n=this.$refs.table.$el.getBoundingClientRect().top,s=n+this.$refs.table.$el.getBoundingClientRect().height;t.clientYs-50&&(this.$refs.table.$el.scrollTop=this.$refs.table.$el.scrollTop+25)},t:In.Iu}});var ea=s(39402),na={};na.styleTagTransform=as(),na.setAttributes=ss(),na.insert=es().bind(null,"head"),na.domAPI=Xn(),na.insertStyleElement=rs(),Jn()(ea.Z,na),ea.Z&&ea.Z.locals&&ea.Z.locals;var sa=s(62513),ia={};ia.styleTagTransform=as(),ia.setAttributes=ss(),ia.insert=es().bind(null,"head"),ia.domAPI=Xn(),ia.insertStyleElement=rs(),Jn()(sa.Z,ia),sa.Z&&sa.Z.locals&&sa.Z.locals;const ra=(0,Fn.Z)(ta,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("VirtualList",{ref:"table",attrs:{"data-component":t.userConfig.grid_view?t.FileEntryGrid:t.FileEntry,"data-key":"source","data-sources":t.nodes,"grid-mode":t.userConfig.grid_view,"extra-props":{isMtimeAvailable:t.isMtimeAvailable,isSizeAvailable:t.isSizeAvailable,nodes:t.nodes,filesListWidth:t.filesListWidth},"scroll-to-index":t.scrollToIndex,caption:t.caption},scopedSlots:t._u([t.isNoneSelected?null:{key:"header-overlay",fn:function(){return[e("FilesListTableHeaderActions",{attrs:{"current-view":t.currentView,"selected-nodes":t.selectedNodes}})]},proxy:!0},{key:"before",fn:function(){return t._l(t.sortedHeaders,(function(n){return e("FilesListHeader",{key:n.id,attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,header:n}})}))},proxy:!0},{key:"header",fn:function(){return[e("FilesListTableHeader",{ref:"thead",attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes}})]},proxy:!0},{key:"footer",fn:function(){return[e("FilesListTableFooter",{attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes,summary:t.summary}})]},proxy:!0}],null,!0)})}),[],!1,null,"48fb0b13",null).exports,oa={name:"TrayArrowDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},aa=(0,Fn.Z)(oa,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tray-arrow-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var la=s(65358);const ca=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=(0,si.g)();try{return await n.upload(`${e}${t.name}`,t)}catch(e){throw(0,qn.x2)((0,In.Iu)("files",'Uploading "{filename}" failed',{filename:t.name})),e}},ua=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(t.isFile)return[await new Promise(((n,s)=>{t.file((async t=>n(await ca(t,e))),(t=>s(t)))}))];{const n=t,s=(0,la.RQ)(lt._o,(0,si.g)().destination.path,e,n.name);Vn.debug("Handle directory recursively",{name:n.name,absolutPath:s});const i=(0,lt.rp)();if(!await i.exists(s)){Vn.debug("Directory does not exist, creating it",{absolutPath:s}),await i.createDirectory(s,{recursive:!0});const t=await i.stat(s,{details:!0,data:(0,lt.h7)()});(0,Nn.j8)("files:node:created",(0,lt.RL)(t.data))}const r=await function(t){const e=t.createReader();return new Promise(((t,n)=>{const s=[],i=()=>{e.readEntries((e=>{e.length?(s.push(...e),i()):t(s)}),(t=>{n(t)}))};i()}))}(n),o=r.sort((t=>t.isFile?-1:1)).map((t=>ua(t,`${e}${n.name}/`)));return(await Promise.all(o)).flat()}},da=(0,r.aZ)({name:"DragAndDropNotice",components:{TrayArrowDownIcon:aa},props:{currentFolder:{type:lt.gt,required:!0}},data:()=>({dragover:!1}),computed:{canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions<.y3.CREATE)},isQuotaExceeded(){return 0===this.currentFolder?.attributes?.["quota-available-bytes"]},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.canUpload?null:this.t("files","You don’t have permission to upload or create files here")}},mounted(){const t=window.document.querySelector("main.app-content");t.addEventListener("dragover",this.onDragOver),t.addEventListener("dragleave",this.onDragLeave),t.addEventListener("drop",this.onContentDrop)},beforeDestroy(){const t=window.document.querySelector("main.app-content");t.removeEventListener("dragover",this.onDragOver),t.removeEventListener("dragleave",this.onDragLeave),t.removeEventListener("drop",this.onContentDrop)},methods:{onDragOver(t){t.preventDefault();const e=t.dataTransfer?.types.includes("Files");e&&(this.dragover=!0)},onDragLeave(t){const e=t.currentTarget;e?.contains(t.relatedTarget??t.target)||this.dragover&&(this.dragover=!1)},onContentDrop(t){Vn.debug("Drag and drop cancelled, dropped on empty space",{event:t}),t.preventDefault(),this.dragover&&(this.dragover=!1)},async onDrop(t){if(Vn.debug("Dropped on DragAndDropNotice",{event:t}),this.cantUploadLabel)(0,qn.x2)(this.cantUploadLabel);else if(!this.$el.querySelector("tbody")?.contains(t.target)){if(t.preventDefault(),t.stopPropagation(),t.dataTransfer&&t.dataTransfer.items.length>0){Vn.debug(`Uploading files to ${this.currentFolder.path}`);const e=await(async t=>{const e=[];for(const n of t.items){if("file"!==n.kind){Vn.debug("Skipping dropped item",{kind:n.kind,type:n.type});continue}const t=n?.getAsEntry?.()??n.webkitGetAsEntry();if(null===t){Vn.debug("Could not get FilesystemEntry of item, falling back to file");const t=n.getAsFile();null===t?(Vn.warn("Could not process DataTransferItem",{type:n.type,kind:n.kind}),(0,qn.x2)((0,In.Iu)("files","One of the dropped files could not be processed"))):e.push(await ca(t))}else Vn.debug("Handle recursive upload",{entry:t.name}),e.push(...await ua(t))}return e})(t.dataTransfer);if(Vn.debug("Upload terminated",{uploads:e}),e.some((t=>t.status===si.c.FAILED))){(0,qn.x2)((0,In.Iu)("files","Some files could not be uploaded"));const t=e.filter((t=>t.status===si.c.FAILED));Vn.debug("Some files could not be uploaded",{failedUploads:t})}else(0,qn.s$)((0,In.Iu)("files","Files uploaded successfully"));const n=e.findLast((t=>t.status!==si.c.FAILED&&!t.file.webkitRelativePath.includes("/")&&t.response?.headers?.["oc-fileid"]));void 0!==n&&this.$router.push({...this.$route,params:{view:this.$route.params?.view??"files",fileid:parseInt(n.response.headers["oc-fileid"])}})}this.dragover=!1}},t:In.Iu}});var ma=s(21902),pa={};pa.styleTagTransform=as(),pa.setAttributes=ss(),pa.insert=es().bind(null,"head"),pa.domAPI=Xn(),pa.insertStyleElement=rs(),Jn()(ma.Z,pa),ma.Z&&ma.Z.locals&&ma.Z.locals;const fa=(0,Fn.Z)(da,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{directives:[{name:"show",rawName:"v-show",value:t.dragover,expression:"dragover"}],staticClass:"files-list__drag-drop-notice",on:{drop:t.onDrop}},[e("div",{staticClass:"files-list__drag-drop-notice-wrapper"},[t.canUpload&&!t.isQuotaExceeded?[e("TrayArrowDownIcon",{attrs:{size:48}}),t._v(" "),e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.t("files","Drag and drop files here to upload"))+"\n\t\t\t")])]:[e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.cantUploadLabel)+"\n\t\t\t")])]],2)])}),[],!1,null,"46caa8f8",null).exports,ga=void 0!==(0,Ls.F)()?.files_sharing,ha=(0,r.aZ)({name:"FilesList",components:{BreadCrumbs:Li,DragAndDropNotice:fa,FilesListVirtual:ra,LinkIcon:ii.Z,ListViewIcon:oi,NcAppContent:ai.Z,NcButton:li.Z,NcEmptyContent:ci.Z,NcIconSvgWrapper:jn.Z,NcLoadingIcon:ui.Z,PlusIcon:di.Z,AccountPlusIcon:pi,UploadPicker:si.U,ViewGridIcon:gi},mixins:[Vo,Io],setup(){const t=wi(),e=yi(),n=vi(),s=function(){return bi=(0,si.g)(),at("uploader",{state:()=>({queue:bi.queue})})(...arguments)}();return{filesStore:t,pathsStore:e,selectionStore:n,uploaderStore:s,userConfigStore:vs(),viewConfigStore:Mn(),enableGridView:(0,Un.j)("core","config",[])["enable_non-accessible_features"]??!0}},data:()=>({loading:!0,promise:null,Type:ni.D}),computed:{userConfig(){return this.userConfigStore.userConfig},currentView(){return this.$navigation.active||this.$navigation.views.find((t=>t.id===(this.$route.params?.view??"files")))},dir(){return(this.$route?.query?.dir?.toString()||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){if(!this.currentView?.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},sortingParameters(){return[[...this.userConfig.sort_favorites_first?[t=>1!==t.attributes?.favorite]:[],...this.userConfig.sort_folders_first?[t=>"folder"!==t.type]:[],..."basename"!==this.sortingMode?[t=>t[this.sortingMode]]:[],t=>t.attributes?.displayName||t.basename,t=>t.basename],[...this.userConfig.sort_favorites_first?["asc"]:[],...this.userConfig.sort_folders_first?["asc"]:[],..."mtime"===this.sortingMode?[this.isAscSorting?"desc":"asc"]:[],..."mtime"!==this.sortingMode&&"basename"!==this.sortingMode?[this.isAscSorting?"asc":"desc"]:[],this.isAscSorting?"asc":"desc",this.isAscSorting?"asc":"desc"]]},dirContentsSorted(){if(!this.currentView)return[];const t=(this.currentView?.columns||[]).find((t=>t.id===this.sortingMode));if(t?.sort&&"function"==typeof t.sort){const e=[...this.dirContents].sort(t.sort);return this.isAscSorting?e:e.reverse()}return ti([...this.dirContents],...this.sortingParameters)},dirContents(){const t=this.userConfigStore?.userConfig.show_hidden;return(this.currentFolder?._children||[]).map(this.getNode).filter((e=>t?!!e:e&&!0!==e?.attributes?.hidden&&!e?.basename.startsWith(".")))},isEmptyDir(){return 0===this.dirContents.length},isRefreshing(){return void 0!==this.currentFolder&&!this.isEmptyDir&&this.loading},toPreviousDir(){const t=this.dir.split("/").slice(0,-1).join("/")||"/";return{...this.$route,query:{dir:t}}},shareAttributes(){if(this.currentFolder?.attributes?.["share-types"])return Object.values(this.currentFolder?.attributes?.["share-types"]||{}).flat()},shareButtonLabel(){return this.shareAttributes?this.shareButtonType===ni.D.SHARE_TYPE_LINK?this.t("files","Shared by link"):this.t("files","Shared"):this.t("files","Share")},shareButtonType(){return this.shareAttributes?this.shareAttributes.some((t=>t===ni.D.SHARE_TYPE_LINK))?ni.D.SHARE_TYPE_LINK:ni.D.SHARE_TYPE_USER:null},gridViewButtonLabel(){return this.userConfig.grid_view?this.t("files","Switch to list view"):this.t("files","Switch to grid view")},canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions<.y3.CREATE)},isQuotaExceeded(){return 0===this.currentFolder?.attributes?.["quota-available-bytes"]},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.t("files","You don’t have permission to upload or create files here")},canShare(){return ga&&this.currentFolder&&0!=(this.currentFolder.permissions<.y3.SHARE)}},watch:{currentView(t,e){t?.id!==e?.id&&(Vn.debug("View changed",{newView:t,oldView:e}),this.selectionStore.reset(),this.fetchContent())},dir(t,e){Vn.debug("Directory changed",{newDir:t,oldDir:e}),this.selectionStore.reset(),this.fetchContent(),this.$refs?.filesListVirtual?.$el&&(this.$refs.filesListVirtual.$el.scrollTop=0)},dirContents(t){Vn.debug("Directory contents changed",{view:this.currentView,folder:this.currentFolder,contents:t}),(0,Nn.j8)("files:list:updated",{view:this.currentView,folder:this.currentFolder,contents:t})}},mounted(){this.fetchContent(),(0,Nn.Ld)("files:node:updated",this.onUpdatedNode)},unmounted(){(0,Nn.r1)("files:node:updated",this.onUpdatedNode)},methods:{async fetchContent(){this.loading=!0;const t=this.dir,e=this.currentView;if(e){"function"==typeof this.promise?.cancel&&(this.promise.cancel(),Vn.debug("Cancelled previous ongoing fetch")),this.promise=e.getContents(t);try{const{folder:n,contents:s}=await this.promise;Vn.debug("Fetched contents",{dir:t,folder:n,contents:s}),this.filesStore.updateNodes(s),this.$set(n,"_children",s.map((t=>t.fileid))),"/"===t?this.filesStore.setRoot({service:e.id,root:n}):n.fileid?(this.filesStore.updateNodes([n]),this.pathsStore.addPath({service:e.id,fileid:n.fileid,path:t})):Vn.error("Invalid root folder returned",{dir:t,folder:n,currentView:e}),s.filter((t=>"folder"===t.type)).forEach((n=>{this.pathsStore.addPath({service:e.id,fileid:n.fileid,path:(0,Ns.join)(t,n.basename)})}))}catch(t){Vn.error("Error while fetching content",{error:t})}finally{this.loading=!1}}else Vn.debug("The current view doesn't exists or is not ready.",{currentView:e})},getNode(t){return this.filesStore.getNode(t)},onUpload(t){(0,Ns.dirname)(t.source)===this.currentFolder?.source&&this.fetchContent()},async onUploadFail(t){const e=t.response?.status||0;if(507!==e)if(404!==e&&409!==e)if(403!==e){try{const e=new ei.Parser({trim:!0,explicitRoot:!1}),n=(await e.parseStringPromise(t.response?.data))["s:message"][0];if("string"==typeof n&&""!==n.trim())return void(0,qn.x2)(this.t("files","Error during upload: {message}",{message:n}))}catch(t){}0===e?(0,qn.x2)(this.t("files","Unknown error during upload")):(0,qn.x2)(this.t("files","Error during upload, status code {status}",{status:e}))}else(0,qn.x2)(this.t("files","Operation is blocked by access control"));else(0,qn.x2)(this.t("files","Target folder does not exist any more"));else(0,qn.x2)(this.t("files","Not enough free space"))},onUpdatedNode(t){t?.fileid===this.currentFolder?.fileid&&this.fetchContent()},openSharingSidebar(){this.currentFolder?(window?.OCA?.Files?.Sidebar?.setActiveTab&&window.OCA.Files.Sidebar.setActiveTab("sharing"),Ai.exec(this.currentFolder,this.currentView,this.currentFolder.path)):Vn.debug("No current folder found for opening sharing sidebar")},toggleGridView(){this.userConfigStore.update("grid_view",!this.userConfig.grid_view)},t:In.Iu,n:In.uN}});var Aa=s(71380),wa={};wa.styleTagTransform=as(),wa.setAttributes=ss(),wa.insert=es().bind(null,"head"),wa.domAPI=Xn(),wa.insertStyleElement=rs(),Jn()(Aa.Z,wa),Aa.Z&&Aa.Z.locals&&Aa.Z.locals;const ya=(0,Fn.Z)(ha,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppContent",{attrs:{"data-cy-files-content":""}},[e("div",{staticClass:"files-list__header"},[e("BreadCrumbs",{attrs:{path:t.dir},on:{reload:t.fetchContent},scopedSlots:t._u([{key:"actions",fn:function(){return[t.canShare&&t.filesListWidth>=512?e("NcButton",{staticClass:"files-list__header-share-button",class:{"files-list__header-share-button--shared":t.shareButtonType},attrs:{"aria-label":t.shareButtonLabel,title:t.shareButtonLabel,type:"tertiary"},on:{click:t.openSharingSidebar},scopedSlots:t._u([{key:"icon",fn:function(){return[t.shareButtonType===t.Type.SHARE_TYPE_LINK?e("LinkIcon"):e("AccountPlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2969853559)}):t._e(),t._v(" "),!t.canUpload||t.isQuotaExceeded?e("NcButton",{staticClass:"files-list__header-upload-button--disabled",attrs:{"aria-label":t.cantUploadLabel,title:t.cantUploadLabel,disabled:!0,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files","Add"))+"\n\t\t\t\t")]):t.currentFolder?e("UploadPicker",{staticClass:"files-list__header-upload-button",attrs:{content:t.dirContents,destination:t.currentFolder,multiple:!0},on:{failed:t.onUploadFail,uploaded:t.onUpload}}):t._e()]},proxy:!0}])}),t._v(" "),t.filesListWidth>=512&&t.enableGridView?e("NcButton",{staticClass:"files-list__header-grid-button",attrs:{"aria-label":t.gridViewButtonLabel,title:t.gridViewButtonLabel,type:"tertiary"},on:{click:t.toggleGridView},scopedSlots:t._u([{key:"icon",fn:function(){return[t.userConfig.grid_view?e("ListViewIcon"):e("ViewGridIcon")]},proxy:!0}],null,!1,1682960703)}):t._e(),t._v(" "),t.isRefreshing?e("NcLoadingIcon",{staticClass:"files-list__refresh-icon"}):t._e()],1),t._v(" "),!t.loading&&t.canUpload?e("DragAndDropNotice",{attrs:{"current-folder":t.currentFolder}}):t._e(),t._v(" "),t.loading&&!t.isRefreshing?e("NcLoadingIcon",{staticClass:"files-list__loading-icon",attrs:{size:38,name:t.t("files","Loading current folder")}}):!t.loading&&t.isEmptyDir?e("NcEmptyContent",{attrs:{name:t.currentView?.emptyTitle||t.t("files","No files in here"),description:t.currentView?.emptyCaption||t.t("files","Upload some content or sync with your devices!"),"data-cy-files-content-empty":""},scopedSlots:t._u([{key:"action",fn:function(){return["/"!==t.dir?e("NcButton",{attrs:{"aria-label":t.t("files","Go to the previous folder"),type:"primary",to:t.toPreviousDir}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Go back"))+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:t.currentView.icon}})]},proxy:!0}])}):e("FilesListVirtual",{ref:"filesListVirtual",attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,nodes:t.dirContentsSorted}})],1)}),[],!1,null,"b2731ace",null).exports,va=(0,r.aZ)({name:"FilesApp",components:{NcContent:Ln.Z,FilesList:ya,Navigation:Ss}}),ba=(0,Fn.Z)(va,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcContent",{attrs:{"app-name":"files"}},[e("Navigation"),t._v(" "),e("FilesList")],1)}),[],!1,null,null,null).exports;s.nc=btoa((0,ct.IH)()),window.OCA.Files=window.OCA.Files??{},window.OCP.Files=window.OCP.Files??{};const Ca=new class{constructor(t){var e,n,s;e=this,s=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_router"))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,this._router=t}get name(){return this._router.currentRoute.name}get query(){return this._router.currentRoute.query||{}}get params(){return this._router.currentRoute.params||{}}goTo(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._router.push({path:t,replace:e})}goToRoute(t,e,n,s){return this._router.push({name:t,query:n,params:e,replace:s})}}(En);Object.assign(window.OCP.Files,{Router:Ca}),r.ZP.use((function(t){t.mixin({beforeCreate(){const t=this.$options;if(t.pinia){const e=t.pinia;if(!this._provided){const t={};Object.defineProperty(this,"_provided",{get:()=>t,set:e=>Object.assign(t,e)})}this._provided[A]=e,this.$pinia||(this.$pinia=e),e._a=this,v&&h(e),b&&G(e._a,e)}else!this.$pinia&&t.parent&&t.parent.$pinia&&(this.$pinia=t.parent.$pinia)},destroyed(){delete this._pStores}})}));const xa=function(){const t=(0,r.B)(!0),e=t.run((()=>(0,r.iH)({})));let n=[],s=[];const i=(0,r.Xl)({install(t){h(i),o||(i._a=t,t.provide(A,i),t.config.globalProperties.$pinia=i,b&&G(t,i),s.forEach((t=>n.push(t))),s=[])},use(t){return this._a||o?n.push(t):s.push(t),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return b&&"undefined"!=typeof Proxy&&i.use(J),i}(),_a=r.ZP.observable((0,lt.Ti)());r.ZP.prototype.$navigation=_a;const Ta=new class{constructor(){var t,e,n;t=this,n=void 0,(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e="_settings"))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,this._settings=[],Sn.debug("OCA.Files.Settings initialized")}register(t){return this._settings.filter((e=>e.name===t.name)).length>0?(Sn.error("A setting with the same name is already registered"),!1):(this._settings.push(t),!0)}get settings(){return this._settings}};Object.assign(window.OCA.Files,{Settings:Ta}),Object.assign(window.OCA.Files.Settings,{Setting:class{constructor(t,e){let{el:n,open:s,close:i}=e;kn(this,"_close",void 0),kn(this,"_el",void 0),kn(this,"_name",void 0),kn(this,"_open",void 0),this._name=t,this._el=n,this._open=s,this._close=i,"function"!=typeof this._open&&(this._open=()=>{}),"function"!=typeof this._close&&(this._close=()=>{})}get name(){return this._name}get el(){return this._el}get open(){return this._open}get close(){return this._close}}}),new(r.ZP.extend(ba))({router:En,pinia:xa}).$mount("#content")},51473:(t,e,n)=>{"use strict";n.d(e,{Z:()=>f});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r),a=n(61667),l=n.n(a),c=new URL(n(79839),n.b),u=new URL(n(88717),n.b),d=o()(i()),m=l()(c),p=l()(u);d.push([t.id,`@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${m});\n content: " ";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${p});\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n`,"",{version:3,sources:["webpack://./node_modules/@nextcloud/dialogs/dist/style.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,gBAAgB;EAChB,gBAAgB;EAChB,8CAA8C;EAC9C,6BAA6B;EAC7B,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,mCAAmC;EACnC,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,2BAA2B;EAC3B,6BAA6B;EAC7B,aAAa;AACf;AACA;;EAEE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;AACd;AACA;;EAEE,yDAA8Q;EAC9Q,YAAY;EACZ,wCAAwC;EACxC,qBAAqB;EACrB,WAAW;EACX,YAAY;AACd;AACA;;EAEE,wBAAwB;EACxB,wBAAwB;AAC1B;AACA;;;;;;EAME,eAAe;EACf,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,eAAe;AACjB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;;EAEE,2CAA2C;AAC7C;AACA;EACE,yDAAsT;AACxT;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,4BAA4B;EAC5B,wBAAwB;EACxB,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;AACF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,qBAAqB;EACrB,YAAY;EACZ,oIAAoI;EACpI,2BAA2B;EAC3B,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,WAAW;AACb;AACA;EACE,wBAAwB;EACxB,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,yBAAyB;EACzB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,oCAAoC;EACpC,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,WAAW;EACX,yBAAyB;EACzB,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,UAAU;EACV,MAAM;EACN,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,gBAAgB;AAClB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;AACF;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;EACA;IACE,gBAAgB;EAClB;AACF;AACA;EACE,uBAAuB;AACzB;AACA;;EAEE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE;IACE,SAAS;EACX;AACF;AACA;EACE;IACE,yCAAyC;EAC3C;AACF;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,OAAO;EACP,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,mCAAmC;AACrC;AACA;EACE;IACE,oEAAoE;EACtE;AACF;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB",sourcesContent:["@charset \"UTF-8\";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'/%3e%3c/svg%3e\");\n content: \" \";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'%20style='fill-opacity:1;fill:%23ffffff'/%3e%3c/svg%3e\");\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n"],sourceRoot:""}]);const f=d},75716:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const a=o},60393:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".breadcrumb[data-v-1c4866bc]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-1c4866bc] a{cursor:pointer !important}","",{version:3,sources:["webpack://./apps/files/src/components/BreadCrumbs.vue"],names:[],mappings:"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA",sourcesContent:["\n.breadcrumb {\n\t// Take as much space as possible\n\tflex: 1 1 100% !important;\n\twidth: 100%;\n\n\t::v-deep a {\n\t\tcursor: pointer !important;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},21902:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__drag-drop-notice[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-46caa8f8]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropNotice.vue"],names:[],mappings:"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA",sourcesContent:["\n.files-list__drag-drop-notice {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\t// Breadcrumbs height + row thead height\n\tmin-height: calc(58px + 55px);\n\tmargin: 0;\n\tuser-select: none;\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: var(--color-main-background);\n\tborder-color: black;\n\n\th3 {\n\t\tmargin-left: 16px;\n\t\tcolor: inherit;\n\t}\n\n\t&-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 15vh;\n\t\tmax-height: 70%;\n\t\tpadding: 0 5vw;\n\t\tborder: 2px var(--color-border-dark) dashed;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},50262:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropPreview.vue"],names:[],mappings:"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n$size: 32px;\n$stack-shift: 6px;\n\n.files-list-drag-image {\n\tposition: absolute;\n\ttop: -9999px;\n\tleft: -9999px;\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-items: center;\n\theight: 44px;\n\tpadding: 6px 12px;\n\tbackground: var(--color-main-background);\n\n\t&__icon,\n\t.files-list__row-icon {\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t&__icon {\n\t\toverflow: visible;\n\t\tmargin-right: 12px;\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t}\n\n\t\t.material-design-icon {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t&.folder-icon {\n\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t// Previews container\n\t\t> span {\n\t\t\tdisplay: flex;\n\n\t\t\t// Stack effect if more than one element\n\t\t\t.files-list__row-icon + .files-list__row-icon {\n\t\t\t\tmargin-top: $stack-shift;\n\t\t\t\tmargin-left: $stack-shift - $size;\n\t\t\t\t& + .files-list__row-icon {\n\t\t\t\t\tmargin-top: $stack-shift * 2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If we have manually clone the preview,\n\t\t\t// let's hide any fallback icons\n\t\t\t&:not(:empty) + * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},29785:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".favorite-marker-icon[data-v-77afa6dc]{color:#a08b00;min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue"],names:[],mappings:"AACA,uCACC,aAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA",sourcesContent:["\n.favorite-marker-icon {\n\tcolor: #a08b00;\n\t// Override NcIconSvgWrapper defaults (clickable area)\n\tmin-width: unset !important;\n min-height: unset !important;\n\n\t:deep() {\n\t\tsvg {\n\t\t\t// We added a stroke for a11y so we must increase the size to include the stroke\n\t\t\twidth: 26px !important;\n\t\t\theight: 26px !important;\n\n\t\t\t// Override NcIconSvgWrapper defaults of 20px\n\t\t\tmax-width: unset !important;\n\t\t\tmax-height: unset !important;\n\n\t\t\t// Sow a border around the icon for better contrast\n\t\t\tpath {\n\t\t\t\tstroke: var(--color-main-background);\n\t\t\t\tstroke-width: 8px;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t\tpaint-order: stroke;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=o},6523:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important}[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAGA,uCACC,6EAAA,CAGA,kEACC,0FAAA,CAGD,kEACC,YAAA",sourcesContent:['\n// Allow right click to define the position of the menu\n// only if defined\n[style*="mouse-pos-x"] .v-popper__popper {\n\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\n\n\t// If the menu is too close to the bottom, we move it up\n\t&[data-popper-placement="top"] {\n\t\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important;\n\t}\n\t// Hide arrow if floating\n\t.v-popper__arrow-container {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=o},35127:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"[data-v-670325ac] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-670325ac] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA",sourcesContent:["\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\n\t.button-vue__text {\n\t\tcolor: var(--color-primary-element);\n\t}\n\t.button-vue__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n}\n"],sourceRoot:""}]);const a=o},16250:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableFooter.vue"],names:[],mappings:"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA",sourcesContent:["\n// Scoped row\ntr {\n\tmargin-bottom: 300px;\n\tborder-top: 1px solid var(--color-border);\n\t// Prevent hover effect on the whole row\n\tbackground-color: transparent !important;\n\tborder-bottom: none !important;\n\n\ttd {\n\t\tuser-select: none;\n\t\t// Make sure the cell colors don't apply to column headers\n\t\tcolor: var(--color-text-maxcontrast) !important;\n\t}\n}\n"],sourceRoot:""}]);const a=o},25385:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__column[data-v-952162c2]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-952162c2]{cursor:pointer}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeader.vue"],names:[],mappings:"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA",sourcesContent:["\n.files-list__column {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n\n\t&--sortable {\n\t\tcursor: pointer;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},35261:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__row-actions-batch[data-v-d939292c]{flex:1 1 100% !important;max-width:100%}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderActions.vue"],names:[],mappings:"AACA,gDACC,wBAAA,CACA,cAAA",sourcesContent:["\n.files-list__row-actions-batch {\n\tflex: 1 1 100% !important;\n\tmax-width: 100%;\n}\n"],sourceRoot:""}]);const a=o},97704:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderButton.vue"],names:[],mappings:"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA",sourcesContent:["\n.files-list__column-sort-button {\n\t// Compensate for cells margin\n\tmargin: 0 calc(var(--cell-margin) * -1);\n\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\n\n\t&-text {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t}\n\n\t&-icon {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\topacity: 0;\n\t\ttransition: opacity var(--animation-quick);\n\t\tinset-inline-start: -10px;\n\t}\n\n\t&--size &-icon {\n\t\tinset-inline-start: 10px;\n\t}\n\n\t&--active &-icon,\n\t&:hover &-icon,\n\t&:focus &-icon,\n\t&:active &-icon {\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const a=o},39402:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".files-list[data-v-48fb0b13]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;position:relative;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-48fb0b13] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-48fb0b13] tbody tr{contain:strict}.files-list[data-v-48fb0b13] tbody tr:hover,.files-list[data-v-48fb0b13] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-48fb0b13] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-48fb0b13] .files-list__table{display:block}.files-list[data-v-48fb0b13] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-48fb0b13] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-48fb0b13] .files-list__thead,.files-list[data-v-48fb0b13] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-48fb0b13] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-48fb0b13] .files-list__tfoot{min-height:300px}.files-list[data-v-48fb0b13] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-48fb0b13] td,.files-list[data-v-48fb0b13] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-48fb0b13] td span,.files-list[data-v-48fb0b13] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-48fb0b13] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-48fb0b13] .files-list__row-checkbox{justify-content:center}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-48fb0b13] .files-list__row:hover,.files-list[data-v-48fb0b13] .files-list__row:focus,.files-list[data-v-48fb0b13] .files-list__row:active,.files-list[data-v-48fb0b13] .files-list__row--active,.files-list[data-v-48fb0b13] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-48fb0b13] .files-list__row:hover>*,.files-list[data-v-48fb0b13] .files-list__row:focus>*,.files-list[data-v-48fb0b13] .files-list__row:active>*,.files-list[data-v-48fb0b13] .files-list__row--active>*,.files-list[data-v-48fb0b13] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-48fb0b13] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-48fb0b13] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-48fb0b13] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-48fb0b13] .files-list__row-icon *{cursor:pointer}.files-list[data-v-48fb0b13] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-48fb0b13] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-48fb0b13] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-48fb0b13] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-48fb0b13] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-48fb0b13] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-48fb0b13] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-48fb0b13] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-48fb0b13] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-48fb0b13] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-48fb0b13] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-48fb0b13] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-48fb0b13] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-48fb0b13] .files-list__row-actions{width:auto}.files-list[data-v-48fb0b13] .files-list__row-actions~td,.files-list[data-v-48fb0b13] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-48fb0b13] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-48fb0b13] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-48fb0b13] .files-list__row-mtime,.files-list[data-v-48fb0b13] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-48fb0b13] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-48fb0b13] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-48fb0b13] .files-list__row-column-custom{width:calc(var(--row-height)*2)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,iBAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA",sourcesContent:["\n.files-list {\n\t--row-height: 55px;\n\t--cell-margin: 14px;\n\n\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\n\t--checkbox-size: 24px;\n\t--clickable-area: 44px;\n\t--icon-preview-size: 32px;\n\n\tposition: relative;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t& :deep() {\n\t\t// Table head, body and footer\n\t\ttbody {\n\t\t\twill-change: padding;\n\t\t\tcontain: layout paint style;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\t// Necessary for virtual scrolling absolute\n\t\t\tposition: relative;\n\n\t\t\t/* Hover effect on tbody lines only */\n\t\t\ttr {\n\t\t\t\tcontain: strict;\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Before table and thead\n\t\t.files-list__before {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.files-list__table {\n\t\t\tdisplay: block;\n\n\t\t\t&.files-list__table--with-thead-overlay {\n\t\t\t\t// Hide the table header below the overlay\n\t\t\t\tmargin-top: calc(-1 * var(--row-height));\n\t\t\t}\n\t\t}\n\n\t\t.files-list__thead-overlay {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\ttop: 0;\n\t\t\t// Save space for a row checkbox\n\t\t\tmargin-left: var(--row-height);\n\t\t\t// More than .files-list__thead\n\t\t\tz-index: 20;\n\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Reuse row styles\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\t.files-list__thead,\n\t\t.files-list__tfoot {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-main-background);\n\n\t\t}\n\n\t\t// Table header\n\t\t.files-list__thead {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\tz-index: 10;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t// Table footer\n\t\t.files-list__tfoot {\n\t\t\tmin-height: 300px;\n\t\t}\n\n\t\ttr {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\tuser-select: none;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tbox-sizing: border-box;\n\t\t\tuser-select: none;\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\ttd, th {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 auto;\n\t\t\tjustify-content: left;\n\t\t\twidth: var(--row-height);\n\t\t\theight: var(--row-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: none;\n\n\t\t\t// Columns should try to add any text\n\t\t\t// node wrapped in a span. That should help\n\t\t\t// with the ellipsis on overflow.\n\t\t\tspan {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row--failed {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\topacity: .1;\n\t\t\tz-index: -1;\n\t\t\tbackground: var(--color-error);\n\t\t}\n\n\t\t.files-list__row-checkbox {\n\t\t\tjustify-content: center;\n\n\t\t\t.checkbox-radio-switch {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t--icon-size: var(--checkbox-size);\n\n\t\t\t\tlabel.checkbox-radio-switch__label {\n\t\t\t\t\twidth: var(--clickable-area);\n\t\t\t\t\theight: var(--clickable-area);\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\n\t\t\t\t}\n\n\t\t\t\t.checkbox-radio-switch__icon {\n\t\t\t\t\tmargin: 0 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row {\n\t\t\t&:hover, &:focus, &:active, &--active, &--dragover {\n\t\t\t\t// WCAG AA compliant\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t// text-maxcontrast have been designed to pass WCAG AA over\n\t\t\t\t// a white background, we need to adjust then.\n\t\t\t\t--color-text-maxcontrast: var(--color-main-text);\n\t\t\t\t> * {\n\t\t\t\t\t--color-border: var(--color-border-dark);\n\t\t\t\t}\n\n\t\t\t\t// Hover state of the row should also change the favorite markers background\n\t\t\t\t.favorite-marker-icon svg path {\n\t\t\t\t\tstroke: var(--color-background-hover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--dragover * {\n\t\t\t\t// Prevent dropping on row children\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t// Entry preview or mime icon\n\t\t.files-list__row-icon {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\talign-items: center;\n\t\t\t// No shrinking or growing allowed\n\t\t\tflex: 0 0 var(--icon-preview-size);\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--icon-preview-size);\n\t\t\theight: 100%;\n\t\t\t// Show same padding as the checkbox right padding for visual balance\n\t\t\tmargin-right: var(--checkbox-padding);\n\t\t\tcolor: var(--color-primary-element);\n\n\t\t\t// Icon is also clickable\n\t\t\t* {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t& > span {\n\t\t\t\tjustify-content: flex-start;\n\n\t\t\t\t&:not(.files-list__row-icon-favorite) svg {\n\t\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\t}\n\n\t\t\t\t// Slightly increase the size of the folder icon\n\t\t\t\t&.folder-icon,\n\t\t\t\t&.folder-open-icon {\n\t\t\t\t\tmargin: -3px;\n\t\t\t\t\tsvg {\n\t\t\t\t\t\twidth: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t\theight: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-preview {\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t// Center and contain the preview\n\t\t\t\tobject-fit: contain;\n\t\t\t\tobject-position: center;\n\n\t\t\t\t/* Preview not loaded animation effect */\n\t\t\t\t&:not(.files-list__row-icon-preview--loaded) {\n\t\t\t\t\tbackground: var(--color-loading-dark);\n\t\t\t\t\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-favorite {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0px;\n\t\t\t\tright: -10px;\n\t\t\t}\n\n\t\t\t// File and folder overlay\n\t\t\t&-overlay {\n\t\t\t\tposition: absolute;\n\t\t\t\tmax-height: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tmax-width: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t// better alignment with the folder icon\n\t\t\t\tmargin-top: 2px;\n\n\t\t\t\t// Improve icon contrast with a background for files\n\t\t\t\t&--file {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground: var(--color-main-background);\n\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Entry link\n\t\t.files-list__row-name {\n\t\t\t// Prevent link from overflowing\n\t\t\toverflow: hidden;\n\t\t\t// Take as much space as possible\n\t\t\tflex: 1 1 auto;\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// Fill cell height and width\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\t// Necessary for flex grow to work\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t// Already added to the inner text, see rule below\n\t\t\t\t&:focus-visible {\n\t\t\t\t\toutline: none;\n\t\t\t\t}\n\n\t\t\t\t// Keyboard indicator a11y\n\t\t\t\t&:focus .files-list__row-name-text {\n\t\t\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: 20px;\n\t\t\t\t}\n\t\t\t\t&:focus:not(:focus-visible) .files-list__row-name-text {\n\t\t\t\t\toutline: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.files-list__row-name-text {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t// Make some space for the outline\n\t\t\t\tpadding: 5px 10px;\n\t\t\t\tmargin-left: -10px;\n\t\t\t\t// Align two name and ext\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\n\t\t\t.files-list__row-name-ext {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\t// always show the extension\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t}\n\n\t\t// Rename form\n\t\t.files-list__row-rename {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 600px;\n\t\t\tinput {\n\t\t\t\twidth: 100%;\n\t\t\t\t// Align with text, 0 - padding - border\n\t\t\t\tmargin-left: -8px;\n\t\t\t\tpadding: 2px 6px;\n\t\t\t\tborder-width: 2px;\n\n\t\t\t\t&:invalid {\n\t\t\t\t\t// Show red border on invalid input\n\t\t\t\t\tborder-color: var(--color-error);\n\t\t\t\t\tcolor: red;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-actions {\n\t\t\t// take as much space as necessary\n\t\t\twidth: auto;\n\n\t\t\t// Add margin to all cells after the actions\n\t\t\t& ~ td,\n\t\t\t& ~ th {\n\t\t\t\tmargin: 0 var(--cell-margin);\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t\t.button-vue__text {\n\t\t\t\t\t// Remove bold from default button styling\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-action--inline {\n\t\t\tmargin-right: 7px;\n\t\t}\n\n\t\t.files-list__row-mtime,\n\t\t.files-list__row-size {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t.files-list__row-size {\n\t\t\twidth: calc(var(--row-height) * 1.5);\n\t\t\t// Right align content/text\n\t\t\tjustify-content: flex-end;\n\t\t}\n\n\t\t.files-list__row-mtime {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=o},62513:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,"tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA",sourcesContent:["\n// Grid mode\ntbody.files-list__tbody.files-list__tbody--grid {\n\t--half-clickable-area: calc(var(--clickable-area) / 2);\n\t--row-width: 160px;\n\t// We use half of the clickable area as visual balance margin\n\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\n\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\n\t--checkbox-padding: 0px;\n\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fill, var(--row-width));\n\tgrid-gap: 15px;\n\trow-gap: 15px;\n\n\talign-content: center;\n\talign-items: center;\n\tjustify-content: space-around;\n\tjustify-items: center;\n\n\ttr {\n\t\twidth: var(--row-width);\n\t\theight: calc(var(--row-height) + var(--clickable-area));\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t// Checkbox in the top left\n\t.files-list__row-checkbox {\n\t\tposition: absolute;\n\t\tz-index: 9;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\toverflow: hidden;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t\tborder-radius: var(--half-clickable-area);\n\t}\n\n\t// Star icon in the top right\n\t.files-list__row-icon-favorite {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n\n\t.files-list__row-name {\n\t\tdisplay: grid;\n\t\tjustify-content: stretch;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tgrid-auto-rows: var(--row-height) var(--clickable-area);\n\n\t\tspan.files-list__row-icon {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\t// Visual balance, we use half of the clickable area\n\t\t\t// as a margin around the preview\n\t\t\tpadding-top: var(--half-clickable-area);\n\t\t}\n\n\t\ta.files-list__row-name-link {\n\t\t\t// Minus action menu\n\t\t\twidth: calc(100% - var(--clickable-area));\n\t\t\theight: var(--clickable-area);\n\t\t}\n\n\t\t.files-list__row-name-text {\n\t\t\tmargin: 0;\n\t\t\tpadding-right: 0;\n\t\t}\n\t}\n\n\t.files-list__row-actions {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n}\n"],sourceRoot:""}]);const a=o},75136:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-navigation-entry__settings-quota--not-unlimited[data-v-18ceb3ce] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-18ceb3ce]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}","",{version:3,sources:["webpack://./apps/files/src/components/NavigationQuota.vue"],names:[],mappings:"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA",sourcesContent:["\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t&--not-unlimited::v-deep .app-navigation-entry__name {\n\t\tmargin-top: -6px;\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: 12px;\n\t\tmargin-left: 44px;\n\t\twidth: calc(100% - 44px - 22px);\n\t}\n}\n"],sourceRoot:""}]);const a=o},71380:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-content[data-v-b2731ace]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative}.files-list__header[data-v-b2731ace]{display:flex;align-items:center;flex:0 0;margin:4px 4px 4px 50px;max-width:100%}.files-list__header>*[data-v-b2731ace]{flex:0 0}.files-list__header-share-button[data-v-b2731ace]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-b2731ace]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-b2731ace]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-b2731ace]{margin:auto}","",{version:3,sources:["webpack://./apps/files/src/views/FilesList.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CAOA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,cAAA,CACA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CACA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n\tposition: relative;\n}\n\n$margin: 4px;\n$navigationToggleSize: 50px;\n\n.files-list {\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t// Do not grow or shrink (vertically)\n\t\tflex: 0 0;\n\t\t// Align with the navigation toggle icon\n\t\tmargin: $margin $margin $margin $navigationToggleSize;\n\t\tmax-width: 100%;\n\t\t> * {\n\t\t\t// Do not grow or shrink (horizontally)\n\t\t\t// Only the breadcrumbs shrinks\n\t\t\tflex: 0 0;\n\t\t}\n\n\t\t&-share-button {\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\t\t\t&--shared {\n\t\t\t\tcolor: var(--color-main-text) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__refresh-icon {\n\t\tflex: 0 0 44px;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__loading-icon {\n\t\tmargin: auto;\n\t}\n}\n\n"],sourceRoot:""}]);const a=o},12131:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".app-navigation[data-v-3f2914e1] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-3f2914e1] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-3f2914e1]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-3f2914e1]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/files/src/views/Navigation.vue"],names:[],mappings:"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA",sourcesContent:["\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\n.app-navigation::v-deep .app-navigation-entry-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\n\tcolor: var(--color-primary-element-text);\n}\n\n.app-navigation > ul.app-navigation__list {\n\t// Use flex gap value for more elegant spacing\n\tpadding-bottom: var(--default-grid-baseline, 4px);\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\toverflow: hidden !important;\n\tpadding-top: 0 !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]);const a=o},21865:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var s=n(87537),i=n.n(s),r=n(23645),o=n.n(r)()(i());o.push([t.id,".setting-link[data-v-6d63c120]:hover{text-decoration:underline}","",{version:3,sources:["webpack://./apps/files/src/views/Settings.vue"],names:[],mappings:"AACA,qCACC,yBAAA",sourcesContent:["\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n"],sourceRoot:""}]);const a=o},46700:(t,e,n)=>{var s={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-ps":20315,"./ar-ps.js":20315,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku-kmr":90563,"./ku-kmr.js":90563,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function i(t){var e=r(t);return n(e)}function r(t){if(!n.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=r,t.exports=i,i.id=46700},36099:(t,e,n)=>{var s=n(48764).Buffer;!function(t){t.parser=function(t,e){return new r(t,e)},t.SAXParser=r,t.SAXStream=a,t.createStream=function(t,e){return new a(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(e,n){if(!(this instanceof r))return new r(e,n);var s=this;!function(t){for(var e=0,n=i.length;e"===r?(S(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=T.TEXT):w(r)?(n.state=T.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case T.SGML_DECL_QUOTED:r===n.q&&(n.state=T.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case T.DOCTYPE:">"===r?(n.state=T.TEXT,S(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=T.DOCTYPE_DTD:w(r)&&(n.state=T.DOCTYPE_QUOTED,n.q=r));continue;case T.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:n.doctype+=r,"]"===r?n.state=T.DOCTYPE:w(r)&&(n.state=T.DOCTYPE_DTD_QUOTED,n.q=r);continue;case T.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=T.DOCTYPE_DTD,n.q="");continue;case T.COMMENT:"-"===r?n.state=T.COMMENT_ENDING:n.comment+=r;continue;case T.COMMENT_ENDING:"-"===r?(n.state=T.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&S(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=T.COMMENT);continue;case T.COMMENT_ENDED:">"!==r?(F(n,"Malformed comment"),n.comment+="--"+r,n.state=T.COMMENT):n.state=T.TEXT;continue;case T.CDATA:"]"===r?n.state=T.CDATA_ENDING:n.cdata+=r;continue;case T.CDATA_ENDING:"]"===r?n.state=T.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=T.CDATA);continue;case T.CDATA_ENDING_2:">"===r?(n.cdata&&S(n,"oncdata",n.cdata),S(n,"onclosecdata"),n.cdata="",n.state=T.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=T.CDATA);continue;case T.PROC_INST:"?"===r?n.state=T.PROC_INST_ENDING:A(r)?n.state=T.PROC_INST_BODY:n.procInstName+=r;continue;case T.PROC_INST_BODY:if(!n.procInstBody&&A(r))continue;"?"===r?n.state=T.PROC_INST_ENDING:n.procInstBody+=r;continue;case T.PROC_INST_ENDING:">"===r?(S(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=T.TEXT):(n.procInstBody+="?"+r,n.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:v(f,r)?n.tagName+=r:(O(n),">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:(A(r)||F(n,"Invalid character in tag name"),n.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:">"===r?(j(n,!0),U(n)):(F(n,"Forward-slash in opening tag not followed by >"),n.state=T.ATTRIB);continue;case T.ATTRIB:if(A(r))continue;">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:v(p,r)?(n.attribName=r,n.attribValue="",n.state=T.ATTRIB_NAME):F(n,"Invalid attribute name");continue;case T.ATTRIB_NAME:"="===r?n.state=T.ATTRIB_VALUE:">"===r?(F(n,"Attribute without value"),n.attribValue=n.attribName,D(n),j(n)):A(r)?n.state=T.ATTRIB_NAME_SAW_WHITE:v(f,r)?n.attribName+=r:F(n,"Invalid attribute name");continue;case T.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=T.ATTRIB_VALUE;else{if(A(r))continue;F(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",S(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?j(n):v(p,r)?(n.attribName=r,n.state=T.ATTRIB_NAME):(F(n,"Invalid attribute name"),n.state=T.ATTRIB)}continue;case T.ATTRIB_VALUE:if(A(r))continue;w(r)?(n.q=r,n.state=T.ATTRIB_VALUE_QUOTED):(F(n,"Unquoted attribute value"),n.state=T.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case T.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=T.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}D(n),n.q="",n.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:A(r)?n.state=T.ATTRIB:">"===r?j(n):"/"===r?n.state=T.OPEN_TAG_SLASH:v(p,r)?(F(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=T.ATTRIB_NAME):F(n,"Invalid attribute name");continue;case T.ATTRIB_VALUE_UNQUOTED:if(!y(r)){"&"===r?n.state=T.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}D(n),">"===r?j(n):n.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(n.tagName)">"===r?U(n):v(f,r)?n.tagName+=r:n.script?(n.script+=""===r?U(n):F(n,"Invalid characters in closing tag");continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var u,d;switch(n.state){case T.TEXT_ENTITY:u=T.TEXT,d="textNode";break;case T.ATTRIB_VALUE_ENTITY_Q:u=T.ATTRIB_VALUE_QUOTED,d="attribValue";break;case T.ATTRIB_VALUE_ENTITY_U:u=T.ATTRIB_VALUE_UNQUOTED,d="attribValue"}if(";"===r)if(n.opt.unparsedEntities){var m=R(n);n.entity="",n.state=u,n.write(m)}else n[d]+=R(n),n.entity="",n.state=u;else v(n.entity.length?h:g,r)?n.entity+=r:(F(n,"Invalid character in entity name"),n[d]+="&"+n.entity+r,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),s=0,r=0,o=i.length;rn)switch(i[r]){case"textNode":L(e);break;case"cdata":S(e,"oncdata",e.cdata),e.cdata="";break;case"script":S(e,"onscript",e.script),e.script="";break;default:I(e,"Max buffer length exceeded: "+i[r])}s=Math.max(s,a)}var l=t.MAX_BUFFER_LENGTH-s;e.bufferCheckPosition=l+e.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;L(t=this),""!==t.cdata&&(S(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(S(t,"onscript",t.script),t.script="")}};try{e=n(42830).Stream}catch(t){e=function(){}}e||(e=function(){});var o=t.EVENTS.filter((function(t){return"error"!==t&&"end"!==t}));function a(t,n){if(!(this instanceof a))return new a(t,n);e.apply(this),this._parser=new r(t,n),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(t){s.emit("error",t),s._parser.error=null},this._decoder=null,o.forEach((function(t){Object.defineProperty(s,"on"+t,{get:function(){return s._parser["on"+t]},set:function(e){if(!e)return s.removeAllListeners(t),s._parser["on"+t]=e,e;s.on(t,e)},enumerable:!0,configurable:!1})}))}a.prototype=Object.create(e.prototype,{constructor:{value:a}}),a.prototype.write=function(t){if("function"==typeof s&&"function"==typeof s.isBuffer&&s.isBuffer(t)){if(!this._decoder){var e=n(32553).s;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,n){var s=this;return s._parser["on"+t]||-1===o.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,n)};var l="[CDATA[",c="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",d="http://www.w3.org/2000/xmlns/",m={xml:u,xmlns:d},p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function A(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function w(t){return'"'===t||"'"===t}function y(t){return">"===t||A(t)}function v(t,e){return t.test(e)}function b(t,e){return!v(t,e)}var C,x,_,T=0;for(var E in t.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach((function(e){var n=t.ENTITIES[e],s="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=s})),t.STATE)t.STATE[t.STATE[E]]=E;function k(t,e,n){t[e]&&t[e](n)}function S(t,e,n){t.textNode&&L(t),k(t,e,n)}function L(t){t.textNode=N(t.opt,t.textNode),t.textNode&&k(t,"ontext",t.textNode),t.textNode=""}function N(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function I(t,e){return L(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,k(t,"onerror",e),t}function P(t){return t.sawRoot&&!t.closedRoot&&F(t,"Unclosed root tag"),t.state!==T.BEGIN&&t.state!==T.BEGIN_WHITESPACE&&t.state!==T.TEXT&&I(t,"Unexpected end"),L(t),t.c="",t.closed=!0,k(t,"onend"),r.call(t,t.strict,t.opt),t}function F(t,e){if("object"!=typeof t||!(t instanceof r))throw new Error("bad call to strictFail");t.strict&&I(t,e)}function O(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,S(t,"onopentagstart",n)}function B(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),s=n[0],i=n[1];return e&&"xmlns"===t&&(s="xmlns",i=""),{prefix:s,local:i}}function D(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=B(t.attribName,!0),n=e.prefix,s=e.local;if("xmlns"===n)if("xml"===s&&t.attribValue!==u)F(t,"xml: prefix must be bound to "+u+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==d)F(t,"xmlns: prefix must be bound to "+d+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,S(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function j(t,e){if(t.opt.xmlns){var n=t.tag,s=B(t.tagName);n.prefix=s.prefix,n.local=s.local,n.uri=n.ns[s.prefix]||"",n.prefix&&!n.uri&&(F(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=s.prefix);var i=t.tags[t.tags.length-1]||t;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(e){S(t,"onopennamespace",{prefix:e,uri:n.ns[e]})}));for(var r=0,o=t.attribList.length;r",t.tagName="",void(t.state=T.SCRIPT);S(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var s=n;e--&&t.tags[e].name!==s;)F(t,"Unexpected close tag");if(e<0)return F(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=T.TEXT);t.tagName=n;for(var i=t.tags.length;i-- >e;){var r=t.tag=t.tags.pop();t.tagName=t.tag.name,S(t,"onclosetag",t.tagName);var o={};for(var a in r.ns)o[a]=r.ns[a];var l=t.tags[t.tags.length-1]||t;t.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(e){var n=r.ns[e];S(t,"onclosenamespace",{prefix:e,uri:n})}))}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=T.TEXT}function R(t){var e,n=t.entity,s=n.toLowerCase(),i="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(n=s).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||i.toLowerCase()!==n?(F(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function z(t,e){"<"===e?(t.state=T.OPEN_WAKA,t.startTagPosition=t.position):A(e)||(F(t,"Non-whitespace before first tag."),t.textNode=e,t.state=T.TEXT)}function M(t,e){var n="";return e1114111||x(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?n.push(o):(t=55296+((o-=65536)>>10),e=o%1024+56320,n.push(t,e)),(s+1===i||n.length>16384)&&(r+=C.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:_,configurable:!0,writable:!0}):String.fromCodePoint=_)}(e)},24889:function(t,e,n){var s=n(34155);!function(t,e){"use strict";if(!t.setImmediate){var n,i,r,o,a,l=1,c={},u=!1,d=t.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(t);m=m&&m.setTimeout?m:t,"[object process]"==={}.toString.call(t.process)?n=function(t){s.nextTick((function(){f(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(o="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(o)&&f(+e.data.slice(o.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),n=function(e){t.postMessage(o+e,"*")}):t.MessageChannel?((r=new MessageChannel).port1.onmessage=function(t){f(t.data)},n=function(t){r.port2.postMessage(t)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,n=function(t){var e=d.createElement("script");e.onreadystatechange=function(){f(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(f,0,t)},m.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),s=0;s{function e(t,e){return null==t?e:t}t.exports=function(t){var n,s=e((t=t||{}).max,1),i=e(t.min,0),r=e(t.autostart,!0),o=e(t.ignoreSameProgress,!1),a=null,l=null,c=null,u=(n=e(t.historyTimeConstant,2.5),function(t,e,s){return t+s/(s+n)*(e-t)});function d(){m(i)}function m(t,e){if("number"!=typeof e&&(e=Date.now()),l!==e&&(!o||c!==t)){if(null===l||null===c)return c=t,void(l=e);var n=.001*(e-l),s=(t-c)/n;a=null===a?s:u(a,s,n),c=t,l=e}}return{start:d,reset:function(){a=null,l=null,c=null,r&&d()},report:m,estimate:function(t){if(null===c)return 1/0;if(c>=s)return 0;if(null===a)return 1/0;var e=(s-c)/a;return"number"==typeof t&&"number"==typeof l&&(e-=.001*(t-l)),Math.max(0,e)},rate:function(){return null===a?0:a}}}},75475:function(t,e,n){var s=void 0!==n.g&&n.g||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,s,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,s,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(s,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(24889),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==n.g&&n.g.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==n.g&&n.g.clearImmediate||this&&this.clearImmediate},50306:function(t,e){(function(){"use strict";e.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this)},34096:function(t,e,n){(function(){"use strict";var t,s,i,r,o,a={}.hasOwnProperty;t=n(5532),s=n(38381).defaults,r=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},o=function(t){return""},i=function(t){return t.replace("]]>","]]]]>")},e.Builder=function(){function e(t){var e,n,i;for(e in this.options={},n=s[.2])a.call(n,e)&&(i=n[e],this.options[e]=i);for(e in t)a.call(t,e)&&(i=t[e],this.options[e]=i)}return e.prototype.buildObject=function(e){var n,i,l,c,u,d;return n=this.options.attrkey,i=this.options.charkey,1===Object.keys(e).length&&this.options.rootName===s[.2].rootName?e=e[u=Object.keys(e)[0]]:u=this.options.rootName,d=this,l=function(t,e){var s,c,u,m,p,f;if("object"!=typeof e)d.options.cdata&&r(e)?t.raw(o(e)):t.txt(e);else if(Array.isArray(e)){for(m in e)if(a.call(e,m))for(p in c=e[m])u=c[p],t=l(t.ele(p),u).up()}else for(p in e)if(a.call(e,p))if(c=e[p],p===n){if("object"==typeof c)for(s in c)f=c[s],t=t.att(s,f)}else if(p===i)t=d.options.cdata&&r(c)?t.raw(o(c)):t.txt(c);else if(Array.isArray(c))for(m in c)a.call(c,m)&&(t="string"==typeof(u=c[m])?d.options.cdata&&r(u)?t.ele(p).raw(o(u)).up():t.ele(p,u).up():l(t.ele(p),u).up());else"object"==typeof c?t=l(t.ele(p),c).up():"string"==typeof c&&d.options.cdata&&r(c)?t=t.ele(p).raw(o(c)).up():(null==c&&(c=""),t=t.ele(p,c.toString()).up());return t},c=t.create(u,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(c,e).end(this.options.renderOpts)},e}()}).call(this)},38381:function(t,e){(function(){e.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this)},99082:function(t,e,n){(function(){"use strict";var t,s,i,r,o,a,l,c,u,d=function(t,e){return function(){return t.apply(e,arguments)}},m={}.hasOwnProperty;c=n(36099),r=n(17187),t=n(50306),l=n(7526),u=n(75475).setImmediate,s=n(38381).defaults,o=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},a=function(t,e,n){var s,i;for(s=0,i=t.length;s0&&(c[t.options.childkey]=d),d=c;return s.length>0?t.assignOrPush(g,u,d):(t.options.explicitRoot&&(f=d,i(d={},u,f)),t.resultObject=d,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),n=function(t){return function(n){var i,r;if(r=s[s.length-1])return r[e]+=n,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==n.replace(/\\n/g,"").trim())&&(r[t.options.childkey]=r[t.options.childkey]||[],(i={"#name":"__text__"})[e]=n,t.options.normalize&&(i[e]=i[e].replace(/\s{2,}/g," ").trim()),r[t.options.childkey].push(i)),r}}(this),this.saxParser.ontext=n,this.saxParser.oncdata=function(t){var e;if(e=n(t))return e.cdata=!0}},r.prototype.parseString=function(e,n){var s;null!=n&&"function"==typeof n&&(this.on("end",(function(t){return this.reset(),n(null,t)})),this.on("error",(function(t){return this.reset(),n(t)})));try{return""===(e=e.toString()).trim()?(this.emit("end",null),!0):(e=t.stripBOM(e),this.options.async?(this.remaining=e,u(this.processAsync),this.saxParser):this.saxParser.write(e).close())}catch(t){if(s=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",s),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw s}},r.prototype.parseStringPromise=function(t){return new Promise((e=this,function(n,s){return e.parseString(t,(function(t,e){return t?s(t):n(e)}))}));var e},r}(r),e.parseString=function(t,n,s){var i,r;return null!=s?("function"==typeof s&&(i=s),"object"==typeof n&&(r=n)):("function"==typeof n&&(i=n),r={}),new e.Parser(r).parseString(t,i)},e.parseStringPromise=function(t,n){var s;return"object"==typeof n&&(s=n),new e.Parser(s).parseStringPromise(t)}}).call(this)},7526:function(t,e){(function(){"use strict";var t;t=new RegExp(/(?!xmlns)^.*:/),e.normalize=function(t){return t.toLowerCase()},e.firstCharLowerCase=function(t){return t.charAt(0).toLowerCase()+t.slice(1)},e.stripPrefix=function(e){return e.replace(t,"")},e.parseNumbers=function(t){return isNaN(t)||(t=t%1==0?parseInt(t,10):parseFloat(t)),t},e.parseBooleans=function(t){return/^(?:true|false)$/i.test(t)&&(t="true"===t.toLowerCase()),t}}).call(this)},5055:function(t,e,n){(function(){"use strict";var t,s,i,r,o={}.hasOwnProperty;s=n(38381),t=n(34096),i=n(99082),r=n(7526),e.defaults=s.defaults,e.processors=r,e.ValidationError=function(t){function e(t){this.message=t}return function(t,e){for(var n in e)o.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(e,Error),e}(),e.Builder=t.Builder,e.Parser=i.Parser,e.parseString=i.parseString,e.parseStringPromise=i.parseStringPromise}).call(this)},17557:function(t){(function(){t.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},39335:function(t){(function(){t.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},78369:function(t){(function(){var e,n,s,i,r,o,a,l=[].slice,c={}.hasOwnProperty;e=function(){var t,e,n,s,i,o;if(o=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],r(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},t.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&t.prefix===this.prefix&&t.localName===this.localName&&t.value===this.value},t}()}).call(this)},66170:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(39335),s=n(6488),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},6488:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(32026),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t),this.value=""}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.replaceData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.isEqualNode=function(t){return!!e.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},e}(e)}).call(this)},62096:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(39335),s=n(6488),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},30383:function(t,e,n){(function(){var e,s;e=n(93933),s=n(66210),t.exports=function(){function t(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(t.prototype,"parameterNames",{get:function(){return new s(Object.keys(this.defaultParams))}}),t.prototype.getParameter=function(t){return this.params.hasOwnProperty(t)?this.params[t]:null},t.prototype.canSetParameter=function(t,e){return!0},t.prototype.setParameter=function(t,e){return null!=e?this.params[t]=e:delete this.params[t]},t}()}).call(this)},93933:function(t){(function(){t.exports=function(){function t(){}return t.prototype.handleError=function(t){throw new Error(t)},t}()}).call(this)},91770:function(t){(function(){t.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},66210:function(t){(function(){t.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this)},51179:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i,r,o,a){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==i)throw new Error("Missing DTD attribute name. "+this.debugInfo(s));if(!r)throw new Error("Missing DTD attribute type. "+this.debugInfo(s));if(!o)throw new Error("Missing DTD attribute default. "+this.debugInfo(s));if(0!==o.indexOf("#")&&(o="#"+o),!o.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(s));if(a&&!o.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(s));this.elementName=this.stringify.name(s),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(i),this.attributeType=this.stringify.dtdAttType(r),a&&(this.defaultValue=this.stringify.dtdAttDefault(a)),this.defaultValueType=o}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},36347:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(s),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},99078:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(78369).isObject,s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,r,o){if(n.__super__.constructor.call(this,t),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==o)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!s,this.name=this.stringify.name(r),this.type=e.EntityDeclaration,i(o)){if(!o.pubID&&!o.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(o.pubID&&!o.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=o.pubID&&(this.pubID=this.stringify.dtdPubID(o.pubID)),null!=o.sysID&&(this.sysID=this.stringify.dtdSysID(o.sysID)),null!=o.nData&&(this.nData=this.stringify.dtdNData(o.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(o),this.internal=!0}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(n.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(n.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlVersion",{get:function(){return null}}),n.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},44777:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD notation name. "+this.debugInfo(s));if(!i.pubID&&!i.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(s));this.name=this.stringify.name(s),this.type=e.NotationDeclaration,null!=i.pubID&&(this.pubID=this.stringify.dtdPubID(i.pubID)),null!=i.sysID&&(this.sysID=this.stringify.dtdSysID(i.sysID))}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),n.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},59077:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(78369).isObject,s=n(32026),e=n(39335),t.exports=function(t){function n(t,s,r,o){var a;n.__super__.constructor.call(this,t),i(s)&&(s=(a=s).version,r=a.encoding,o=a.standalone),s||(s="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(s),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=o&&(this.standalone=this.stringify.xmlStandalone(o))}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},8225:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u={}.hasOwnProperty;c=n(78369).isObject,l=n(32026),e=n(39335),s=n(51179),r=n(99078),i=n(36347),o=n(44777),a=n(40663),t.exports=function(t){function n(t,s,i){var r,o,a,l,u,d;if(n.__super__.constructor.call(this,t),this.type=e.DocType,t.children)for(o=0,a=(l=t.children).length;o=0;)this.up();return this.onEnd()},t.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},t.prototype.openNode=function(t){var n,i,r,o;if(!t.isOpen){if(this.root||0!==this.currentLevel||t.type!==e.Element||(this.root=t),i="",t.type===e.Element){for(r in this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+"<"+t.name,o=t.attribs)T.call(o,r)&&(n=o[r],i+=this.writer.attribute(n,this.writerOptions,this.currentLevel));i+=(t.children?">":"/>")+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.InsideTag}else this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+""),i+=this.writer.endline(t,this.writerOptions,this.currentLevel);return this.onData(i,this.currentLevel),t.isOpen=!0}},t.prototype.closeNode=function(t){var n;if(!t.isClosed)return"",this.writerOptions.state=s.CloseTag,n=t.type===e.Element?this.writer.indent(t,this.writerOptions,this.currentLevel)+""+this.writer.endline(t,this.writerOptions,this.currentLevel):this.writer.indent(t,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.None,this.onData(n,this.currentLevel),t.isClosed=!0},t.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},t.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},t.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},t.prototype.ele=function(){return this.element.apply(this,arguments)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.dtd=function(t,e,n){return this.doctype(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.att=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.a=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.ent=function(t,e){return this.entity(t,e)},t.prototype.pent=function(t,e){return this.pEntity(t,e)},t.prototype.not=function(t,e){return this.notation(t,e)},t}()}).call(this)},78833:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(32026),e=n(39335),t.exports=function(t){function n(t){n.__super__.constructor.call(this,t),this.type=e.Dummy}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}(s)}).call(this)},32161:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u={}.hasOwnProperty;c=n(78369),l=c.isObject,a=c.isFunction,o=c.getValue,r=n(32026),e=n(39335),s=n(72750),i=n(40663),t.exports=function(t){function n(t,s,i){var r,o,a,l;if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(s),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,null!=i&&this.attribute(i),t.type===e.Document&&(this.isRoot=!0,this.documentObject=t,t.rootObject=this,t.children))for(o=0,a=(l=t.children).length;o=i;e=0<=i?++s:--s)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},n}(r)}).call(this)},40663:function(t){(function(){t.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.getNamedItem=function(t){return this.nodes[t]},t.prototype.setNamedItem=function(t){var e;return e=this.nodes[t.nodeName],this.nodes[t.nodeName]=t,e||null},t.prototype.removeNamedItem=function(t){var e;return e=this.nodes[t],delete this.nodes[t],e||null},t.prototype.item=function(t){return this.nodes[Object.keys(this.nodes)[t]]||null},t.prototype.getNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t.prototype.setNamedItemNS=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.removeNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},32026:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u,d,m,p,f,g,h,A,w,y={}.hasOwnProperty;w=n(78369),A=w.isObject,h=w.isFunction,g=w.isEmpty,f=w.getValue,c=null,i=null,r=null,o=null,a=null,m=null,p=null,d=null,l=null,s=null,u=null,e=null,t.exports=function(){function t(t){this.parent=t,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,c||(c=n(32161),i=n(66170),r=n(62096),o=n(59077),a=n(8225),m=n(79406),p=n(43595),d=n(19181),l=n(78833),s=n(39335),u=n(82390),n(40663),e=n(17557))}return Object.defineProperty(t.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(t.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(t.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new u(this.children)),this.childNodeList}}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(t.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(t.prototype,"textContent",{get:function(){var t,e,n,i,r;if(this.nodeType===s.Element||this.nodeType===s.DocumentFragment){for(r="",e=0,n=(i=this.children).length;e":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},t.prototype.ele=function(t,e,n){return this.element(t,e,n)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.doc=function(){return this.document()},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.u=function(){return this.up()},t.prototype.importXMLBuilder=function(t){return this.importDocument(t)},t.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.hasChildNodes=function(){return 0!==this.children.length},t.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isSupported=function(t,e){return!0},t.prototype.hasAttributes=function(){return 0!==this.attribs.length},t.prototype.compareDocumentPosition=function(t){var n,s;return(n=this)===t?0:this.document()!==t.document()?(s=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?s|=e.Preceding:s|=e.Following,s):n.isAncestor(t)?e.Contains|e.Preceding:n.isDescendant(t)?e.Contains|e.Following:n.isPreceding(t)?e.Preceding:e.Following},t.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isEqualNode=function(t){var e,n,s;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,s=this.children.length-1;0<=s?n<=s:n>=s;e=0<=s?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},t.prototype.isDescendant=function(t){var e,n,s,i;for(n=0,s=(i=this.children).length;nn},t.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),(function(s){if(n++,!e&&s===t)return e=!0})),e?n:-1},t.prototype.foreachTreeNode=function(t,e){var n,s,i,r,o;for(t||(t=this.document()),s=0,i=(r=t.children).length;s0){for(this.stream.write(" ["),this.stream.write(this.endline(t,e,n)),e.state=s.InsideTag,r=0,o=(a=t.children).length;r"),this.stream.write(this.endline(t,e,n)),e.state=s.None,this.closeNode(t,e,n)},n.prototype.element=function(t,n,i){var o,a,l,c,u,d,m,p,f;for(m in i||(i=0),this.openNode(t,n,i),n.state=s.OpenTag,this.stream.write(this.indent(t,n,i)+"<"+t.name),p=t.attribs)r.call(p,m)&&(o=p[m],this.attribute(o,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(this.stream.write(">"),n.state=s.CloseTag,this.stream.write("")):(n.state=s.CloseTag,this.stream.write(n.spaceBeforeSlash+"/>"));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){for(this.stream.write(">"+this.endline(t,n,i)),n.state=s.InsideTag,u=0,d=(f=t.children).length;u")}else this.stream.write(">"),n.state=s.InsideTag,n.suppressPrettyCount++,this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,n.state=s.CloseTag,this.stream.write("");return this.stream.write(this.endline(t,n,i)),n.state=s.None,this.closeNode(t,n,i)},n.prototype.processingInstruction=function(t,e,s){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,s))},n.prototype.raw=function(t,e,s){return this.stream.write(n.__super__.raw.call(this,t,e,s))},n.prototype.text=function(t,e,s){return this.stream.write(n.__super__.text.call(this,t,e,s))},n.prototype.dtdAttList=function(t,e,s){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,s))},n.prototype.dtdElement=function(t,e,s){return this.stream.write(n.__super__.dtdElement.call(this,t,e,s))},n.prototype.dtdEntity=function(t,e,s){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,s))},n.prototype.dtdNotation=function(t,e,s){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,s))},n}(i)}).call(this)},26434:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(60751),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t)}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),e.prototype.document=function(t,e){var n,s,i,r,o;for(e=this.filterOptions(e),r="",s=0,i=(o=t.children).length;s","]]]]>"),this.assertLegalChar(t))},t.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},t.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},t.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},t.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},t.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},t.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},t.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},t.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.convertAttKey="@",t.prototype.convertPIKey="?",t.prototype.convertTextKey="#text",t.prototype.convertCDataKey="#cdata",t.prototype.convertCommentKey="#comment",t.prototype.convertRawKey="#raw",t.prototype.assertLegalChar=function(t){var e,n;if(this.options.noValidation)return t;if(e="","1.0"===this.options.version){if(e=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(e=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},t.prototype.assertLegalName=function(t){var e;if(this.options.noValidation)return t;if(this.assertLegalChar(t),e=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(e))throw new Error("Invalid character in name");return t},t.prototype.textEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(//g,">").replace(/\r/g," "))},t.prototype.attEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(/0?new Array(s).join(e.indent):""},t.prototype.endline=function(t,e,n){return!e.pretty||e.suppressPrettyCount?"":e.newline},t.prototype.attribute=function(t,e,n){var s;return this.openAttribute(t,e,n),s=" "+t.name+'="'+t.value+'"',this.closeAttribute(t,e,n),s},t.prototype.cdata=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.comment=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"\x3c!-- ",e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=" --\x3e"+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.declaration=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.docType=function(t,e,n){var i,r,o,a,l;if(n||(n=0),this.openNode(t,e,n),e.state=s.OpenTag,a=this.indent(t,e,n),a+="0){for(a+=" [",a+=this.endline(t,e,n),e.state=s.InsideTag,r=0,o=(l=t.children).length;r",a+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),a},t.prototype.element=function(t,n,i){var o,a,l,c,u,d,m,p,f,g,h,A,w,y;for(f in i||(i=0),g=!1,h="",this.openNode(t,n,i),n.state=s.OpenTag,h+=this.indent(t,n,i)+"<"+t.name,A=t.attribs)r.call(A,f)&&(o=A[f],h+=this.attribute(o,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(h+=">",n.state=s.CloseTag,h+=""+this.endline(t,n,i)):(n.state=s.CloseTag,h+=n.spaceBeforeSlash+"/>"+this.endline(t,n,i));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){if(n.dontPrettyTextNodes)for(u=0,m=(w=t.children).length;u"+this.endline(t,n,i),n.state=s.InsideTag,d=0,p=(y=t.children).length;d",g&&n.suppressPrettyCount--,h+=this.endline(t,n,i),n.state=s.None}else h+=">",n.state=s.InsideTag,n.suppressPrettyCount++,g=!0,h+=this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,g=!1,n.state=s.CloseTag,h+=""+this.endline(t,n,i);return this.closeNode(t,n,i),h},t.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},t.prototype.processingInstruction=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.raw=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.text=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdAttList=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdElement=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdEntity=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdNotation=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.openNode=function(t,e,n){},t.prototype.closeNode=function(t,e,n){},t.prototype.openAttribute=function(t,e,n){},t.prototype.closeAttribute=function(t,e,n){},t}()}).call(this)},5532:function(t,e,n){(function(){var e,s,i,r,o,a,l,c,u,d;d=n(78369),c=d.assign,u=d.isFunction,i=n(91770),r=n(66934),o=n(79227),l=n(26434),a=n(81996),e=n(39335),s=n(30594),t.exports.create=function(t,e,n,s){var i,o;if(null==t)throw new Error("Root element needs a name.");return s=c({},e,n,s),o=(i=new r(s)).element(t),s.headless||(i.declaration(s),null==s.pubID&&null==s.sysID||i.dtd(s)),o},t.exports.begin=function(t,e,n){var s;return u(t)&&(e=(s=[t,e])[0],n=s[1],t={}),e?new o(t,e,n):new r(t)},t.exports.stringWriter=function(t){return new l(t)},t.exports.streamWriter=function(t,e){return new a(t,e)},t.exports.implementation=new i,t.exports.nodeType=e,t.exports.writerState=s}).call(this)},88717:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27%20style=%27fill-opacity:1;fill:%23ffffff%27/%3e%3c/svg%3e"},79839:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27/%3e%3c/svg%3e"},52361:()=>{},94616:()=>{},5656:(t,e,n)=>{"use strict";n.d(e,{$B:()=>P,DT:()=>h,De:()=>y,G7:()=>re,Ir:()=>ae,NB:()=>I,RL:()=>U,Ti:()=>z,Tv:()=>k,Vn:()=>w,_o:()=>O,e4:()=>N,gt:()=>F,h7:()=>T,p$:()=>A,pC:()=>j,rp:()=>D,sS:()=>g,tB:()=>E,y3:()=>v});var s=n(77958),i=n(17499),r=n(31352),o=n(62520),a=n(65358),l=n(79753),c=n(14596);const u=null===(d=(0,s.ts)())?(0,i.IY)().setApp("files").build():(0,i.IY)().setApp("files").setUid(d.uid).build();var d;class m{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):u.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.enabled||e.enabled(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!t.iconSvgInline&&!t.iconClass||!t.handler)throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.enabled&&"function"!=typeof t.enabled)throw new Error("Invalid enabled property");if("function"!=typeof t.handler)throw new Error("Invalid handler property");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order property");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const p=["B","KB","MB","GB","TB","PB"],f=["B","KiB","MiB","GiB","TiB","PiB"];function g(t,e=!1,n=!1,s=!1){n=n&&!s,"string"==typeof t&&(t=Number(t));let i=t>0?Math.floor(Math.log(t)/Math.log(s?1e3:1024)):0;i=Math.min((n?f.length:p.length)-1,i);const o=n?f[i]:p[i];let a=(t/Math.pow(s?1e3:1024,i)).toFixed(1);return!0===e&&0===i?("0.0"!==a?"< 1 ":"0 ")+(n?f[1]:p[1]):(a=i<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,r.aj)()),a+" "+o)}var h=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(h||{});class A{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if("parent"in t&&"string"!=typeof t.parent)throw new Error("Invalid parent");if(t.default&&!Object.values(h).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const w=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions},y=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],u.debug("FileListHeaders initialized")),window._nc_filelistheader};var v=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(v||{});const b=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],C={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},x=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...b]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},_=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...C}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},T=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t`},E=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,s.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`};var k=(t=>(t.Folder="folder",t.File="file",t))(k||{});const S=function(t,e){return null!==t.match(e)},L=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=v.NONE&&t.permissions<=v.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&S(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes((0,o.join)(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(N).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var N=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(N||{});class I{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){L(t,e||this._knownDavService),this._data=t;const n={set:(t,e,n)=>(this.updateMtime(),Reflect.set(t,e,n)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},n),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,o.basename)(this.source)}get extension(){return(0,o.extname)(this.source)}get dirname(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),n=this.root.replace(/\/$/,"");return(0,o.dirname)(t.slice(e+n.length)||"/")}const t=new URL(this.source);return(0,o.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:v.NONE:v.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return S(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,o.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),n=this.root.replace(/\/$/,"");return t.slice(e+n.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){L({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,o.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class P extends I{get type(){return k.File}}class F extends I{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return k.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const O=`/files/${(0,s.ts)()?.uid}`,B=(0,l.generateRemoteUrl)("dav"),D=function(t=B,e={}){const n=(0,c.eI)(t,{headers:e});function i(t){n.setHeaders({...e,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,s._S)(i),i((0,s.IH)()),(0,c.lD)().patch("fetch",((t,e)=>{const n=e.headers;return n?.method&&(e.method=n.method,delete n.method),fetch(t,e)})),n},j=async(t,e="/",n=O)=>(await t.getDirectoryContents(`${n}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${x()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>U(t,n))),U=function(t,e=O,n=B){const i=t.props,r=function(t=""){let e=v.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=v.CREATE),t.includes("G")&&(e|=v.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=v.UPDATE),t.includes("D")&&(e|=v.DELETE),t.includes("R")&&(e|=v.SHARE)),e}(i?.permissions),o=i?.["owner-id"]||(0,s.ts)()?.uid,a={id:i?.fileid||0,source:`${n}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:i?.size||Number.parseInt(i.getcontentlength||"0"),permissions:r,owner:o,root:e,attributes:{...t,...i,hasPreview:i?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new P(a):new F(a)};class R{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const z=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new R,u.debug("Navigation service initialized")),window._nc_navigation};class M{_column;constructor(t){V(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const V=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var $={},q={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",s=new RegExp("^"+n+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,n){if(e){const s=Object.keys(e),i=s.length;for(let r=0;r"u")},t.getAllMatches=function(t,e){const n=[];let s=e.exec(t);for(;s;){const i=[];i.startIndex=e.lastIndex-s[0].length;const r=s.length;for(let t=0;t5&&"xml"===s)return nt("InvalidXml","XML declaration allowed only at the start of the document.",rt(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function W(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let n=1;for(e+=8;e"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}$.validate=function(t,e){e=Object.assign({},Z,e);const n=[];let s=!1,i=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let r=0;r"!==t[r]&&" "!==t[r]&&"\t"!==t[r]&&"\n"!==t[r]&&"\r"!==t[r];r++)l+=t[r];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),r--),!it(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",nt("InvalidTag",e,rt(t,r))}const c=Q(t,r);if(!1===c)return nt("InvalidAttr","Attributes for '"+l+"' have open quote.",rt(t,r));let u=c.value;if(r=c.index,"/"===u[u.length-1]){const n=r-u.length;u=u.substring(0,u.length-1);const i=tt(u,e);if(!0!==i)return nt(i.err.code,i.err.msg,rt(t,n+i.err.line));s=!0}else if(a){if(!c.tagClosed)return nt("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",rt(t,r));if(u.trim().length>0)return nt("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",rt(t,o));{const e=n.pop();if(l!==e.tagName){let n=rt(t,e.tagStartPos);return nt("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+l+"'.",rt(t,o))}0==n.length&&(i=!0)}}else{const a=tt(u,e);if(!0!==a)return nt(a.err.code,a.err.msg,rt(t,r-u.length+a.err.line));if(!0===i)return nt("InvalidXml","Multiple possible root nodes found.",rt(t,r));-1!==e.unpairedTags.indexOf(l)||n.push({tagName:l,tagStartPos:o}),s=!0}for(r++;r0)||nt("InvalidXml","Invalid '"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):nt("InvalidXml","Start tag expected.",1)};const K='"',J="'";function Q(t,e){let n="",s="",i=!1;for(;e"===t[e]&&""===s){i=!0;break}n+=t[e]}return""===s&&{value:n,index:e,tagClosed:i}}const X=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function tt(t,e){const n=H.getAllMatches(t,X),s={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};at.buildOptions=function(t){return Object.assign({},lt,t)},at.defaultOptions=lt;const ct=q;function ut(t,e){let n="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},Ct=function(t,e){const n={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let s=1,i=!1,r=!1,o="";for(;e"===t[e]){if(r?"-"===t[e-1]&&"-"===t[e-2]&&(r=!1,s--):s--,0===s)break}else"["===t[e]?i=!0:o+=t[e];else{if(i&&mt(t,e))e+=7,[entityName,val,e]=ut(t,e+1),-1===val.indexOf("&")&&(n[ht(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(i&&pt(t,e))e+=8;else if(i&&ft(t,e))e+=8;else if(i&>(t,e))e+=9;else{if(!dt)throw new Error("Invalid DOCTYPE");r=!0}s++,o=""}if(0!==s)throw new Error("Unclosed DOCTYPE")}return{entities:n,i:e}},xt=function(t,e={}){if(e=Object.assign({},yt,e),!t||"string"!=typeof t)return t;let n=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(n))return t;if(e.hex&&At.test(n))return Number.parseInt(n,16);{const s=wt.exec(n);if(s){const i=s[1],r=s[2];let o=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(s[3]);const a=s[4]||s[6];if(!e.leadingZeros&&r.length>0&&i&&"."!==n[2])return t;if(!e.leadingZeros&&r.length>0&&!i&&"."!==n[1])return t;{const s=Number(n),l=""+s;return-1!==l.search(/[eE]/)||a?e.eNotation?s:t:-1!==n.indexOf(".")?"0"===l&&""===o||l===o||i&&l==="-"+o?s:t:r?o===l||i+o===l?s:t:n===l||n===i+l?s:t}}return t}};function _t(t){const e=Object.keys(t);for(let n=0;n0)){o||(t=this.replaceEntitiesValue(t));const s=this.options.tagValueProcessor(e,t,n,i,r);return null==s?t:typeof s!=typeof t||s!==t?s:this.options.trimValues||t.trim()===t?jt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function Et(t){if(this.options.removeNSPrefix){const e=t.split(":"),n="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=n+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,vt.nameRegexp);const kt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function St(t,e,n){if(!this.options.ignoreAttributes&&"string"==typeof t){const n=vt.getAllMatches(t,kt),s=n.length,i={};for(let t=0;t",r,"Closing Tag is not closed.");let o=t.substring(r+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(":");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(s=this.saveTextToParentTag(s,n,i));const a=i.substring(i.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=i.lastIndexOf("."),i=i.substring(0,l),n=this.tagsNodeStack.pop(),s="",r=e}else if("?"===t[r+1]){let e=Bt(t,r,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,n,i),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new bt(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,i,e.tagName)),this.addChild(n,t,i)}r=e.closeIndex+1}else if("!--"===t.substr(r+1,3)){const e=Ot(t,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){const o=t.substring(r+4,e-2);s=this.saveTextToParentTag(s,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=e}else if("!D"===t.substr(r+1,2)){const e=Ct(t,r);this.docTypeEntities=e.entities,r=e.i}else if("!["===t.substr(r+1,2)){const e=Ot(t,"]]>",r,"CDATA is not closed.")-2,o=t.substring(r+9,e);if(s=this.saveTextToParentTag(s,n,i),this.options.cdataPropName)n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]);else{let t=this.parseTextData(o,n.tagname,i,!0,!1,!0);null==t&&(t=""),n.add(this.options.textNodeName,t)}r=e+2}else{let o=Bt(t,r,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let c=o.tagExp,u=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&s&&"!xml"!==n.tagname&&(s=this.saveTextToParentTag(s,n,i,!1));const m=n;if(m&&-1!==this.options.unpairedTags.indexOf(m.tagname)&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),a!==e.tagname&&(i+=i?"."+a:a),this.isItStopNode(this.options.stopNodes,i,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))r=o.closeIndex;else{const n=this.readStopNodeData(t,l,d+1);if(!n)throw new Error(`Unexpected end of ${l}`);r=n.i,e=n.tagContent}const s=new bt(a);a!==c&&u&&(s[":@"]=this.buildAttributesMap(c,i,a)),e&&(e=this.parseTextData(e,a,i,!0,u,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),s.add(this.options.textNodeName,e),this.addChild(n,s,i)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new bt(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,i,a)),this.addChild(n,t,i),i=i.substr(0,i.lastIndexOf("."))}else{const t=new bt(a);this.tagsNodeStack.push(n),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,i,a)),this.addChild(n,t,i),n=t}s="",r=d}}else s+=t[r];return e.child};function Nt(t,e,n){const s=this.options.updateTag(e.tagname,n,e[":@"]);!1===s||("string"==typeof s&&(e.tagname=s),t.addChild(e))}const It=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Pt(t,e,n,s){return t&&(void 0===s&&(s=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,s))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function Ft(t,e,n){const s="*."+n;for(const n in t){const i=t[n];if(s===i||e===i)return!0}return!1}function Ot(t,e,n,s){const i=t.indexOf(e,n);if(-1===i)throw new Error(s);return i+e.length-1}function Bt(t,e,n,s=">"){const i=function(t,e,n=">"){let s,i="";for(let r=e;r",n,`${e} is not closed`);if(t.substring(n+2,r).trim()===e&&(i--,0===i))return{tagContent:t.substring(s,n),i:r};n=r}else if("?"===t[n+1])n=Ot(t,"?>",n+1,"StopNode is not closed.");else if("!--"===t.substr(n+1,3))n=Ot(t,"--\x3e",n+3,"StopNode is not closed.");else if("!["===t.substr(n+1,2))n=Ot(t,"]]>",n,"StopNode is not closed.")-2;else{const s=Bt(t,n,">");s&&((s&&s.tagName)===e&&"/"!==s.tagExp[s.tagExp.length-1]&&i++,n=s.closeIndex)}}function jt(t,e,n){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&xt(t,n)}return vt.isExist(t)?t:""}var Ut={};function Rt(t,e,n){let s;const i={};for(let r=0;r0&&(i[e.textNodeName]=s):void 0!==s&&(i[e.textNodeName]=s),i}function zt(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=_t,this.parseXml=Lt,this.parseTextData=Tt,this.resolveNameSpace=Et,this.buildAttributesMap=St,this.isItStopNode=Ft,this.replaceEntitiesValue=It,this.readStopNodeData=Dt,this.saveTextToParentTag=Pt,this.addChild=Nt}},{prettify:Ht}=Ut,Zt=$;function Gt(t,e,n,s){let i="",r=!1;for(let o=0;o`,r=!1;continue}if(l===e.commentPropName){i+=s+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,r=!0;continue}if("?"===l[0]){const t=Wt(a[":@"],e),n="?xml"===l?"":s;let o=a[l][0][e.textNodeName];o=0!==o.length?" "+o:"",i+=n+`<${l}${o}${t}?>`,r=!0;continue}let u=s;""!==u&&(u+=e.indentBy);const d=s+`<${l}${Wt(a[":@"],e)}`,m=Gt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?i+=d+">":i+=d+"/>":m&&0!==m.length||!e.suppressEmptyNode?m&&m.endsWith(">")?i+=d+`>${m}${s}`:(i+=d+">",m&&""!==s&&(m.includes("/>")||m.includes("`):i+=d+"/>",r=!0}return i}function Yt(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n0&&(n="\n"),Gt(t,e,"",n)},Xt={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function te(t){this.options=Object.assign({},Xt,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=se),this.processTextOrObjNode=ee,this.options.format?(this.indentate=ne,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function ee(t,e,n){const s=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,s.attrStr,n):this.buildObjectNode(s.val,e,s.attrStr,n)}function ne(t){return this.options.indentBy.repeat(t)}function se(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}te.prototype.build=function(t){return this.options.preserveOrder?Qt(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},te.prototype.j2x=function(t,e){let n="",s="";for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i))if(typeof t[i]>"u")this.isAttribute(i)&&(s+="");else if(null===t[i])this.isAttribute(i)?s+="":"?"===i[0]?s+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)s+=this.buildTextValNode(t[i],i,"",e);else if("object"!=typeof t[i]){const r=this.isAttribute(i);if(r)n+=this.buildAttrPairStr(r,""+t[i]);else if(i===this.options.textNodeName){let e=this.options.tagValueProcessor(i,""+t[i]);s+=this.replaceEntitiesValue(e)}else s+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){const n=t[i].length;let r="";for(let o=0;o"u"||(null===n?"?"===i[0]?s+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:"object"==typeof n?this.options.oneListGroup?r+=this.j2x(n,e+1).val:r+=this.processTextOrObjNode(n,i,e):r+=this.buildTextValNode(n,i,"",e))}this.options.oneListGroup&&(r=this.buildObjectNode(r,i,"",e)),s+=r}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){const e=Object.keys(t[i]),s=e.length;for(let r=0;r"+t+i}},te.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(s)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),""===i?this.indentate(s)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(s)+"<"+e+n+">"+i+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ie.XMLValidator.validate(t))return!1;let e;const n=new ie.XMLParser;try{e=n.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof M))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},ae=function(t){return(typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new m,u.debug("NewFileMenu initialized")),window._nc_newfilemenu).getEntries(t).sort(((t,e)=>void 0!==t.order&&void 0!==e.order&&t.order!==e.order?t.order-e.order:t.displayName.localeCompare(e.displayName,void 0,{numeric:!0,sensitivity:"base"})))}},99125:(t,e,n)=>{"use strict";n.d(e,{U:()=>un,a:()=>an,c:()=>We,g:()=>mn,l:()=>Je,n:()=>tn,t:()=>ln});var s=n(93379),i=n.n(s),r=n(7795),o=n.n(r),a=n(90569),l=n.n(a),c=n(3565),u=n.n(c),d=n(19216),m=n.n(d),p=n(44589),f=n.n(p),g=n(75716),h={};h.styleTagTransform=f(),h.setAttributes=u(),h.insert=l().bind(null,"head"),h.domAPI=o(),h.insertStyleElement=m(),i()(g.Z,h),g.Z&&g.Z.locals&&g.Z.locals;var A=n(65358),w=n(5656),y=n(79753),v=n(77958),b=n(93664);class C extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const x=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class _{static fn(t){return(...e)=>new _(((n,s,i)=>{e.push(i),t(...e).then(n,s)}))}#t=[];#e=!0;#n=x.pending;#s;#i;constructor(t){this.#s=new Promise(((e,n)=>{this.#i=n;const s=t=>{if(this.#n!==x.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#n.description}.`);this.#t.push(t)};Object.defineProperties(s,{shouldReject:{get:()=>this.#e,set:t=>{this.#e=t}}}),t((t=>{this.#n===x.canceled&&s.shouldReject||(e(t),this.#r(x.resolved))}),(t=>{this.#n===x.canceled&&s.shouldReject||(n(t),this.#r(x.rejected))}),s)}))}then(t,e){return this.#s.then(t,e)}catch(t){return this.#s.catch(t)}finally(t){return this.#s.finally(t)}cancel(t){if(this.#n===x.pending){if(this.#r(x.canceled),this.#t.length>0)try{for(const t of this.#t)t()}catch(t){return void this.#i(t)}this.#e&&this.#i(new C(t))}}get isCanceled(){return this.#n===x.canceled}#r(t){this.#n===x.pending&&(this.#n=t)}}Object.setPrototypeOf(_.prototype,Promise.prototype);var T=n(51772);class E extends Error{constructor(t){super(t),this.name="TimeoutError"}}class k extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const S=t=>void 0===globalThis.DOMException?new k(t):new DOMException(t),L=t=>{const e=void 0===t.reason?S("This operation was aborted."):t.reason;return e instanceof Error?e:S(e)};class N{#o=[];enqueue(t,e){const n={priority:(e={priority:0,...e}).priority,run:t};if(this.size&&this.#o[this.size-1].priority>=e.priority)return void this.#o.push(n);const s=function(t,e,n){let s=0,i=t.length;for(;i>0;){const r=Math.trunc(i/2);let o=s+r;n(t[o],e)<=0?(s=++o,i-=r+1):i=r}return s}(this.#o,n,((t,e)=>e.priority-t.priority));this.#o.splice(s,0,n)}dequeue(){const t=this.#o.shift();return t?.run}filter(t){return this.#o.filter((e=>e.priority===t.priority)).map((t=>t.run))}get size(){return this.#o.length}}class I extends T{#a;#l;#c=0;#u;#d;#m=0;#p;#f;#o;#g;#h=0;#A;#w;#y;timeout;constructor(t){if(super(),!("number"==typeof(t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:N,...t}).intervalCap&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(void 0===t.interval||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#a=t.carryoverConcurrencyCount,this.#l=t.intervalCap===Number.POSITIVE_INFINITY||0===t.interval,this.#u=t.intervalCap,this.#d=t.interval,this.#o=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#y=!0===t.throwOnTimeout,this.#w=!1===t.autoStart}get#v(){return this.#l||this.#c{this.#_()}),e)),!0;this.#c=this.#a?this.#h:0}return!1}#x(){if(0===this.#o.size)return this.#p&&clearInterval(this.#p),this.#p=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#w){const t=!this.#k;if(this.#v&&this.#b){const e=this.#o.dequeue();return!!e&&(this.emit("active"),e(),t&&this.#E(),!0)}}return!1}#E(){this.#l||void 0!==this.#p||(this.#p=setInterval((()=>{this.#T()}),this.#d),this.#m=Date.now()+this.#d)}#T(){0===this.#c&&0===this.#h&&this.#p&&(clearInterval(this.#p),this.#p=void 0),this.#c=this.#a?this.#h:0,this.#S()}#S(){for(;this.#x(););}get concurrency(){return this.#A}set concurrency(t){if(!("number"==typeof t&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#A=t,this.#S()}async#L(t){return new Promise(((e,n)=>{t.addEventListener("abort",(()=>{n(t.reason)}),{once:!0})}))}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#y,...e},new Promise(((n,s)=>{this.#o.enqueue((async()=>{this.#h++,this.#c++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=function(t,e){const{milliseconds:n,fallback:s,message:i,customTimers:r={setTimeout,clearTimeout}}=e;let o;const a=new Promise(((a,l)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(e.signal){const{signal:t}=e;t.aborted&&l(L(t)),t.addEventListener("abort",(()=>{l(L(t))}))}if(n===Number.POSITIVE_INFINITY)return void t.then(a,l);const c=new E;o=r.setTimeout.call(void 0,(()=>{if(s)try{a(s())}catch(t){l(t)}else"function"==typeof t.cancel&&t.cancel(),!1===i?a():i instanceof Error?l(i):(c.message=i??`Promise timed out after ${n} milliseconds`,l(c))}),n),(async()=>{try{a(await t)}catch(t){l(t)}})()})).finally((()=>{a.clear()}));return a.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},a}(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#L(e.signal)]));const i=await s;n(i),this.emit("completed",i)}catch(t){if(t instanceof E&&!e.throwOnTimeout)return void n();s(t),this.emit("error",t)}finally{this.#C()}}),e),this.emit("add"),this.#x()}))}async addAll(t,e){return Promise.all(t.map((async t=>this.add(t,e))))}start(){return this.#w?(this.#w=!1,this.#S(),this):this}pause(){this.#w=!0}clear(){this.#o=new this.#g}async onEmpty(){0!==this.#o.size&&await this.#N("empty")}async onSizeLessThan(t){this.#o.sizethis.#o.size{const s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)}))}get size(){return this.#o.size}sizeBy(t){return this.#o.filter(t).length}get pending(){return this.#h}get isPaused(){return this.#w}}var P=n(43452);const F=(t,e,n)=>t.bind(n);var O=n(17499),B=n(64024),D=n(69481),j=n(20144),U=n(43589),R=n(61057),z=n(54572),M=n(46226),V=n(29094),$=n(48264),q=n(48764).Buffer,H=n(25108);function Z(t,e){return function(){return t.apply(e,arguments)}}const{toString:G}=Object.prototype,{getPrototypeOf:Y}=Object,W=(tt=Object.create(null),t=>{const e=G.call(t);return tt[e]||(tt[e]=e.slice(8,-1).toLowerCase())}),K=t=>(t=t.toLowerCase(),e=>W(e)===t),J=t=>e=>typeof e===t,{isArray:Q}=Array,X=J("undefined");var tt;const et=K("ArrayBuffer"),nt=J("string"),st=J("function"),it=J("number"),rt=t=>null!==t&&"object"==typeof t,ot=t=>{if("object"!==W(t))return!1;const e=Y(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},at=K("Date"),lt=K("File"),ct=K("Blob"),ut=K("FileList"),dt=K("URLSearchParams");function mt(t,e,{allOwnKeys:n=!1}={}){if(null===t||typeof t>"u")return;let s,i;if("object"!=typeof t&&(t=[t]),Q(t))for(s=0,i=t.length;s0;)if(s=n[i],e===s.toLowerCase())return s;return null}const ft=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,gt=t=>!X(t)&&t!==ft,ht=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Y(Uint8Array)),At=K("HTMLFormElement"),wt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),yt=K("RegExp"),vt=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),s={};mt(n,((n,i)=>{let r;!1!==(r=e(n,i,t))&&(s[i]=r||n)})),Object.defineProperties(t,s)},bt="abcdefghijklmnopqrstuvwxyz",Ct="0123456789",xt={DIGIT:Ct,ALPHA:bt,ALPHA_DIGIT:bt+bt.toUpperCase()+Ct},_t=K("AsyncFunction"),Tt={isArray:Q,isArrayBuffer:et,isBuffer:function(t){return null!==t&&!X(t)&&null!==t.constructor&&!X(t.constructor)&&st(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||st(t.append)&&("formdata"===(e=W(t))||"object"===e&&st(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&et(t.buffer),e},isString:nt,isNumber:it,isBoolean:t=>!0===t||!1===t,isObject:rt,isPlainObject:ot,isUndefined:X,isDate:at,isFile:lt,isBlob:ct,isRegExp:yt,isFunction:st,isStream:t=>rt(t)&&st(t.pipe),isURLSearchParams:dt,isTypedArray:ht,isFileList:ut,forEach:mt,merge:function t(){const{caseless:e}=gt(this)&&this||{},n={},s=(s,i)=>{const r=e&&pt(n,i)||i;ot(n[r])&&ot(s)?n[r]=t(n[r],s):ot(s)?n[r]=t({},s):Q(s)?n[r]=s.slice():n[r]=s};for(let t=0,e=arguments.length;t(mt(e,((e,s)=>{n&&st(e)?t[s]=Z(e,n):t[s]=e}),{allOwnKeys:s}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,s)=>{let i,r,o;const a={};if(e=e||{},null==t)return e;do{for(i=Object.getOwnPropertyNames(t),r=i.length;r-- >0;)o=i[r],(!s||s(o,t,e))&&!a[o]&&(e[o]=t[o],a[o]=!0);t=!1!==n&&Y(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:W,kindOfTest:K,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const s=t.indexOf(e,n);return-1!==s&&s===n},toArray:t=>{if(!t)return null;if(Q(t))return t;let e=t.length;if(!it(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let s;for(;(s=n.next())&&!s.done;){const n=s.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const s=[];for(;null!==(n=t.exec(e));)s.push(n);return s},isHTMLForm:At,hasOwnProperty:wt,hasOwnProp:wt,reduceDescriptors:vt,freezeMethods:t=>{vt(t,((e,n)=>{if(st(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const s=t[n];if(st(s)){if(e.enumerable=!1,"writable"in e)return void(e.writable=!1);e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}}))},toObjectSet:(t,e)=>{const n={},s=t=>{t.forEach((t=>{n[t]=!0}))};return Q(t)?s(t):s(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:pt,global:ft,isContextDefined:gt,ALPHABET:xt,generateString:(t=16,e=xt.ALPHA_DIGIT)=>{let n="";const{length:s}=e;for(;t--;)n+=e[Math.random()*s|0];return n},isSpecCompliantForm:function(t){return!!(t&&st(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,s)=>{if(rt(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[s]=t;const i=Q(t)?[]:{};return mt(t,((t,e)=>{const r=n(t,s+1);!X(r)&&(i[e]=r)})),e[s]=void 0,i}}return t};return n(t,0)},isAsyncFn:_t,isThenable:t=>t&&(rt(t)||st(t))&&st(t.then)&&st(t.catch)};function Et(t,e,n,s,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i)}Tt.inherits(Et,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Tt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const kt=Et.prototype,St={};function Lt(t){return Tt.isPlainObject(t)||Tt.isArray(t)}function Nt(t){return Tt.endsWith(t,"[]")?t.slice(0,-2):t}function It(t,e,n){return t?t.concat(e).map((function(t,e){return t=Nt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{St[t]={value:t}})),Object.defineProperties(Et,St),Object.defineProperty(kt,"isAxiosError",{value:!0}),Et.from=(t,e,n,s,i,r)=>{const o=Object.create(kt);return Tt.toFlatObject(t,o,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),Et.call(o,t.message,e,n,s,i),o.cause=t,o.name=t.name,r&&Object.assign(o,r),o};const Pt=Tt.toFlatObject(Tt,{},null,(function(t){return/^is[A-Z]/.test(t)}));function Ft(t,e,n){if(!Tt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const s=(n=Tt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!Tt.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,r=n.dots,o=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&Tt.isSpecCompliantForm(e);if(!Tt.isFunction(i))throw new TypeError("visitor must be a function");function l(t){if(null===t)return"";if(Tt.isDate(t))return t.toISOString();if(!a&&Tt.isBlob(t))throw new Et("Blob is not supported. Use a Buffer instead.");return Tt.isArrayBuffer(t)||Tt.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):q.from(t):t}function c(t,n,i){let a=t;if(t&&!i&&"object"==typeof t)if(Tt.endsWith(n,"{}"))n=s?n:n.slice(0,-2),t=JSON.stringify(t);else if(Tt.isArray(t)&&function(t){return Tt.isArray(t)&&!t.some(Lt)}(t)||(Tt.isFileList(t)||Tt.endsWith(n,"[]"))&&(a=Tt.toArray(t)))return n=Nt(n),a.forEach((function(t,s){!Tt.isUndefined(t)&&null!==t&&e.append(!0===o?It([n],s,r):null===o?n:n+"[]",l(t))})),!1;return!!Lt(t)||(e.append(It(i,n,r),l(t)),!1)}const u=[],d=Object.assign(Pt,{defaultVisitor:c,convertValue:l,isVisitable:Lt});if(!Tt.isObject(t))throw new TypeError("data must be an object");return function t(n,s){if(!Tt.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+s.join("."));u.push(n),Tt.forEach(n,(function(n,r){!0===(!(Tt.isUndefined(n)||null===n)&&i.call(e,n,Tt.isString(r)?r.trim():r,s,d))&&t(n,s?s.concat(r):[r])})),u.pop()}}(t),e}function Ot(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function Bt(t,e){this._pairs=[],t&&Ft(t,this,e)}const Dt=Bt.prototype;function jt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ut(t,e,n){if(!e)return t;const s=n&&n.encode||jt,i=n&&n.serialize;let r;if(r=i?i(e,n):Tt.isURLSearchParams(e)?e.toString():new Bt(e,n).toString(s),r){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}Dt.append=function(t,e){this._pairs.push([t,e])},Dt.toString=function(t){const e=t?function(e){return t.call(this,e,Ot)}:Ot;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Rt=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Tt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},zt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Mt={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Bt,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Vt=typeof window<"u"&&typeof document<"u",$t=(t=>Vt&&["ReactNative","NativeScript","NS"].indexOf(t)<0)(typeof navigator<"u"&&navigator.product),qt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ht={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Vt,hasStandardBrowserEnv:$t,hasStandardBrowserWebWorkerEnv:qt},Symbol.toStringTag,{value:"Module"})),...Mt};function Zt(t){function e(t,n,s,i){let r=t[i++];const o=Number.isFinite(+r),a=i>=t.length;return r=!r&&Tt.isArray(s)?s.length:r,a?(Tt.hasOwnProp(s,r)?s[r]=[s[r],n]:s[r]=n,!o):((!s[r]||!Tt.isObject(s[r]))&&(s[r]=[]),e(t,n,s[r],i)&&Tt.isArray(s[r])&&(s[r]=function(t){const e={},n=Object.keys(t);let s;const i=n.length;let r;for(s=0;s{e(function(t){return Tt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),s,n,0)})),n}return null}const Gt={transitional:zt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",s=n.indexOf("application/json")>-1,i=Tt.isObject(t);if(i&&Tt.isHTMLForm(t)&&(t=new FormData(t)),Tt.isFormData(t))return s&&s?JSON.stringify(Zt(t)):t;if(Tt.isArrayBuffer(t)||Tt.isBuffer(t)||Tt.isStream(t)||Tt.isFile(t)||Tt.isBlob(t))return t;if(Tt.isArrayBufferView(t))return t.buffer;if(Tt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let r;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Ft(t,new Ht.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,s){return Ht.isNode&&Tt.isBuffer(t)?(this.append(e,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((r=Tt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Ft(r?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||s?(e.setContentType("application/json",!1),function(t,e,n){if(Tt.isString(t))try{return(0,JSON.parse)(t),Tt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Gt.transitional,n=e&&e.forcedJSONParsing,s="json"===this.responseType;if(t&&Tt.isString(t)&&(n&&!this.responseType||s)){const n=!(e&&e.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(t){if(n)throw"SyntaxError"===t.name?Et.from(t,Et.ERR_BAD_RESPONSE,this,null,this.response):t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ht.classes.FormData,Blob:Ht.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Tt.forEach(["delete","get","head","post","put","patch"],(t=>{Gt.headers[t]={}}));const Yt=Gt,Wt=Tt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Kt=Symbol("internals");function Jt(t){return t&&String(t).trim().toLowerCase()}function Qt(t){return!1===t||null==t?t:Tt.isArray(t)?t.map(Qt):String(t)}function Xt(t,e,n,s,i){if(Tt.isFunction(s))return s.call(this,e,n);if(i&&(e=n),Tt.isString(e)){if(Tt.isString(s))return-1!==e.indexOf(s);if(Tt.isRegExp(s))return s.test(e)}}let te=class{constructor(t){t&&this.set(t)}set(t,e,n){const s=this;function i(t,e,n){const i=Jt(e);if(!i)throw new Error("header name must be a non-empty string");const r=Tt.findKey(s,i);(!r||void 0===s[r]||!0===n||void 0===n&&!1!==s[r])&&(s[r||e]=Qt(t))}const r=(t,e)=>Tt.forEach(t,((t,n)=>i(t,n,e)));return Tt.isPlainObject(t)||t instanceof this.constructor?r(t,e):Tt.isString(t)&&(t=t.trim())&&!(t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))(t)?r((t=>{const e={};let n,s,i;return t&&t.split("\n").forEach((function(t){i=t.indexOf(":"),n=t.substring(0,i).trim().toLowerCase(),s=t.substring(i+1).trim(),!(!n||e[n]&&Wt[n])&&("set-cookie"===n?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)})),e})(t),e):null!=t&&i(e,t,n),this}get(t,e){if(t=Jt(t)){const n=Tt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(t);)e[s[1]]=s[2];return e}(t);if(Tt.isFunction(e))return e.call(this,t,n);if(Tt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Jt(t)){const n=Tt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Xt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let s=!1;function i(t){if(t=Jt(t)){const i=Tt.findKey(n,t);i&&(!e||Xt(0,n[i],i,e))&&(delete n[i],s=!0)}}return Tt.isArray(t)?t.forEach(i):i(t),s}clear(t){const e=Object.keys(this);let n=e.length,s=!1;for(;n--;){const i=e[n];(!t||Xt(0,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const e=this,n={};return Tt.forEach(this,((s,i)=>{const r=Tt.findKey(n,i);if(r)return e[r]=Qt(s),void delete e[i];const o=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(i):String(i).trim();o!==i&&delete e[i],e[o]=Qt(s),n[o]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return Tt.forEach(this,((n,s)=>{null!=n&&!1!==n&&(e[s]=t&&Tt.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Kt]=this[Kt]={accessors:{}}).accessors,n=this.prototype;function s(t){const s=Jt(t);e[s]||(function(t,e){const n=Tt.toCamelCase(" "+e);["get","set","has"].forEach((s=>{Object.defineProperty(t,s+n,{value:function(t,n,i){return this[s].call(this,e,t,n,i)},configurable:!0})}))}(n,t),e[s]=!0)}return Tt.isArray(t)?t.forEach(s):s(t),this}};te.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Tt.reduceDescriptors(te.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),Tt.freezeMethods(te);const ee=te;function ne(t,e){const n=this||Yt,s=e||n,i=ee.from(s.headers);let r=s.data;return Tt.forEach(t,(function(t){r=t.call(n,r,i.normalize(),e?e.status:void 0)})),i.normalize(),r}function se(t){return!(!t||!t.__CANCEL__)}function ie(t,e,n){Et.call(this,t??"canceled",Et.ERR_CANCELED,e,n),this.name="CanceledError"}Tt.inherits(ie,Et,{__CANCEL__:!0});const re=Ht.hasStandardBrowserEnv?{write:function(t,e,n,s,i,r){const o=[];o.push(t+"="+encodeURIComponent(e)),Tt.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),Tt.isString(s)&&o.push("path="+s),Tt.isString(i)&&o.push("domain="+i),!0===r&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function oe(t,e){return t&&!function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const ae=Ht.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function s(n){let s=n;return t&&(e.setAttribute("href",s),s=e.href),e.setAttribute("href",s),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=s(window.location.href),function(t){const e=Tt.isString(t)?s(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function le(t,e){let n=0;const s=function(t,e){t=t||10;const n=new Array(t),s=new Array(t);let i,r=0,o=0;return e=void 0!==e?e:1e3,function(a){const l=Date.now(),c=s[o];i||(i=l),n[r]=a,s[r]=l;let u=o,d=0;for(;u!==r;)d+=n[u++],u%=t;if(r=(r+1)%t,r===o&&(o=(o+1)%t),l-i{const r=i.loaded,o=i.lengthComputable?i.total:void 0,a=r-n,l=s(a);n=r;const c={loaded:r,total:o,progress:o?r/o:void 0,bytes:a,rate:l||void 0,estimated:l&&o&&r<=o?(o-r)/l:void 0,event:i};c[e?"download":"upload"]=!0,t(c)}}const ce=typeof XMLHttpRequest<"u"&&function(t){return new Promise((function(e,n){let s=t.data;const i=ee.from(t.headers).normalize(),r=t.responseType;let o,a;function l(){t.cancelToken&&t.cancelToken.unsubscribe(o),t.signal&&t.signal.removeEventListener("abort",o)}if(Tt.isFormData(s))if(Ht.hasStandardBrowserEnv||Ht.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(a=i.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];i.setContentType([t||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+n))}const u=oe(t.baseURL,t.url);function d(){if(!c)return;const s=ee.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());(function(t,e,n){const s=n.config.validateStatus;n.status&&s&&!s(n.status)?e(new Et("Request failed with status code "+n.status,[Et.ERR_BAD_REQUEST,Et.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)})((function(t){e(t),l()}),(function(t){n(t),l()}),{data:r&&"text"!==r&&"json"!==r?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:s,config:t,request:c}),c=null}if(c.open(t.method.toUpperCase(),Ut(u,t.params,t.paramsSerializer),!0),c.timeout=t.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){!c||4!==c.readyState||0===c.status&&(!c.responseURL||0!==c.responseURL.indexOf("file:"))||setTimeout(d)},c.onabort=function(){c&&(n(new Et("Request aborted",Et.ECONNABORTED,t,c)),c=null)},c.onerror=function(){n(new Et("Network Error",Et.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const s=t.transitional||zt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new Et(e,s.clarifyTimeoutError?Et.ETIMEDOUT:Et.ECONNABORTED,t,c)),c=null},Ht.hasStandardBrowserEnv){const e=ae(u)&&t.xsrfCookieName&&re.read(t.xsrfCookieName);e&&i.set(t.xsrfHeaderName,e)}void 0===s&&i.setContentType(null),"setRequestHeader"in c&&Tt.forEach(i.toJSON(),(function(t,e){c.setRequestHeader(e,t)})),Tt.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),r&&"json"!==r&&(c.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&c.addEventListener("progress",le(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",le(t.onUploadProgress)),(t.cancelToken||t.signal)&&(o=e=>{c&&(n(!e||e.type?new ie(null,t,c):e),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(o),t.signal&&(t.signal.aborted?o():t.signal.addEventListener("abort",o)));const m=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);m&&-1===Ht.protocols.indexOf(m)?n(new Et("Unsupported protocol "+m+":",Et.ERR_BAD_REQUEST,t)):c.send(s||null)}))},ue={http:null,xhr:ce};Tt.forEach(ue,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}}));const de=t=>`- ${t}`,me=t=>Tt.isFunction(t)||null===t||!1===t,pe=t=>{t=Tt.isArray(t)?t:[t];const{length:e}=t;let n,s;const i={};for(let r=0;r`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new Et("There is no suitable adapter to dispatch the request "+(e?t.length>1?"since :\n"+t.map(de).join("\n"):" "+de(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return s};function fe(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ie(null,t)}function ge(t){return fe(t),t.headers=ee.from(t.headers),t.data=ne.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),pe(t.adapter||Yt.adapter)(t).then((function(e){return fe(t),e.data=ne.call(t,t.transformResponse,e),e.headers=ee.from(e.headers),e}),(function(e){return se(e)||(fe(t),e&&e.response&&(e.response.data=ne.call(t,t.transformResponse,e.response),e.response.headers=ee.from(e.response.headers))),Promise.reject(e)}))}const he=t=>t instanceof ee?t.toJSON():t;function Ae(t,e){e=e||{};const n={};function s(t,e,n){return Tt.isPlainObject(t)&&Tt.isPlainObject(e)?Tt.merge.call({caseless:n},t,e):Tt.isPlainObject(e)?Tt.merge({},e):Tt.isArray(e)?e.slice():e}function i(t,e,n){return Tt.isUndefined(e)?Tt.isUndefined(t)?void 0:s(void 0,t,n):s(t,e,n)}function r(t,e){if(!Tt.isUndefined(e))return s(void 0,e)}function o(t,e){return Tt.isUndefined(e)?Tt.isUndefined(t)?void 0:s(void 0,t):s(void 0,e)}function a(n,i,r){return r in e?s(n,i):r in t?s(void 0,n):void 0}const l={url:r,method:r,data:r,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(t,e)=>i(he(t),he(e),!0)};return Tt.forEach(Object.keys(Object.assign({},t,e)),(function(s){const r=l[s]||i,o=r(t[s],e[s],s);Tt.isUndefined(o)&&r!==a||(n[s]=o)})),n}const we={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{we[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const ye={};we.transitional=function(t,e,n){function s(t,e){return"[Axios v1.6.1] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,i,r)=>{if(!1===t)throw new Et(s(i," has been removed"+(e?" in "+e:"")),Et.ERR_DEPRECATED);return e&&!ye[i]&&(ye[i]=!0,H.warn(s(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,r)}};const ve={assertOptions:function(t,e,n){if("object"!=typeof t)throw new Et("options must be an object",Et.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let i=s.length;for(;i-- >0;){const r=s[i],o=e[r];if(o){const e=t[r],n=void 0===e||o(e,r,t);if(!0!==n)throw new Et("option "+r+" must be "+n,Et.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Et("Unknown option "+r,Et.ERR_BAD_OPTION)}},validators:we},be=ve.validators;let Ce=class{constructor(t){this.defaults=t,this.interceptors={request:new Rt,response:new Rt}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Ae(this.defaults,e);const{transitional:n,paramsSerializer:s,headers:i}=e;void 0!==n&&ve.assertOptions(n,{silentJSONParsing:be.transitional(be.boolean),forcedJSONParsing:be.transitional(be.boolean),clarifyTimeoutError:be.transitional(be.boolean)},!1),null!=s&&(Tt.isFunction(s)?e.paramsSerializer={serialize:s}:ve.assertOptions(s,{encode:be.function,serialize:be.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let r=i&&Tt.merge(i.common,i[e.method]);i&&Tt.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete i[t]})),e.headers=ee.concat(r,i);const o=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));const l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let c,u,d=0;if(!a){const t=[ge.bind(this),void 0];for(t.unshift.apply(t,o),t.push.apply(t,l),u=t.length,c=Promise.resolve(e);d{_e[e]=t}));const Te=_e,Ee=function t(e){const n=new xe(e),s=Z(xe.prototype.request,n);return Tt.extend(s,xe.prototype,n,{allOwnKeys:!0}),Tt.extend(s,n,null,{allOwnKeys:!0}),s.create=function(n){return t(Ae(e,n))},s}(Yt);Ee.Axios=xe,Ee.CanceledError=ie,Ee.CancelToken=class t{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const s=new Promise((t=>{n.subscribe(t),e=t})).then(t);return s.cancel=function(){n.unsubscribe(e)},s},t((function(t,s,i){n.reason||(n.reason=new ie(t,s,i),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let e;return{token:new t((function(t){e=t})),cancel:e}}},Ee.isCancel=se,Ee.VERSION="1.6.1",Ee.toFormData=Ft,Ee.AxiosError=Et,Ee.Cancel=Ee.CanceledError,Ee.all=function(t){return Promise.all(t)},Ee.spread=function(t){return function(e){return t.apply(null,e)}},Ee.isAxiosError=function(t){return Tt.isObject(t)&&!0===t.isAxiosError},Ee.mergeConfig=Ae,Ee.AxiosHeaders=ee,Ee.formToJSON=t=>Zt(Tt.isHTMLForm(t)?new FormData(t):t),Ee.getAdapter=pe,Ee.HttpStatusCode=Te,Ee.default=Ee;const ke=Ee,{Axios:Se,AxiosError:Le,CanceledError:Ne,isCancel:Ie,CancelToken:Pe,VERSION:Fe,all:Oe,Cancel:Be,isAxiosError:De,spread:je,toFormData:Ue,AxiosHeaders:Re,HttpStatusCode:ze,formToJSON:Me,getAdapter:Ve,mergeConfig:$e}=ke,qe=function(t){if(!Number.isInteger(1)&&1!==Number.POSITIVE_INFINITY)throw new TypeError("Expected `concurrency` to be a number from 1 and up");const e=new P.Z;let n=0;const s=async(t,s,i)=>{n++;const r=(async()=>t(...i))();s(r);try{await r}catch{}n--,e.size>0&&e.dequeue()()},i=(t,...i)=>new Promise((r=>{((t,i,r)=>{e.enqueue(F(s.bind(void 0,t,i,r))),(async()=>{await Promise.resolve(),n<1&&e.size>0&&e.dequeue()()})()})(t,r,i)}));return Object.defineProperties(i,{activeCount:{get:()=>n},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}}}),i}(),He=new FileReader,Ze=async function(t,e,n,s=(()=>{}),i=void 0,r={}){let o;return o=e instanceof Blob?e:await e(),i&&(r.Destination=i),r["Content-Type"]||(r["Content-Type"]="application/octet-stream"),await b.Z.request({method:"PUT",url:t,data:o,signal:n,onUploadProgress:s,headers:r})},Ge=function(t,e,n){return qe((()=>new Promise(((s,i)=>{He.onload=()=>{null!==He.result&&s(new Blob([He.result],{type:"application/octet-stream"})),i(new Error("Error while reading the file"))},He.readAsArrayBuffer(t.slice(e,e+n))}))))},Ye=function(t=void 0){const e=window.OC?.appConfig?.files?.max_chunk_size;if(e<=0)return 0;if(!Number(e))return 10485760;const n=Math.max(Number(e),5242880);return void 0===t?n:Math.max(n,Math.ceil(t/1e4))};var We=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.UPLOADING=1]="UPLOADING",t[t.ASSEMBLING=2]="ASSEMBLING",t[t.FINISHED=3]="FINISHED",t[t.CANCELLED=4]="CANCELLED",t[t.FAILED=5]="FAILED",t))(We||{});let Ke=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(t,e=!1,n,s){const i=Math.min(Ye()>0?Math.ceil(n/Ye()):1,1e4);this._source=t,this._isChunked=e&&Ye()>0&&i>1,this._chunks=this._isChunked?i:1,this._size=n,this._file=s,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(t){this._response=t}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(t){if(t>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=t,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(t){this._status=t}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const Je=(t=>null===t?(0,O.IY)().setApp("uploader").build():(0,O.IY)().setApp("uploader").setUid(t.uid).build())((0,v.ts)());var Qe=(t=>(t[t.IDLE=0]="IDLE",t[t.UPLOADING=1]="UPLOADING",t[t.PAUSED=2]="PAUSED",t))(Qe||{});class Xe{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new I({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(t=!1,e){if(this._isPublic=t,!e){const t=(0,v.ts)()?.uid,n=(0,y.generateRemoteUrl)(`dav/files/${t}`);if(!t)throw new Error("User is not logged in");e=new w.gt({id:0,owner:t,permissions:w.y3.ALL,root:`/files/${t}`,source:n})}this.destination=e,Je.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:t,maxChunksSize:Ye()})}get destination(){return this._destinationFolder}set destination(t){if(!t)throw new Error("Invalid destination folder");this._destinationFolder=t}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const t=this._uploadQueue.map((t=>t.size)).reduce(((t,e)=>t+e),0),e=this._uploadQueue.map((t=>t.uploaded)).reduce(((t,e)=>t+e),0);this._queueSize=t,this._queueProgress=e,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(t){this._notifiers.push(t)}upload(t,e){const n=`${this.root}/${t.replace(/^\//,"")}`,{origin:s}=new URL(n),i=s+(0,A.Ec)(n.slice(s.length));Je.debug(`Uploading ${e.name} to ${i}`);const r=Ye(e.size),o=0===r||e.size{if(s(a.cancel),o){Je.debug("Initializing regular upload",{file:e,upload:a});const s=await Ge(e,0,a.size),r=async()=>{try{a.response=await Ze(i,s,a.signal,(()=>this.updateStats()),void 0,{"X-OC-Mtime":e.lastModified/1e3,"Content-Type":e.type}),a.uploaded=a.size,this.updateStats(),Je.debug(`Successfully uploaded ${e.name}`,{file:e,upload:a}),t(a)}catch(t){if(t instanceof Ne)return a.status=We.FAILED,void n("Upload has been cancelled");t?.response&&(a.response=t.response),a.status=We.FAILED,Je.error(`Failed uploading ${e.name}`,{error:t,file:e,upload:a}),n("Failed uploading the file")}this._notifiers.forEach((t=>{try{t(a)}catch{}}))};this._jobQueue.add(r),this.updateStats()}else{Je.debug("Initializing chunked upload",{file:e,upload:a});const s=await async function(t){const e=`${(0,y.generateRemoteUrl)(`dav/uploads/${(0,v.ts)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,n=t?{Destination:t}:void 0;return await b.Z.request({method:"MKCOL",url:e,headers:n}),e}(i),o=[];for(let t=0;tGe(e,n,r),u=()=>Ze(`${s}/${t+1}`,c,a.signal,(()=>this.updateStats()),i,{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,"Content-Type":"application/octet-stream"}).then((()=>{a.uploaded=a.uploaded+r})).catch((e=>{throw e instanceof Ne||(Je.error(`Chunk ${t+1} ${n} - ${l} uploading failed`),a.status=We.FAILED),e}));o.push(this._jobQueue.add(u))}try{await Promise.all(o),this.updateStats(),a.response=await b.Z.request({method:"MOVE",url:`${s}/.file`,headers:{Destination:i}}),this.updateStats(),a.status=We.FINISHED,Je.debug(`Successfully uploaded ${e.name}`,{file:e,upload:a}),t(a)}catch(t){t instanceof Ne?(a.status=We.FAILED,n("Upload has been cancelled")):(a.status=We.FAILED,n("Failed assembling the chunks together")),b.Z.request({method:"DELETE",url:`${s}`})}this._notifiers.forEach((t=>{try{t(a)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),a}))}}function tn(t,e,n,s,i,r,o,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),s&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),o?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}const en=tn({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,nn=tn({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,sn=tn({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,rn=(0,$.H)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2023","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAli , 2023\n"},msgstr:["Last-Translator: Ali , 2023\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2023","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nPavel Borecki , 2023\n"},msgstr:["Last-Translator: Pavel Borecki , 2023\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Jens Peter Nielsen , 2023","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSimon T, 2023\nJens Peter Nielsen , 2023\n"},msgstr:["Last-Translator: Jens Peter Nielsen , 2023\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2023","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMarkus Eckstein, 2023\nMario Siegmann , 2023\n"},msgstr:["Last-Translator: Mario Siegmann , 2023\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung ist unbekannt."]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2023","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMark Ziegler , 2023\nMario Siegmann , 2023\n"},msgstr:["Last-Translator: Mario Siegmann , 2023\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Next Cloud , 2023","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\n"},msgstr:["Last-Translator: Next Cloud , 2023\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimación del tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"John Molakvoæ , 2023","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJean-Claude Richard , 2023\nClément Saccoccio, 2023\nJohn Molakvoæ , 2023\n"},msgstr:["Last-Translator: John Molakvoæ , 2023\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, un nombre sera postfixé au nom du fichier."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de dernière modification inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Image d'aperçu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envoi annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléverser des fichiers"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2022","Language-Team":"Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBrandon Han, 2022\n"},msgstr:["Last-Translator: Brandon Han, 2022\nLanguage-Team: Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},Add:{msgid:"Add",msgstr:["추가"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산중"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Ari Selseng , 2022","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAri Selseng , 2022\n"},msgstr:["Last-Translator: Ari Selseng , 2022\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},Add:{msgid:"Add",msgstr:["Legg til"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},paused:{msgid:"paused",msgstr:["pauset"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"M H , 2023","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\n"},msgstr:["Last-Translator: M H , 2023\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Flávio Veras , 2022","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLeonardo Colman , 2022\nJeann Cavalcante , 2022\nFlávio Veras , 2022\n"},msgstr:["Last-Translator: Flávio Veras , 2022\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2023","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMagnus Höglund, 2023\n"},msgstr:["Last-Translator: Magnus Höglund, 2023\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2023","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nKaya Zeren , 2023\n"},msgstr:["Last-Translator: Kaya Zeren , 2023\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2023","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMehi Loki, 2023\nO St , 2023\n"},msgstr:["Last-Translator: O St , 2023\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, буде створено копію файлу до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати всі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Виберіть усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажте файли"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"blakduk, 2023","Language-Team":"Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nblakduk, 2023\n"},msgstr:["Last-Translator: blakduk, 2023\nLanguage-Team: Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},Add:{msgid:"Add",msgstr:["Thêm"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2023","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\n黃柏諺 , 2023\n"},msgstr:["Last-Translator: 黃柏諺 , 2023\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["新增"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((t=>rn.addTranslation(t.locale,t.json)));const on=rn.build(),an=on.ngettext.bind(on),ln=on.gettext.bind(on),cn=j.ZP.extend({name:"UploadPicker",components:{Cancel:en,NcActionButton:U.Z,NcActions:R.Z,NcButton:z.Z,NcIconSvgWrapper:M.Z,NcProgressBar:V.Z,Plus:nn,Upload:sn},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:w.gt,default:void 0},content:{type:Array,default:()=>[]}},data:()=>({addLabel:ln("New"),cancelLabel:ln("Cancel uploads"),uploadLabel:ln("Upload files"),progressLabel:ln("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:mn()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((t=>t.status===We.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((t=>t.status===We.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===Qe.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(t){this.setDestination(t)},totalQueueSize(t){this.eta=D({min:0,max:t}),this.updateStatus()},uploadedQueueSize(t){this.eta?.report?.(t),this.updateStatus()},isPaused(t){t?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),Je.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let t=[...this.$refs.input.files];if(function(t,e){const n=e.map((t=>t.basename));return t.filter((t=>{const e=t instanceof File?t.name:t.basename;return-1!==n.indexOf(e)})).length>0}(t,this.content)){const e=t.filter((t=>this.content.find((e=>e.basename===t.name)))).filter(Boolean),s=t.filter((t=>!e.includes(t)));try{const{selected:i,renamed:r}=await async function(t,e,s){const{default:i}=await n.e(3338).then(n.bind(n,83338));return new Promise(((n,r)=>{const o=new i({propsData:{dirname:t,conflicts:e,content:s}});o.$on("submit",(t=>{n(t),o.$destroy(),o.$el?.parentNode?.removeChild(o.$el)})),o.$on("cancel",(t=>{r(t??new Error("Canceled")),o.$destroy(),o.$el?.parentNode?.removeChild(o.$el)})),o.$mount(),document.body.appendChild(o.$el)}))}(this.destination.basename,e,this.content);t=[...s,...i,...r]}catch{return void(0,B.x2)(ln("Upload cancelled"))}}t.forEach((t=>{this.uploadManager.upload(t.name,t).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((t=>{t.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=ln("paused"));const t=Math.round(this.eta.estimate());if(t!==1/0)if(t<10)this.timeLeft=ln("a few seconds left");else if(t>60){const e=new Date(0);e.setSeconds(t);const n=e.toISOString().slice(11,19);this.timeLeft=ln("{time} left",{time:n})}else this.timeLeft=ln("{seconds} seconds left",{seconds:t});else this.timeLeft=ln("estimating time left")},setDestination(t){this.destination?(Je.debug("Destination set",{destination:t}),this.uploadManager.destination=t,this.newFileMenuEntries=(0,w.Ir)(t)):Je.debug("Invalid destination")},onUploadCompletion(t){t.status===We.FAILED?this.$emit("failed",t):this.$emit("uploaded",t)}}}),un=tn(cn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.destination?e("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":t.isUploading,"upload-picker--paused":t.isPaused},attrs:{"data-cy-upload-picker":""}},[t.newFileMenuEntries&&0===t.newFileMenuEntries.length?e("NcButton",{attrs:{disabled:t.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[t._v(" "+t._s(t.buttonName)+" ")]):e("NcActions",{attrs:{"menu-name":t.buttonName,"menu-title":t.addLabel,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[t._v(" "+t._s(t.uploadLabel)+" ")]),t._l(t.newFileMenuEntries,(function(n){return e("NcActionButton",{key:n.id,staticClass:"upload-picker__menu-entry",attrs:{icon:n.iconClass,"close-after-click":!0},on:{click:function(e){return n.handler(t.destination,t.content)}},scopedSlots:t._u([n.iconSvgInline?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(n.displayName)+" ")])}))],2),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[e("NcProgressBar",{attrs:{"aria-label":t.progressLabel,"aria-describedby":t.progressTimeId,error:t.hasFailure,value:t.progress,size:"medium"}}),e("p",{attrs:{id:t.progressTimeId}},[t._v(t._s(t.timeLeft))])],1),t.isUploading?e("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":t.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:t.onCancel},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):t._e(),e("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:t.accept?.join?.(", "),multiple:t.multiple,"data-cy-upload-picker-input":""},on:{change:t.onPick}})],1):t._e()}),[],!1,null,"af4c69fa",null,null).exports;let dn=null;function mn(){const t=null!==document.querySelector('input[name="isPublic"][value="1"]');return dn instanceof Xe||(dn=new Xe(t)),dn}}},r={};function o(t){var e=r[t];if(void 0!==e)return e.exports;var n=r[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}o.m=i,e=[],o.O=(t,n,s,i)=>{if(!n){var r=1/0;for(u=0;u=i)&&Object.keys(o.O).every((t=>o.O[t](n[l])))?n.splice(l--,1):(a=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,s,i]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,n)=>(o.f[n](t,e),e)),[])),o.u=t=>t+"-"+t+".js?v="+{3338:"efaa31bdda1e5637e85a",4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},s="nextcloud:",o.l=(t,e,i,r)=>{if(n[t])n[t].push(e);else{var a,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((t=>t(s))),e)return e(s)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=m.bind(null,a.onerror),a.onload=m.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=2181,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&!t;)t=n[s--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={2181:0};o.f.j=(e,n)=>{var s=o.o(t,e)?t[e]:void 0;if(0!==s)if(s)n.push(s[2]);else{var i=new Promise(((n,i)=>s=t[e]=[n,i]));n.push(s[2]=i);var r=o.p+o.u(e),a=new Error;o.l(r,(n=>{if(o.o(t,e)&&(0!==(s=t[e])&&(t[e]=void 0),s)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,s[1](a)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,n)=>{var s,i,r=n[0],a=n[1],l=n[2],c=0;if(r.some((e=>0!==t[e]))){for(s in a)o.o(a,s)&&(o.m[s]=a[s]);if(l)var u=l(o)}for(e&&e(n);co(27468)));a=o.O(a)})(); +//# sourceMappingURL=files-main.js.map?v=cc88adf1d021700b3081 \ No newline at end of file diff --git a/dist/files-main.js.map b/dist/files-main.js.map index c236ef07461..79a83e4805f 100644 --- a/dist/files-main.js.map +++ b/dist/files-main.js.map @@ -1 +1 @@ -{"version":3,"file":"files-main.js?v=fdc7265ae3a549f3b788","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/eventemitter3/index.js","webpack:///nextcloud/node_modules/pinia/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/time.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///nextcloud/node_modules/pinia/dist/pinia.mjs","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/apps/files/src/router/router.ts","webpack:///nextcloud/apps/files/src/FilesApp.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Cog.vue?4d6d","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=template&id=bcf30078","webpack:///nextcloud/apps/files/src/store/viewConfig.ts","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/node_modules/throttle-debounce/esm/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ChartPie.vue?421f","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=template&id=44de6464","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?478c","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?2966","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?08cb","webpack://nextcloud/./apps/files/src/views/Settings.vue?84f7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Clipboard.vue?68c7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=template&id=0e008e34","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack://nextcloud/./apps/files/src/components/Setting.vue?8d57","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack://nextcloud/./apps/files/src/views/Settings.vue?7616","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/views/Navigation.vue","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack://nextcloud/./apps/files/src/views/Navigation.vue?af3e","webpack://nextcloud/./apps/files/src/views/Navigation.vue?74b9","webpack:///nextcloud/apps/files/src/views/FilesList.vue","webpack:///nextcloud/node_modules/natural-orderby/dist/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?5dae","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=template&id=03d22f04","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountPlus.vue?2818","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=template&id=98f97aee","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ViewGrid.vue?4e55","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=template&id=6ca550f9","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files/src/store/files.ts","webpack:///nextcloud/apps/files/src/store/paths.ts","webpack:///nextcloud/apps/files/src/store/selection.ts","webpack:///nextcloud/apps/files/src/store/uploader.ts","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Home.vue?e73b","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue?vue&type=template&id=69a49b0f","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?8c84","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?d357","webpack:///nextcloud/apps/files/src/utils/fileUtils.ts","webpack:///nextcloud/apps/files/src/components/FileEntry.vue","webpack:///nextcloud/apps/files/src/store/actionsmenu.ts","webpack:///nextcloud/apps/files/src/store/dragging.ts","webpack:///nextcloud/apps/files/src/store/renaming.ts","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileMultiple.vue?6e9d","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=template&id=065722db","webpack:///nextcloud/node_modules/vue-material-design-icons/Folder.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Folder.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Folder.vue?b60e","webpack:///nextcloud/node_modules/vue-material-design-icons/Folder.vue?vue&type=template&id=5c04f969","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?3906","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?36f6","webpack:///nextcloud/apps/files/src/utils/dragUtils.ts","webpack://nextcloud/./node_modules/@nextcloud/dialogs/dist/style.css?d87c","webpack:///nextcloud/node_modules/axios/index.js","webpack:///nextcloud/apps/files/src/actions/moveOrCopyActionUtils.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyAction.ts","webpack:///nextcloud/apps/files/src/components/FileEntryMixin.ts","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?5f5c","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ArrowLeft.vue?f857","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=187c55d7","webpack:///nextcloud/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ChevronRight.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ChevronRight.vue?621b","webpack:///nextcloud/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=750bcc07","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?bc76","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?2e72","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?7b52","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue","webpack:///nextcloud/apps/files/src/store/keyboard.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryCheckbox.vue?a18b","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryName.vue?98a4","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/File.vue?245d","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=template&id=5c8d96c6","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/FolderOpen.vue?6818","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=template&id=3b29b1d5","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Key.vue?157c","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=template&id=aa295eae","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Network.vue?11eb","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=template&id=7c7d2907","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Tag.vue?6116","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=template&id=4d7171be","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/PlayCircle.vue?0c26","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=template&id=34d1e782","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?1937","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?949d","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?45f8","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?62c6","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/services/LivePhotos.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryPreview.vue?8c1f","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?da7c","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue","webpack://nextcloud/./apps/files/src/components/FileEntryGrid.vue?bb8e","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?349b","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?975a","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?fa4c","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue","webpack:///nextcloud/apps/files/src/mixins/filesSorting.ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?39b1","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?e364","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?1b05","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?b1c9","webpack:///nextcloud/apps/files/src/mixins/filesListWidth.ts","webpack:///nextcloud/apps/files/src/components/VirtualList.vue","webpack:///nextcloud/apps/files/src/components/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/VirtualList.vue?37fa","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?0445","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?9494","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?321e","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?30f2","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?3555","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/TrayArrowDown.vue?a897","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=template&id=547c388d","webpack:///nextcloud/apps/files/src/services/DropService.ts","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?b2d5","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?a2e0","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/views/FilesList.vue?20ff","webpack://nextcloud/./apps/files/src/views/FilesList.vue?1e5b","webpack:///nextcloud/apps/files/src/FilesApp.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/FilesApp.vue?597e","webpack:///nextcloud/apps/files/src/main.ts","webpack:///nextcloud/apps/files/src/services/RouterService.ts","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/style.css","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=0&id=2fa8d0d9&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=1&id=2fa8d0d9&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/sax/lib/sax.js","webpack:///nextcloud/node_modules/setimmediate/setImmediate.js","webpack:///nextcloud/node_modules/simple-eta/index.js","webpack:///nextcloud/node_modules/timers-browserify/main.js","webpack:///nextcloud/node_modules/xml2js/lib/bom.js","webpack:///nextcloud/node_modules/xml2js/lib/builder.js","webpack:///nextcloud/node_modules/xml2js/lib/defaults.js","webpack:///nextcloud/node_modules/xml2js/lib/parser.js","webpack:///nextcloud/node_modules/xml2js/lib/processors.js","webpack:///nextcloud/node_modules/xml2js/lib/xml2js.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/DocumentPosition.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/NodeType.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/Utility.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/WriterState.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLAttribute.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLCData.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLCharacterData.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLComment.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMImplementation.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMStringList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDAttList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDElement.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDEntity.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDNotation.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDeclaration.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocType.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocument.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocumentCB.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDummy.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLElement.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNode.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNodeList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLRaw.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStreamWriter.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStringWriter.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStringifier.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLText.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLWriterBase.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/index.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack://nextcloud/./node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css?cc8e","webpack:///nextcloud/node_modules/p-cancelable/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-timeout/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/priority-queue.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/lower-bound.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-limit/async-hooks-stub.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/chunks/index-f812dc31.mjs","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-limit/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","/*!\n * pinia v2.1.7\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly = { readonly [P in keyof T]: DeepReadonly }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n/**\n * Should we add the devtools plugins.\n * - only if dev mode or forced through the prod devtools flag\n * - not in test\n * - only if window exists (could change in the future)\n */\nconst USE_DEVTOOLS = ((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test') && IS_CLIENT;\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = \n typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if (USE_DEVTOOLS && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n // Handle Set instances\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore next */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = {\n deep: true,\n // flush: 'post',\n };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Wraps an action to handle subscriptions.\n *\n * @param name - name of the action\n * @param action - action to wrap\n * @returns a wrapped action to handle subscriptions\n */\n function wrapAction(name, action) {\n return function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || USE_DEVTOOLS\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(setup)));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n // @ts-expect-error: we are overriding the function we avoid wrapping if\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : wrapAction(key, prop);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n if ((process.env.NODE_ENV !== 'production') && typeof id !== 'string') {\n throw new Error(`[🍍]: \"defineStore()\" must be passed a store id as its first argument.`);\n }\n }\n function useStore(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","import { generateUrl } from '@nextcloud/router';\nimport queryString from 'query-string';\nimport Router from 'vue-router';\nimport Vue from 'vue';\nimport { ErrorHandler } from 'vue-router/types/router';\nVue.use(Router);\n// Prevent router from throwing errors when we're already on the page we're trying to go to\nconst originalPush = Router.prototype.push;\nRouter.prototype.push = function push(to, onComplete, onAbort) {\n if (onComplete || onAbort)\n return originalPush.call(this, to, onComplete, onAbort);\n return originalPush.call(this, to).catch(err => err);\n};\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl('/apps/files'),\n linkActiveClass: 'active',\n routes: [\n {\n path: '/',\n // Pretending we're using the default view\n redirect: { name: 'filelist', params: { view: 'files' } },\n },\n {\n path: '/:view/:fileid(\\\\d+)?',\n name: 'filelist',\n props: true,\n },\n ],\n // Custom stringifyQuery to prevent encoding of slashes in the url\n stringifyQuery(query) {\n const result = queryString.stringify(query).replace(/%2F/gmi, '/');\n return result ? ('?' + result) : '';\n },\n});\nexport default router;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcContent',{attrs:{\"app-name\":\"files\"}},[_c('Navigation'),_vm._v(\" \"),_c('FilesList')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function (...args) {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { sorting_direction: 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n },\n },\n });\n const viewConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=44de6464\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=18ceb3ce&scoped=true\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18ceb3ce\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"name\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"name\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.sort_favorites_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_favorites_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort favorites first'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.sort_folders_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_folders_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort folders before files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.enableGridView)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.grid_view},on:{\"update:checked\":function($event){return _vm.setConfig('grid_view', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable the grid view'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"name\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"name\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"label\":_vm.t('files', 'WebDAV URL'),\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0e008e34\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae\"\nimport script from \"./Setting.vue?vue&type=script&lang=js\"\nexport * from \"./Setting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=6d63c120&scoped=true\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d63c120\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\",\"aria-label\":_vm.t('files', 'Files')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"exact\":_vm.useExactRouteMatching(view),\"icon\":view.iconClass,\"name\":view.name,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact-path\":true,\"icon\":child.iconClass,\"name\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"name\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('Cog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=3f2914e1&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f2914e1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.canShare && _vm.filesListWidth >= 512)?_c('NcButton',{staticClass:\"files-list__header-share-button\",class:{ 'files-list__header-share-button--shared': _vm.shareButtonType },attrs:{\"aria-label\":_vm.shareButtonLabel,\"title\":_vm.shareButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.openSharingSidebar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.shareButtonType === _vm.Type.SHARE_TYPE_LINK)?_c('LinkIcon'):_c('AccountPlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2969853559)}):_vm._e(),_vm._v(\" \"),(!_vm.canUpload || _vm.isQuotaExceeded)?_c('NcButton',{staticClass:\"files-list__header-upload-button--disabled\",attrs:{\"aria-label\":_vm.cantUploadLabel,\"title\":_vm.cantUploadLabel,\"disabled\":true,\"type\":\"secondary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Add'))+\"\\n\\t\\t\\t\\t\")]):(_vm.currentFolder)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"content\":_vm.dirContents,\"destination\":_vm.currentFolder,\"multiple\":true},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.filesListWidth >= 512 && _vm.enableGridView)?_c('NcButton',{staticClass:\"files-list__header-grid-button\",attrs:{\"aria-label\":_vm.gridViewButtonLabel,\"title\":_vm.gridViewButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.toggleGridView},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.userConfig.grid_view)?_c('ListViewIcon'):_c('ViewGridIcon')]},proxy:true}],null,false,1682960703)}):_vm._e(),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(!_vm.loading && _vm.canUpload)?_c('DragAndDropNotice',{attrs:{\"current-folder\":_vm.currentFolder}}):_vm._e(),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"name\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"name\":_vm.currentView?.emptyTitle || _vm.t('files', 'No files in here'),\"description\":_vm.currentView?.emptyCaption || _vm.t('files', 'Upload some content or sync with your devices!'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files', 'Go to the previous folder'),\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.currentView.icon}})]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"nodes\":_vm.dirContentsSorted}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * natural-orderby v3.0.2\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB) {\n var result = stringA.localeCompare(stringB);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value);\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object' && customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n return {\n order: order\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i]);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders);\n}\n\nexport { compare, orderBy };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulletedSquare.vue?vue&type=template&id=03d22f04\"\nimport script from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-square-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountPlus.vue?vue&type=template&id=98f97aee\"\nimport script from \"./AccountPlus.vue?vue&type=script&lang=js\"\nexport * from \"./AccountPlus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-plus-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ViewGrid.vue?vue&type=template&id=6ca550f9\"\nimport script from \"./ViewGrid.vue?vue&type=script&lang=js\"\nexport * from \"./ViewGrid.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon view-grid-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useFilesStore = function (...args) {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by id\n */\n getNode: (state) => (id) => state.files[id],\n /**\n * Get a list of files or folders by their IDs\n * Does not return undefined values\n */\n getNodes: (state) => (ids) => ids\n .map(id => state.files[id])\n .filter(Boolean),\n /**\n * Get a file or folder by id\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', node);\n return acc;\n }\n acc[node.fileid] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.fileid) {\n Vue.delete(this.files, node.fileid);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n onCreatedNode(node) {\n this.updateNodes([node]);\n },\n onUpdatedNode(node) {\n this.updateNodes([node]);\n },\n },\n });\n const fileStore = store(...args);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n subscribe('files:node:created', fileStore.onCreatedNode);\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n subscribe('files:node:updated', fileStore.onUpdatedNode);\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { FileType, Folder, Node, getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport logger from '../logger';\nimport { useFilesStore } from './files';\nexport const usePathsStore = function (...args) {\n const files = useFilesStore();\n const store = defineStore('paths', {\n state: () => ({\n paths: {},\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.fileid);\n },\n onCreatedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (!node.fileid) {\n logger.error('Node has no fileid', { node });\n return;\n }\n // Only add path if it's a folder\n if (node.type === FileType.Folder) {\n this.addPath({\n service,\n path: node.path,\n fileid: node.fileid,\n });\n }\n // Update parent folder children if exists\n // If the folder is the root, get it and update it\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n if (!root._children) {\n Vue.set(root, '_children', []);\n }\n root._children.push(node.fileid);\n return;\n }\n // If the folder doesn't exists yet, it will be\n // fetched later and its children updated anyway.\n if (this.paths[service][node.dirname]) {\n const parentId = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentId);\n logger.debug('Path already exists, updating children', { parentFolder, node });\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentId });\n return;\n }\n if (!parentFolder._children) {\n Vue.set(parentFolder, '_children', []);\n }\n parentFolder._children.push(node.fileid);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n },\n });\n const pathsStore = store(...args);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n subscribe('files:node:created', pathsStore.onCreatedNode);\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport { FileId, SelectionStore } from '../types';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', [...new Set(selection)]);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { getUploader } from '@nextcloud/upload';\nlet uploader;\nexport const useUploaderStore = function (...args) {\n // Only init on runtime\n uploader = getUploader();\n const store = defineStore('uploader', {\n state: () => ({\n queue: uploader.queue,\n }),\n });\n return store(...args);\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=69a49b0f\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon home-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{attrs:{\"data-cy-files-content-breadcrumbs\":\"\",\"aria-label\":_vm.t('files', 'Current directory path')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,true)},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"dir\":\"auto\",\"to\":section.to,\"title\":_vm.titleForSection(index, section),\"aria-description\":_vm.ariaForSection(section)},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('Home',{attrs:{\"size\":20}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=1c4866bc&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c4866bc\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { FileType } from '@nextcloud/files';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport { basename, extname } from 'path';\n// TODO: move to @nextcloud/files\n/**\n * Create an unique file name\n * @param name The initial name to use\n * @param otherNames Other names that are already used\n * @param suffix A function that takes an index an returns a suffix to add, defaults to '(index)'\n * @return Either the initial name, if unique, or the name with the suffix so that the name is unique\n */\nexport const getUniqueName = (name, otherNames, suffix = (n) => `(${n})`) => {\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = extname(name);\n newName = `${basename(name, ext)} ${suffix(i++)}${ext}`;\n }\n return newName;\n};\nexport const encodeFilePath = function (path) {\n const pathSections = (path.startsWith('/') ? path : `/${path}`).split('/');\n let relativePath = '';\n pathSections.forEach((section) => {\n if (section !== '') {\n relativePath += '/' + encodeURIComponent(section);\n }\n });\n return relativePath;\n};\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nexport const extractFilePaths = function (path) {\n const pathSections = path.split('/');\n const fileName = pathSections[pathSections.length - 1];\n const dirPath = pathSections.slice(0, pathSections.length - 1).join('/');\n return [dirPath, fileName];\n};\n/**\n * Generate a translated summary of an array of nodes\n * @param {Node[]} nodes the nodes to summarize\n * @return {string}\n */\nexport const getSummaryFor = (nodes) => {\n const fileCount = nodes.filter(node => node.type === FileType.File).length;\n const folderCount = nodes.filter(node => node.type === FileType.Folder).length;\n if (fileCount === 0) {\n return n('files', '{folderCount} folder', '{folderCount} folders', folderCount, { folderCount });\n }\n else if (folderCount === 0) {\n return n('files', '{fileCount} file', '{fileCount} files', fileCount, { fileCount });\n }\n if (fileCount === 1) {\n return n('files', '1 file and {folderCount} folder', '1 file and {folderCount} folders', folderCount, { folderCount });\n }\n if (folderCount === 1) {\n return n('files', '{fileCount} file and 1 folder', '{fileCount} files and 1 folder', fileCount, { fileCount });\n }\n return t('files', '{fileCount} files and {folderCount} folders', { fileCount, folderCount });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',_vm._g({staticClass:\"files-list__row\",class:{\n\t\t'files-list__row--dragover': _vm.dragover,\n\t\t'files-list__row--loading': _vm.isLoading,\n\t\t'files-list__row--active': _vm.isActive,\n\t},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag}},_vm.rowListeners),[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"source\":_vm.source,\"dragover\":_vm.dragover},nativeOn:{\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":_vm.source},on:{\"click\":_vm.execDefaultAction}})],1),_vm._v(\" \"),_c('FileEntryActions',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRenamingSmallScreen),expression:\"!isRenamingSmallScreen\"}],ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}}),_vm._v(\" \"),(!_vm.compact && _vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:(_vm.sizeOpacity),attrs:{\"data-cy-files-list-row-size\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,attrs:{\"data-cy-files-list-row-column-custom\":column.id},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useDragAndDropStore = defineStore('dragging', {\n state: () => ({\n dragging: [],\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'dragging', selection);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'dragging', []);\n },\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nexport const useRenamingStore = function (...args) {\n const store = defineStore('renaming', {\n state: () => ({\n renamingNode: undefined,\n newName: '',\n }),\n });\n const renamingStore = store(...args);\n // Make sure we only register the listeners once\n if (!renamingStore._initialized) {\n subscribe('files:node:rename', function (node) {\n renamingStore.renamingNode = node;\n renamingStore.newName = node.basename;\n });\n renamingStore._initialized = true;\n }\n return renamingStore;\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileMultiple.vue?vue&type=template&id=065722db\"\nimport script from \"./FileMultiple.vue?vue&type=script&lang=js\"\nexport * from \"./FileMultiple.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-multiple-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=5c04f969\"\nimport script from \"./Folder.vue?vue&type=script&lang=js\"\nexport * from \"./Folder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list-drag-image\"},[_c('span',{staticClass:\"files-list-drag-image__icon\"},[_c('span',{ref:\"previewImg\"}),_vm._v(\" \"),(_vm.isSingleFolder)?_c('FolderIcon'):_c('FileMultipleIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list-drag-image__name\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropPreview.vue?vue&type=template&id=578d5cf6\"\nimport script from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DragAndDropPreview from '../components/DragAndDropPreview.vue';\nimport Vue from 'vue';\nconst Preview = Vue.extend(DragAndDropPreview);\nlet preview;\nexport const getDragAndDropPreview = async (nodes) => {\n return new Promise((resolve) => {\n if (!preview) {\n preview = new Preview().$mount();\n document.body.appendChild(preview.$el);\n }\n preview.update(nodes);\n preview.$on('loaded', () => {\n resolve(preview.$el);\n preview.$off('loaded');\n });\n });\n};\n","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: 3 });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // For now the only restriction is that a shared file\n // cannot be copied if the download is disabled\n return canDownload(nodes);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { Permission, FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport logger from '../logger';\nimport { getUniqueName } from '../utils/fileUtils';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), copySuffix);\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files is locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We only want to show folders that we can create nodes in\n return (n.permissions & Permission.CREATE) !== 0\n // We don't want to show the current nodes in the file picker\n && !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((_selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2024 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { extname, join } from 'path';\nimport { FileType, Permission, Folder, File as NcFile, NodeStatus, Node, View } from '@nextcloud/files';\nimport { generateUrl } from '@nextcloud/router';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Upload, getUploader } from '@nextcloud/upload';\nimport { vOnClickOutside } from '@vueuse/components';\nimport Vue, { defineComponent } from 'vue';\nimport { action as sidebarAction } from '../actions/sidebarAction.ts';\nimport { getDragAndDropPreview } from '../utils/dragUtils.ts';\nimport { handleCopyMoveNodeTo } from '../actions/moveOrCopyAction.ts';\nimport { hashCode } from '../utils/hashUtils.ts';\nimport { MoveCopyAction } from '../actions/moveOrCopyActionUtils.ts';\nimport logger from '../logger.js';\nVue.directive('onClickOutside', vOnClickOutside);\nexport default defineComponent({\n props: {\n source: {\n type: [Folder, NcFile, Node],\n required: true,\n },\n nodes: {\n type: Array,\n required: true,\n },\n filesListWidth: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n loading: '',\n dragover: false,\n gridMode: false,\n };\n },\n computed: {\n currentView() {\n return this.$navigation.active;\n },\n currentDir() {\n // Remove any trailing slash but leave root slash\n return (this.$route?.query?.dir?.toString() || '/').replace(/^(.+)\\/$/, '$1');\n },\n currentFileId() {\n return this.$route.params?.fileid || this.$route.query?.fileid || null;\n },\n fileid() {\n return this.source?.fileid;\n },\n uniqueId() {\n return hashCode(this.source.source);\n },\n isLoading() {\n return this.source.status === NodeStatus.LOADING;\n },\n extension() {\n if (this.source.attributes?.displayName) {\n return extname(this.source.attributes.displayName);\n }\n return this.source.extension || '';\n },\n displayName() {\n const ext = this.extension;\n const name = (this.source.attributes.displayName\n || this.source.basename);\n // Strip extension from name if defined\n return !ext ? name : name.slice(0, 0 - ext.length);\n },\n draggingFiles() {\n return this.draggingStore.dragging;\n },\n selectedFiles() {\n return this.selectionStore.selected;\n },\n isSelected() {\n return this.fileid && this.selectedFiles.includes(this.fileid);\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n isRenamingSmallScreen() {\n return this.isRenaming && this.filesListWidth < 512;\n },\n isActive() {\n return this.fileid?.toString?.() === this.currentFileId?.toString?.();\n },\n canDrag() {\n if (this.isRenaming) {\n return false;\n }\n const canDrag = (node) => {\n return (node?.permissions & Permission.UPDATE) !== 0;\n };\n // If we're dragging a selection, we need to check all files\n if (this.selectedFiles.length > 0) {\n const nodes = this.selectedFiles.map(fileid => this.filesStore.getNode(fileid));\n return nodes.every(canDrag);\n }\n return canDrag(this.source);\n },\n canDrop() {\n if (this.source.type !== FileType.Folder) {\n return false;\n }\n // If the current folder is also being dragged, we can't drop it on itself\n if (this.fileid && this.draggingFiles.includes(this.fileid)) {\n return false;\n }\n return (this.source.permissions & Permission.CREATE) !== 0;\n },\n openedMenu: {\n get() {\n return this.actionsMenuStore.opened === this.uniqueId.toString();\n },\n set(opened) {\n // Only reset when opening a new menu\n if (opened) {\n // Reset any right click position override on close\n // Wait for css animation to be done\n const root = this.$root.$el;\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n this.actionsMenuStore.opened = opened ? this.uniqueId.toString() : null;\n },\n },\n },\n watch: {\n /**\n * When the source changes, reset the preview\n * and fetch the new one.\n */\n source() {\n this.resetState();\n },\n },\n beforeDestroy() {\n this.resetState();\n },\n methods: {\n resetState() {\n // Reset loading state\n this.loading = '';\n this.$refs.preview.reset();\n // Close menu\n this.openedMenu = false;\n },\n // Open the actions menu on right click\n onRightClick(event) {\n // If already opened, fallback to default browser\n if (this.openedMenu) {\n return;\n }\n // The grid mode is compact enough to not care about\n // the actions menu mouse position\n if (!this.gridMode) {\n const root = this.$root.$el;\n const contentRect = root.getBoundingClientRect();\n // Using Math.min/max to prevent the menu from going out of the AppContent\n // 200 = max width of the menu\n root.style.setProperty('--mouse-pos-x', Math.max(contentRect.left, Math.min(event.clientX, event.clientX - 200)) + 'px');\n root.style.setProperty('--mouse-pos-y', Math.max(contentRect.top, event.clientY - contentRect.top) + 'px');\n }\n // If the clicked row is in the selection, open global menu\n const isMoreThanOneSelected = this.selectedFiles.length > 1;\n this.actionsMenuStore.opened = this.isSelected && isMoreThanOneSelected ? 'global' : this.uniqueId.toString();\n // Prevent any browser defaults\n event.preventDefault();\n event.stopPropagation();\n },\n execDefaultAction(event) {\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }));\n return false;\n }\n this.$refs.actions.execDefaultAction(event);\n },\n openDetailsIfAvailable(event) {\n event.preventDefault();\n event.stopPropagation();\n if (sidebarAction?.enabled?.([this.source], this.currentView)) {\n sidebarAction.exec(this.source, this.currentView, this.currentDir);\n }\n },\n onDragOver(event) {\n this.dragover = this.canDrop;\n if (!this.canDrop) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n // Handle copy/move drag and drop\n if (event.ctrlKey) {\n event.dataTransfer.dropEffect = 'copy';\n }\n else {\n event.dataTransfer.dropEffect = 'move';\n }\n },\n onDragLeave(event) {\n // Counter bubbling, make sure we're ending the drag\n // only when we're leaving the current element\n const currentTarget = event.currentTarget;\n if (currentTarget?.contains(event.relatedTarget)) {\n return;\n }\n this.dragover = false;\n },\n async onDragStart(event) {\n event.stopPropagation();\n if (!this.canDrag || !this.fileid) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n logger.debug('Drag started', { event });\n // Make sure that we're not dragging a file like the preview\n event.dataTransfer?.clearData?.();\n // Reset any renaming\n this.renamingStore.$reset();\n // Dragging set of files, if we're dragging a file\n // that is already selected, we use the entire selection\n if (this.selectedFiles.includes(this.fileid)) {\n this.draggingStore.set(this.selectedFiles);\n }\n else {\n this.draggingStore.set([this.fileid]);\n }\n const nodes = this.draggingStore.dragging\n .map(fileid => this.filesStore.getNode(fileid));\n const image = await getDragAndDropPreview(nodes);\n event.dataTransfer?.setDragImage(image, -10, -10);\n },\n onDragEnd() {\n this.draggingStore.reset();\n this.dragover = false;\n logger.debug('Drag ended');\n },\n async onDrop(event) {\n // skip if native drop like text drag and drop from files names\n if (!this.draggingFiles && !event.dataTransfer?.files?.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n // If another button is pressed, cancel it\n // This allows cancelling the drag with the right click\n if (!this.canDrop || event.button !== 0) {\n return;\n }\n const isCopy = event.ctrlKey;\n this.dragover = false;\n logger.debug('Dropped', { event, selection: this.draggingFiles });\n // Check whether we're uploading files\n if (event.dataTransfer?.files\n && event.dataTransfer.files.length > 0) {\n const uploader = getUploader();\n // Check whether the uploader is in the same folder\n // This should never happen™\n if (!uploader.destination.path.startsWith(uploader.destination.path)) {\n logger.error('The current uploader destination is not the same as the current folder');\n showError(t('files', 'An error occurred while uploading. Please try again later.'));\n return;\n }\n logger.debug(`Uploading files to ${this.source.path}`);\n const queue = [];\n for (const file of event.dataTransfer.files) {\n // Because the uploader destination is properly set to the current folder\n // we can just use the basename as the relative path.\n queue.push(uploader.upload(join(this.source.basename, file.name), file));\n }\n const results = await Promise.allSettled(queue);\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while uploading files', { errors });\n showError(t('files', 'Some files could not be uploaded'));\n return;\n }\n logger.debug('Files uploaded successfully');\n showSuccess(t('files', 'Files uploaded successfully'));\n return;\n }\n const nodes = this.draggingFiles.map(fileid => this.filesStore.getNode(fileid));\n nodes.forEach(async (node) => {\n Vue.set(node, 'status', NodeStatus.LOADING);\n try {\n // TODO: resolve potential conflicts prior and force overwrite\n await handleCopyMoveNodeTo(node, this.source, isCopy ? MoveCopyAction.COPY : MoveCopyAction.MOVE);\n }\n catch (error) {\n logger.error('Error while moving file', { error });\n if (isCopy) {\n showError(t('files', 'Could not copy {file}. {message}', { file: node.basename, message: error.message || '' }));\n }\n else {\n showError(t('files', 'Could not move {file}. {message}', { file: node.basename, message: error.message || '' }));\n }\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n // Reset selection after we dropped the files\n // if the dropped files are within the selection\n if (this.draggingFiles.some(fileid => this.selectedFiles.includes(fileid))) {\n logger.debug('Dropped selection, resetting select store...');\n this.selectionStore.reset();\n }\n },\n t,\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n return str.split('').reduce(function (a, b) {\n a = ((a << 5) - a) + b.charCodeAt(0);\n return a & a;\n }, 0);\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=08a118c6\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=187c55d7\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=750bcc07\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-actions\",attrs:{\"data-cy-files-list-row-actions\":\"\"}},[_vm._l((_vm.enabledRenderActions),function(action){return _c('CustomElementRender',{key:action.id,staticClass:\"files-list__row-action--inline\",class:'files-list__row-action-' + action.id,attrs:{\"current-view\":_vm.currentView,\"render\":action.renderInline,\"source\":_vm.source}})}),_vm._v(\" \"),_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.getBoundariesElement,\"container\":_vm.getBoundariesElement,\"force-name\":true,\"type\":\"tertiary\",\"force-menu\":_vm.enabledInlineActions.length === 0 /* forceMenu only if no inline actions */,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event},\"close\":function($event){_vm.openedSubmenu = null}}},[_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,ref:`action-${action.id}`,refInFor:true,class:{\n\t\t\t\t[`files-list__row-action-${action.id}`]: true,\n\t\t\t\t[`files-list__row-action--menu`]: _vm.isMenu(action.id)\n\t\t\t},attrs:{\"close-after-click\":!_vm.isMenu(action.id),\"data-cy-files-list-row-action\":action.id,\"is-menu\":_vm.isMenu(action.id),\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.mountType === 'shared' && action.id === 'sharing-status' ? '' : _vm.actionDisplayName(action))+\"\\n\\t\\t\")])}),_vm._v(\" \"),(_vm.openedSubmenu && _vm.enabledSubmenuActions[_vm.openedSubmenu?.id])?[_c('NcActionButton',{staticClass:\"files-list__row-action-back\",on:{\"click\":function($event){return _vm.onBackToMenuClick(_vm.openedSubmenu)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeftIcon')]},proxy:true}],null,false,3001860362)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(_vm.openedSubmenu))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.enabledSubmenuActions[_vm.openedSubmenu?.id]),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"files-list__row-action--submenu\",class:`files-list__row-action-${action.id}`,attrs:{\"close-after-click\":false /* never close submenu, just go back */,\"data-cy-files-list-row-action\":action.id,\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(action))+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=2fa8d0d9&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=2fa8d0d9&prod&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/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=2fa8d0d9&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=2fa8d0d9&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryActions.vue?vue&type=template&id=2fa8d0d9&scoped=true\"\nimport script from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryActions.vue?vue&type=style&index=0&id=2fa8d0d9&prod&lang=scss\"\nimport style1 from \"./FileEntryActions.vue?vue&type=style&index=1&id=2fa8d0d9&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fa8d0d9\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[(_vm.isLoading)?_c('NcLoadingIcon'):_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.ariaLabel,\"checked\":_vm.isSelected},on:{\"update:checked\":_vm.onSelectionChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function (...args) {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n },\n });\n const keyboardStore = store(...args);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","import { render, staticRenderFns } from \"./FileEntryCheckbox.vue?vue&type=template&id=6992c304\"\nimport script from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isRenaming)?_c('form',{directives:[{name:\"on-click-outside\",rawName:\"v-on-click-outside\",value:(_vm.stopRenaming),expression:\"stopRenaming\"}],staticClass:\"files-list__row-rename\",attrs:{\"aria-label\":_vm.t('files', 'Rename file')},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"renameInput\",attrs:{\"label\":_vm.renameLabel,\"autofocus\":true,\"minlength\":1,\"required\":true,\"value\":_vm.newName,\"enterkeyhint\":\"done\"},on:{\"update:value\":function($event){_vm.newName=$event},\"keyup\":[_vm.checkInputValidity,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.stopRenaming.apply(null, arguments)}]}})],1):_c(_vm.linkTo.is,_vm._b({ref:\"basename\",tag:\"component\",staticClass:\"files-list__row-name-link\",attrs:{\"aria-hidden\":_vm.isRenaming,\"data-cy-files-list-row-name-link\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'component',_vm.linkTo.params,false),[_c('span',{staticClass:\"files-list__row-name-text\"},[_c('span',{staticClass:\"files-list__row-name-\",domProps:{\"textContent\":_vm._s(_vm.displayName)}}),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-ext\",domProps:{\"textContent\":_vm._s(_vm.extension)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntryName.vue?vue&type=template&id=637facfc\"\nimport script from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryName.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?[(_vm.dragover)?_vm._m(0):[_vm._m(1),_vm._v(\" \"),(_vm.folderOverlay)?_c(_vm.folderOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay\"}):_vm._e()]]:(_vm.previewUrl && _vm.backgroundFailed !== true)?_c('img',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",class:{'files-list__row-icon-preview--loaded': _vm.backgroundFailed === false},attrs:{\"alt\":\"\",\"loading\":\"lazy\",\"src\":_vm.previewUrl},on:{\"error\":function($event){_vm.backgroundFailed = true},\"load\":function($event){_vm.backgroundFailed = false}}}):_vm._m(2),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\"},[_vm._m(3)],1):_vm._e(),_vm._v(\" \"),(_vm.fileOverlay)?_c(_vm.fileOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay files-list__row-icon-overlay--file\"}):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderOpenIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FileIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FavoriteIcon')\n}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=5c8d96c6\"\nimport script from \"./File.vue?vue&type=script&lang=js\"\nexport * from \"./File.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./FolderOpen.vue?vue&type=template&id=3b29b1d5\"\nimport script from \"./FolderOpen.vue?vue&type=script&lang=js\"\nexport * from \"./FolderOpen.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-open-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Key.vue?vue&type=template&id=aa295eae\"\nimport script from \"./Key.vue?vue&type=script&lang=js\"\nexport * from \"./Key.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon key-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Network.vue?vue&type=template&id=7c7d2907\"\nimport script from \"./Network.vue?vue&type=script&lang=js\"\nexport * from \"./Network.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon network-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=4d7171be\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tag-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=34d1e782\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.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!./CollectivesIcon.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./CollectivesIcon.vue?vue&type=template&id=18541dcc\"\nimport script from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\nexport * from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon collectives-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcIconSvgWrapper',{staticClass:\"favorite-marker-icon\",attrs:{\"name\":_vm.t('files', 'Favorite'),\"svg\":_vm.StarSvg}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FavoriteIcon.vue?vue&type=template&id=77afa6dc&scoped=true\"\nimport script from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77afa6dc\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","import { render, staticRenderFns } from \"./FileEntryPreview.vue?vue&type=template&id=3c23da48\"\nimport script from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=6ae0d517\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row\",class:{'files-list__row--active': _vm.isActive, 'files-list__row--dragover': _vm.dragover, 'files-list__row--loading': _vm.isLoading},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag},on:{\"contextmenu\":_vm.onRightClick,\"dragover\":_vm.onDragOver,\"dragleave\":_vm.onDragLeave,\"dragstart\":_vm.onDragStart,\"dragend\":_vm.onDragEnd,\"drop\":_vm.onDrop}},[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"dragover\":_vm.dragover,\"grid-mode\":true,\"source\":_vm.source},nativeOn:{\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"nodes\":_vm.nodes,\"source\":_vm.source},on:{\"click\":_vm.execDefaultAction}})],1),_vm._v(\" \"),_c('FileEntryActions',{ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./FileEntryGrid.vue?vue&type=template&id=337076f0\"\nimport script from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enabled),expression:\"enabled\"}],class:`files-list__header-${_vm.header.id}`},[_c('span',{ref:\"mount\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=0434f153\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-mtime\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableFooter.vue?vue&type=template&id=a85bde20&scoped=true\"\nimport script from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a85bde20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row-head\"},[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",attrs:{\"aria-sort\":_vm.ariaSortForMode('basename')}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{ 'files-list__column--sortable': _vm.isSizeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('size')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-mtime\",class:{ 'files-list__column--sortable': _vm.isMtimeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('mtime')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Modified'),\"mode\":\"mtime\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column),attrs:{\"aria-sort\":_vm.ariaSortForMode(column.id)}},[(!!column.sort)?_c('FilesListTableHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\")])],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nimport { Navigation, View } from '@nextcloud/files';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection !== 'desc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{class:['files-list__column-sort-button', {\n\t\t'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode,\n\t\t'files-list__column-sort-button--size': _vm.sortingMode === 'size',\n\t}],attrs:{\"alignment\":_vm.mode === 'size' ? 'end' : 'start-reverse',\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.toggleSortBy(_vm.mode)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{staticClass:\"files-list__column-sort-button-icon\"}):_c('MenuDown',{staticClass:\"files-list__column-sort-button-icon\"})]},proxy:true}])},[_vm._v(\" \"),_c('span',{staticClass:\"files-list__column-sort-button-text\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderButton.vue?vue&type=template&id=2dd1845e&scoped=true\"\nimport script from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dd1845e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeader.vue?vue&type=template&id=952162c2&scoped=true\"\nimport script from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"952162c2\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n mounted() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.filesListWidth = fileListEl?.clientWidth ?? null;\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list\",attrs:{\"data-cy-files-list\":\"\"}},[_c('div',{ref:\"before\",staticClass:\"files-list__before\"},[_vm._t(\"before\")],2),_vm._v(\" \"),(!!_vm.$scopedSlots['header-overlay'])?_c('div',{staticClass:\"files-list__thead-overlay\"},[_vm._t(\"header-overlay\")],2):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"files-list__table\",class:{ 'files-list__table--with-thead-overlay': !!_vm.$scopedSlots['header-overlay'] }},[(_vm.caption)?_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.caption)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"files-list__thead\",attrs:{\"data-cy-files-list-thead\":\"\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"files-list__tbody\",class:_vm.gridMode ? 'files-list__tbody--grid' : 'files-list__tbody--list',style:(_vm.tbodyStyle),attrs:{\"data-cy-files-list-tbody\":\"\"}},_vm._l((_vm.renderedItems),function({key, item},i){return _c(_vm.dataComponent,_vm._b({key:key,tag:\"component\",attrs:{\"source\":item,\"index\":i}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"files-list__tfoot\",attrs:{\"data-cy-files-list-tfoot\":\"\"}},[_vm._t(\"footer\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=6932388d\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list__column files-list__row-actions-batch\"},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-name\":true,\"inline\":_vm.inlineActions,\"menu-name\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderActions.vue?vue&type=template&id=d939292c&scoped=true\"\nimport script from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d939292c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('VirtualList',{ref:\"table\",attrs:{\"data-component\":_vm.userConfig.grid_view ? _vm.FileEntryGrid : _vm.FileEntry,\"data-key\":'source',\"data-sources\":_vm.nodes,\"grid-mode\":_vm.userConfig.grid_view,\"extra-props\":{\n\t\tisMtimeAvailable: _vm.isMtimeAvailable,\n\t\tisSizeAvailable: _vm.isSizeAvailable,\n\t\tnodes: _vm.nodes,\n\t\tfilesListWidth: _vm.filesListWidth,\n\t},\"scroll-to-index\":_vm.scrollToIndex,\"caption\":_vm.caption},scopedSlots:_vm._u([(!_vm.isNoneSelected)?{key:\"header-overlay\",fn:function(){return [_c('FilesListTableHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}})]},proxy:true}:null,{key:\"before\",fn:function(){return _vm._l((_vm.sortedHeaders),function(header){return _c('FilesListHeader',{key:header.id,attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"header\":header}})})},proxy:true},{key:\"header\",fn:function(){return [_c('FilesListTableHeader',{ref:\"thead\",attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('FilesListTableFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=48fb0b13&scoped=true\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\"\nimport style1 from \"./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48fb0b13\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowDown.vue?vue&type=template&id=547c388d\"\nimport script from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-down-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { davGetClient, davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { emit } from '@nextcloud/event-bus';\nimport { getUploader } from '@nextcloud/upload';\nimport { joinPaths } from '@nextcloud/paths';\nimport { showError } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport logger from '../logger.js';\nexport const handleDrop = async (data) => {\n // TODO: Maybe handle `getAsFileSystemHandle()` in the future\n const uploads = [];\n for (const item of data.items) {\n if (item.kind !== 'file') {\n logger.debug('Skipping dropped item', { kind: item.kind, type: item.type });\n continue;\n }\n // MDN recommends to try both, as it might be renamed in the future\n const entry = item?.getAsEntry?.() ?? item.webkitGetAsEntry();\n // Handle browser issues if Filesystem API is not available. Fallback to File API\n if (entry === null) {\n logger.debug('Could not get FilesystemEntry of item, falling back to file');\n const file = item.getAsFile();\n if (file === null) {\n logger.warn('Could not process DataTransferItem', { type: item.type, kind: item.kind });\n showError(t('files', 'One of the dropped files could not be processed'));\n }\n else {\n uploads.push(await handleFileUpload(file));\n }\n }\n else {\n logger.debug('Handle recursive upload', { entry: entry.name });\n // Use Filesystem API\n uploads.push(...await handleRecursiveUpload(entry));\n }\n }\n return uploads;\n};\nconst handleFileUpload = async (file, path = '') => {\n const uploader = getUploader();\n try {\n return await uploader.upload(`${path}${file.name}`, file);\n }\n catch (e) {\n showError(t('files', 'Uploading \"{filename}\" failed', { filename: file.name }));\n throw e;\n }\n};\nconst handleRecursiveUpload = async (entry, path = '') => {\n if (entry.isFile) {\n return [\n await new Promise((resolve, reject) => {\n entry.file(async (file) => resolve(await handleFileUpload(file, path)), (error) => reject(error));\n }),\n ];\n }\n else {\n const directory = entry;\n // TODO: Implement this on `@nextcloud/upload`\n const absolutPath = joinPaths(davRootPath, getUploader().destination.path, path, directory.name);\n logger.debug('Handle directory recursively', { name: directory.name, absolutPath });\n const davClient = davGetClient();\n const dirExists = await davClient.exists(absolutPath);\n if (!dirExists) {\n logger.debug('Directory does not exist, creating it', { absolutPath });\n await davClient.createDirectory(absolutPath, { recursive: true });\n const stat = await davClient.stat(absolutPath, { details: true, data: davGetDefaultPropfind() });\n emit('files:node:created', davResultToNode(stat.data));\n }\n const entries = await readDirectory(directory);\n // sorted so we upload files first before starting next level\n const promises = entries.sort((a) => a.isFile ? -1 : 1)\n .map((file) => handleRecursiveUpload(file, `${path}${directory.name}/`));\n return (await Promise.all(promises)).flat();\n }\n};\n/**\n * Read a directory using Filesystem API\n * @param directory the directory to read\n */\nfunction readDirectory(directory) {\n const dirReader = directory.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n const getEntries = () => {\n dirReader.readEntries((results) => {\n if (results.length) {\n entries.push(...results);\n getEntries();\n }\n else {\n resolve(entries);\n }\n }, (error) => {\n reject(error);\n });\n };\n getEntries();\n });\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragover),expression:\"dragover\"}],staticClass:\"files-list__drag-drop-notice\",on:{\"drop\":_vm.onDrop}},[_c('div',{staticClass:\"files-list__drag-drop-notice-wrapper\"},[(_vm.canUpload && !_vm.isQuotaExceeded)?[_c('TrayArrowDownIcon',{attrs:{\"size\":48}}),_vm._v(\" \"),_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Drag and drop files here to upload'))+\"\\n\\t\\t\\t\")])]:[_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.cantUploadLabel)+\"\\n\\t\\t\\t\")])]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropNotice.vue?vue&type=template&id=46caa8f8&scoped=true\"\nimport script from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46caa8f8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=b2731ace&scoped=true\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b2731ace\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesApp.vue?vue&type=template&id=11e0f2dd\"\nimport script from \"./FilesApp.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesApp.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport { getNavigation } from '@nextcloud/files';\nimport { getRequestToken } from '@nextcloud/auth';\nimport router from './router/router';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\nimport FilesApp from './FilesApp.vue';\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken());\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n// Init Navigation Service\n// This only works with Vue 2 - with Vue 3 this will not modify the source but return just a oberserver\nconst Navigation = Vue.observable(getNavigation());\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\nconst FilesAppVue = Vue.extend(FilesApp);\nnew FilesAppVue({\n router,\n pinia,\n}).$mount('#content');\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n get name() {\n return this._router.currentRoute.name;\n }\n get query() {\n return this._router.currentRoute.query || {};\n }\n get params() {\n return this._router.currentRoute.params || {};\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27/%3e%3c/svg%3e\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27%20style=%27fill-opacity:1;fill:%23ffffff%27/%3e%3c/svg%3e\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@charset \"UTF-8\";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n content: \" \";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/dialogs/dist/style.css\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,gBAAgB;EAChB,gBAAgB;EAChB,8CAA8C;EAC9C,6BAA6B;EAC7B,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,mCAAmC;EACnC,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,2BAA2B;EAC3B,6BAA6B;EAC7B,aAAa;AACf;AACA;;EAEE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;AACd;AACA;;EAEE,yDAA8Q;EAC9Q,YAAY;EACZ,wCAAwC;EACxC,qBAAqB;EACrB,WAAW;EACX,YAAY;AACd;AACA;;EAEE,wBAAwB;EACxB,wBAAwB;AAC1B;AACA;;;;;;EAME,eAAe;EACf,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,eAAe;AACjB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;;EAEE,2CAA2C;AAC7C;AACA;EACE,yDAAsT;AACxT;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,4BAA4B;EAC5B,wBAAwB;EACxB,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;AACF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,qBAAqB;EACrB,YAAY;EACZ,oIAAoI;EACpI,2BAA2B;EAC3B,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,WAAW;AACb;AACA;EACE,wBAAwB;EACxB,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,yBAAyB;EACzB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,oCAAoC;EACpC,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,WAAW;EACX,yBAAyB;EACzB,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,UAAU;EACV,MAAM;EACN,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,gBAAgB;AAClB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;AACF;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;EACA;IACE,gBAAgB;EAClB;AACF;AACA;EACE,uBAAuB;AACzB;AACA;;EAEE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE;IACE,SAAS;EACX;AACF;AACA;EACE;IACE,yCAAyC;EAC3C;AACF;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,OAAO;EACP,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,mCAAmC;AACrC;AACA;EACE;IACE,oEAAoE;EACtE;AACF;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB\",\"sourcesContent\":[\"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 Julius Härtl \\n *\\n * @author Julius Härtl \\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n */\\n.toastify.dialogs {\\n min-width: 200px;\\n background: none;\\n background-color: var(--color-main-background);\\n color: var(--color-main-text);\\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\\n padding: 0 12px;\\n margin-top: 45px;\\n position: fixed;\\n z-index: 10100;\\n border-radius: var(--border-radius);\\n display: flex;\\n align-items: center;\\n}\\n.toastify.dialogs .toast-undo-container {\\n display: flex;\\n align-items: center;\\n}\\n.toastify.dialogs .toast-undo-button,\\n.toastify.dialogs .toast-close {\\n position: static;\\n overflow: hidden;\\n box-sizing: border-box;\\n min-width: 44px;\\n height: 100%;\\n padding: 12px;\\n white-space: nowrap;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-color: transparent;\\n min-height: 0;\\n}\\n.toastify.dialogs .toast-undo-button.toast-close,\\n.toastify.dialogs .toast-close.toast-close {\\n text-indent: 0;\\n opacity: .4;\\n border: none;\\n min-height: 44px;\\n margin-left: 10px;\\n font-size: 0;\\n}\\n.toastify.dialogs .toast-undo-button.toast-close:before,\\n.toastify.dialogs .toast-close.toast-close:before {\\n background-image: url(\\\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'/%3e%3c/svg%3e\\\");\\n content: \\\" \\\";\\n filter: var(--background-invert-if-dark);\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n}\\n.toastify.dialogs .toast-undo-button.toast-undo-button,\\n.toastify.dialogs .toast-close.toast-undo-button {\\n height: calc(100% - 6px);\\n margin: 3px 3px 3px 12px;\\n}\\n.toastify.dialogs .toast-undo-button:hover,\\n.toastify.dialogs .toast-undo-button:focus,\\n.toastify.dialogs .toast-undo-button:active,\\n.toastify.dialogs .toast-close:hover,\\n.toastify.dialogs .toast-close:focus,\\n.toastify.dialogs .toast-close:active {\\n cursor: pointer;\\n opacity: 1;\\n}\\n.toastify.dialogs.toastify-top {\\n right: 10px;\\n}\\n.toastify.dialogs.toast-with-click {\\n cursor: pointer;\\n}\\n.toastify.dialogs.toast-error {\\n border-left: 3px solid var(--color-error);\\n}\\n.toastify.dialogs.toast-info {\\n border-left: 3px solid var(--color-primary);\\n}\\n.toastify.dialogs.toast-warning {\\n border-left: 3px solid var(--color-warning);\\n}\\n.toastify.dialogs.toast-success,\\n.toastify.dialogs.toast-undo {\\n border-left: 3px solid var(--color-success);\\n}\\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\\n background-image: url(\\\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'%20style='fill-opacity:1;fill:%23ffffff'/%3e%3c/svg%3e\\\");\\n}\\n._file-picker__file-icon_1vgv4_5 {\\n width: 32px;\\n height: 32px;\\n min-width: 32px;\\n min-height: 32px;\\n background-repeat: no-repeat;\\n background-size: contain;\\n display: flex;\\n justify-content: center;\\n}\\ntr.file-picker__row[data-v-6aded0d9] {\\n height: var(--row-height, 50px);\\n}\\ntr.file-picker__row td[data-v-6aded0d9] {\\n cursor: pointer;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n border-bottom: none;\\n}\\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\\n padding: 0 2px;\\n}\\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\\n padding-inline: 14px 0;\\n}\\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\\n text-align: end;\\n padding-inline: 0 14px;\\n}\\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\\n padding-inline: 2px 0;\\n}\\n@keyframes gradient-6aded0d9 {\\n 0% {\\n background-position: 0% 50%;\\n }\\n 50% {\\n background-position: 100% 50%;\\n }\\n to {\\n background-position: 0% 50%;\\n }\\n}\\n.loading-row .row-checkbox[data-v-6aded0d9] {\\n text-align: center !important;\\n}\\n.loading-row span[data-v-6aded0d9] {\\n display: inline-block;\\n height: 24px;\\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\\n background-size: 600px 100%;\\n border-radius: var(--border-radius);\\n animation: gradient-6aded0d9 12s ease infinite;\\n}\\n.loading-row .row-wrapper[data-v-6aded0d9] {\\n display: inline-flex;\\n align-items: center;\\n}\\n.loading-row .row-checkbox span[data-v-6aded0d9] {\\n width: 24px;\\n}\\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\\n margin-inline-start: 6px;\\n width: 130px;\\n}\\n.loading-row .row-size span[data-v-6aded0d9] {\\n width: 80px;\\n}\\n.loading-row .row-modified span[data-v-6aded0d9] {\\n width: 90px;\\n}\\ntr.file-picker__row[data-v-48df4f27] {\\n height: var(--row-height, 50px);\\n}\\ntr.file-picker__row td[data-v-48df4f27] {\\n cursor: pointer;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n border-bottom: none;\\n}\\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\\n padding: 0 2px;\\n}\\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\\n padding-inline: 14px 0;\\n}\\ntr.file-picker__row td.row-size[data-v-48df4f27] {\\n text-align: end;\\n padding-inline: 0 14px;\\n}\\ntr.file-picker__row td.row-name[data-v-48df4f27] {\\n padding-inline: 2px 0;\\n}\\n.file-picker__row--selected[data-v-48df4f27] {\\n background-color: var(--color-background-dark);\\n}\\n.file-picker__row[data-v-48df4f27]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.file-picker__name-container[data-v-48df4f27] {\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n height: 100%;\\n}\\n.file-picker__file-name[data-v-48df4f27] {\\n padding-inline-start: 6px;\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.file-picker__file-extension[data-v-48df4f27] {\\n color: var(--color-text-maxcontrast);\\n min-width: fit-content;\\n}\\n.file-picker__header-preview[data-v-d3c94818] {\\n width: 22px;\\n height: 32px;\\n flex: 0 0 auto;\\n}\\n.file-picker__files[data-v-d3c94818] {\\n margin: 2px;\\n margin-inline-start: 12px;\\n overflow: scroll auto;\\n}\\n.file-picker__files table[data-v-d3c94818] {\\n width: 100%;\\n max-height: 100%;\\n table-layout: fixed;\\n}\\n.file-picker__files th[data-v-d3c94818] {\\n position: sticky;\\n z-index: 1;\\n top: 0;\\n background-color: var(--color-main-background);\\n padding: 2px;\\n}\\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\\n display: flex;\\n}\\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\\n width: 44px;\\n}\\n.file-picker__files th.row-name[data-v-d3c94818] {\\n width: 230px;\\n}\\n.file-picker__files th.row-size[data-v-d3c94818] {\\n width: 100px;\\n}\\n.file-picker__files th.row-modified[data-v-d3c94818] {\\n width: 120px;\\n}\\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\\n justify-content: start;\\n flex-direction: row-reverse;\\n}\\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\\n padding-inline: 16px 4px;\\n}\\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\\n justify-content: end;\\n}\\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\\n color: var(--color-text-maxcontrast);\\n}\\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\\n font-weight: 400;\\n}\\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\\n flex-grow: 0 !important;\\n}\\n.file-picker__side[data-v-e96bec41] {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n gap: .5rem;\\n min-width: 200px;\\n padding: 2px;\\n overflow: auto;\\n}\\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\\n justify-content: start;\\n}\\n.file-picker__filter-input[data-v-e96bec41] {\\n margin-block: 7px;\\n max-width: 260px;\\n}\\n@media (max-width: 736px) {\\n .file-picker__side[data-v-e96bec41] {\\n flex-direction: row;\\n min-width: unset;\\n }\\n}\\n@media (max-width: 512px) {\\n .file-picker__side[data-v-e96bec41] {\\n flex-direction: row;\\n min-width: unset;\\n }\\n .file-picker__filter-input[data-v-e96bec41] {\\n max-width: unset;\\n }\\n}\\n.file-picker__navigation {\\n padding-inline: 8px 2px;\\n}\\n.file-picker__navigation,\\n.file-picker__navigation * {\\n box-sizing: border-box;\\n}\\n.file-picker__navigation .v-select.select {\\n min-width: 220px;\\n}\\n@media (min-width: 513px) and (max-width: 736px) {\\n .file-picker__navigation {\\n gap: 11px;\\n }\\n}\\n@media (max-width: 512px) {\\n .file-picker__navigation {\\n flex-direction: column-reverse !important;\\n }\\n}\\n.file-picker__view[data-v-821451ce] {\\n height: 50px;\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n}\\n.file-picker__view h3[data-v-821451ce] {\\n font-weight: 700;\\n height: fit-content;\\n margin: 0;\\n}\\n.file-picker__main[data-v-821451ce] {\\n box-sizing: border-box;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n min-height: 0;\\n flex: 1;\\n padding-inline: 2px;\\n}\\n.file-picker__main *[data-v-821451ce] {\\n box-sizing: border-box;\\n}\\n[data-v-821451ce] .file-picker {\\n height: min(80vh, 800px) !important;\\n}\\n@media (max-width: 512px) {\\n [data-v-821451ce] .file-picker {\\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\\n }\\n}\\n[data-v-821451ce] .file-picker__content {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-af4c69fa] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-af4c69fa] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-af4c69fa] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\\n animation: breathing-af4c69fa 3s ease-out infinite normal;\\n}\\n@keyframes breathing-af4c69fa {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.breadcrumb[data-v-1c4866bc]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-1c4866bc] a{cursor:pointer !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA\",\"sourcesContent\":[\"\\n.breadcrumb {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\n\\t::v-deep a {\\n\\t\\tcursor: pointer !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__drag-drop-notice[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-46caa8f8]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropNotice.vue\"],\"names\":[],\"mappings\":\"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA\",\"sourcesContent\":[\"\\n.files-list__drag-drop-notice {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\t// Breadcrumbs height + row thead height\\n\\tmin-height: calc(58px + 55px);\\n\\tmargin: 0;\\n\\tuser-select: none;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: var(--color-main-background);\\n\\tborder-color: black;\\n\\n\\th3 {\\n\\t\\tmargin-left: 16px;\\n\\t\\tcolor: inherit;\\n\\t}\\n\\n\\t&-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\theight: 15vh;\\n\\t\\tmax-height: 70%;\\n\\t\\tpadding: 0 5vw;\\n\\t\\tborder: 2px var(--color-border-dark) dashed;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropPreview.vue\"],\"names\":[],\"mappings\":\"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n$size: 32px;\\n$stack-shift: 6px;\\n\\n.files-list-drag-image {\\n\\tposition: absolute;\\n\\ttop: -9999px;\\n\\tleft: -9999px;\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\tpadding: 6px 12px;\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__icon,\\n\\t.files-list__row-icon {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\toverflow: visible;\\n\\t\\tmargin-right: 12px;\\n\\n\\t\\timg {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t&.folder-icon {\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Previews container\\n\\t\\t> span {\\n\\t\\t\\tdisplay: flex;\\n\\n\\t\\t\\t// Stack effect if more than one element\\n\\t\\t\\t.files-list__row-icon + .files-list__row-icon {\\n\\t\\t\\t\\tmargin-top: $stack-shift;\\n\\t\\t\\t\\tmargin-left: $stack-shift - $size;\\n\\t\\t\\t\\t& + .files-list__row-icon {\\n\\t\\t\\t\\t\\tmargin-top: $stack-shift * 2;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If we have manually clone the preview,\\n\\t\\t\\t// let's hide any fallback icons\\n\\t\\t\\t&:not(:empty) + * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.favorite-marker-icon[data-v-77afa6dc]{color:#a08b00;min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,aAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.favorite-marker-icon {\\n\\tcolor: #a08b00;\\n\\t// Override NcIconSvgWrapper defaults (clickable area)\\n\\tmin-width: unset !important;\\n min-height: unset !important;\\n\\n\\t:deep() {\\n\\t\\tsvg {\\n\\t\\t\\t// We added a stroke for a11y so we must increase the size to include the stroke\\n\\t\\t\\twidth: 26px !important;\\n\\t\\t\\theight: 26px !important;\\n\\n\\t\\t\\t// Override NcIconSvgWrapper defaults of 20px\\n\\t\\t\\tmax-width: unset !important;\\n\\t\\t\\tmax-height: unset !important;\\n\\n\\t\\t\\t// Sow a border around the icon for better contrast\\n\\t\\t\\tpath {\\n\\t\\t\\t\\tstroke: var(--color-main-background);\\n\\t\\t\\t\\tstroke-width: 8px;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t\\tpaint-order: stroke;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important}[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,6EAAA,CAGA,kEACC,0FAAA,CAGD,kEACC,YAAA\",\"sourcesContent\":[\"\\n// Allow right click to define the position of the menu\\n// only if defined\\n[style*=\\\"mouse-pos-x\\\"] .v-popper__popper {\\n\\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\\n\\n\\t// If the menu is too close to the bottom, we move it up\\n\\t&[data-popper-placement=\\\"top\\\"] {\\n\\t\\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important;\\n\\t}\\n\\t// Hide arrow if floating\\n\\t.v-popper__arrow-container {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-2fa8d0d9] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-2fa8d0d9] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA\",\"sourcesContent\":[\"\\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tmargin-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n\\n\\ttd {\\n\\t\\tuser-select: none;\\n\\t\\t// Make sure the cell colors don't apply to column headers\\n\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column[data-v-952162c2]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-952162c2]{cursor:pointer}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__row-actions-batch[data-v-d939292c]{flex:1 1 100% !important;max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\tmax-width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\\n\\n\\t&-text {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tfont-weight: normal;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\topacity: 0;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\tinset-inline-start: -10px;\\n\\t}\\n\\n\\t&--size &-icon {\\n\\t\\tinset-inline-start: 10px;\\n\\t}\\n\\n\\t&--active &-icon,\\n\\t&:hover &-icon,\\n\\t&:focus &-icon,\\n\\t&:active &-icon {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list[data-v-48fb0b13]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;position:relative;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-48fb0b13] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-48fb0b13] tbody tr{contain:strict}.files-list[data-v-48fb0b13] tbody tr:hover,.files-list[data-v-48fb0b13] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-48fb0b13] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-48fb0b13] .files-list__table{display:block}.files-list[data-v-48fb0b13] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-48fb0b13] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-48fb0b13] .files-list__thead,.files-list[data-v-48fb0b13] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-48fb0b13] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-48fb0b13] .files-list__tfoot{min-height:300px}.files-list[data-v-48fb0b13] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-48fb0b13] td,.files-list[data-v-48fb0b13] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-48fb0b13] td span,.files-list[data-v-48fb0b13] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-48fb0b13] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-48fb0b13] .files-list__row-checkbox{justify-content:center}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-48fb0b13] .files-list__row:hover,.files-list[data-v-48fb0b13] .files-list__row:focus,.files-list[data-v-48fb0b13] .files-list__row:active,.files-list[data-v-48fb0b13] .files-list__row--active,.files-list[data-v-48fb0b13] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-48fb0b13] .files-list__row:hover>*,.files-list[data-v-48fb0b13] .files-list__row:focus>*,.files-list[data-v-48fb0b13] .files-list__row:active>*,.files-list[data-v-48fb0b13] .files-list__row--active>*,.files-list[data-v-48fb0b13] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-48fb0b13] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-48fb0b13] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-48fb0b13] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-48fb0b13] .files-list__row-icon *{cursor:pointer}.files-list[data-v-48fb0b13] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-48fb0b13] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-48fb0b13] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-48fb0b13] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-48fb0b13] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-48fb0b13] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-48fb0b13] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-48fb0b13] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-48fb0b13] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-48fb0b13] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-48fb0b13] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-48fb0b13] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-48fb0b13] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-48fb0b13] .files-list__row-actions{width:auto}.files-list[data-v-48fb0b13] .files-list__row-actions~td,.files-list[data-v-48fb0b13] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-48fb0b13] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-48fb0b13] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-48fb0b13] .files-list__row-mtime,.files-list[data-v-48fb0b13] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-48fb0b13] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-48fb0b13] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-48fb0b13] .files-list__row-column-custom{width:calc(var(--row-height)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,iBAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\tposition: relative;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t& :deep() {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody {\\n\\t\\t\\twill-change: padding;\\n\\t\\t\\tcontain: layout paint style;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t/* Hover effect on tbody lines only */\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tcontain: strict;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Before table and thead\\n\\t\\t.files-list__before {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t.files-list__table {\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t&.files-list__table--with-thead-overlay {\\n\\t\\t\\t\\t// Hide the table header below the overlay\\n\\t\\t\\t\\tmargin-top: calc(-1 * var(--row-height));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__thead-overlay {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\t// Save space for a row checkbox\\n\\t\\t\\tmargin-left: var(--row-height);\\n\\t\\t\\t// More than .files-list__thead\\n\\t\\t\\tz-index: 20;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Reuse row styles\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\t.files-list__thead,\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.files-list__thead {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t// Table footer\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tmin-height: 300px;\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row--failed {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\topacity: .1;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row {\\n\\t\\t\\t&:hover, &:focus, &:active, &--active, &--dragover {\\n\\t\\t\\t\\t// WCAG AA compliant\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t// text-maxcontrast have been designed to pass WCAG AA over\\n\\t\\t\\t\\t// a white background, we need to adjust then.\\n\\t\\t\\t\\t--color-text-maxcontrast: var(--color-main-text);\\n\\t\\t\\t\\t> * {\\n\\t\\t\\t\\t\\t--color-border: var(--color-border-dark);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hover state of the row should also change the favorite markers background\\n\\t\\t\\t\\t.favorite-marker-icon svg path {\\n\\t\\t\\t\\t\\tstroke: var(--color-background-hover);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--dragover * {\\n\\t\\t\\t\\t// Prevent dropping on row children\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry preview or mime icon\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t// Icon is also clickable\\n\\t\\t\\t* {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\n\\t\\t\\t\\t&:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Slightly increase the size of the folder icon\\n\\t\\t\\t\\t&.folder-icon,\\n\\t\\t\\t\\t&.folder-open-icon {\\n\\t\\t\\t\\t\\tmargin: -3px;\\n\\t\\t\\t\\t\\tsvg {\\n\\t\\t\\t\\t\\t\\twidth: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t\\theight: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tobject-position: center;\\n\\n\\t\\t\\t\\t/* Preview not loaded animation effect */\\n\\t\\t\\t\\t&:not(.files-list__row-icon-preview--loaded) {\\n\\t\\t\\t\\t\\tbackground: var(--color-loading-dark);\\n\\t\\t\\t\\t\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0px;\\n\\t\\t\\t\\tright: -10px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// File and folder overlay\\n\\t\\t\\t&-overlay {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tmax-height: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tmax-width: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\t\\t// better alignment with the folder icon\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\n\\t\\t\\t\\t// Improve icon contrast with a background for files\\n\\t\\t\\t\\t&--file {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry link\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t// Necessary for flex grow to work\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t// Already added to the inner text, see rule below\\n\\t\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\t\\toutline: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:focus:not(:focus-visible) .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t\\t// Align two name and ext\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-ext {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t// always show the extension\\n\\t\\t\\t\\toverflow: visible;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Rename form\\n\\t\\t.files-list__row-rename {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 600px;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t// Align with text, 0 - padding - border\\n\\t\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\t\\tpadding: 2px 6px;\\n\\t\\t\\t\\tborder-width: 2px;\\n\\n\\t\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t\\t// Show red border on invalid input\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tcolor: red;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\t// take as much space as necessary\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-action--inline {\\n\\t\\t\\tmargin-right: 7px;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime,\\n\\t\\t.files-list__row-size {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t.files-list__row-size {\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// Right align content/text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n// Grid mode\\ntbody.files-list__tbody.files-list__tbody--grid {\\n\\t--half-clickable-area: calc(var(--clickable-area) / 2);\\n\\t--row-width: 160px;\\n\\t// We use half of the clickable area as visual balance margin\\n\\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\\n\\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\\n\\t--checkbox-padding: 0px;\\n\\n\\tdisplay: grid;\\n\\tgrid-template-columns: repeat(auto-fill, var(--row-width));\\n\\tgrid-gap: 15px;\\n\\trow-gap: 15px;\\n\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tjustify-content: space-around;\\n\\tjustify-items: center;\\n\\n\\ttr {\\n\\t\\twidth: var(--row-width);\\n\\t\\theight: calc(var(--row-height) + var(--clickable-area));\\n\\t\\tborder: none;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t// Checkbox in the top left\\n\\t.files-list__row-checkbox {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 9;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\toverflow: hidden;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t\\tborder-radius: var(--half-clickable-area);\\n\\t}\\n\\n\\t// Star icon in the top right\\n\\t.files-list__row-icon-favorite {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n\\n\\t.files-list__row-name {\\n\\t\\tdisplay: grid;\\n\\t\\tjustify-content: stretch;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tgrid-auto-rows: var(--row-height) var(--clickable-area);\\n\\n\\t\\tspan.files-list__row-icon {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Visual balance, we use half of the clickable area\\n\\t\\t\\t// as a margin around the preview\\n\\t\\t\\tpadding-top: var(--half-clickable-area);\\n\\t\\t}\\n\\n\\t\\ta.files-list__row-name-link {\\n\\t\\t\\t// Minus action menu\\n\\t\\t\\twidth: calc(100% - var(--clickable-area));\\n\\t\\t\\theight: var(--clickable-area);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name-text {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.files-list__row-actions {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation-entry__settings-quota--not-unlimited[data-v-18ceb3ce] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-18ceb3ce]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__name {\\n\\t\\tmargin-top: -6px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 12px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-b2731ace]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative}.files-list__header[data-v-b2731ace]{display:flex;align-items:center;flex:0 0;margin:4px 4px 4px 50px;max-width:100%}.files-list__header>*[data-v-b2731ace]{flex:0 0}.files-list__header-share-button[data-v-b2731ace]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-b2731ace]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-b2731ace]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-b2731ace]{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CAOA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,cAAA,CACA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CACA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\tposition: relative;\\n}\\n\\n$margin: 4px;\\n$navigationToggleSize: 50px;\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin: $margin $margin $margin $navigationToggleSize;\\n\\t\\tmax-width: 100%;\\n\\t\\t> * {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\n\\t\\t&-share-button {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t&--shared {\\n\\t\\t\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation[data-v-3f2914e1] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-3f2914e1] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-3f2914e1]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-3f2914e1]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\\n\\tcolor: var(--color-primary-element-text);\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.setting-link[data-v-6d63c120]:hover{text-decoration:underline}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-ps\": 20315,\n\t\"./ar-ps.js\": 20315,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku-kmr\": 90563,\n\t\"./ku-kmr.js\": 90563,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, // ","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function (...args) {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { sorting_direction: 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n },\n },\n });\n const viewConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=44de6464\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=18ceb3ce&scoped=true\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=18ceb3ce&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18ceb3ce\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"name\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"name\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.sort_favorites_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_favorites_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort favorites first'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.sort_folders_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_folders_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort folders before files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.enableGridView)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.grid_view},on:{\"update:checked\":function($event){return _vm.setConfig('grid_view', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable the grid view'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"name\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"name\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"label\":_vm.t('files', 'WebDAV URL'),\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0e008e34\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae\"\nimport script from \"./Setting.vue?vue&type=script&lang=js\"\nexport * from \"./Setting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=6d63c120&scoped=true\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=6d63c120&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d63c120\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\",\"aria-label\":_vm.t('files', 'Files')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"exact\":_vm.useExactRouteMatching(view),\"icon\":view.iconClass,\"name\":view.name,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact-path\":true,\"icon\":child.iconClass,\"name\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"name\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('Cog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=3f2914e1&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=3f2914e1&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f2914e1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.canShare && _vm.filesListWidth >= 512)?_c('NcButton',{staticClass:\"files-list__header-share-button\",class:{ 'files-list__header-share-button--shared': _vm.shareButtonType },attrs:{\"aria-label\":_vm.shareButtonLabel,\"title\":_vm.shareButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.openSharingSidebar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.shareButtonType === _vm.Type.SHARE_TYPE_LINK)?_c('LinkIcon'):_c('AccountPlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2969853559)}):_vm._e(),_vm._v(\" \"),(!_vm.canUpload || _vm.isQuotaExceeded)?_c('NcButton',{staticClass:\"files-list__header-upload-button--disabled\",attrs:{\"aria-label\":_vm.cantUploadLabel,\"title\":_vm.cantUploadLabel,\"disabled\":true,\"type\":\"secondary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Add'))+\"\\n\\t\\t\\t\\t\")]):(_vm.currentFolder)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"content\":_vm.dirContents,\"destination\":_vm.currentFolder,\"multiple\":true},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.filesListWidth >= 512 && _vm.enableGridView)?_c('NcButton',{staticClass:\"files-list__header-grid-button\",attrs:{\"aria-label\":_vm.gridViewButtonLabel,\"title\":_vm.gridViewButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.toggleGridView},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.userConfig.grid_view)?_c('ListViewIcon'):_c('ViewGridIcon')]},proxy:true}],null,false,1682960703)}):_vm._e(),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(!_vm.loading && _vm.canUpload)?_c('DragAndDropNotice',{attrs:{\"current-folder\":_vm.currentFolder}}):_vm._e(),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"name\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"name\":_vm.currentView?.emptyTitle || _vm.t('files', 'No files in here'),\"description\":_vm.currentView?.emptyCaption || _vm.t('files', 'Upload some content or sync with your devices!'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files', 'Go to the previous folder'),\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.currentView.icon}})]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"nodes\":_vm.dirContentsSorted}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * natural-orderby v3.0.2\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB) {\n var result = stringA.localeCompare(stringB);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value);\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object' && customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n return {\n order: order\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i]);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders);\n}\n\nexport { compare, orderBy };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulletedSquare.vue?vue&type=template&id=03d22f04\"\nimport script from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-square-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountPlus.vue?vue&type=template&id=98f97aee\"\nimport script from \"./AccountPlus.vue?vue&type=script&lang=js\"\nexport * from \"./AccountPlus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-plus-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ViewGrid.vue?vue&type=template&id=6ca550f9\"\nimport script from \"./ViewGrid.vue?vue&type=script&lang=js\"\nexport * from \"./ViewGrid.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon view-grid-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useFilesStore = function (...args) {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by id\n */\n getNode: (state) => (id) => state.files[id],\n /**\n * Get a list of files or folders by their IDs\n * Does not return undefined values\n */\n getNodes: (state) => (ids) => ids\n .map(id => state.files[id])\n .filter(Boolean),\n /**\n * Get a file or folder by id\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', node);\n return acc;\n }\n acc[node.fileid] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.fileid) {\n Vue.delete(this.files, node.fileid);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n onCreatedNode(node) {\n this.updateNodes([node]);\n },\n onUpdatedNode(node) {\n this.updateNodes([node]);\n },\n },\n });\n const fileStore = store(...args);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n subscribe('files:node:created', fileStore.onCreatedNode);\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n subscribe('files:node:updated', fileStore.onUpdatedNode);\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { FileType, Folder, Node, getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport logger from '../logger';\nimport { useFilesStore } from './files';\nexport const usePathsStore = function (...args) {\n const files = useFilesStore();\n const store = defineStore('paths', {\n state: () => ({\n paths: {},\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.fileid);\n },\n onCreatedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (!node.fileid) {\n logger.error('Node has no fileid', { node });\n return;\n }\n // Only add path if it's a folder\n if (node.type === FileType.Folder) {\n this.addPath({\n service,\n path: node.path,\n fileid: node.fileid,\n });\n }\n // Update parent folder children if exists\n // If the folder is the root, get it and update it\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n if (!root._children) {\n Vue.set(root, '_children', []);\n }\n root._children.push(node.fileid);\n return;\n }\n // If the folder doesn't exists yet, it will be\n // fetched later and its children updated anyway.\n if (this.paths[service][node.dirname]) {\n const parentId = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentId);\n logger.debug('Path already exists, updating children', { parentFolder, node });\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentId });\n return;\n }\n if (!parentFolder._children) {\n Vue.set(parentFolder, '_children', []);\n }\n parentFolder._children.push(node.fileid);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n },\n });\n const pathsStore = store(...args);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n subscribe('files:node:created', pathsStore.onCreatedNode);\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","import { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', [...new Set(selection)]);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { getUploader } from '@nextcloud/upload';\nlet uploader;\nexport const useUploaderStore = function (...args) {\n // Only init on runtime\n uploader = getUploader();\n const store = defineStore('uploader', {\n state: () => ({\n queue: uploader.queue,\n }),\n });\n return store(...args);\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=69a49b0f\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon home-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{attrs:{\"data-cy-files-content-breadcrumbs\":\"\",\"aria-label\":_vm.t('files', 'Current directory path')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,true)},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"dir\":\"auto\",\"to\":section.to,\"title\":_vm.titleForSection(index, section),\"aria-description\":_vm.ariaForSection(section)},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('Home',{attrs:{\"size\":20}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=1c4866bc&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=1c4866bc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c4866bc\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { FileType } from '@nextcloud/files';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport { basename, extname } from 'path';\n// TODO: move to @nextcloud/files\n/**\n * Create an unique file name\n * @param name The initial name to use\n * @param otherNames Other names that are already used\n * @param suffix A function that takes an index an returns a suffix to add, defaults to '(index)'\n * @return Either the initial name, if unique, or the name with the suffix so that the name is unique\n */\nexport const getUniqueName = (name, otherNames, suffix = (n) => `(${n})`) => {\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = extname(name);\n newName = `${basename(name, ext)} ${suffix(i++)}${ext}`;\n }\n return newName;\n};\nexport const encodeFilePath = function (path) {\n const pathSections = (path.startsWith('/') ? path : `/${path}`).split('/');\n let relativePath = '';\n pathSections.forEach((section) => {\n if (section !== '') {\n relativePath += '/' + encodeURIComponent(section);\n }\n });\n return relativePath;\n};\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nexport const extractFilePaths = function (path) {\n const pathSections = path.split('/');\n const fileName = pathSections[pathSections.length - 1];\n const dirPath = pathSections.slice(0, pathSections.length - 1).join('/');\n return [dirPath, fileName];\n};\n/**\n * Generate a translated summary of an array of nodes\n * @param {Node[]} nodes the nodes to summarize\n * @return {string}\n */\nexport const getSummaryFor = (nodes) => {\n const fileCount = nodes.filter(node => node.type === FileType.File).length;\n const folderCount = nodes.filter(node => node.type === FileType.Folder).length;\n if (fileCount === 0) {\n return n('files', '{folderCount} folder', '{folderCount} folders', folderCount, { folderCount });\n }\n else if (folderCount === 0) {\n return n('files', '{fileCount} file', '{fileCount} files', fileCount, { fileCount });\n }\n if (fileCount === 1) {\n return n('files', '1 file and {folderCount} folder', '1 file and {folderCount} folders', folderCount, { folderCount });\n }\n if (folderCount === 1) {\n return n('files', '{fileCount} file and 1 folder', '{fileCount} files and 1 folder', fileCount, { fileCount });\n }\n return t('files', '{fileCount} files and {folderCount} folders', { fileCount, folderCount });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',_vm._g({staticClass:\"files-list__row\",class:{\n\t\t'files-list__row--dragover': _vm.dragover,\n\t\t'files-list__row--loading': _vm.isLoading,\n\t\t'files-list__row--active': _vm.isActive,\n\t},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag}},_vm.rowListeners),[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"source\":_vm.source,\"dragover\":_vm.dragover},nativeOn:{\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":_vm.source},on:{\"click\":_vm.execDefaultAction}})],1),_vm._v(\" \"),_c('FileEntryActions',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRenamingSmallScreen),expression:\"!isRenamingSmallScreen\"}],ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}}),_vm._v(\" \"),(!_vm.compact && _vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:(_vm.sizeOpacity),attrs:{\"data-cy-files-list-row-size\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,attrs:{\"data-cy-files-list-row-column-custom\":column.id},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useDragAndDropStore = defineStore('dragging', {\n state: () => ({\n dragging: [],\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'dragging', selection);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'dragging', []);\n },\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nexport const useRenamingStore = function (...args) {\n const store = defineStore('renaming', {\n state: () => ({\n renamingNode: undefined,\n newName: '',\n }),\n });\n const renamingStore = store(...args);\n // Make sure we only register the listeners once\n if (!renamingStore._initialized) {\n subscribe('files:node:rename', function (node) {\n renamingStore.renamingNode = node;\n renamingStore.newName = node.basename;\n });\n renamingStore._initialized = true;\n }\n return renamingStore;\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileMultiple.vue?vue&type=template&id=065722db\"\nimport script from \"./FileMultiple.vue?vue&type=script&lang=js\"\nexport * from \"./FileMultiple.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-multiple-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=5c04f969\"\nimport script from \"./Folder.vue?vue&type=script&lang=js\"\nexport * from \"./Folder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list-drag-image\"},[_c('span',{staticClass:\"files-list-drag-image__icon\"},[_c('span',{ref:\"previewImg\"}),_vm._v(\" \"),(_vm.isSingleFolder)?_c('FolderIcon'):_c('FileMultipleIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list-drag-image__name\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropPreview.vue?vue&type=template&id=578d5cf6\"\nimport script from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropPreview.vue?vue&type=style&index=0&id=578d5cf6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DragAndDropPreview from '../components/DragAndDropPreview.vue';\nimport Vue from 'vue';\nconst Preview = Vue.extend(DragAndDropPreview);\nlet preview;\nexport const getDragAndDropPreview = async (nodes) => {\n return new Promise((resolve) => {\n if (!preview) {\n preview = new Preview().$mount();\n document.body.appendChild(preview.$el);\n }\n preview.update(nodes);\n preview.$on('loaded', () => {\n resolve(preview.$el);\n preview.$off('loaded');\n });\n });\n};\n","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: 3 });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // For now the only restriction is that a shared file\n // cannot be copied if the download is disabled\n return canDownload(nodes);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { Permission, FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport logger from '../logger';\nimport { getUniqueName } from '../utils/fileUtils';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), copySuffix);\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files is locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We only want to show folders that we can create nodes in\n return (n.permissions & Permission.CREATE) !== 0\n // We don't want to show the current nodes in the file picker\n && !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((_selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2024 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { extname, join } from 'path';\nimport { FileType, Permission, Folder, File as NcFile, NodeStatus, Node, View } from '@nextcloud/files';\nimport { generateUrl } from '@nextcloud/router';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Upload, getUploader } from '@nextcloud/upload';\nimport { vOnClickOutside } from '@vueuse/components';\nimport Vue, { defineComponent } from 'vue';\nimport { action as sidebarAction } from '../actions/sidebarAction.ts';\nimport { getDragAndDropPreview } from '../utils/dragUtils.ts';\nimport { handleCopyMoveNodeTo } from '../actions/moveOrCopyAction.ts';\nimport { hashCode } from '../utils/hashUtils.ts';\nimport { MoveCopyAction } from '../actions/moveOrCopyActionUtils.ts';\nimport logger from '../logger.js';\nVue.directive('onClickOutside', vOnClickOutside);\nexport default defineComponent({\n props: {\n source: {\n type: [Folder, NcFile, Node],\n required: true,\n },\n nodes: {\n type: Array,\n required: true,\n },\n filesListWidth: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n loading: '',\n dragover: false,\n gridMode: false,\n };\n },\n computed: {\n currentView() {\n return this.$navigation.active;\n },\n currentDir() {\n // Remove any trailing slash but leave root slash\n return (this.$route?.query?.dir?.toString() || '/').replace(/^(.+)\\/$/, '$1');\n },\n currentFileId() {\n return this.$route.params?.fileid || this.$route.query?.fileid || null;\n },\n fileid() {\n return this.source?.fileid;\n },\n uniqueId() {\n return hashCode(this.source.source);\n },\n isLoading() {\n return this.source.status === NodeStatus.LOADING;\n },\n extension() {\n if (this.source.attributes?.displayName) {\n return extname(this.source.attributes.displayName);\n }\n return this.source.extension || '';\n },\n displayName() {\n const ext = this.extension;\n const name = (this.source.attributes.displayName\n || this.source.basename);\n // Strip extension from name if defined\n return !ext ? name : name.slice(0, 0 - ext.length);\n },\n draggingFiles() {\n return this.draggingStore.dragging;\n },\n selectedFiles() {\n return this.selectionStore.selected;\n },\n isSelected() {\n return this.fileid && this.selectedFiles.includes(this.fileid);\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n isRenamingSmallScreen() {\n return this.isRenaming && this.filesListWidth < 512;\n },\n isActive() {\n return this.fileid?.toString?.() === this.currentFileId?.toString?.();\n },\n canDrag() {\n if (this.isRenaming) {\n return false;\n }\n const canDrag = (node) => {\n return (node?.permissions & Permission.UPDATE) !== 0;\n };\n // If we're dragging a selection, we need to check all files\n if (this.selectedFiles.length > 0) {\n const nodes = this.selectedFiles.map(fileid => this.filesStore.getNode(fileid));\n return nodes.every(canDrag);\n }\n return canDrag(this.source);\n },\n canDrop() {\n if (this.source.type !== FileType.Folder) {\n return false;\n }\n // If the current folder is also being dragged, we can't drop it on itself\n if (this.fileid && this.draggingFiles.includes(this.fileid)) {\n return false;\n }\n return (this.source.permissions & Permission.CREATE) !== 0;\n },\n openedMenu: {\n get() {\n return this.actionsMenuStore.opened === this.uniqueId.toString();\n },\n set(opened) {\n // Only reset when opening a new menu\n if (opened) {\n // Reset any right click position override on close\n // Wait for css animation to be done\n const root = this.$root.$el;\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n this.actionsMenuStore.opened = opened ? this.uniqueId.toString() : null;\n },\n },\n },\n watch: {\n /**\n * When the source changes, reset the preview\n * and fetch the new one.\n */\n source() {\n this.resetState();\n },\n },\n beforeDestroy() {\n this.resetState();\n },\n methods: {\n resetState() {\n // Reset loading state\n this.loading = '';\n this.$refs.preview.reset();\n // Close menu\n this.openedMenu = false;\n },\n // Open the actions menu on right click\n onRightClick(event) {\n // If already opened, fallback to default browser\n if (this.openedMenu) {\n return;\n }\n // The grid mode is compact enough to not care about\n // the actions menu mouse position\n if (!this.gridMode) {\n const root = this.$root.$el;\n const contentRect = root.getBoundingClientRect();\n // Using Math.min/max to prevent the menu from going out of the AppContent\n // 200 = max width of the menu\n root.style.setProperty('--mouse-pos-x', Math.max(contentRect.left, Math.min(event.clientX, event.clientX - 200)) + 'px');\n root.style.setProperty('--mouse-pos-y', Math.max(contentRect.top, event.clientY - contentRect.top) + 'px');\n }\n // If the clicked row is in the selection, open global menu\n const isMoreThanOneSelected = this.selectedFiles.length > 1;\n this.actionsMenuStore.opened = this.isSelected && isMoreThanOneSelected ? 'global' : this.uniqueId.toString();\n // Prevent any browser defaults\n event.preventDefault();\n event.stopPropagation();\n },\n execDefaultAction(event) {\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }));\n return false;\n }\n this.$refs.actions.execDefaultAction(event);\n },\n openDetailsIfAvailable(event) {\n event.preventDefault();\n event.stopPropagation();\n if (sidebarAction?.enabled?.([this.source], this.currentView)) {\n sidebarAction.exec(this.source, this.currentView, this.currentDir);\n }\n },\n onDragOver(event) {\n this.dragover = this.canDrop;\n if (!this.canDrop) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n // Handle copy/move drag and drop\n if (event.ctrlKey) {\n event.dataTransfer.dropEffect = 'copy';\n }\n else {\n event.dataTransfer.dropEffect = 'move';\n }\n },\n onDragLeave(event) {\n // Counter bubbling, make sure we're ending the drag\n // only when we're leaving the current element\n const currentTarget = event.currentTarget;\n if (currentTarget?.contains(event.relatedTarget)) {\n return;\n }\n this.dragover = false;\n },\n async onDragStart(event) {\n event.stopPropagation();\n if (!this.canDrag || !this.fileid) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n logger.debug('Drag started', { event });\n // Make sure that we're not dragging a file like the preview\n event.dataTransfer?.clearData?.();\n // Reset any renaming\n this.renamingStore.$reset();\n // Dragging set of files, if we're dragging a file\n // that is already selected, we use the entire selection\n if (this.selectedFiles.includes(this.fileid)) {\n this.draggingStore.set(this.selectedFiles);\n }\n else {\n this.draggingStore.set([this.fileid]);\n }\n const nodes = this.draggingStore.dragging\n .map(fileid => this.filesStore.getNode(fileid));\n const image = await getDragAndDropPreview(nodes);\n event.dataTransfer?.setDragImage(image, -10, -10);\n },\n onDragEnd() {\n this.draggingStore.reset();\n this.dragover = false;\n logger.debug('Drag ended');\n },\n async onDrop(event) {\n // skip if native drop like text drag and drop from files names\n if (!this.draggingFiles && !event.dataTransfer?.files?.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n // If another button is pressed, cancel it\n // This allows cancelling the drag with the right click\n if (!this.canDrop || event.button !== 0) {\n return;\n }\n const isCopy = event.ctrlKey;\n this.dragover = false;\n logger.debug('Dropped', { event, selection: this.draggingFiles });\n // Check whether we're uploading files\n if (event.dataTransfer?.files\n && event.dataTransfer.files.length > 0) {\n const uploader = getUploader();\n // Check whether the uploader is in the same folder\n // This should never happen™\n if (!uploader.destination.path.startsWith(uploader.destination.path)) {\n logger.error('The current uploader destination is not the same as the current folder');\n showError(t('files', 'An error occurred while uploading. Please try again later.'));\n return;\n }\n logger.debug(`Uploading files to ${this.source.path}`);\n const queue = [];\n for (const file of event.dataTransfer.files) {\n // Because the uploader destination is properly set to the current folder\n // we can just use the basename as the relative path.\n queue.push(uploader.upload(join(this.source.basename, file.name), file));\n }\n const results = await Promise.allSettled(queue);\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while uploading files', { errors });\n showError(t('files', 'Some files could not be uploaded'));\n return;\n }\n logger.debug('Files uploaded successfully');\n showSuccess(t('files', 'Files uploaded successfully'));\n return;\n }\n const nodes = this.draggingFiles.map(fileid => this.filesStore.getNode(fileid));\n nodes.forEach(async (node) => {\n Vue.set(node, 'status', NodeStatus.LOADING);\n try {\n // TODO: resolve potential conflicts prior and force overwrite\n await handleCopyMoveNodeTo(node, this.source, isCopy ? MoveCopyAction.COPY : MoveCopyAction.MOVE);\n }\n catch (error) {\n logger.error('Error while moving file', { error });\n if (isCopy) {\n showError(t('files', 'Could not copy {file}. {message}', { file: node.basename, message: error.message || '' }));\n }\n else {\n showError(t('files', 'Could not move {file}. {message}', { file: node.basename, message: error.message || '' }));\n }\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n // Reset selection after we dropped the files\n // if the dropped files are within the selection\n if (this.draggingFiles.some(fileid => this.selectedFiles.includes(fileid))) {\n logger.debug('Dropped selection, resetting select store...');\n this.selectionStore.reset();\n }\n },\n t,\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n return str.split('').reduce(function (a, b) {\n a = ((a << 5) - a) + b.charCodeAt(0);\n return a & a;\n }, 0);\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=08a118c6\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-actions\",attrs:{\"data-cy-files-list-row-actions\":\"\"}},[_vm._l((_vm.enabledRenderActions),function(action){return _c('CustomElementRender',{key:action.id,staticClass:\"files-list__row-action--inline\",class:'files-list__row-action-' + action.id,attrs:{\"current-view\":_vm.currentView,\"render\":action.renderInline,\"source\":_vm.source}})}),_vm._v(\" \"),_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.getBoundariesElement,\"container\":_vm.getBoundariesElement,\"force-name\":true,\"type\":\"tertiary\",\"force-menu\":_vm.enabledInlineActions.length === 0 /* forceMenu only if no inline actions */,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event},\"close\":function($event){_vm.openedSubmenu = null}}},[_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,ref:`action-${action.id}`,refInFor:true,class:{\n\t\t\t\t[`files-list__row-action-${action.id}`]: true,\n\t\t\t\t[`files-list__row-action--menu`]: _vm.isMenu(action.id)\n\t\t\t},attrs:{\"close-after-click\":!_vm.isMenu(action.id),\"data-cy-files-list-row-action\":action.id,\"is-menu\":_vm.isMenu(action.id),\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.mountType === 'shared' && action.id === 'sharing-status' ? '' : _vm.actionDisplayName(action))+\"\\n\\t\\t\")])}),_vm._v(\" \"),(_vm.openedSubmenu && _vm.enabledSubmenuActions[_vm.openedSubmenu?.id])?[_c('NcActionButton',{staticClass:\"files-list__row-action-back\",on:{\"click\":function($event){return _vm.onBackToMenuClick(_vm.openedSubmenu)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeftIcon')]},proxy:true}],null,false,3001860362)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(_vm.openedSubmenu))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.enabledSubmenuActions[_vm.openedSubmenu?.id]),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"files-list__row-action--submenu\",class:`files-list__row-action-${action.id}`,attrs:{\"close-after-click\":false /* never close submenu, just go back */,\"data-cy-files-list-row-action\":action.id,\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(action))+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=187c55d7\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=750bcc07\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=670325ac&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=670325ac&prod&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/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=670325ac&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=670325ac&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryActions.vue?vue&type=template&id=670325ac&scoped=true\"\nimport script from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryActions.vue?vue&type=style&index=0&id=670325ac&prod&lang=scss\"\nimport style1 from \"./FileEntryActions.vue?vue&type=style&index=1&id=670325ac&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"670325ac\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[(_vm.isLoading)?_c('NcLoadingIcon'):_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.ariaLabel,\"checked\":_vm.isSelected},on:{\"update:checked\":_vm.onSelectionChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function (...args) {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n },\n });\n const keyboardStore = store(...args);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","import { render, staticRenderFns } from \"./FileEntryCheckbox.vue?vue&type=template&id=6992c304\"\nimport script from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isRenaming)?_c('form',{directives:[{name:\"on-click-outside\",rawName:\"v-on-click-outside\",value:(_vm.stopRenaming),expression:\"stopRenaming\"}],staticClass:\"files-list__row-rename\",attrs:{\"aria-label\":_vm.t('files', 'Rename file')},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"renameInput\",attrs:{\"label\":_vm.renameLabel,\"autofocus\":true,\"minlength\":1,\"required\":true,\"value\":_vm.newName,\"enterkeyhint\":\"done\"},on:{\"update:value\":function($event){_vm.newName=$event},\"keyup\":[_vm.checkInputValidity,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.stopRenaming.apply(null, arguments)}]}})],1):_c(_vm.linkTo.is,_vm._b({ref:\"basename\",tag:\"component\",staticClass:\"files-list__row-name-link\",attrs:{\"aria-hidden\":_vm.isRenaming,\"data-cy-files-list-row-name-link\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'component',_vm.linkTo.params,false),[_c('span',{staticClass:\"files-list__row-name-text\"},[_c('span',{staticClass:\"files-list__row-name-\",domProps:{\"textContent\":_vm._s(_vm.displayName)}}),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-ext\",domProps:{\"textContent\":_vm._s(_vm.extension)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntryName.vue?vue&type=template&id=637facfc\"\nimport script from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryName.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?[(_vm.dragover)?_vm._m(0):[_vm._m(1),_vm._v(\" \"),(_vm.folderOverlay)?_c(_vm.folderOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay\"}):_vm._e()]]:(_vm.previewUrl && _vm.backgroundFailed !== true)?_c('img',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",class:{'files-list__row-icon-preview--loaded': _vm.backgroundFailed === false},attrs:{\"alt\":\"\",\"loading\":\"lazy\",\"src\":_vm.previewUrl},on:{\"error\":function($event){_vm.backgroundFailed = true},\"load\":function($event){_vm.backgroundFailed = false}}}):_vm._m(2),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\"},[_vm._m(3)],1):_vm._e(),_vm._v(\" \"),(_vm.fileOverlay)?_c(_vm.fileOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay files-list__row-icon-overlay--file\"}):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderOpenIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FileIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FavoriteIcon')\n}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=5c8d96c6\"\nimport script from \"./File.vue?vue&type=script&lang=js\"\nexport * from \"./File.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./FolderOpen.vue?vue&type=template&id=3b29b1d5\"\nimport script from \"./FolderOpen.vue?vue&type=script&lang=js\"\nexport * from \"./FolderOpen.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-open-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Key.vue?vue&type=template&id=aa295eae\"\nimport script from \"./Key.vue?vue&type=script&lang=js\"\nexport * from \"./Key.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon key-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Network.vue?vue&type=template&id=7c7d2907\"\nimport script from \"./Network.vue?vue&type=script&lang=js\"\nexport * from \"./Network.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon network-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=4d7171be\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tag-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=34d1e782\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.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!./CollectivesIcon.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./CollectivesIcon.vue?vue&type=template&id=18541dcc\"\nimport script from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\nexport * from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon collectives-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcIconSvgWrapper',{staticClass:\"favorite-marker-icon\",attrs:{\"name\":_vm.t('files', 'Favorite'),\"svg\":_vm.StarSvg}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FavoriteIcon.vue?vue&type=template&id=77afa6dc&scoped=true\"\nimport script from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FavoriteIcon.vue?vue&type=style&index=0&id=77afa6dc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77afa6dc\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","import { render, staticRenderFns } from \"./FileEntryPreview.vue?vue&type=template&id=87d1b8a6\"\nimport script from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=6ae0d517\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row\",class:{'files-list__row--active': _vm.isActive, 'files-list__row--dragover': _vm.dragover, 'files-list__row--loading': _vm.isLoading},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag},on:{\"contextmenu\":_vm.onRightClick,\"dragover\":_vm.onDragOver,\"dragleave\":_vm.onDragLeave,\"dragstart\":_vm.onDragStart,\"dragend\":_vm.onDragEnd,\"drop\":_vm.onDrop}},[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"dragover\":_vm.dragover,\"grid-mode\":true,\"source\":_vm.source},nativeOn:{\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"nodes\":_vm.nodes,\"source\":_vm.source},on:{\"click\":_vm.execDefaultAction}})],1),_vm._v(\" \"),_c('FileEntryActions',{ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./FileEntryGrid.vue?vue&type=template&id=337076f0\"\nimport script from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enabled),expression:\"enabled\"}],class:`files-list__header-${_vm.header.id}`},[_c('span',{ref:\"mount\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=0434f153\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-mtime\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableFooter.vue?vue&type=template&id=a85bde20&scoped=true\"\nimport script from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a85bde20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row-head\"},[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",attrs:{\"aria-sort\":_vm.ariaSortForMode('basename')}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{ 'files-list__column--sortable': _vm.isSizeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('size')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-mtime\",class:{ 'files-list__column--sortable': _vm.isMtimeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('mtime')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Modified'),\"mode\":\"mtime\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column),attrs:{\"aria-sort\":_vm.ariaSortForMode(column.id)}},[(!!column.sort)?_c('FilesListTableHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\")])],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nimport { Navigation, View } from '@nextcloud/files';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection !== 'desc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{class:['files-list__column-sort-button', {\n\t\t'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode,\n\t\t'files-list__column-sort-button--size': _vm.sortingMode === 'size',\n\t}],attrs:{\"alignment\":_vm.mode === 'size' ? 'end' : 'start-reverse',\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.toggleSortBy(_vm.mode)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{staticClass:\"files-list__column-sort-button-icon\"}):_c('MenuDown',{staticClass:\"files-list__column-sort-button-icon\"})]},proxy:true}])},[_vm._v(\" \"),_c('span',{staticClass:\"files-list__column-sort-button-text\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderButton.vue?vue&type=template&id=2dd1845e&scoped=true\"\nimport script from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dd1845e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeader.vue?vue&type=template&id=952162c2&scoped=true\"\nimport script from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeader.vue?vue&type=style&index=0&id=952162c2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"952162c2\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n mounted() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.filesListWidth = fileListEl?.clientWidth ?? null;\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list\",attrs:{\"data-cy-files-list\":\"\"}},[_c('div',{ref:\"before\",staticClass:\"files-list__before\"},[_vm._t(\"before\")],2),_vm._v(\" \"),(!!_vm.$scopedSlots['header-overlay'])?_c('div',{staticClass:\"files-list__thead-overlay\"},[_vm._t(\"header-overlay\")],2):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"files-list__table\",class:{ 'files-list__table--with-thead-overlay': !!_vm.$scopedSlots['header-overlay'] }},[(_vm.caption)?_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.caption)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"files-list__thead\",attrs:{\"data-cy-files-list-thead\":\"\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"files-list__tbody\",class:_vm.gridMode ? 'files-list__tbody--grid' : 'files-list__tbody--list',style:(_vm.tbodyStyle),attrs:{\"data-cy-files-list-tbody\":\"\"}},_vm._l((_vm.renderedItems),function({key, item},i){return _c(_vm.dataComponent,_vm._b({key:key,tag:\"component\",attrs:{\"source\":item,\"index\":i}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"files-list__tfoot\",attrs:{\"data-cy-files-list-tfoot\":\"\"}},[_vm._t(\"footer\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=6932388d\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list__column files-list__row-actions-batch\"},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-name\":true,\"inline\":_vm.inlineActions,\"menu-name\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderActions.vue?vue&type=template&id=d939292c&scoped=true\"\nimport script from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=d939292c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d939292c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('VirtualList',{ref:\"table\",attrs:{\"data-component\":_vm.userConfig.grid_view ? _vm.FileEntryGrid : _vm.FileEntry,\"data-key\":'source',\"data-sources\":_vm.nodes,\"grid-mode\":_vm.userConfig.grid_view,\"extra-props\":{\n\t\tisMtimeAvailable: _vm.isMtimeAvailable,\n\t\tisSizeAvailable: _vm.isSizeAvailable,\n\t\tnodes: _vm.nodes,\n\t\tfilesListWidth: _vm.filesListWidth,\n\t},\"scroll-to-index\":_vm.scrollToIndex,\"caption\":_vm.caption},scopedSlots:_vm._u([(!_vm.isNoneSelected)?{key:\"header-overlay\",fn:function(){return [_c('FilesListTableHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}})]},proxy:true}:null,{key:\"before\",fn:function(){return _vm._l((_vm.sortedHeaders),function(header){return _c('FilesListHeader',{key:header.id,attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"header\":header}})})},proxy:true},{key:\"header\",fn:function(){return [_c('FilesListTableHeader',{ref:\"thead\",attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('FilesListTableFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=48fb0b13&scoped=true\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=48fb0b13&prod&scoped=true&lang=scss\"\nimport style1 from \"./FilesListVirtual.vue?vue&type=style&index=1&id=48fb0b13&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48fb0b13\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowDown.vue?vue&type=template&id=547c388d\"\nimport script from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-down-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { davGetClient, davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { emit } from '@nextcloud/event-bus';\nimport { getUploader } from '@nextcloud/upload';\nimport { joinPaths } from '@nextcloud/paths';\nimport { showError } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport logger from '../logger.js';\nexport const handleDrop = async (data) => {\n // TODO: Maybe handle `getAsFileSystemHandle()` in the future\n const uploads = [];\n for (const item of data.items) {\n if (item.kind !== 'file') {\n logger.debug('Skipping dropped item', { kind: item.kind, type: item.type });\n continue;\n }\n // MDN recommends to try both, as it might be renamed in the future\n const entry = item?.getAsEntry?.() ?? item.webkitGetAsEntry();\n // Handle browser issues if Filesystem API is not available. Fallback to File API\n if (entry === null) {\n logger.debug('Could not get FilesystemEntry of item, falling back to file');\n const file = item.getAsFile();\n if (file === null) {\n logger.warn('Could not process DataTransferItem', { type: item.type, kind: item.kind });\n showError(t('files', 'One of the dropped files could not be processed'));\n }\n else {\n uploads.push(await handleFileUpload(file));\n }\n }\n else {\n logger.debug('Handle recursive upload', { entry: entry.name });\n // Use Filesystem API\n uploads.push(...await handleRecursiveUpload(entry));\n }\n }\n return uploads;\n};\nconst handleFileUpload = async (file, path = '') => {\n const uploader = getUploader();\n try {\n return await uploader.upload(`${path}${file.name}`, file);\n }\n catch (e) {\n showError(t('files', 'Uploading \"{filename}\" failed', { filename: file.name }));\n throw e;\n }\n};\nconst handleRecursiveUpload = async (entry, path = '') => {\n if (entry.isFile) {\n return [\n await new Promise((resolve, reject) => {\n entry.file(async (file) => resolve(await handleFileUpload(file, path)), (error) => reject(error));\n }),\n ];\n }\n else {\n const directory = entry;\n // TODO: Implement this on `@nextcloud/upload`\n const absolutPath = joinPaths(davRootPath, getUploader().destination.path, path, directory.name);\n logger.debug('Handle directory recursively', { name: directory.name, absolutPath });\n const davClient = davGetClient();\n const dirExists = await davClient.exists(absolutPath);\n if (!dirExists) {\n logger.debug('Directory does not exist, creating it', { absolutPath });\n await davClient.createDirectory(absolutPath, { recursive: true });\n const stat = await davClient.stat(absolutPath, { details: true, data: davGetDefaultPropfind() });\n emit('files:node:created', davResultToNode(stat.data));\n }\n const entries = await readDirectory(directory);\n // sorted so we upload files first before starting next level\n const promises = entries.sort((a) => a.isFile ? -1 : 1)\n .map((file) => handleRecursiveUpload(file, `${path}${directory.name}/`));\n return (await Promise.all(promises)).flat();\n }\n};\n/**\n * Read a directory using Filesystem API\n * @param directory the directory to read\n */\nfunction readDirectory(directory) {\n const dirReader = directory.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n const getEntries = () => {\n dirReader.readEntries((results) => {\n if (results.length) {\n entries.push(...results);\n getEntries();\n }\n else {\n resolve(entries);\n }\n }, (error) => {\n reject(error);\n });\n };\n getEntries();\n });\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragover),expression:\"dragover\"}],staticClass:\"files-list__drag-drop-notice\",on:{\"drop\":_vm.onDrop}},[_c('div',{staticClass:\"files-list__drag-drop-notice-wrapper\"},[(_vm.canUpload && !_vm.isQuotaExceeded)?[_c('TrayArrowDownIcon',{attrs:{\"size\":48}}),_vm._v(\" \"),_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Drag and drop files here to upload'))+\"\\n\\t\\t\\t\")])]:[_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.cantUploadLabel)+\"\\n\\t\\t\\t\")])]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropNotice.vue?vue&type=template&id=46caa8f8&scoped=true\"\nimport script from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropNotice.vue?vue&type=style&index=0&id=46caa8f8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46caa8f8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=b2731ace&scoped=true\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=b2731ace&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b2731ace\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesApp.vue?vue&type=template&id=11e0f2dd\"\nimport script from \"./FilesApp.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesApp.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport { getNavigation } from '@nextcloud/files';\nimport { getRequestToken } from '@nextcloud/auth';\nimport router from './router/router';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\nimport FilesApp from './FilesApp.vue';\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken());\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n// Init Navigation Service\n// This only works with Vue 2 - with Vue 3 this will not modify the source but return just a oberserver\nconst Navigation = Vue.observable(getNavigation());\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\nconst FilesAppVue = Vue.extend(FilesApp);\nnew FilesAppVue({\n router,\n pinia,\n}).$mount('#content');\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n get name() {\n return this._router.currentRoute.name;\n }\n get query() {\n return this._router.currentRoute.query || {};\n }\n get params() {\n return this._router.currentRoute.params || {};\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27/%3e%3c/svg%3e\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20height=%2716%27%20width=%2716%27%3e%3cpath%20d=%27M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z%27%20style=%27fill-opacity:1;fill:%23ffffff%27/%3e%3c/svg%3e\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@charset \"UTF-8\";\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n.toastify.dialogs {\n min-width: 200px;\n background: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\n padding: 0 12px;\n margin-top: 45px;\n position: fixed;\n z-index: 10100;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-container {\n display: flex;\n align-items: center;\n}\n.toastify.dialogs .toast-undo-button,\n.toastify.dialogs .toast-close {\n position: static;\n overflow: hidden;\n box-sizing: border-box;\n min-width: 44px;\n height: 100%;\n padding: 12px;\n white-space: nowrap;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n min-height: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close,\n.toastify.dialogs .toast-close.toast-close {\n text-indent: 0;\n opacity: .4;\n border: none;\n min-height: 44px;\n margin-left: 10px;\n font-size: 0;\n}\n.toastify.dialogs .toast-undo-button.toast-close:before,\n.toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n content: \" \";\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 16px;\n height: 16px;\n}\n.toastify.dialogs .toast-undo-button.toast-undo-button,\n.toastify.dialogs .toast-close.toast-undo-button {\n height: calc(100% - 6px);\n margin: 3px 3px 3px 12px;\n}\n.toastify.dialogs .toast-undo-button:hover,\n.toastify.dialogs .toast-undo-button:focus,\n.toastify.dialogs .toast-undo-button:active,\n.toastify.dialogs .toast-close:hover,\n.toastify.dialogs .toast-close:focus,\n.toastify.dialogs .toast-close:active {\n cursor: pointer;\n opacity: 1;\n}\n.toastify.dialogs.toastify-top {\n right: 10px;\n}\n.toastify.dialogs.toast-with-click {\n cursor: pointer;\n}\n.toastify.dialogs.toast-error {\n border-left: 3px solid var(--color-error);\n}\n.toastify.dialogs.toast-info {\n border-left: 3px solid var(--color-primary);\n}\n.toastify.dialogs.toast-warning {\n border-left: 3px solid var(--color-warning);\n}\n.toastify.dialogs.toast-success,\n.toastify.dialogs.toast-undo {\n border-left: 3px solid var(--color-success);\n}\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n}\n._file-picker__file-icon_1vgv4_5 {\n width: 32px;\n height: 32px;\n min-width: 32px;\n min-height: 32px;\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n justify-content: center;\n}\ntr.file-picker__row[data-v-6aded0d9] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-6aded0d9] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\n padding-inline: 2px 0;\n}\n@keyframes gradient-6aded0d9 {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n to {\n background-position: 0% 50%;\n }\n}\n.loading-row .row-checkbox[data-v-6aded0d9] {\n text-align: center !important;\n}\n.loading-row span[data-v-6aded0d9] {\n display: inline-block;\n height: 24px;\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\n background-size: 600px 100%;\n border-radius: var(--border-radius);\n animation: gradient-6aded0d9 12s ease infinite;\n}\n.loading-row .row-wrapper[data-v-6aded0d9] {\n display: inline-flex;\n align-items: center;\n}\n.loading-row .row-checkbox span[data-v-6aded0d9] {\n width: 24px;\n}\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\n margin-inline-start: 6px;\n width: 130px;\n}\n.loading-row .row-size span[data-v-6aded0d9] {\n width: 80px;\n}\n.loading-row .row-modified span[data-v-6aded0d9] {\n width: 90px;\n}\ntr.file-picker__row[data-v-48df4f27] {\n height: var(--row-height, 50px);\n}\ntr.file-picker__row td[data-v-48df4f27] {\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: none;\n}\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\n padding: 0 2px;\n}\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\n padding-inline: 14px 0;\n}\ntr.file-picker__row td.row-size[data-v-48df4f27] {\n text-align: end;\n padding-inline: 0 14px;\n}\ntr.file-picker__row td.row-name[data-v-48df4f27] {\n padding-inline: 2px 0;\n}\n.file-picker__row--selected[data-v-48df4f27] {\n background-color: var(--color-background-dark);\n}\n.file-picker__row[data-v-48df4f27]:hover {\n background-color: var(--color-background-hover);\n}\n.file-picker__name-container[data-v-48df4f27] {\n display: flex;\n justify-content: start;\n align-items: center;\n height: 100%;\n}\n.file-picker__file-name[data-v-48df4f27] {\n padding-inline-start: 6px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.file-picker__file-extension[data-v-48df4f27] {\n color: var(--color-text-maxcontrast);\n min-width: fit-content;\n}\n.file-picker__header-preview[data-v-d3c94818] {\n width: 22px;\n height: 32px;\n flex: 0 0 auto;\n}\n.file-picker__files[data-v-d3c94818] {\n margin: 2px;\n margin-inline-start: 12px;\n overflow: scroll auto;\n}\n.file-picker__files table[data-v-d3c94818] {\n width: 100%;\n max-height: 100%;\n table-layout: fixed;\n}\n.file-picker__files th[data-v-d3c94818] {\n position: sticky;\n z-index: 1;\n top: 0;\n background-color: var(--color-main-background);\n padding: 2px;\n}\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\n display: flex;\n}\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\n width: 44px;\n}\n.file-picker__files th.row-name[data-v-d3c94818] {\n width: 230px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] {\n width: 100px;\n}\n.file-picker__files th.row-modified[data-v-d3c94818] {\n width: 120px;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\n justify-content: start;\n flex-direction: row-reverse;\n}\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\n padding-inline: 16px 4px;\n}\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\n justify-content: end;\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\n color: var(--color-text-maxcontrast);\n}\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\n font-weight: 400;\n}\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\n flex-grow: 0 !important;\n}\n.file-picker__side[data-v-e96bec41] {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: .5rem;\n min-width: 200px;\n padding: 2px;\n overflow: auto;\n}\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\n justify-content: start;\n}\n.file-picker__filter-input[data-v-e96bec41] {\n margin-block: 7px;\n max-width: 260px;\n}\n@media (max-width: 736px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n}\n@media (max-width: 512px) {\n .file-picker__side[data-v-e96bec41] {\n flex-direction: row;\n min-width: unset;\n }\n .file-picker__filter-input[data-v-e96bec41] {\n max-width: unset;\n }\n}\n.file-picker__navigation {\n padding-inline: 8px 2px;\n}\n.file-picker__navigation,\n.file-picker__navigation * {\n box-sizing: border-box;\n}\n.file-picker__navigation .v-select.select {\n min-width: 220px;\n}\n@media (min-width: 513px) and (max-width: 736px) {\n .file-picker__navigation {\n gap: 11px;\n }\n}\n@media (max-width: 512px) {\n .file-picker__navigation {\n flex-direction: column-reverse !important;\n }\n}\n.file-picker__view[data-v-821451ce] {\n height: 50px;\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.file-picker__view h3[data-v-821451ce] {\n font-weight: 700;\n height: fit-content;\n margin: 0;\n}\n.file-picker__main[data-v-821451ce] {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n padding-inline: 2px;\n}\n.file-picker__main *[data-v-821451ce] {\n box-sizing: border-box;\n}\n[data-v-821451ce] .file-picker {\n height: min(80vh, 800px) !important;\n}\n@media (max-width: 512px) {\n [data-v-821451ce] .file-picker {\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\n }\n}\n[data-v-821451ce] .file-picker__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/dialogs/dist/style.css\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,gBAAgB;EAChB,gBAAgB;EAChB,8CAA8C;EAC9C,6BAA6B;EAC7B,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,mCAAmC;EACnC,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,2BAA2B;EAC3B,6BAA6B;EAC7B,aAAa;AACf;AACA;;EAEE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;AACd;AACA;;EAEE,yDAA8Q;EAC9Q,YAAY;EACZ,wCAAwC;EACxC,qBAAqB;EACrB,WAAW;EACX,YAAY;AACd;AACA;;EAEE,wBAAwB;EACxB,wBAAwB;AAC1B;AACA;;;;;;EAME,eAAe;EACf,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,eAAe;AACjB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;;EAEE,2CAA2C;AAC7C;AACA;EACE,yDAAsT;AACxT;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,4BAA4B;EAC5B,wBAAwB;EACxB,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;AACF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,qBAAqB;EACrB,YAAY;EACZ,oIAAoI;EACpI,2BAA2B;EAC3B,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,WAAW;AACb;AACA;EACE,wBAAwB;EACxB,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,+BAA+B;AACjC;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,yBAAyB;EACzB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,oCAAoC;EACpC,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,WAAW;EACX,yBAAyB;EACzB,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,UAAU;EACV,MAAM;EACN,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,gBAAgB;AAClB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;AACF;AACA;EACE;IACE,mBAAmB;IACnB,gBAAgB;EAClB;EACA;IACE,gBAAgB;EAClB;AACF;AACA;EACE,uBAAuB;AACzB;AACA;;EAEE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE;IACE,SAAS;EACX;AACF;AACA;EACE;IACE,yCAAyC;EAC3C;AACF;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,OAAO;EACP,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,mCAAmC;AACrC;AACA;EACE;IACE,oEAAoE;EACtE;AACF;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB\",\"sourcesContent\":[\"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 Julius Härtl \\n *\\n * @author Julius Härtl \\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n */\\n.toastify.dialogs {\\n min-width: 200px;\\n background: none;\\n background-color: var(--color-main-background);\\n color: var(--color-main-text);\\n box-shadow: 0 0 6px 0 var(--color-box-shadow);\\n padding: 0 12px;\\n margin-top: 45px;\\n position: fixed;\\n z-index: 10100;\\n border-radius: var(--border-radius);\\n display: flex;\\n align-items: center;\\n}\\n.toastify.dialogs .toast-undo-container {\\n display: flex;\\n align-items: center;\\n}\\n.toastify.dialogs .toast-undo-button,\\n.toastify.dialogs .toast-close {\\n position: static;\\n overflow: hidden;\\n box-sizing: border-box;\\n min-width: 44px;\\n height: 100%;\\n padding: 12px;\\n white-space: nowrap;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-color: transparent;\\n min-height: 0;\\n}\\n.toastify.dialogs .toast-undo-button.toast-close,\\n.toastify.dialogs .toast-close.toast-close {\\n text-indent: 0;\\n opacity: .4;\\n border: none;\\n min-height: 44px;\\n margin-left: 10px;\\n font-size: 0;\\n}\\n.toastify.dialogs .toast-undo-button.toast-close:before,\\n.toastify.dialogs .toast-close.toast-close:before {\\n background-image: url(\\\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'/%3e%3c/svg%3e\\\");\\n content: \\\" \\\";\\n filter: var(--background-invert-if-dark);\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n}\\n.toastify.dialogs .toast-undo-button.toast-undo-button,\\n.toastify.dialogs .toast-close.toast-undo-button {\\n height: calc(100% - 6px);\\n margin: 3px 3px 3px 12px;\\n}\\n.toastify.dialogs .toast-undo-button:hover,\\n.toastify.dialogs .toast-undo-button:focus,\\n.toastify.dialogs .toast-undo-button:active,\\n.toastify.dialogs .toast-close:hover,\\n.toastify.dialogs .toast-close:focus,\\n.toastify.dialogs .toast-close:active {\\n cursor: pointer;\\n opacity: 1;\\n}\\n.toastify.dialogs.toastify-top {\\n right: 10px;\\n}\\n.toastify.dialogs.toast-with-click {\\n cursor: pointer;\\n}\\n.toastify.dialogs.toast-error {\\n border-left: 3px solid var(--color-error);\\n}\\n.toastify.dialogs.toast-info {\\n border-left: 3px solid var(--color-primary);\\n}\\n.toastify.dialogs.toast-warning {\\n border-left: 3px solid var(--color-warning);\\n}\\n.toastify.dialogs.toast-success,\\n.toastify.dialogs.toast-undo {\\n border-left: 3px solid var(--color-success);\\n}\\n.theme--dark .toastify.dialogs .toast-close.toast-close:before {\\n background-image: url(\\\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%3e%3cpath%20d='M14%2012.3L12.3%2014%208%209.7%203.7%2014%202%2012.3%206.3%208%202%203.7%203.7%202%208%206.3%2012.3%202%2014%203.7%209.7%208z'%20style='fill-opacity:1;fill:%23ffffff'/%3e%3c/svg%3e\\\");\\n}\\n._file-picker__file-icon_1vgv4_5 {\\n width: 32px;\\n height: 32px;\\n min-width: 32px;\\n min-height: 32px;\\n background-repeat: no-repeat;\\n background-size: contain;\\n display: flex;\\n justify-content: center;\\n}\\ntr.file-picker__row[data-v-6aded0d9] {\\n height: var(--row-height, 50px);\\n}\\ntr.file-picker__row td[data-v-6aded0d9] {\\n cursor: pointer;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n border-bottom: none;\\n}\\ntr.file-picker__row td.row-checkbox[data-v-6aded0d9] {\\n padding: 0 2px;\\n}\\ntr.file-picker__row td[data-v-6aded0d9]:not(.row-checkbox) {\\n padding-inline: 14px 0;\\n}\\ntr.file-picker__row td.row-size[data-v-6aded0d9] {\\n text-align: end;\\n padding-inline: 0 14px;\\n}\\ntr.file-picker__row td.row-name[data-v-6aded0d9] {\\n padding-inline: 2px 0;\\n}\\n@keyframes gradient-6aded0d9 {\\n 0% {\\n background-position: 0% 50%;\\n }\\n 50% {\\n background-position: 100% 50%;\\n }\\n to {\\n background-position: 0% 50%;\\n }\\n}\\n.loading-row .row-checkbox[data-v-6aded0d9] {\\n text-align: center !important;\\n}\\n.loading-row span[data-v-6aded0d9] {\\n display: inline-block;\\n height: 24px;\\n background: linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));\\n background-size: 600px 100%;\\n border-radius: var(--border-radius);\\n animation: gradient-6aded0d9 12s ease infinite;\\n}\\n.loading-row .row-wrapper[data-v-6aded0d9] {\\n display: inline-flex;\\n align-items: center;\\n}\\n.loading-row .row-checkbox span[data-v-6aded0d9] {\\n width: 24px;\\n}\\n.loading-row .row-name span[data-v-6aded0d9]:last-of-type {\\n margin-inline-start: 6px;\\n width: 130px;\\n}\\n.loading-row .row-size span[data-v-6aded0d9] {\\n width: 80px;\\n}\\n.loading-row .row-modified span[data-v-6aded0d9] {\\n width: 90px;\\n}\\ntr.file-picker__row[data-v-48df4f27] {\\n height: var(--row-height, 50px);\\n}\\ntr.file-picker__row td[data-v-48df4f27] {\\n cursor: pointer;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n border-bottom: none;\\n}\\ntr.file-picker__row td.row-checkbox[data-v-48df4f27] {\\n padding: 0 2px;\\n}\\ntr.file-picker__row td[data-v-48df4f27]:not(.row-checkbox) {\\n padding-inline: 14px 0;\\n}\\ntr.file-picker__row td.row-size[data-v-48df4f27] {\\n text-align: end;\\n padding-inline: 0 14px;\\n}\\ntr.file-picker__row td.row-name[data-v-48df4f27] {\\n padding-inline: 2px 0;\\n}\\n.file-picker__row--selected[data-v-48df4f27] {\\n background-color: var(--color-background-dark);\\n}\\n.file-picker__row[data-v-48df4f27]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.file-picker__name-container[data-v-48df4f27] {\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n height: 100%;\\n}\\n.file-picker__file-name[data-v-48df4f27] {\\n padding-inline-start: 6px;\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.file-picker__file-extension[data-v-48df4f27] {\\n color: var(--color-text-maxcontrast);\\n min-width: fit-content;\\n}\\n.file-picker__header-preview[data-v-d3c94818] {\\n width: 22px;\\n height: 32px;\\n flex: 0 0 auto;\\n}\\n.file-picker__files[data-v-d3c94818] {\\n margin: 2px;\\n margin-inline-start: 12px;\\n overflow: scroll auto;\\n}\\n.file-picker__files table[data-v-d3c94818] {\\n width: 100%;\\n max-height: 100%;\\n table-layout: fixed;\\n}\\n.file-picker__files th[data-v-d3c94818] {\\n position: sticky;\\n z-index: 1;\\n top: 0;\\n background-color: var(--color-main-background);\\n padding: 2px;\\n}\\n.file-picker__files th .header-wrapper[data-v-d3c94818] {\\n display: flex;\\n}\\n.file-picker__files th.row-checkbox[data-v-d3c94818] {\\n width: 44px;\\n}\\n.file-picker__files th.row-name[data-v-d3c94818] {\\n width: 230px;\\n}\\n.file-picker__files th.row-size[data-v-d3c94818] {\\n width: 100px;\\n}\\n.file-picker__files th.row-modified[data-v-d3c94818] {\\n width: 120px;\\n}\\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue__wrapper {\\n justify-content: start;\\n flex-direction: row-reverse;\\n}\\n.file-picker__files th[data-v-d3c94818]:not(.row-size) .button-vue {\\n padding-inline: 16px 4px;\\n}\\n.file-picker__files th.row-size[data-v-d3c94818] .button-vue__wrapper {\\n justify-content: end;\\n}\\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper {\\n color: var(--color-text-maxcontrast);\\n}\\n.file-picker__files th[data-v-d3c94818] .button-vue__wrapper .button-vue__text {\\n font-weight: 400;\\n}\\n.file-picker__breadcrumbs[data-v-3bc9efa5] {\\n flex-grow: 0 !important;\\n}\\n.file-picker__side[data-v-e96bec41] {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n gap: .5rem;\\n min-width: 200px;\\n padding: 2px;\\n overflow: auto;\\n}\\n.file-picker__side[data-v-e96bec41] .button-vue__wrapper {\\n justify-content: start;\\n}\\n.file-picker__filter-input[data-v-e96bec41] {\\n margin-block: 7px;\\n max-width: 260px;\\n}\\n@media (max-width: 736px) {\\n .file-picker__side[data-v-e96bec41] {\\n flex-direction: row;\\n min-width: unset;\\n }\\n}\\n@media (max-width: 512px) {\\n .file-picker__side[data-v-e96bec41] {\\n flex-direction: row;\\n min-width: unset;\\n }\\n .file-picker__filter-input[data-v-e96bec41] {\\n max-width: unset;\\n }\\n}\\n.file-picker__navigation {\\n padding-inline: 8px 2px;\\n}\\n.file-picker__navigation,\\n.file-picker__navigation * {\\n box-sizing: border-box;\\n}\\n.file-picker__navigation .v-select.select {\\n min-width: 220px;\\n}\\n@media (min-width: 513px) and (max-width: 736px) {\\n .file-picker__navigation {\\n gap: 11px;\\n }\\n}\\n@media (max-width: 512px) {\\n .file-picker__navigation {\\n flex-direction: column-reverse !important;\\n }\\n}\\n.file-picker__view[data-v-821451ce] {\\n height: 50px;\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n}\\n.file-picker__view h3[data-v-821451ce] {\\n font-weight: 700;\\n height: fit-content;\\n margin: 0;\\n}\\n.file-picker__main[data-v-821451ce] {\\n box-sizing: border-box;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n min-height: 0;\\n flex: 1;\\n padding-inline: 2px;\\n}\\n.file-picker__main *[data-v-821451ce] {\\n box-sizing: border-box;\\n}\\n[data-v-821451ce] .file-picker {\\n height: min(80vh, 800px) !important;\\n}\\n@media (max-width: 512px) {\\n [data-v-821451ce] .file-picker {\\n height: calc(100% - 16px - var(--default-clickable-area)) !important;\\n }\\n}\\n[data-v-821451ce] .file-picker__content {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-af4c69fa] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-af4c69fa] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-af4c69fa] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\n animation: breathing-af4c69fa 3s ease-out infinite normal;\n}\n@keyframes breathing-af4c69fa {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-7900cbe9.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-af4c69fa] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-af4c69fa] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-af4c69fa] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-af4c69fa] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-af4c69fa] {\\n animation: breathing-af4c69fa 3s ease-out infinite normal;\\n}\\n@keyframes breathing-af4c69fa {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.breadcrumb[data-v-1c4866bc]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-1c4866bc] a{cursor:pointer !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA\",\"sourcesContent\":[\"\\n.breadcrumb {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\n\\t::v-deep a {\\n\\t\\tcursor: pointer !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__drag-drop-notice[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-46caa8f8]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-46caa8f8]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropNotice.vue\"],\"names\":[],\"mappings\":\"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA\",\"sourcesContent\":[\"\\n.files-list__drag-drop-notice {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\t// Breadcrumbs height + row thead height\\n\\tmin-height: calc(58px + 55px);\\n\\tmargin: 0;\\n\\tuser-select: none;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: var(--color-main-background);\\n\\tborder-color: black;\\n\\n\\th3 {\\n\\t\\tmargin-left: 16px;\\n\\t\\tcolor: inherit;\\n\\t}\\n\\n\\t&-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\theight: 15vh;\\n\\t\\tmax-height: 70%;\\n\\t\\tpadding: 0 5vw;\\n\\t\\tborder: 2px var(--color-border-dark) dashed;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropPreview.vue\"],\"names\":[],\"mappings\":\"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n$size: 32px;\\n$stack-shift: 6px;\\n\\n.files-list-drag-image {\\n\\tposition: absolute;\\n\\ttop: -9999px;\\n\\tleft: -9999px;\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\tpadding: 6px 12px;\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__icon,\\n\\t.files-list__row-icon {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\toverflow: visible;\\n\\t\\tmargin-right: 12px;\\n\\n\\t\\timg {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t&.folder-icon {\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Previews container\\n\\t\\t> span {\\n\\t\\t\\tdisplay: flex;\\n\\n\\t\\t\\t// Stack effect if more than one element\\n\\t\\t\\t.files-list__row-icon + .files-list__row-icon {\\n\\t\\t\\t\\tmargin-top: $stack-shift;\\n\\t\\t\\t\\tmargin-left: $stack-shift - $size;\\n\\t\\t\\t\\t& + .files-list__row-icon {\\n\\t\\t\\t\\t\\tmargin-top: $stack-shift * 2;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If we have manually clone the preview,\\n\\t\\t\\t// let's hide any fallback icons\\n\\t\\t\\t&:not(:empty) + * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.favorite-marker-icon[data-v-77afa6dc]{color:#a08b00;min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-77afa6dc] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,aAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.favorite-marker-icon {\\n\\tcolor: #a08b00;\\n\\t// Override NcIconSvgWrapper defaults (clickable area)\\n\\tmin-width: unset !important;\\n min-height: unset !important;\\n\\n\\t:deep() {\\n\\t\\tsvg {\\n\\t\\t\\t// We added a stroke for a11y so we must increase the size to include the stroke\\n\\t\\t\\twidth: 26px !important;\\n\\t\\t\\theight: 26px !important;\\n\\n\\t\\t\\t// Override NcIconSvgWrapper defaults of 20px\\n\\t\\t\\tmax-width: unset !important;\\n\\t\\t\\tmax-height: unset !important;\\n\\n\\t\\t\\t// Sow a border around the icon for better contrast\\n\\t\\t\\tpath {\\n\\t\\t\\t\\tstroke: var(--color-main-background);\\n\\t\\t\\t\\tstroke-width: 8px;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t\\tpaint-order: stroke;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important}[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,6EAAA,CAGA,kEACC,0FAAA,CAGD,kEACC,YAAA\",\"sourcesContent\":[\"\\n// Allow right click to define the position of the menu\\n// only if defined\\n[style*=\\\"mouse-pos-x\\\"] .v-popper__popper {\\n\\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\\n\\n\\t// If the menu is too close to the bottom, we move it up\\n\\t&[data-popper-placement=\\\"top\\\"] {\\n\\t\\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh), 0px) !important;\\n\\t}\\n\\t// Hide arrow if floating\\n\\t.v-popper__arrow-container {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-670325ac] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-670325ac] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA\",\"sourcesContent\":[\"\\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tmargin-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n\\n\\ttd {\\n\\t\\tuser-select: none;\\n\\t\\t// Make sure the cell colors don't apply to column headers\\n\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column[data-v-952162c2]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-952162c2]{cursor:pointer}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__row-actions-batch[data-v-d939292c]{flex:1 1 100% !important;max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\tmax-width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\\n\\n\\t&-text {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tfont-weight: normal;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\topacity: 0;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\tinset-inline-start: -10px;\\n\\t}\\n\\n\\t&--size &-icon {\\n\\t\\tinset-inline-start: 10px;\\n\\t}\\n\\n\\t&--active &-icon,\\n\\t&:hover &-icon,\\n\\t&:focus &-icon,\\n\\t&:active &-icon {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list[data-v-48fb0b13]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;position:relative;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-48fb0b13] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-48fb0b13] tbody tr{contain:strict}.files-list[data-v-48fb0b13] tbody tr:hover,.files-list[data-v-48fb0b13] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-48fb0b13] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-48fb0b13] .files-list__table{display:block}.files-list[data-v-48fb0b13] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-48fb0b13] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-48fb0b13] .files-list__thead,.files-list[data-v-48fb0b13] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-48fb0b13] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-48fb0b13] .files-list__tfoot{min-height:300px}.files-list[data-v-48fb0b13] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-48fb0b13] td,.files-list[data-v-48fb0b13] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-48fb0b13] td span,.files-list[data-v-48fb0b13] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-48fb0b13] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-48fb0b13] .files-list__row-checkbox{justify-content:center}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-48fb0b13] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-48fb0b13] .files-list__row:hover,.files-list[data-v-48fb0b13] .files-list__row:focus,.files-list[data-v-48fb0b13] .files-list__row:active,.files-list[data-v-48fb0b13] .files-list__row--active,.files-list[data-v-48fb0b13] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-48fb0b13] .files-list__row:hover>*,.files-list[data-v-48fb0b13] .files-list__row:focus>*,.files-list[data-v-48fb0b13] .files-list__row:active>*,.files-list[data-v-48fb0b13] .files-list__row--active>*,.files-list[data-v-48fb0b13] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-48fb0b13] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-48fb0b13] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-48fb0b13] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-48fb0b13] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-48fb0b13] .files-list__row-icon *{cursor:pointer}.files-list[data-v-48fb0b13] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-48fb0b13] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-48fb0b13] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-48fb0b13] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-48fb0b13] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-48fb0b13] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-48fb0b13] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-48fb0b13] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-48fb0b13] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-48fb0b13] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-48fb0b13] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-48fb0b13] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-48fb0b13] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-48fb0b13] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-48fb0b13] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-48fb0b13] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-48fb0b13] .files-list__row-actions{width:auto}.files-list[data-v-48fb0b13] .files-list__row-actions~td,.files-list[data-v-48fb0b13] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-48fb0b13] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-48fb0b13] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-48fb0b13] .files-list__row-mtime,.files-list[data-v-48fb0b13] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-48fb0b13] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-48fb0b13] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-48fb0b13] .files-list__row-column-custom{width:calc(var(--row-height)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,iBAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\tposition: relative;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t& :deep() {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody {\\n\\t\\t\\twill-change: padding;\\n\\t\\t\\tcontain: layout paint style;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t/* Hover effect on tbody lines only */\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tcontain: strict;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Before table and thead\\n\\t\\t.files-list__before {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t.files-list__table {\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t&.files-list__table--with-thead-overlay {\\n\\t\\t\\t\\t// Hide the table header below the overlay\\n\\t\\t\\t\\tmargin-top: calc(-1 * var(--row-height));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__thead-overlay {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\t// Save space for a row checkbox\\n\\t\\t\\tmargin-left: var(--row-height);\\n\\t\\t\\t// More than .files-list__thead\\n\\t\\t\\tz-index: 20;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Reuse row styles\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\t.files-list__thead,\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.files-list__thead {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t// Table footer\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tmin-height: 300px;\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row--failed {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\topacity: .1;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row {\\n\\t\\t\\t&:hover, &:focus, &:active, &--active, &--dragover {\\n\\t\\t\\t\\t// WCAG AA compliant\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t// text-maxcontrast have been designed to pass WCAG AA over\\n\\t\\t\\t\\t// a white background, we need to adjust then.\\n\\t\\t\\t\\t--color-text-maxcontrast: var(--color-main-text);\\n\\t\\t\\t\\t> * {\\n\\t\\t\\t\\t\\t--color-border: var(--color-border-dark);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hover state of the row should also change the favorite markers background\\n\\t\\t\\t\\t.favorite-marker-icon svg path {\\n\\t\\t\\t\\t\\tstroke: var(--color-background-hover);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--dragover * {\\n\\t\\t\\t\\t// Prevent dropping on row children\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry preview or mime icon\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t// Icon is also clickable\\n\\t\\t\\t* {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\n\\t\\t\\t\\t&:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Slightly increase the size of the folder icon\\n\\t\\t\\t\\t&.folder-icon,\\n\\t\\t\\t\\t&.folder-open-icon {\\n\\t\\t\\t\\t\\tmargin: -3px;\\n\\t\\t\\t\\t\\tsvg {\\n\\t\\t\\t\\t\\t\\twidth: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t\\theight: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tobject-position: center;\\n\\n\\t\\t\\t\\t/* Preview not loaded animation effect */\\n\\t\\t\\t\\t&:not(.files-list__row-icon-preview--loaded) {\\n\\t\\t\\t\\t\\tbackground: var(--color-loading-dark);\\n\\t\\t\\t\\t\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0px;\\n\\t\\t\\t\\tright: -10px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// File and folder overlay\\n\\t\\t\\t&-overlay {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tmax-height: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tmax-width: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\t\\t// better alignment with the folder icon\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\n\\t\\t\\t\\t// Improve icon contrast with a background for files\\n\\t\\t\\t\\t&--file {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry link\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t// Necessary for flex grow to work\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t// Already added to the inner text, see rule below\\n\\t\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\t\\toutline: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:focus:not(:focus-visible) .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t\\t// Align two name and ext\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-ext {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t// always show the extension\\n\\t\\t\\t\\toverflow: visible;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Rename form\\n\\t\\t.files-list__row-rename {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 600px;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t// Align with text, 0 - padding - border\\n\\t\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\t\\tpadding: 2px 6px;\\n\\t\\t\\t\\tborder-width: 2px;\\n\\n\\t\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t\\t// Show red border on invalid input\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tcolor: red;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\t// take as much space as necessary\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-action--inline {\\n\\t\\t\\tmargin-right: 7px;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime,\\n\\t\\t.files-list__row-size {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t.files-list__row-size {\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// Right align content/text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n// Grid mode\\ntbody.files-list__tbody.files-list__tbody--grid {\\n\\t--half-clickable-area: calc(var(--clickable-area) / 2);\\n\\t--row-width: 160px;\\n\\t// We use half of the clickable area as visual balance margin\\n\\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\\n\\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\\n\\t--checkbox-padding: 0px;\\n\\n\\tdisplay: grid;\\n\\tgrid-template-columns: repeat(auto-fill, var(--row-width));\\n\\tgrid-gap: 15px;\\n\\trow-gap: 15px;\\n\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tjustify-content: space-around;\\n\\tjustify-items: center;\\n\\n\\ttr {\\n\\t\\twidth: var(--row-width);\\n\\t\\theight: calc(var(--row-height) + var(--clickable-area));\\n\\t\\tborder: none;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t// Checkbox in the top left\\n\\t.files-list__row-checkbox {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 9;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\toverflow: hidden;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t\\tborder-radius: var(--half-clickable-area);\\n\\t}\\n\\n\\t// Star icon in the top right\\n\\t.files-list__row-icon-favorite {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n\\n\\t.files-list__row-name {\\n\\t\\tdisplay: grid;\\n\\t\\tjustify-content: stretch;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tgrid-auto-rows: var(--row-height) var(--clickable-area);\\n\\n\\t\\tspan.files-list__row-icon {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Visual balance, we use half of the clickable area\\n\\t\\t\\t// as a margin around the preview\\n\\t\\t\\tpadding-top: var(--half-clickable-area);\\n\\t\\t}\\n\\n\\t\\ta.files-list__row-name-link {\\n\\t\\t\\t// Minus action menu\\n\\t\\t\\twidth: calc(100% - var(--clickable-area));\\n\\t\\t\\theight: var(--clickable-area);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name-text {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.files-list__row-actions {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation-entry__settings-quota--not-unlimited[data-v-18ceb3ce] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-18ceb3ce]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__name {\\n\\t\\tmargin-top: -6px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 12px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-b2731ace]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative}.files-list__header[data-v-b2731ace]{display:flex;align-items:center;flex:0 0;margin:4px 4px 4px 50px;max-width:100%}.files-list__header>*[data-v-b2731ace]{flex:0 0}.files-list__header-share-button[data-v-b2731ace]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-b2731ace]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-b2731ace]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-b2731ace]{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CAOA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,cAAA,CACA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CACA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\tposition: relative;\\n}\\n\\n$margin: 4px;\\n$navigationToggleSize: 50px;\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin: $margin $margin $margin $navigationToggleSize;\\n\\t\\tmax-width: 100%;\\n\\t\\t> * {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\n\\t\\t&-share-button {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t&--shared {\\n\\t\\t\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation[data-v-3f2914e1] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-3f2914e1] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-3f2914e1]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-3f2914e1]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\\n\\tcolor: var(--color-primary-element-text);\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.setting-link[data-v-6d63c120]:hover{text-decoration:underline}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-ps\": 20315,\n\t\"./ar-ps.js\": 20315,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku-kmr\": 90563,\n\t\"./ku-kmr.js\": 90563,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, // ","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountOff.vue?vue&type=template&id=4a2e1178\"\nimport script from \"./AccountOff.vue?vue&type=script&lang=js\"\nexport * from \"./AccountOff.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShieldAccount.vue?vue&type=template&id=3937f138\"\nimport script from \"./ShieldAccount.vue?vue&type=script&lang=js\"\nexport * from \"./ShieldAccount.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon shield-account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=36dd2d08&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36dd2d08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserModal',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"close\":_vm.closeModal}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No users')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading users …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.usersSvg}})]},proxy:true}],null,false,934871631)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tgroups: _vm.groups,\n\t\t\tsubAdminsGroups: _vm.subAdminsGroups,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4377829d&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4377829d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',_vm._g({staticClass:\"modal\",attrs:{\"size\":\"small\"}},_vm.$listeners),[_c('form',{staticClass:\"modal__form\",attrs:{\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'New user')))]),_vm._v(\" \"),_c('NcTextField',{ref:\"username\",staticClass:\"modal__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"modal__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"modal__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[(!_vm.settings.isAdmin)?_c('NcTextField',{class:{ 'icon-loading-small': _vm.loading.groups },attrs:{\"id\":\"new-user-groups-input\",\"tabindex\":\"-1\",\"value\":_vm.newUser.groups,\"required\":!_vm.settings.isAdmin}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-groups\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(!_vm.settings.isAdmin ? _vm.t('settings', 'Groups (required)') : _vm.t('settings', 'Groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-groups\",\"placeholder\":_vm.t('settings', 'Set user groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.canAddGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":true},on:{\"input\":_vm.handleGroupInput,\"option:created\":_vm.createGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-sub-admin\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Administered groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-sub-admin\",\"placeholder\":_vm.t('settings', 'Set user as admin for …'),\"options\":_vm.subAdminsGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-quota\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-quota\",\"placeholder\":_vm.t('settings', 'Set user quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-language\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-language\",\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['modal__item managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-manager\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manager'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-manager\",\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"modal__submit\",attrs:{\"data-test\":\"submit\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new user'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.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!./NewUserModal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserModal.vue?vue&type=template&id=0634d81b&scoped=true\"\nimport script from \"./NewUserModal.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0634d81b\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading users …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=3ec0b16a&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ec0b16a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Username'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=69afa821&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69afa821\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading user …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:[(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this user'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add user to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add user to group'),\"taggable\":_vm.settings.isAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ name: value, isCreating: true })},on:{\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && _vm.settings.isAdmin && _vm.subAdminsGroups.length > 0)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set user as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"value\":_vm.userSubAdminsGroups},on:{\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminsGroupsLabels?.length > 40 ? _vm.userSubAdminsGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminsGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select user quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"close-on-select\":true,\"disabled\":_vm.isLoadingField,\"append-to-body\":false,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"label\":\"displayname\",\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"option:selected\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle user actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.actions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon},on:{\"click\":(event) => action(event, { ..._vm.user })}},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=81dfc294\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author Greta Doci \n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tconst userGroups = this.groups.filter(group => this.user.groups.includes(group.id))\n\t\t\treturn userGroups\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tconst userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id))\n\t\t\treturn userSubAdminsGroups\n\t\t},\n\t\tavailableGroups() {\n\t\t\treturn this.groups.map((group) => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tconst groupClone = Object.assign({}, group)\n\n\t\t\t\t// two settings here:\n\t\t\t\t// 1. user NOT in group but no permission to add\n\t\t\t\t// 2. user is in group but no permission to remove\n\t\t\t\tgroupClone.$isDisabled\n\t\t\t\t\t= (group.canAdd === false\n\t\t\t\t\t\t&& !this.user.groups.includes(group.id))\n\t\t\t\t\t|| (group.canRemove === false\n\t\t\t\t\t\t&& this.user.groups.includes(group.id))\n\t\t\t\treturn groupClone\n\t\t\t})\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tif (this.user.quota.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = OC.Util.humanFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user\n * @param user.id\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.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!./UserRow.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=79fe702d&scoped=true\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79fe702d\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=220321a2&scoped=true\"\nimport script from \"./UserList.vue?vue&type=script&lang=js\"\nexport * from \"./UserList.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"220321a2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'User management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show user backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new users'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('label',{attrs:{\"for\":\"default-quota-select\"}},[_vm._v(_vm._s(_vm.t('settings', 'Default quota')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":\"default-quota-select\",\"placement\":\"top\",\"taggable\":true,\"options\":_vm.quotaOptions,\"create-option\":_vm.validateQuota,\"placeholder\":_vm.t('settings', 'Select default quota'),\"clearable\":false},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=0a250c55&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a250c55\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.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!./Users.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68b27594&scoped=true\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68b27594\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","NcNoteCard","Pencil","active","Boolean","required","count","data","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","computed","settings","$store","getters","getServerData","methods","handleGroupMenuOpen","renameGroup","gid","trim","displayName","$refs","displayNameInput","$el","querySelector","value","dispatch","groupid","removeGroup","error","showError","t","group","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","key","params","selectedGroup","encodeURIComponent","scopedSlots","_u","fn","proxy","undefined","isAdmin","ref","Vue","directive","vElementVisibility","extend","dataComponent","Object","Function","dataKey","dataSources","Array","itemHeight","extraProps","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","Math","max","shownItems","ceil","renderedItems","slice","tbodyStyle","isOverScrolled","length","lastIndex","hiddenAfterItems","min","paddingTop","paddingBottom","mounted","root","tfoot","thead","ResizeObserver","debounce","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","_setupProxy","_t","style","_l","item","i","tag","directives","rawName","expression","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerLabel","showConfig","getShowConfig","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","groups","getGroups","filter","sort","a","b","localeCompare","subAdminsGroups","getSubadminGroups","canAddGroups","map","assign","$isDisabled","canAdd","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","createUser","all","userid","password","email","mailAddress","subadmin","quota","language","code","manager","username","inputField","input","focus","response","ocs","meta","statuscode","handleGroupInput","createGroup","_ref","find","validateQuota","validQuota","OC","Util","computerFileSize","humanFileSize","label","languageFilterBy","option","search","some","_ref2","toLocaleLowerCase","includes","query","offset","limit","then","users","values","_g","$listeners","preventDefault","apply","arguments","$set","newUserRequireEmail","class","model","callback","$$v","showLanguages","NcLoadingIcon","filteredUsers","userCount","n","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showLastLogin","defineComponent","NcActions","NcIconSvgWrapper","actions","disabled","edit","user","editSvg","toggleEdit","action","icon","text","event","externalActions","userGroups","userSubAdminsGroups","availableGroups","groupClone","canRemove","usedSpace","used","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","concat","lang","userLastLoginTooltip","lastLogin","formatDate","userLastLogin","relativeModifiedDate","unlimitedQuota","defaultQuota","isObfuscated","keys","at","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","selectedQuota","rand","random","toString","substring","loadingPossibleManagers","currentManager","editing","subadmins","delete","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isLoadingUser","isLoadingField","uniqueId","userGroupsLabels","join","userSubAdminsGroupsLabels","formatFileSize","canEdit","getCurrentUser","uid","parseFileSize","userActions","deleteUser","wipeUserDevices","enabled","enableDisableUser","sendWelcomeMail","editedUserQuota","get","set","availableLanguages","initManager","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","cancel","result","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","updateUserManager","console","updateDisplayName","updatePassword","updateEmail","addUserGroup","isCreating","removeUserGroup","$route","commit","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","$nextTick","displayNameField","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","NcEmptyContent","NewUserModal","UserListFooter","UserListHeader","VirtualList","UserRow","isInitialLoad","rowHeight","usersSvg","searchQuery","getUsers","quotaPreset","reduce","acc","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","watch","val","old","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeModal","defaultLanguage","currentGroup","allGroups","findIndex","usercount","$router","showNewUserForm","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","open","loadingSendMail","isModalOpen","getLocalstorage","status","setLocalStorage","newUserSendEmail","axios","post","generateUrl","e","message","localConfig","$localStorage","setDefaultQuota","app","use","VueLocalStorage","AccountOff","Cog","GroupListItem","NcActionText","NcAppContent","NcAppNavigation","NcAppNavigationCaption","NcAppNavigationNew","NcContent","Plus","ShieldAccount","UserList","UserSettingsDialog","newGroupName","isAddGroupOpen","loadingAddGroup","hasAddGroupError","isDialogOpen","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","getUserCount","groupList","isArray","formatGroupMenu","adminGroupMenu","disabledGroupMenu","orderBy","sortGroups","OCA","Settings","registerAction","showNewUserMenu","groupId","indexOf","_k","keyCode","exports","_properties","_namespace","_isSupported","prototypeAccessors","namespace","prototype","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","window","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","remove","removeItem","addProperty","parseFloat","array","parse","defineProperties","vueLocalStorage","install","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","test","bind","mixin","beforeCreate","$options","forEach","config","getOwnPropertyDescriptor","silent","log","prop","configurable","defineProperty","util","defineReactive","factory"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-users-8351.js?v=8ba037e94aafca61870f","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/Users.vue?962b","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountOff.vue?800f","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=template&id=4a2e1178","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Cog.vue?4d6d","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=template&id=bcf30078","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShieldAccount.vue?d5b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=template&id=3937f138","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?0348","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?544e","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?6ea8","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?eac5","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?0748","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?2405","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?b533","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?91be","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?afcf","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?2e1a","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack:///nextcloud/apps/settings/src/views/Users.vue","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/views/Users.vue?2e4a","webpack://nextcloud/./apps/settings/src/views/Users.vue?cf86","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.modal__header[data-v-36dd2d08]{margin:0}.modal__content[data-v-36dd2d08]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-36dd2d08]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.empty[data-v-220321a2] .icon-vue{width:64px;height:64px}.empty[data-v-220321a2] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@import './Users/shared/styles.scss';\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.modal__form[data-v-0634d81b]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__form #new-user-groups-input[data-v-0634d81b]{position:absolute;opacity:0;width:0}.modal__item[data-v-0634d81b]{width:100%}.modal__item[data-v-0634d81b]:not(:focus):not(:active){border-color:var(--color-border-dark)}.modal__hint[data-v-0634d81b]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.modal__label[data-v-0634d81b]{display:block;padding:4px 0}.modal__select[data-v-0634d81b]{width:100%}.modal__submit[data-v-0634d81b]{margin-top:20px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserModal.vue\"],\"names\":[],\"mappings\":\"AAEC,8BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGA,qDACC,iBAAA,CACA,SAAA,CAMA,OAAA,CAIF,8BACC,UAAA,CAEA,uDACC,qCAAA,CAIF,8BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,+BACC,aAAA,CACA,aAAA,CAGD,gCACC,UAAA,CAGD,gCACC,eAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\n\\t\\t/* fake input for groups validation */\\n\\t\\t#new-user-groups-input {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* The \\\"hidden\\\" input is behind the NcSelect, so in general it does\\n\\t\\t\\t* not receives clicks. However, with Firefox, after the validation\\n\\t\\t\\t* fails, it will receive the first click done on it, so its width needs\\n\\t\\t\\t* to be set to 0 to prevent that (\\\"pointer-events: none\\\" does not\\n\\t\\t\\t* prevent it). */\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 20px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.footer[data-v-3ec0b16a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-3ec0b16a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-3ec0b16a],.footer__cell span[data-v-3ec0b16a],.footer__cell label[data-v-3ec0b16a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-3ec0b16a],.footer__cell--displayname[data-v-3ec0b16a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-3ec0b16a]{left:0}.footer__cell--displayname[data-v-3ec0b16a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.footer__cell--avatar[data-v-3ec0b16a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-3ec0b16a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-3ec0b16a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-3ec0b16a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-3ec0b16a]{min-width:400px;width:400px}.footer__cell--fill[data-v-3ec0b16a]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-3ec0b16a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.footer__subtitle[data-v-3ec0b16a]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-3ec0b16a]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-3ec0b16a]{left:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-3ec0b16a]{left:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA,CDjHD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,MAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,6BAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.footer {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.header[data-v-69afa821]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background);border-bottom:1px solid var(--color-border)}.header__cell[data-v-69afa821]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-69afa821],.header__cell span[data-v-69afa821],.header__cell label[data-v-69afa821]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-69afa821],.header__cell--displayname[data-v-69afa821]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-69afa821]{left:0}.header__cell--displayname[data-v-69afa821]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.header__cell--avatar[data-v-69afa821]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-69afa821]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-69afa821]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-69afa821]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-69afa821]{min-width:400px;width:400px}.header__cell--fill[data-v-69afa821]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-69afa821]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.header__subtitle[data-v-69afa821]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDrBA,2CAAA,CCyBA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.header {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\tborder-bottom: 1px solid var(--color-border);\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list__row[data-v-79fe702d]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-79fe702d]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-79fe702d]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-79fe702d]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-79fe702d]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-79fe702d],.row__cell span[data-v-79fe702d],.row__cell label[data-v-79fe702d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-79fe702d],.row__cell--displayname[data-v-79fe702d]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-79fe702d]{left:0}.row__cell--displayname[data-v-79fe702d]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.row__cell--avatar[data-v-79fe702d]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-79fe702d]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-79fe702d]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-79fe702d]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-79fe702d]{min-width:400px;width:400px}.row__cell--fill[data-v-79fe702d]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-79fe702d]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.row__subtitle[data-v-79fe702d]{color:var(--color-text-maxcontrast)}.row__cell[data-v-79fe702d]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-79fe702d] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-79fe702d]{margin-top:4px}.row__progress--warn[data-v-79fe702d]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-79fe702d]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDtBA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCgBD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,MAAA,CAGD,yCACC,6BAAA,CACA,0CAAA,CAAA,CAIF,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,gCACC,mCAAA,CDjGD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.user-list__row {\\n\\t@include row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `label[for=default-quota-select][data-v-0a250c55]{display:block;padding:4px 0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AACA,iDACC,aAAA,CACA,aAAA\",\"sourcesContent\":[\"\\nlabel[for=\\\"default-quota-select\\\"] {\\n\\tdisplay: block;\\n\\tpadding: 4px 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-list[data-v-4377829d]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%}.user-list__header[data-v-4377829d],.user-list__footer[data-v-4377829d]{position:sticky;display:block}.user-list__header[data-v-4377829d]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-4377829d]{left:0}.user-list__body[data-v-4377829d]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,MAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tleft: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-68b27594]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-navigation-entry__settings[data-v-68b27594]{height:auto !important;flex:0 0 auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Users.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAGD,iDACC,sBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[_c('NcContent',{attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{attrs:{\"aria-label\":_vm.t('settings', 'User management')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_vm.t('settings', 'Active users'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.userCount)?_c('NcCounterBubble',{attrs:{\"type\":!_vm.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.userCount)+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.settings.isAdmin)?_c('NcAppNavigationItem',{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_vm.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ShieldAccount',{attrs:{\"size\":20}})]},proxy:true},(_vm.adminGroupMenu.count > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.adminGroupMenu.count)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),(_vm.disabledGroupMenu.usercount > 0 || _vm.disabledGroupMenu.usercount === -1)?_c('NcAppNavigationItem',{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_vm.t('settings', 'Disabled users'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountOff',{attrs:{\"size\":20}})]},proxy:true},(_vm.disabledGroupMenu.usercount > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.disabledGroupMenu.usercount)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationCaption',{attrs:{\"name\":_vm.t('settings', 'Groups'),\"disabled\":_vm.loadingAddGroup,\"aria-label\":_vm.loadingAddGroup ? _vm.t('settings', 'Creating group …') : _vm.t('settings', 'Create group'),\"force-menu\":\"\",\"open\":_vm.isAddGroupOpen},on:{\"update:open\":function($event){_vm.isAddGroupOpen=$event}},scopedSlots:_vm._u([{key:\"actionsTriggerIcon\",fn:function(){return [(_vm.loadingAddGroup)?_c('NcLoadingIcon'):_c('Plus',{attrs:{\"size\":20}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('NcActionText',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Create group'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{attrs:{\"label\":_vm.t('settings', 'Group name'),\"data-cy-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_vm.loadingAddGroup,\"value\":_vm.newGroupName,\"error\":_vm.hasAddGroupError,\"helper-text\":_vm.hasAddGroupError ? _vm.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_vm.newGroupName=$event},\"submit\":_vm.createGroup}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_vm.groupList),function(group){return _c('GroupListItem',{key:group.id,attrs:{\"id\":group.id,\"active\":_vm.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})})]},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NcAppNavigationItem',{attrs:{\"name\":_vm.t('settings', 'User management settings')},on:{\"click\":function($event){_vm.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Cog',{attrs:{\"size\":20}})]},proxy:true}])})],1)]},proxy:true}])},[_c('NcAppNavigationNew',{attrs:{\"button-id\":\"new-user-button\",\"text\":_vm.t('settings','New user')},on:{\"click\":_vm.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}])})],1),_vm._v(\" \"),_c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)],1),_vm._v(\" \"),_c('UserSettingsDialog',{attrs:{\"open\":_vm.isDialogOpen},on:{\"update:open\":function($event){_vm.isDialogOpen=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountOff.vue?vue&type=template&id=4a2e1178\"\nimport script from \"./AccountOff.vue?vue&type=script&lang=js\"\nexport * from \"./AccountOff.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShieldAccount.vue?vue&type=template&id=3937f138\"\nimport script from \"./ShieldAccount.vue?vue&type=script&lang=js\"\nexport * from \"./ShieldAccount.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon shield-account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=36dd2d08&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36dd2d08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserModal',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"close\":_vm.closeModal}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No users')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading users …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.usersSvg}})]},proxy:true}],null,false,934871631)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tgroups: _vm.groups,\n\t\t\tsubAdminsGroups: _vm.subAdminsGroups,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4377829d&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4377829d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',_vm._g({staticClass:\"modal\",attrs:{\"size\":\"small\"}},_vm.$listeners),[_c('form',{staticClass:\"modal__form\",attrs:{\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'New user')))]),_vm._v(\" \"),_c('NcTextField',{ref:\"username\",staticClass:\"modal__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"modal__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"modal__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[(!_vm.settings.isAdmin)?_c('NcTextField',{class:{ 'icon-loading-small': _vm.loading.groups },attrs:{\"id\":\"new-user-groups-input\",\"tabindex\":\"-1\",\"value\":_vm.newUser.groups,\"required\":!_vm.settings.isAdmin}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-groups\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(!_vm.settings.isAdmin ? _vm.t('settings', 'Groups (required)') : _vm.t('settings', 'Groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-groups\",\"placeholder\":_vm.t('settings', 'Set user groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.canAddGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":true},on:{\"input\":_vm.handleGroupInput,\"option:created\":_vm.createGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-sub-admin\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Administered groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-sub-admin\",\"placeholder\":_vm.t('settings', 'Set user as admin for …'),\"options\":_vm.subAdminsGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-quota\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-quota\",\"placeholder\":_vm.t('settings', 'Set user quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-language\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-language\",\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['modal__item managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-manager\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manager'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-manager\",\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"modal__submit\",attrs:{\"data-test\":\"submit\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new user'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.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!./NewUserModal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserModal.vue?vue&type=template&id=0634d81b&scoped=true\"\nimport script from \"./NewUserModal.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0634d81b\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading users …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=3ec0b16a&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=3ec0b16a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ec0b16a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Username'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=69afa821&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=69afa821&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69afa821\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading user …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:[(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this user'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add user to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add user to group'),\"taggable\":_vm.settings.isAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ name: value, isCreating: true })},on:{\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && _vm.settings.isAdmin && _vm.subAdminsGroups.length > 0)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set user as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"value\":_vm.userSubAdminsGroups},on:{\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminsGroupsLabels?.length > 40 ? _vm.userSubAdminsGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminsGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select user quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"close-on-select\":true,\"disabled\":_vm.isLoadingField,\"append-to-body\":false,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"label\":\"displayname\",\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"option:selected\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle user actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.actions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon},on:{\"click\":(event) => action(event, { ..._vm.user })}},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=348ae063\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author Greta Doci \n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tconst userGroups = this.groups.filter(group => this.user.groups.includes(group.id))\n\t\t\treturn userGroups\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tconst userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id))\n\t\t\treturn userSubAdminsGroups\n\t\t},\n\t\tavailableGroups() {\n\t\t\treturn this.groups.map((group) => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tconst groupClone = Object.assign({}, group)\n\n\t\t\t\t// two settings here:\n\t\t\t\t// 1. user NOT in group but no permission to add\n\t\t\t\t// 2. user is in group but no permission to remove\n\t\t\t\tgroupClone.$isDisabled\n\t\t\t\t\t= (group.canAdd === false\n\t\t\t\t\t\t&& !this.user.groups.includes(group.id))\n\t\t\t\t\t|| (group.canRemove === false\n\t\t\t\t\t\t&& this.user.groups.includes(group.id))\n\t\t\t\treturn groupClone\n\t\t\t})\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tif (this.user.quota.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = OC.Util.humanFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user\n * @param user.id\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.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!./UserRow.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=79fe702d&scoped=true\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=79fe702d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79fe702d\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=220321a2&scoped=true\"\nimport script from \"./UserList.vue?vue&type=script&lang=js\"\nexport * from \"./UserList.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=220321a2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"220321a2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'User management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show user backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new users'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('label',{attrs:{\"for\":\"default-quota-select\"}},[_vm._v(_vm._s(_vm.t('settings', 'Default quota')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":\"default-quota-select\",\"placement\":\"top\",\"taggable\":true,\"options\":_vm.quotaOptions,\"create-option\":_vm.validateQuota,\"placeholder\":_vm.t('settings', 'Select default quota'),\"clearable\":false},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=0a250c55&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a250c55\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.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!./Users.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68b27594&scoped=true\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=68b27594&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68b27594\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","NcNoteCard","Pencil","active","Boolean","required","count","data","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","computed","settings","$store","getters","getServerData","methods","handleGroupMenuOpen","renameGroup","gid","trim","displayName","$refs","displayNameInput","$el","querySelector","value","dispatch","groupid","removeGroup","error","showError","t","group","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","key","params","selectedGroup","encodeURIComponent","scopedSlots","_u","fn","proxy","undefined","isAdmin","ref","Vue","directive","vElementVisibility","extend","dataComponent","Object","Function","dataKey","dataSources","Array","itemHeight","extraProps","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","Math","max","shownItems","ceil","renderedItems","slice","tbodyStyle","isOverScrolled","length","lastIndex","hiddenAfterItems","min","paddingTop","paddingBottom","mounted","root","tfoot","thead","ResizeObserver","debounce","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","_setupProxy","_t","style","_l","item","i","tag","directives","rawName","expression","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerLabel","showConfig","getShowConfig","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","groups","getGroups","filter","sort","a","b","localeCompare","subAdminsGroups","getSubadminGroups","canAddGroups","map","assign","$isDisabled","canAdd","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","createUser","all","userid","password","email","mailAddress","subadmin","quota","language","code","manager","username","inputField","input","focus","response","ocs","meta","statuscode","handleGroupInput","createGroup","_ref","find","validateQuota","validQuota","OC","Util","computerFileSize","humanFileSize","label","languageFilterBy","option","search","some","_ref2","toLocaleLowerCase","includes","query","offset","limit","then","users","values","_g","$listeners","preventDefault","apply","arguments","$set","newUserRequireEmail","class","model","callback","$$v","showLanguages","NcLoadingIcon","filteredUsers","userCount","n","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showLastLogin","defineComponent","NcActions","NcIconSvgWrapper","actions","disabled","edit","user","editSvg","toggleEdit","action","icon","text","event","externalActions","userGroups","userSubAdminsGroups","availableGroups","groupClone","canRemove","usedSpace","used","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","concat","lang","userLastLoginTooltip","lastLogin","formatDate","userLastLogin","relativeModifiedDate","unlimitedQuota","defaultQuota","isObfuscated","keys","at","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","selectedQuota","rand","random","toString","substring","loadingPossibleManagers","currentManager","editing","subadmins","delete","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isLoadingUser","isLoadingField","uniqueId","userGroupsLabels","join","userSubAdminsGroupsLabels","formatFileSize","canEdit","getCurrentUser","uid","parseFileSize","userActions","deleteUser","wipeUserDevices","enabled","enableDisableUser","sendWelcomeMail","editedUserQuota","get","set","availableLanguages","initManager","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","cancel","result","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","updateUserManager","console","updateDisplayName","updatePassword","updateEmail","addUserGroup","isCreating","removeUserGroup","$route","commit","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","$nextTick","displayNameField","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","NcEmptyContent","NewUserModal","UserListFooter","UserListHeader","VirtualList","UserRow","isInitialLoad","rowHeight","usersSvg","searchQuery","getUsers","quotaPreset","reduce","acc","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","watch","val","old","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeModal","defaultLanguage","currentGroup","allGroups","findIndex","usercount","$router","showNewUserForm","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","open","loadingSendMail","isModalOpen","getLocalstorage","status","setLocalStorage","newUserSendEmail","axios","post","generateUrl","e","message","localConfig","$localStorage","setDefaultQuota","app","use","VueLocalStorage","AccountOff","Cog","GroupListItem","NcActionText","NcAppContent","NcAppNavigation","NcAppNavigationCaption","NcAppNavigationNew","NcContent","Plus","ShieldAccount","UserList","UserSettingsDialog","newGroupName","isAddGroupOpen","loadingAddGroup","hasAddGroupError","isDialogOpen","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","getUserCount","groupList","isArray","formatGroupMenu","adminGroupMenu","disabledGroupMenu","orderBy","sortGroups","OCA","Settings","registerAction","showNewUserMenu","groupId","indexOf","_k","keyCode","exports","_properties","_namespace","_isSupported","prototypeAccessors","namespace","prototype","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","window","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","remove","removeItem","addProperty","parseFloat","array","parse","defineProperties","vueLocalStorage","install","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","test","bind","mixin","beforeCreate","$options","forEach","config","getOwnPropertyDescriptor","silent","log","prop","configurable","defineProperty","util","defineReactive","factory"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index a46cff8c141..af44e1189e4 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-apps-users-management.js.LICENSE.txt */ -(()=>{var e,r,o,i={92652:(t,e,r)=>{"use strict";r.d(e,{J:()=>o});var n=r(31352);const o=Object.freeze({installed:(0,n.Iu)("settings","Your apps"),enabled:(0,n.Iu)("settings","Active apps"),disabled:(0,n.Iu)("settings","Disabled apps"),updates:(0,n.Iu)("settings","Updates"),"app-bundles":(0,n.Iu)("settings","App bundles"),featured:(0,n.Iu)("settings","Featured apps"),supported:(0,n.Iu)("settings","Supported apps")})},38605:(t,e,r)=>{"use strict";r.d(e,{Z:()=>n});const n=(0,r(17499).IY)().setApp("settings").detectUser().build()},40491:(e,r,o)=>{"use strict";var i=o(20144),s=o(2324),a=o(83678);const u={name:"App",beforeMount(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(u,(function(){return(0,this._self._c)("router-view")}),[],!1,null,null,null).exports;var p=o(25108);function d(t,e){for(var r in e)t[r]=e[r];return t}var l=/[!'()*]/g,h=function(t){return"%"+t.charCodeAt(0).toString(16)},f=/%2C/g,m=function(t){return encodeURIComponent(t).replace(l,h).replace(f,",")};function g(t){try{return decodeURIComponent(t)}catch(t){}return t}var y=function(t){return null==t||"object"==typeof t?t:String(t)};function v(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var r=t.replace(/\+/g," ").split("="),n=g(r.shift()),o=r.length>0?g(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]})),e):e}function b(t){var e=t?Object.keys(t).map((function(e){var r=t[e];if(void 0===r)return"";if(null===r)return m(e);if(Array.isArray(r)){var n=[];return r.forEach((function(t){void 0!==t&&(null===t?n.push(m(e)):n.push(m(e)+"="+m(t)))})),n.join("&")}return m(e)+"="+m(r)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var w=/\/?$/;function A(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=E(i)}catch(t){}var s={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:U(e,o),matched:t?P(t):[]};return r&&(s.redirectedFrom=U(r,o)),Object.freeze(s)}function E(t){if(Array.isArray(t))return t.map(E);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=E(t[r]);return e}return t}var x=A(null,{path:"/"});function P(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function U(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||b)(n)+o}function I(t,e,r){return e===x?t===e:!!e&&(t.path&&e.path?t.path.replace(w,"")===e.path.replace(w,"")&&(r||t.hash===e.hash&&O(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(r||t.hash===e.hash&&O(t.query,e.query)&&O(t.params,e.params)))}function O(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t).sort(),n=Object.keys(e).sort();return r.length===n.length&&r.every((function(r,o){var i=t[r];if(n[o]!==r)return!1;var s=e[r];return null==i||null==s?i===s:"object"==typeof i&&"object"==typeof s?O(i,s):String(i)===String(s)}))}function L(t){for(var e=0;e=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}(o.path||""),c=e&&e.path||"/",p=u.path?R(u.path,c,r||o.append):c,l=function(t,e,r){void 0===e&&(e={});var n,o=r||v;try{n=o(t||"")}catch(t){n={}}for(var i in e){var s=e[i];n[i]=Array.isArray(s)?s.map(y):y(s)}return n}(u.query,o.query,n&&n.options.parseQuery),h=o.hash||u.hash;return h&&"#"!==h.charAt(0)&&(h="#"+h),{_normalized:!0,path:p,query:l,hash:h}}var J,K=function(){},X={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),i=o.location,s=o.route,a=o.href,u={},c=r.options.linkActiveClass,p=r.options.linkExactActiveClass,l=null==c?"router-link-active":c,h=null==p?"router-link-exact-active":p,f=null==this.activeClass?l:this.activeClass,m=null==this.exactActiveClass?h:this.exactActiveClass,g=s.redirectedFrom?A(null,Y(s.redirectedFrom),null,r):s;u[m]=I(n,g,this.exactPath),u[f]=this.exact||this.exactPath?u[m]:function(t,e){return 0===t.path.replace(w,"/").indexOf(e.path.replace(w,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var r in e)if(!(r in t))return!1;return!0}(t.query,e.query)}(n,g);var y=u[m]?this.ariaCurrentValue:null,v=function(t){Q(t)&&(e.replace?r.replace(i,K):r.push(i,K))},b={click:Q};Array.isArray(this.event)?this.event.forEach((function(t){b[t]=v})):b[this.event]=v;var E={class:u},x=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:a,route:s,navigate:v,isActive:u[f],isExactActive:u[m]});if(x){if(1===x.length)return x[0];if(x.length>1||!x.length)return 0===x.length?t():t("span",{},x)}if("a"===this.tag)E.on=b,E.attrs={href:a,"aria-current":y};else{var P=tt(this.$slots.default);if(P){P.isStatic=!1;var U=P.data=d({},P.data);for(var O in U.on=U.on||{},U.on){var L=U.on[O];O in b&&(U.on[O]=Array.isArray(L)?L:[L])}for(var _ in b)_ in U.on?U.on[_].push(b[_]):U.on[_]=v;var C=P.data.attrs=d({},P.data.attrs);C.href=a,C["aria-current"]=y}else E.on=b}return t(this.tag,E,this.$slots.default)}};function Q(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function tt(t){if(t)for(var e,r=0;r-1&&(u.params[l]=r.params[l]);return u.path=W(p.path,u.params),a(p,u,s)}if(u.path){u.params={};for(var h=0;h-1}function Rt(t,e){return Ct(t)&&t._isRouter&&(null==e||t.type===e)}function Nt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],(function(){n(o+1)})):n(o+1)};n(0)}function kt(t,e){return St(t.map((function(t){return Object.keys(t.components).map((function(r){return e(t.components[r],t.instances[r],t,r)}))})))}function St(t){return Array.prototype.concat.apply([],t)}var Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function jt(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}var Ft=function(t,e){this.router=t,this.base=function(t){if(!t)if(et){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=x,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function $t(t,e,r,n){var o=kt(t,(function(t,n,o,i){var s=function(t,e){return"function"!=typeof t&&(t=J.extend(t)),t.options[e]}(t,e);if(s)return Array.isArray(s)?s.map((function(t){return r(t,n,o,i)})):r(s,n,o,i)}));return St(n?o.reverse():o)}function Dt(t,e){if(e)return function(){return t.apply(e,arguments)}}Ft.prototype.listen=function(t){this.cb=t},Ft.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Ft.prototype.onError=function(t){this.errorCbs.push(t)},Ft.prototype.transitionTo=function(t,e,r){var n,o=this;try{n=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(n,(function(){o.updateRoute(n),e&&e(n),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(n,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(n)})))}),(function(t){r&&r(t),t&&!o.ready&&(Rt(t,It.redirected)&&i===x||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Ft.prototype.confirmTransition=function(t,e,r){var n=this,o=this.current;this.pending=t;var i,s,a=function(t){!Rt(t)&&Ct(t)&&(n.errorCbs.length?n.errorCbs.forEach((function(e){e(t)})):p.error(t)),r&&r(t)},u=t.matched.length-1,c=o.matched.length-1;if(I(t,o)&&u===c&&t.matched[u]===o.matched[c])return this.ensureURL(),t.hash&&ft(this.router,o,t,!1),a(((s=Lt(i=o,t,It.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",s));var d,l=function(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r0)){var e=this.router,r=e.options.scrollBehavior,n=xt&&r;n&&this.listeners.push(ht());var o=function(){var r=t.current,o=qt(t.base);t.current===x&&o===t._startLocation||t.transitionTo(o,(function(t){n&&ft(e,t,r,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Pt(N(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ut(N(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.ensureURL=function(t){if(qt(this.base)!==this.current.fullPath){var e=N(this.base+this.current.fullPath);t?Pt(e):Ut(e)}},e.prototype.getCurrentLocation=function(){return qt(this.base)},e}(Ft);function qt(t){var e=window.location.pathname,r=e.toLowerCase(),n=t.toLowerCase();return!t||r!==n&&0!==r.indexOf(N(n+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Mt=function(t){function e(e,r,n){t.call(this,e,r),n&&function(t){var e=qt(t);if(!/^\/#/.test(e))return window.location.replace(N(t+"/#"+e)),!0}(this.base)||Gt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,r=xt&&e;r&&this.listeners.push(ht());var n=function(){var e=t.current;Gt()&&t.transitionTo(Vt(),(function(n){r&&ft(t.router,n,e,!0),xt||Ht(n.fullPath)}))},o=xt?"popstate":"hashchange";window.addEventListener(o,n),this.listeners.push((function(){window.removeEventListener(o,n)}))}},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){zt(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ht(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Vt()!==e&&(t?zt(e):Ht(e))},e.prototype.getCurrentLocation=function(){return Vt()},e}(Ft);function Gt(){var t=Vt();return"/"===t.charAt(0)||(Ht("/"+t),!1)}function Vt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Zt(t){var e=window.location.href,r=e.indexOf("#");return(r>=0?e.slice(0,r):e)+"#"+t}function zt(t){xt?Pt(Zt(t)):window.location.hash=t}function Ht(t){xt?Ut(Zt(t)):window.location.replace(Zt(t))}var Wt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)}),r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,(function(){var t=e.current;e.index=r,e.updateRoute(n),e.router.afterHooks.forEach((function(e){e&&e(n,t)}))}),(function(t){Rt(t,It.duplicated)&&(e.index=r)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Ft),Yt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=it(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!xt&&!1!==t.fallback,this.fallback&&(e="hash"),et||(e="abstract"),this.mode=e,e){case"history":this.history=new Bt(this,t.base);break;case"hash":this.history=new Mt(this,t.base,this.fallback);break;case"abstract":this.history=new Wt(this,t.base)}},Jt={currentRoute:{configurable:!0}};Yt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},Jt.currentRoute.get=function(){return this.history&&this.history.current},Yt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var r=e.apps.indexOf(t);r>-1&&e.apps.splice(r,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var r=this.history;if(r instanceof Bt||r instanceof Mt){var n=function(t){r.setupListeners(),function(t){var n=r.current,o=e.options.scrollBehavior;xt&&o&&"fullPath"in t&&ft(e,t,n,!1)}(t)};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Yt.prototype.beforeEach=function(t){return Xt(this.beforeHooks,t)},Yt.prototype.beforeResolve=function(t){return Xt(this.resolveHooks,t)},Yt.prototype.afterEach=function(t){return Xt(this.afterHooks,t)},Yt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Yt.prototype.onError=function(t){this.history.onError(t)},Yt.prototype.push=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.push(t,e,r)}));this.history.push(t,e,r)},Yt.prototype.replace=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.replace(t,e,r)}));this.history.replace(t,e,r)},Yt.prototype.go=function(t){this.history.go(t)},Yt.prototype.back=function(){this.go(-1)},Yt.prototype.forward=function(){this.go(1)},Yt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Yt.prototype.resolve=function(t,e,r){var n=Y(t,e=e||this.history.current,r,this),o=this.match(n,e),i=o.redirectedFrom||o.fullPath,s=function(t,e,r){var n="hash"===r?"#"+e:e;return t?N(t+"/"+n):n}(this.history.base,i,this.mode);return{location:n,route:o,href:s,normalizedTo:n,resolved:o}},Yt.prototype.getRoutes=function(){return this.matcher.getRoutes()},Yt.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==x&&this.history.transitionTo(this.history.getCurrentLocation())},Yt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==x&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Yt.prototype,Jt);var Kt=Yt;function Xt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}Yt.install=function t(e){if(!t.installed||J!==e){t.installed=!0,J=e;var r=function(t){return void 0!==t},n=function(t,e){var n=t.$options._parentVnode;r(n)&&r(n=n.data)&&r(n=n.registerRouteInstance)&&n(t,e)};e.mixin({beforeCreate:function(){r(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",_),e.component("RouterLink",X);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Yt.version="3.6.5",Yt.isNavigationFailure=Rt,Yt.NavigationFailureType=It,Yt.START_LOCATION=x,et&&window.Vue&&window.Vue.use(Yt);var Qt=o(79753),te=o(92652),ee=o(20629),re=o(93664),ne=o(7820);o(65509);const oe=function(t){return t.replace(/\/$/,"")},ie=()=>(0,ne.Z)(),se=(t,e)=>re.Z.get(oe(t),e),ae=(t,e)=>re.Z.post(oe(t),e),ue=(t,e)=>re.Z.put(oe(t),e),ce=(t,e)=>re.Z.delete(oe(t),{params:e});var pe=o(42515),de=o(38605),le=o(5656),he=o(25108);const fe=function(t,e){return 1===e?t.sort(((t,e)=>t.usercount-t.disabledt.name.localeCompare(e.name)))},me={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},ge={appendUsers(t,e){const r=t.users.map((t=>{let{id:e}=t;return e})),n=Object.values(e).filter((t=>{let{id:e}=t;return!r.includes(e)})),o=t.users.concat(n);t.usersOffset+=t.usersLimit,t.users=o},updateDisabledUsers(t,e){t.disabledUsersOffset+=t.disabledUsersLimit},setPasswordPolicyMinLength(t,e){t.minPasswordLength=""!==e?e:0},initGroups(t,e){let{groups:r,orderBy:n,userCount:o}=e;t.groups=r.map((t=>Object.assign({},me,t))),t.orderBy=n,t.userCount=o,t.groups=fe(t.groups,t.orderBy)},addGroup(t,e){let{gid:r,displayName:n}=e;try{if(void 0!==t.groups.find((t=>t.id===r)))return;const e=Object.assign({},me,{id:r,name:n});t.groups.unshift(e),t.groups=fe(t.groups,t.orderBy)}catch(t){he.error("Can't create group",t)}},renameGroup(t,e){let{gid:r,displayName:n}=e;const o=t.groups.findIndex((t=>t.id===r));if(o>=0){const e=t.groups[o];e.name=n,t.groups.splice(o,1,e),t.groups=fe(t.groups,t.orderBy)}},removeGroup(t,e){const r=t.groups.findIndex((t=>t.id===e));r>=0&&t.groups.splice(r,1)},addUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),i=t.users.find((t=>t.id===r));o&&i.enabled&&t.userCount>0&&o.usercount++,i.groups.push(n),t.groups=fe(t.groups,t.orderBy)},removeUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),i=t.users.find((t=>t.id===r));o&&i.enabled&&t.userCount>0&&o.usercount--;const s=i.groups;s.splice(s.indexOf(n),1),t.groups=fe(t.groups,t.orderBy)},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;t.users.find((t=>t.id===r)).subadmin.push(n)},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;const o=t.users.find((t=>t.id===r)).subadmin;o.splice(o.indexOf(n),1)},deleteUser(t,e){const r=t.users.findIndex((t=>t.id===e));this.commit("updateUserCounts",{user:t.users[r],actionType:"remove"}),t.users.splice(r,1)},addUserData(t,e){const r=e.data.ocs.data;t.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(t,e){let{userid:r,enabled:n}=e;const o=t.users.find((t=>t.id===r));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts(t,e){let{user:r,actionType:n}=e;if(0===t.userCount)return;const o=t.groups.find((t=>"disabled"===t.id));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,t.userCount+=r.enabled?1:-1,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled+=r.enabled?-1:1}));break;case"create":t.userCount++,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).usercount++}));break;case"remove":r.enabled?(t.userCount--,r.groups.forEach((e=>{const r=t.groups.find((t=>t.id===e));r?r.usercount--:he.warn("User group "+e+" does not exist during user removal")}))):(o.usercount--,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled--})));break;default:de.Z.error(`Unknown action type in updateUserCounts: '${n}'`)}},setUserData(t,e){let{userid:r,key:n,value:o}=e;if("quota"===n){const e=(0,le.jA)(o,!0);t.users.find((t=>t.id===r))[n][n]=null!==e?e:o}else t.users.find((t=>t.id===r))[n]=o},resetUsers(t){t.users=[],t.usersOffset=0,t.disabledUsersOffset=0},setShowConfig(t,e){let{key:r,value:n}=e;t.showConfig[r]=n}},ye=re.Z.CancelToken;let ve=null;const be={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:0,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}},mutations:ge,getters:{getUsers:t=>t.users,getGroups:t=>t.groups,getSubadminGroups:t=>t.groups.filter((t=>"admin"!==t.id&&"disabled"!==t.id)),getPasswordPolicyMinLength:t=>t.minPasswordLength,getUsersOffset:t=>t.usersOffset,getUsersLimit:t=>t.usersLimit,getDisabledUsersOffset:t=>t.disabledUsersOffset,getDisabledUsersLimit:t=>t.disabledUsersLimit,getUserCount:t=>t.userCount,getShowConfig:t=>t.showConfig},actions:{searchUsers(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUser:(t,e)=>se((0,Qt.generateOcsUrl)(`cloud/users/${e}`)).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})),getUsers(t,e){let{offset:r,limit:n,search:o,group:i}=e;return ve&&ve.cancel("Operation canceled by another search request."),ve=ye.source(),o="string"==typeof o?o:"",o=o.replace(/in:[^\s]+/g,"").trim(),i="string"==typeof i?i:"",""!==i?se((0,Qt.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})):se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},async getDisabledUsers(t,e){let{offset:r,limit:n}=e;const o=(0,Qt.generateOcsUrl)("cloud/users/disabled?offset={offset}&limit={limit}",{offset:r,limit:n});try{const e=await se(o),r=Object.keys(e.data.ocs.data.users).length;return r>0&&(t.commit("appendUsers",e.data.ocs.data.users),t.commit("updateDisabledUsers",e.data.ocs.data.users)),r}catch(e){t.commit("API_FAILURE",e)}},getGroups(t,e){let{offset:r,limit:n,search:o}=e;o="string"==typeof o?o:"";const i=-1===n?"":`&limit=${n}`;return se((0,Qt.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((e=>Object.keys(e.data.ocs.data.groups).length>0&&(e.data.ocs.data.groups.forEach((function(e){t.commit("addGroup",{gid:e,displayName:e})})),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromList(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((e=>Object.keys(e.data.ocs.data.users).length>0&&(t.commit("appendUsers",e.data.ocs.data.users),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromGroup(t,e){let{groupid:r,offset:n,limit:o}=e;return se((0,Qt.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((e=>t.commit("getUsersFromList",e.data.ocs.data.users))).catch((e=>t.commit("API_FAILURE",e)))},getPasswordPolicyMinLength:t=>!(!(0,pe.F)().password_policy||!(0,pe.F)().password_policy.minLength)&&(t.commit("setPasswordPolicyMinLength",(0,pe.F)().password_policy.minLength),(0,pe.F)().password_policy.minLength),addGroup:(t,e)=>ie().then((r=>ae((0,Qt.generateOcsUrl)("cloud/groups"),{groupid:e}).then((r=>(t.commit("addGroup",{gid:e,displayName:e}),{gid:e,displayName:e}))).catch((t=>{throw t})))).catch((r=>{throw t.commit("API_FAILURE",{gid:e,error:r}),r})),renameGroup(t,e){let{groupid:r,displayName:n}=e;return ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((e=>(t.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{groupid:r,error:e}),e}))},removeGroup:(t,e)=>ie().then((r=>ce((0,Qt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(e)})).then((r=>t.commit("removeGroup",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{gid:e,error:r}))),addUserGroup(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("addUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserGroup(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{userid:r,error:e}),e}))},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("addUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},wipeUserDevices:(t,e)=>ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:e})).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),deleteUser:(t,e)=>ie().then((r=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((r=>t.commit("deleteUser",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),addUser(t,e){let{commit:r,dispatch:n}=t,{userid:o,password:i,displayName:s,email:a,groups:u,subadmin:c,quota:p,language:d,manager:l}=e;return ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:s,email:a,groups:u,subadmin:c,quota:p,language:d,manager:l}).then((t=>n("addUserData",o||t.data.ocs.data.id))).catch((t=>{throw t})))).catch((t=>{throw r("API_FAILURE",{userid:o,error:t}),t}))},addUserData:(t,e)=>ie().then((r=>se((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((e=>t.commit("addUserData",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),enableDisableUser(t,e){let{userid:r,enabled:n=!0}=e;const o=n?"enable":"disable";return ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:o})).then((e=>t.commit("enableDisableUser",{userid:r,enabled:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},setUserData(t,e){let{userid:r,key:n,value:o}=e;const i=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((e=>t.commit("setUserData",{userid:r,key:n,value:o}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e}))):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:(t,e)=>ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:e})).then((t=>!0)).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r})))}};var we=o(64024),Ae=o(25108);const Ee={APPS_API_FAILURE(e,r){(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),Ae.error(e,r)},initCategories(t,e){let{categories:r,updateCount:n}=e;t.categories=r,t.updateCount=n},updateCategories(t,e){t.gettingCategoriesPromise=e},setUpdateCount(t,e){t.updateCount=e},addCategory(t,e){t.categories.push(e)},appendCategories(t,e){t.categories=e},setAllApps(t,e){t.apps=e},setError(t,e){let{appId:r,error:n}=e;Array.isArray(r)||(r=[r]),r.forEach((e=>{t.apps.find((t=>t.id===e)).error=n}))},clearError(t,e){let{appId:r,error:n}=e;t.apps.find((t=>t.id===r)).error=null},enableApp(t,e){let{appId:r,groups:n}=e;const o=t.apps.find((t=>t.id===r));o.active=!0,o.groups=n},setInstallState(t,e){let{appId:r,canInstall:n}=e;const o=t.apps.find((t=>t.id===r));o&&(o.canInstall=!0===n)},disableApp(t,e){const r=t.apps.find((t=>t.id===e));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp(t,e){t.apps.find((t=>t.id===e)).active=!1,t.apps.find((t=>t.id===e)).groups=[],t.apps.find((t=>t.id===e)).needsDownload=!0,t.apps.find((t=>t.id===e)).installed=!1,t.apps.find((t=>t.id===e)).canUnInstall=!1,t.apps.find((t=>t.id===e)).canInstall=!0},updateApp(t,e){const r=t.apps.find((t=>t.id===e)),n=r.update;r.update=null,r.version=n,t.updateCount--},resetApps(t){t.apps=[]},reset(t){t.apps=[],t.categories=[],t.updateCount=0},startLoading(t,e){Array.isArray(e)?e.forEach((e=>{i.ZP.set(t.loading,e,!0)})):i.ZP.set(t.loading,e,!0)},stopLoading(t,e){Array.isArray(e)?e.forEach((e=>{i.ZP.set(t.loading,e,!1)})):i.ZP.set(t.loading,e,!1)}},xe={enableApp(e,r){let n,{appId:o,groups:i}=r;return n=Array.isArray(o)?o:[o],ie().then((r=>(e.commit("startLoading",n),e.commit("startLoading","install"),ae((0,Qt.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((r=>(e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((t=>{e.commit("enableApp",{appId:t,groups:i})})),se((0,Qt.generateUrl)("apps/files")).then((()=>{r.data.update_required&&((0,we.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))))).catch((t=>{e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:o,error:t})))},forceEnableApp(t,e){let r,{appId:n,groups:o}=e;return r=Array.isArray(n)?n:[n],ie().then((()=>(t.commit("startLoading",r),t.commit("startLoading","install"),ae((0,Qt.generateUrl)("settings/apps/force"),{appId:n}).then((e=>{t.commit("setInstallState",{appId:n,canInstall:!0})})).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("setError",{appId:r,error:e.response.data.data.message}),t.commit("APPS_API_FAILURE",{appId:n,error:e})})).finally((()=>{t.commit("stopLoading",r),t.commit("stopLoading","install")}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},disableApp(t,e){let r,{appId:n}=e;return r=Array.isArray(n)?n:[n],ie().then((e=>(t.commit("startLoading",r),ae((0,Qt.generateUrl)("settings/apps/disable"),{appIds:r}).then((e=>(t.commit("stopLoading",r),r.forEach((e=>{t.commit("disableApp",e)})),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},uninstallApp(t,e){let{appId:r}=e;return ie().then((e=>(t.commit("startLoading",r),se((0,Qt.generateUrl)(`settings/apps/uninstall/${r}`)).then((e=>(t.commit("stopLoading",r),t.commit("uninstallApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},updateApp(t,e){let{appId:r}=e;return ie().then((e=>(t.commit("startLoading",r),t.commit("startLoading","install"),se((0,Qt.generateUrl)(`settings/apps/update/${r}`)).then((e=>(t.commit("stopLoading","install"),t.commit("stopLoading",r),t.commit("updateApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},getAllApps:t=>(t.commit("startLoading","list"),se((0,Qt.generateUrl)("settings/apps/list")).then((e=>(t.commit("setAllApps",e.data.apps),t.commit("stopLoading","list"),!0))).catch((e=>t.commit("API_FAILURE",e)))),async getCategories(t){let{shouldRefetchCategories:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e||!t.state.gettingCategoriesPromise){t.commit("startLoading","categories");try{const e=se((0,Qt.generateUrl)("settings/apps/categories"));t.commit("updateCategories",e);const r=await e;return r.data.length>0?(t.commit("appendCategories",r.data),t.commit("stopLoading","categories"),!0):(t.commit("stopLoading","categories"),!1)}catch(e){t.commit("API_FAILURE",e)}}return t.state.gettingCategoriesPromise}},Pe={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1,gettingCategoriesPromise:null},mutations:Ee,getters:{loading:t=>function(e){return t.loading[e]},getCategories:t=>t.categories,getAllApps:t=>t.apps,getUpdateCount:t=>t.updateCount,getCategoryById:t=>e=>t.categories.find((t=>t.id===e))},actions:xe},Ue={state:{serverData:{}},mutations:{setServerData(t,e){t.serverData=e}},getters:{getServerData:t=>t.serverData},actions:{}},Ie={state:{},mutations:{},getters:{},actions:{setAppConfig(t,e){let{app:r,key:n,value:o}=e;return ie().then((t=>ae((0,Qt.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{app:r,key:n,value:o,error:e})))}}};var Oe=o(25108);i.ZP.use(ee.ZP);const Le={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed."))}Oe.error(e,r)}},_e=new ee.yh({modules:{users:be,apps:Pe,settings:Ue,oc:Ie},strict:!1,mutations:Le});o(43554);const Ce=()=>Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,27476)),Re=()=>Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,72767));i.ZP.use(Kt);const Ne=document.title,ke=new Kt({mode:"history",base:(0,Qt.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:Ce,props:!0,name:"users",meta:{title:()=>t("settings","Active users")},children:[{path:":selectedGroup",name:"group",meta:{title:e=>"admin"===e.params.selectedGroup?t("settings","Admins"):"disabled"===e.params.selectedGroup?t("settings","Disabled users"):decodeURIComponent(e.params.selectedGroup)},component:Ce}]},{path:"/:index(index.php/)?settings/apps",component:Re,props:!0,name:"apps",meta:{title:()=>t("settings","Your apps")},children:[{path:":category",name:"apps-category",meta:{title:async e=>{if("apps"===e.name)return t("settings","Your apps");if(te.J[e.params.category])return te.J[e.params.category];await _e.dispatch("getCategories");const r=_e.getters.getCategoryById(e.params.category);return r.displayName?r.displayName:void 0}},component:Re,children:[{path:":id",name:"apps-details",component:Re}]}]}]});ke.afterEach((async t=>{const e=await(t.meta.title?.(t));e?(document.title=`${e} - ${Ne}`,function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}(e)):document.title=Ne}));const Se=ke;i.ZP.use(s.ZP,{defaultHtml:!1}),(0,a.Z)(_e,Se),o.nc=btoa(OC.requestToken),i.ZP.prototype.t=t,i.ZP.prototype.n=n,i.ZP.prototype.OC=OC,i.ZP.prototype.OCA=OCA,i.ZP.prototype.oc_userconfig=oc_userconfig,new i.ZP({router:Se,store:_e,render:t=>t(c)}).$mount("#content")},83678:(t,e)=>{function r(t,e){var n={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(n.from=r(e)),Object.freeze(n)}e.Z=function(t,e,n){var o=(n||{}).moduleName||"route";t.registerModule(o,{namespaced:!0,state:r(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,n){t.state[o]=r(n.to,n.from)}}});var i,s=!1,a=t.watch((function(t){return t[o]}),(function(t){var r=t.fullPath;r!==i&&(null!=i&&(s=!0,e.push(t)),i=r)}),{sync:!0}),u=e.afterEach((function(e,r){s?s=!1:(i=e.fullPath,t.commit(o+"/ROUTE_CHANGED",{to:e,from:r}))}));return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(o)}}},5656:(t,e,r)=>{"use strict";r.d(e,{RL:()=>k,Tv:()=>E,_o:()=>_,h7:()=>w,jA:()=>f,pC:()=>N,rp:()=>R,sS:()=>h,tB:()=>A});var n,o=r(77958),i=r(17499),s=r(31352),a=r(62520),u=r(65358),c=r(79753),p=r(14596);null===(n=(0,o.ts)())?(0,i.IY)().setApp("files").build():(0,i.IY)().setApp("files").setUid(n.uid).build();const d=["B","KB","MB","GB","TB","PB"],l=["B","KiB","MiB","GiB","TiB","PiB"];function h(t,e=!1,r=!1,n=!1){r=r&&!n,"string"==typeof t&&(t=Number(t));let o=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;o=Math.min((r?l.length:d.length)-1,o);const i=r?l[o]:d[o];let a=(t/Math.pow(n?1e3:1024,o)).toFixed(1);return!0===e&&0===o?("0.0"!==a?"< 1 ":"0 ")+(r?l[1]:d[1]):(a=o<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,s.aj)()),a+" "+i)}function f(t,e=!1){try{t=`${t}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch{return null}const r=t.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const n=`${r[1]}`,o="i"===r[4]||e?1024:1e3;return Math.round(Number.parseFloat(n)*o**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}var m=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(m||{});const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],y={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},v=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...g]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},b=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...y}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},w=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t`},A=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,o.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`};var E=(t=>(t.Folder="folder",t.File="file",t))(E||{});const x=function(t,e){return null!==t.match(e)},P=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=m.NONE&&t.permissions<=m.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&x(t.source,e)){const r=t.source.match(e)[0];if(!t.source.includes((0,a.join)(r,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(U).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var U=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(U||{});class I{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){P(t,e||this._knownDavService),this._data=t;const r={set:(t,e,r)=>(this.updateMtime(),Reflect.set(t,e,r)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},r),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,u.Ec)(this.source.slice(t.length))}get basename(){return(0,a.basename)(this.source)}get extension(){return(0,a.extname)(this.source)}get dirname(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),r=this.root.replace(/\/$/,"");return(0,a.dirname)(t.slice(e+r.length)||"/")}const t=new URL(this.source);return(0,a.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:m.NONE:m.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return x(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,a.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),r=this.root.replace(/\/$/,"");return t.slice(e+r.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){P({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,a.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class O extends I{get type(){return E.File}}class L extends I{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return E.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const _=`/files/${(0,o.ts)()?.uid}`,C=(0,c.generateRemoteUrl)("dav"),R=function(t=C,e={}){const r=(0,p.eI)(t,{headers:e});function n(t){r.setHeaders({...e,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,o._S)(n),n((0,o.IH)()),(0,p.lD)().patch("fetch",((t,e)=>{const r=e.headers;return r?.method&&(e.method=r.method,delete r.method),fetch(t,e)})),r},N=async(t,e="/",r=_)=>(await t.getDirectoryContents(`${r}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>k(t,r))),k=function(t,e=_,r=C){const n=t.props,i=function(t=""){let e=m.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=m.CREATE),t.includes("G")&&(e|=m.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=m.UPDATE),t.includes("D")&&(e|=m.DELETE),t.includes("R")&&(e|=m.SHARE)),e}(n?.permissions),s=n?.["owner-id"]||(0,o.ts)()?.uid,a={id:n?.fileid||0,source:`${r}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:n?.size||Number.parseInt(n.getcontentlength||"0"),permissions:i,owner:s,root:e,attributes:{...t,...n,hasPreview:n?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new O(a):new L(a)};var S={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+r+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,r){if(e){const n=Object.keys(e),o=n.length;for(let i=0;i"u")},t.getAllMatches=function(t,e){const r=[];let n=e.exec(t);for(;n;){const o=[];o.startIndex=e.lastIndex-n[0].length;const i=n.length;for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}};T.buildOptions=function(t){return Object.assign({},j,t)},T.defaultOptions=j,!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,S.nameRegexp),new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");var F={};function $(t,e,r){let n;const o={};for(let i=0;i0&&(o[e.textNodeName]=n):void 0!==n&&(o[e.textNodeName]=n),o}function D(t){const e=Object.keys(t);for(let t=0;t`,i=!1;continue}if(u===e.commentPropName){o+=n+`\x3c!--${a[u][0][e.textNodeName]}--\x3e`,i=!0;continue}if("?"===u[0]){const t=z(a[":@"],e),r="?xml"===u?"":n;let s=a[u][0][e.textNodeName];s=0!==s.length?" "+s:"",o+=r+`<${u}${s}${t}?>`,i=!0;continue}let p=n;""!==p&&(p+=e.indentBy);const d=n+`<${u}${z(a[":@"],e)}`,l=V(a[u],e,c,p);-1!==e.unpairedTags.indexOf(u)?e.suppressUnpairedNode?o+=d+">":o+=d+"/>":l&&0!==l.length||!e.suppressEmptyNode?l&&l.endsWith(">")?o+=d+`>${l}${n}`:(o+=d+">",l&&""!==n&&(l.includes("/>")||l.includes("`):o+=d+"/>",i=!0}return o}function Z(t){const e=Object.keys(t);for(let r=0;r0&&e.processEntities)for(let r=0;r0&&(r="\n"),V(t,e,"",r)},J={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function K(t){this.options=Object.assign({},J,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tt),this.processTextOrObjNode=X,this.options.format?(this.indentate=Q,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function X(t,e,r){const n=this.j2x(t,r+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}function Q(t){return this.options.indentBy.repeat(t)}function tt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}K.prototype.build=function(t){return this.options.preserveOrder?Y(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},K.prototype.j2x=function(t,e){let r="",n="";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(typeof t[o]>"u")this.isAttribute(o)&&(n+="");else if(null===t[o])this.isAttribute(o)?n+="":"?"===o[0]?n+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(t[o]instanceof Date)n+=this.buildTextValNode(t[o],o,"",e);else if("object"!=typeof t[o]){const i=this.isAttribute(o);if(i)r+=this.buildAttrPairStr(i,""+t[o]);else if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,""+t[o]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[o],o,"",e)}else if(Array.isArray(t[o])){const r=t[o].length;let i="";for(let s=0;s"u"||(null===r?"?"===o[0]?n+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+o+"/"+this.tagEndChar:"object"==typeof r?this.options.oneListGroup?i+=this.j2x(r,e+1).val:i+=this.processTextOrObjNode(r,o,e):i+=this.buildTextValNode(r,o,"",e))}this.options.oneListGroup&&(i=this.buildObjectNode(i,o,"",e)),n+=i}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const e=Object.keys(t[o]),n=e.length;for(let i=0;i"+t+o}},K.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;{let o=this.options.tagValueProcessor(e,t);return o=this.replaceEntitiesValue(o),""===o?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+o+"0&&this.options.processEntities)for(let e=0;e{if(!r){var i=1/0;for(p=0;p=o)&&Object.keys(a.O).every((t=>a.O[t](r[u])))?r.splice(u--,1):(s=!1,o0&&e[p-1][2]>o;p--)e[p]=e[p-1];e[p]=[r,n,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.f={},a.e=t=>Promise.all(Object.keys(a.f).reduce(((e,r)=>(a.f[r](t,e),e)),[])),a.u=t=>(({7418:"settings-apps-view",8351:"settings-users"}[t]||t)+"-"+t+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1",7418:"c563724cb8f8ded85c20",8351:"729e37d4bf6f456e841b"}[t]),a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r={},o="nextcloud:",a.l=(t,e,n,i)=>{if(r[t])r[t].push(e);else{var s,u;if(void 0!==n)for(var c=document.getElementsByTagName("script"),p=0;p{s.onerror=s.onload=null,clearTimeout(h);var o=r[t];if(delete r[t],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((t=>t(n))),e)return e(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),u&&document.head.appendChild(s)}},a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),a.j=8562,(()=>{var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!t;)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t})(),(()=>{a.b=document.baseURI||self.location.href;var t={8562:0};a.f.j=(e,r)=>{var n=a.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,o)=>n=t[e]=[r,o]));r.push(n[2]=o);var i=a.p+a.u(e),s=new Error;a.l(i,(r=>{if(a.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;s.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,n[1](s)}}),"chunk-"+e,e)}},a.O.j=e=>0===t[e];var e=(e,r)=>{var n,o,i=r[0],s=r[1],u=r[2],c=0;if(i.some((e=>0!==t[e]))){for(n in s)a.o(s,n)&&(a.m[n]=s[n]);if(u)var p=u(a)}for(e&&e(r);ca(40491)));u=a.O(u)})(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=6b7d58973197ed90ce7f \ No newline at end of file +(()=>{var e,r,o,i={92652:(t,e,r)=>{"use strict";r.d(e,{J:()=>o});var n=r(31352);const o=Object.freeze({installed:(0,n.Iu)("settings","Your apps"),enabled:(0,n.Iu)("settings","Active apps"),disabled:(0,n.Iu)("settings","Disabled apps"),updates:(0,n.Iu)("settings","Updates"),"app-bundles":(0,n.Iu)("settings","App bundles"),featured:(0,n.Iu)("settings","Featured apps"),supported:(0,n.Iu)("settings","Supported apps")})},38605:(t,e,r)=>{"use strict";r.d(e,{Z:()=>n});const n=(0,r(17499).IY)().setApp("settings").detectUser().build()},40491:(e,r,o)=>{"use strict";var i=o(20144),s=o(2324),a=o(83678);const u={name:"App",beforeMount(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(u,(function(){return(0,this._self._c)("router-view")}),[],!1,null,null,null).exports;var p=o(25108);function d(t,e){for(var r in e)t[r]=e[r];return t}var l=/[!'()*]/g,h=function(t){return"%"+t.charCodeAt(0).toString(16)},f=/%2C/g,m=function(t){return encodeURIComponent(t).replace(l,h).replace(f,",")};function g(t){try{return decodeURIComponent(t)}catch(t){}return t}var y=function(t){return null==t||"object"==typeof t?t:String(t)};function v(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var r=t.replace(/\+/g," ").split("="),n=g(r.shift()),o=r.length>0?g(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]})),e):e}function b(t){var e=t?Object.keys(t).map((function(e){var r=t[e];if(void 0===r)return"";if(null===r)return m(e);if(Array.isArray(r)){var n=[];return r.forEach((function(t){void 0!==t&&(null===t?n.push(m(e)):n.push(m(e)+"="+m(t)))})),n.join("&")}return m(e)+"="+m(r)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var w=/\/?$/;function A(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=E(i)}catch(t){}var s={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:U(e,o),matched:t?P(t):[]};return r&&(s.redirectedFrom=U(r,o)),Object.freeze(s)}function E(t){if(Array.isArray(t))return t.map(E);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=E(t[r]);return e}return t}var x=A(null,{path:"/"});function P(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function U(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||b)(n)+o}function I(t,e,r){return e===x?t===e:!!e&&(t.path&&e.path?t.path.replace(w,"")===e.path.replace(w,"")&&(r||t.hash===e.hash&&O(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(r||t.hash===e.hash&&O(t.query,e.query)&&O(t.params,e.params)))}function O(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t).sort(),n=Object.keys(e).sort();return r.length===n.length&&r.every((function(r,o){var i=t[r];if(n[o]!==r)return!1;var s=e[r];return null==i||null==s?i===s:"object"==typeof i&&"object"==typeof s?O(i,s):String(i)===String(s)}))}function L(t){for(var e=0;e=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}(o.path||""),c=e&&e.path||"/",p=u.path?R(u.path,c,r||o.append):c,l=function(t,e,r){void 0===e&&(e={});var n,o=r||v;try{n=o(t||"")}catch(t){n={}}for(var i in e){var s=e[i];n[i]=Array.isArray(s)?s.map(y):y(s)}return n}(u.query,o.query,n&&n.options.parseQuery),h=o.hash||u.hash;return h&&"#"!==h.charAt(0)&&(h="#"+h),{_normalized:!0,path:p,query:l,hash:h}}var J,K=function(){},X={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),i=o.location,s=o.route,a=o.href,u={},c=r.options.linkActiveClass,p=r.options.linkExactActiveClass,l=null==c?"router-link-active":c,h=null==p?"router-link-exact-active":p,f=null==this.activeClass?l:this.activeClass,m=null==this.exactActiveClass?h:this.exactActiveClass,g=s.redirectedFrom?A(null,Y(s.redirectedFrom),null,r):s;u[m]=I(n,g,this.exactPath),u[f]=this.exact||this.exactPath?u[m]:function(t,e){return 0===t.path.replace(w,"/").indexOf(e.path.replace(w,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var r in e)if(!(r in t))return!1;return!0}(t.query,e.query)}(n,g);var y=u[m]?this.ariaCurrentValue:null,v=function(t){Q(t)&&(e.replace?r.replace(i,K):r.push(i,K))},b={click:Q};Array.isArray(this.event)?this.event.forEach((function(t){b[t]=v})):b[this.event]=v;var E={class:u},x=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:a,route:s,navigate:v,isActive:u[f],isExactActive:u[m]});if(x){if(1===x.length)return x[0];if(x.length>1||!x.length)return 0===x.length?t():t("span",{},x)}if("a"===this.tag)E.on=b,E.attrs={href:a,"aria-current":y};else{var P=tt(this.$slots.default);if(P){P.isStatic=!1;var U=P.data=d({},P.data);for(var O in U.on=U.on||{},U.on){var L=U.on[O];O in b&&(U.on[O]=Array.isArray(L)?L:[L])}for(var _ in b)_ in U.on?U.on[_].push(b[_]):U.on[_]=v;var C=P.data.attrs=d({},P.data.attrs);C.href=a,C["aria-current"]=y}else E.on=b}return t(this.tag,E,this.$slots.default)}};function Q(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function tt(t){if(t)for(var e,r=0;r-1&&(u.params[l]=r.params[l]);return u.path=W(p.path,u.params),a(p,u,s)}if(u.path){u.params={};for(var h=0;h-1}function Rt(t,e){return Ct(t)&&t._isRouter&&(null==e||t.type===e)}function Nt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],(function(){n(o+1)})):n(o+1)};n(0)}function kt(t,e){return St(t.map((function(t){return Object.keys(t.components).map((function(r){return e(t.components[r],t.instances[r],t,r)}))})))}function St(t){return Array.prototype.concat.apply([],t)}var Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function jt(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}var Ft=function(t,e){this.router=t,this.base=function(t){if(!t)if(et){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=x,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function $t(t,e,r,n){var o=kt(t,(function(t,n,o,i){var s=function(t,e){return"function"!=typeof t&&(t=J.extend(t)),t.options[e]}(t,e);if(s)return Array.isArray(s)?s.map((function(t){return r(t,n,o,i)})):r(s,n,o,i)}));return St(n?o.reverse():o)}function Dt(t,e){if(e)return function(){return t.apply(e,arguments)}}Ft.prototype.listen=function(t){this.cb=t},Ft.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Ft.prototype.onError=function(t){this.errorCbs.push(t)},Ft.prototype.transitionTo=function(t,e,r){var n,o=this;try{n=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(n,(function(){o.updateRoute(n),e&&e(n),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(n,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(n)})))}),(function(t){r&&r(t),t&&!o.ready&&(Rt(t,It.redirected)&&i===x||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Ft.prototype.confirmTransition=function(t,e,r){var n=this,o=this.current;this.pending=t;var i,s,a=function(t){!Rt(t)&&Ct(t)&&(n.errorCbs.length?n.errorCbs.forEach((function(e){e(t)})):p.error(t)),r&&r(t)},u=t.matched.length-1,c=o.matched.length-1;if(I(t,o)&&u===c&&t.matched[u]===o.matched[c])return this.ensureURL(),t.hash&&ft(this.router,o,t,!1),a(((s=Lt(i=o,t,It.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",s));var d,l=function(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r0)){var e=this.router,r=e.options.scrollBehavior,n=xt&&r;n&&this.listeners.push(ht());var o=function(){var r=t.current,o=qt(t.base);t.current===x&&o===t._startLocation||t.transitionTo(o,(function(t){n&&ft(e,t,r,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Pt(N(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ut(N(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.ensureURL=function(t){if(qt(this.base)!==this.current.fullPath){var e=N(this.base+this.current.fullPath);t?Pt(e):Ut(e)}},e.prototype.getCurrentLocation=function(){return qt(this.base)},e}(Ft);function qt(t){var e=window.location.pathname,r=e.toLowerCase(),n=t.toLowerCase();return!t||r!==n&&0!==r.indexOf(N(n+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Mt=function(t){function e(e,r,n){t.call(this,e,r),n&&function(t){var e=qt(t);if(!/^\/#/.test(e))return window.location.replace(N(t+"/#"+e)),!0}(this.base)||Gt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,r=xt&&e;r&&this.listeners.push(ht());var n=function(){var e=t.current;Gt()&&t.transitionTo(Vt(),(function(n){r&&ft(t.router,n,e,!0),xt||Ht(n.fullPath)}))},o=xt?"popstate":"hashchange";window.addEventListener(o,n),this.listeners.push((function(){window.removeEventListener(o,n)}))}},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){zt(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ht(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Vt()!==e&&(t?zt(e):Ht(e))},e.prototype.getCurrentLocation=function(){return Vt()},e}(Ft);function Gt(){var t=Vt();return"/"===t.charAt(0)||(Ht("/"+t),!1)}function Vt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Zt(t){var e=window.location.href,r=e.indexOf("#");return(r>=0?e.slice(0,r):e)+"#"+t}function zt(t){xt?Pt(Zt(t)):window.location.hash=t}function Ht(t){xt?Ut(Zt(t)):window.location.replace(Zt(t))}var Wt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)}),r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,(function(){var t=e.current;e.index=r,e.updateRoute(n),e.router.afterHooks.forEach((function(e){e&&e(n,t)}))}),(function(t){Rt(t,It.duplicated)&&(e.index=r)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Ft),Yt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=it(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!xt&&!1!==t.fallback,this.fallback&&(e="hash"),et||(e="abstract"),this.mode=e,e){case"history":this.history=new Bt(this,t.base);break;case"hash":this.history=new Mt(this,t.base,this.fallback);break;case"abstract":this.history=new Wt(this,t.base)}},Jt={currentRoute:{configurable:!0}};Yt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},Jt.currentRoute.get=function(){return this.history&&this.history.current},Yt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var r=e.apps.indexOf(t);r>-1&&e.apps.splice(r,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var r=this.history;if(r instanceof Bt||r instanceof Mt){var n=function(t){r.setupListeners(),function(t){var n=r.current,o=e.options.scrollBehavior;xt&&o&&"fullPath"in t&&ft(e,t,n,!1)}(t)};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Yt.prototype.beforeEach=function(t){return Xt(this.beforeHooks,t)},Yt.prototype.beforeResolve=function(t){return Xt(this.resolveHooks,t)},Yt.prototype.afterEach=function(t){return Xt(this.afterHooks,t)},Yt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Yt.prototype.onError=function(t){this.history.onError(t)},Yt.prototype.push=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.push(t,e,r)}));this.history.push(t,e,r)},Yt.prototype.replace=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.replace(t,e,r)}));this.history.replace(t,e,r)},Yt.prototype.go=function(t){this.history.go(t)},Yt.prototype.back=function(){this.go(-1)},Yt.prototype.forward=function(){this.go(1)},Yt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Yt.prototype.resolve=function(t,e,r){var n=Y(t,e=e||this.history.current,r,this),o=this.match(n,e),i=o.redirectedFrom||o.fullPath,s=function(t,e,r){var n="hash"===r?"#"+e:e;return t?N(t+"/"+n):n}(this.history.base,i,this.mode);return{location:n,route:o,href:s,normalizedTo:n,resolved:o}},Yt.prototype.getRoutes=function(){return this.matcher.getRoutes()},Yt.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==x&&this.history.transitionTo(this.history.getCurrentLocation())},Yt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==x&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Yt.prototype,Jt);var Kt=Yt;function Xt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}Yt.install=function t(e){if(!t.installed||J!==e){t.installed=!0,J=e;var r=function(t){return void 0!==t},n=function(t,e){var n=t.$options._parentVnode;r(n)&&r(n=n.data)&&r(n=n.registerRouteInstance)&&n(t,e)};e.mixin({beforeCreate:function(){r(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",_),e.component("RouterLink",X);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Yt.version="3.6.5",Yt.isNavigationFailure=Rt,Yt.NavigationFailureType=It,Yt.START_LOCATION=x,et&&window.Vue&&window.Vue.use(Yt);var Qt=o(79753),te=o(92652),ee=o(20629),re=o(93664),ne=o(7820);o(65509);const oe=function(t){return t.replace(/\/$/,"")},ie=()=>(0,ne.Z)(),se=(t,e)=>re.Z.get(oe(t),e),ae=(t,e)=>re.Z.post(oe(t),e),ue=(t,e)=>re.Z.put(oe(t),e),ce=(t,e)=>re.Z.delete(oe(t),{params:e});var pe=o(42515),de=o(38605),le=o(5656),he=o(25108);const fe=function(t,e){return 1===e?t.sort(((t,e)=>t.usercount-t.disabledt.name.localeCompare(e.name)))},me={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},ge={appendUsers(t,e){const r=t.users.map((t=>{let{id:e}=t;return e})),n=Object.values(e).filter((t=>{let{id:e}=t;return!r.includes(e)})),o=t.users.concat(n);t.usersOffset+=t.usersLimit,t.users=o},updateDisabledUsers(t,e){t.disabledUsersOffset+=t.disabledUsersLimit},setPasswordPolicyMinLength(t,e){t.minPasswordLength=""!==e?e:0},initGroups(t,e){let{groups:r,orderBy:n,userCount:o}=e;t.groups=r.map((t=>Object.assign({},me,t))),t.orderBy=n,t.userCount=o,t.groups=fe(t.groups,t.orderBy)},addGroup(t,e){let{gid:r,displayName:n}=e;try{if(void 0!==t.groups.find((t=>t.id===r)))return;const e=Object.assign({},me,{id:r,name:n});t.groups.unshift(e),t.groups=fe(t.groups,t.orderBy)}catch(t){he.error("Can't create group",t)}},renameGroup(t,e){let{gid:r,displayName:n}=e;const o=t.groups.findIndex((t=>t.id===r));if(o>=0){const e=t.groups[o];e.name=n,t.groups.splice(o,1,e),t.groups=fe(t.groups,t.orderBy)}},removeGroup(t,e){const r=t.groups.findIndex((t=>t.id===e));r>=0&&t.groups.splice(r,1)},addUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),i=t.users.find((t=>t.id===r));o&&i.enabled&&t.userCount>0&&o.usercount++,i.groups.push(n),t.groups=fe(t.groups,t.orderBy)},removeUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),i=t.users.find((t=>t.id===r));o&&i.enabled&&t.userCount>0&&o.usercount--;const s=i.groups;s.splice(s.indexOf(n),1),t.groups=fe(t.groups,t.orderBy)},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;t.users.find((t=>t.id===r)).subadmin.push(n)},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;const o=t.users.find((t=>t.id===r)).subadmin;o.splice(o.indexOf(n),1)},deleteUser(t,e){const r=t.users.findIndex((t=>t.id===e));this.commit("updateUserCounts",{user:t.users[r],actionType:"remove"}),t.users.splice(r,1)},addUserData(t,e){const r=e.data.ocs.data;t.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(t,e){let{userid:r,enabled:n}=e;const o=t.users.find((t=>t.id===r));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts(t,e){let{user:r,actionType:n}=e;if(0===t.userCount)return;const o=t.groups.find((t=>"disabled"===t.id));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,t.userCount+=r.enabled?1:-1,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled+=r.enabled?-1:1}));break;case"create":t.userCount++,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).usercount++}));break;case"remove":r.enabled?(t.userCount--,r.groups.forEach((e=>{const r=t.groups.find((t=>t.id===e));r?r.usercount--:he.warn("User group "+e+" does not exist during user removal")}))):(o.usercount--,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled--})));break;default:de.Z.error(`Unknown action type in updateUserCounts: '${n}'`)}},setUserData(t,e){let{userid:r,key:n,value:o}=e;if("quota"===n){const e=(0,le.jA)(o,!0);t.users.find((t=>t.id===r))[n][n]=null!==e?e:o}else t.users.find((t=>t.id===r))[n]=o},resetUsers(t){t.users=[],t.usersOffset=0,t.disabledUsersOffset=0},setShowConfig(t,e){let{key:r,value:n}=e;t.showConfig[r]=n}},ye=re.Z.CancelToken;let ve=null;const be={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:0,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}},mutations:ge,getters:{getUsers:t=>t.users,getGroups:t=>t.groups,getSubadminGroups:t=>t.groups.filter((t=>"admin"!==t.id&&"disabled"!==t.id)),getPasswordPolicyMinLength:t=>t.minPasswordLength,getUsersOffset:t=>t.usersOffset,getUsersLimit:t=>t.usersLimit,getDisabledUsersOffset:t=>t.disabledUsersOffset,getDisabledUsersLimit:t=>t.disabledUsersLimit,getUserCount:t=>t.userCount,getShowConfig:t=>t.showConfig},actions:{searchUsers(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUser:(t,e)=>se((0,Qt.generateOcsUrl)(`cloud/users/${e}`)).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})),getUsers(t,e){let{offset:r,limit:n,search:o,group:i}=e;return ve&&ve.cancel("Operation canceled by another search request."),ve=ye.source(),o="string"==typeof o?o:"",o=o.replace(/in:[^\s]+/g,"").trim(),i="string"==typeof i?i:"",""!==i?se((0,Qt.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})):se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},async getDisabledUsers(t,e){let{offset:r,limit:n}=e;const o=(0,Qt.generateOcsUrl)("cloud/users/disabled?offset={offset}&limit={limit}",{offset:r,limit:n});try{const e=await se(o),r=Object.keys(e.data.ocs.data.users).length;return r>0&&(t.commit("appendUsers",e.data.ocs.data.users),t.commit("updateDisabledUsers",e.data.ocs.data.users)),r}catch(e){t.commit("API_FAILURE",e)}},getGroups(t,e){let{offset:r,limit:n,search:o}=e;o="string"==typeof o?o:"";const i=-1===n?"":`&limit=${n}`;return se((0,Qt.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((e=>Object.keys(e.data.ocs.data.groups).length>0&&(e.data.ocs.data.groups.forEach((function(e){t.commit("addGroup",{gid:e,displayName:e})})),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromList(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",se((0,Qt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((e=>Object.keys(e.data.ocs.data.users).length>0&&(t.commit("appendUsers",e.data.ocs.data.users),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromGroup(t,e){let{groupid:r,offset:n,limit:o}=e;return se((0,Qt.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((e=>t.commit("getUsersFromList",e.data.ocs.data.users))).catch((e=>t.commit("API_FAILURE",e)))},getPasswordPolicyMinLength:t=>!(!(0,pe.F)().password_policy||!(0,pe.F)().password_policy.minLength)&&(t.commit("setPasswordPolicyMinLength",(0,pe.F)().password_policy.minLength),(0,pe.F)().password_policy.minLength),addGroup:(t,e)=>ie().then((r=>ae((0,Qt.generateOcsUrl)("cloud/groups"),{groupid:e}).then((r=>(t.commit("addGroup",{gid:e,displayName:e}),{gid:e,displayName:e}))).catch((t=>{throw t})))).catch((r=>{throw t.commit("API_FAILURE",{gid:e,error:r}),r})),renameGroup(t,e){let{groupid:r,displayName:n}=e;return ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((e=>(t.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{groupid:r,error:e}),e}))},removeGroup:(t,e)=>ie().then((r=>ce((0,Qt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(e)})).then((r=>t.commit("removeGroup",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{gid:e,error:r}))),addUserGroup(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("addUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserGroup(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{userid:r,error:e}),e}))},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("addUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ie().then((e=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},wipeUserDevices:(t,e)=>ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:e})).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),deleteUser:(t,e)=>ie().then((r=>ce((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((r=>t.commit("deleteUser",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),addUser(t,e){let{commit:r,dispatch:n}=t,{userid:o,password:i,displayName:s,email:a,groups:u,subadmin:c,quota:p,language:d,manager:l}=e;return ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:s,email:a,groups:u,subadmin:c,quota:p,language:d,manager:l}).then((t=>n("addUserData",o||t.data.ocs.data.id))).catch((t=>{throw t})))).catch((t=>{throw r("API_FAILURE",{userid:o,error:t}),t}))},addUserData:(t,e)=>ie().then((r=>se((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((e=>t.commit("addUserData",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),enableDisableUser(t,e){let{userid:r,enabled:n=!0}=e;const o=n?"enable":"disable";return ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:o})).then((e=>t.commit("enableDisableUser",{userid:r,enabled:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},setUserData(t,e){let{userid:r,key:n,value:o}=e;const i=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?ie().then((e=>ue((0,Qt.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((e=>t.commit("setUserData",{userid:r,key:n,value:o}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e}))):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:(t,e)=>ie().then((t=>ae((0,Qt.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:e})).then((t=>!0)).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r})))}};var we=o(64024),Ae=o(25108);const Ee={APPS_API_FAILURE(e,r){(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),Ae.error(e,r)},initCategories(t,e){let{categories:r,updateCount:n}=e;t.categories=r,t.updateCount=n},updateCategories(t,e){t.gettingCategoriesPromise=e},setUpdateCount(t,e){t.updateCount=e},addCategory(t,e){t.categories.push(e)},appendCategories(t,e){t.categories=e},setAllApps(t,e){t.apps=e},setError(t,e){let{appId:r,error:n}=e;Array.isArray(r)||(r=[r]),r.forEach((e=>{t.apps.find((t=>t.id===e)).error=n}))},clearError(t,e){let{appId:r,error:n}=e;t.apps.find((t=>t.id===r)).error=null},enableApp(t,e){let{appId:r,groups:n}=e;const o=t.apps.find((t=>t.id===r));o.active=!0,o.groups=n},setInstallState(t,e){let{appId:r,canInstall:n}=e;const o=t.apps.find((t=>t.id===r));o&&(o.canInstall=!0===n)},disableApp(t,e){const r=t.apps.find((t=>t.id===e));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp(t,e){t.apps.find((t=>t.id===e)).active=!1,t.apps.find((t=>t.id===e)).groups=[],t.apps.find((t=>t.id===e)).needsDownload=!0,t.apps.find((t=>t.id===e)).installed=!1,t.apps.find((t=>t.id===e)).canUnInstall=!1,t.apps.find((t=>t.id===e)).canInstall=!0},updateApp(t,e){const r=t.apps.find((t=>t.id===e)),n=r.update;r.update=null,r.version=n,t.updateCount--},resetApps(t){t.apps=[]},reset(t){t.apps=[],t.categories=[],t.updateCount=0},startLoading(t,e){Array.isArray(e)?e.forEach((e=>{i.ZP.set(t.loading,e,!0)})):i.ZP.set(t.loading,e,!0)},stopLoading(t,e){Array.isArray(e)?e.forEach((e=>{i.ZP.set(t.loading,e,!1)})):i.ZP.set(t.loading,e,!1)}},xe={enableApp(e,r){let n,{appId:o,groups:i}=r;return n=Array.isArray(o)?o:[o],ie().then((r=>(e.commit("startLoading",n),e.commit("startLoading","install"),ae((0,Qt.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((r=>(e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((t=>{e.commit("enableApp",{appId:t,groups:i})})),se((0,Qt.generateUrl)("apps/files")).then((()=>{r.data.update_required&&((0,we.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))))).catch((t=>{e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:o,error:t})))},forceEnableApp(t,e){let r,{appId:n,groups:o}=e;return r=Array.isArray(n)?n:[n],ie().then((()=>(t.commit("startLoading",r),t.commit("startLoading","install"),ae((0,Qt.generateUrl)("settings/apps/force"),{appId:n}).then((e=>{t.commit("setInstallState",{appId:n,canInstall:!0})})).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("setError",{appId:r,error:e.response.data.data.message}),t.commit("APPS_API_FAILURE",{appId:n,error:e})})).finally((()=>{t.commit("stopLoading",r),t.commit("stopLoading","install")}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},disableApp(t,e){let r,{appId:n}=e;return r=Array.isArray(n)?n:[n],ie().then((e=>(t.commit("startLoading",r),ae((0,Qt.generateUrl)("settings/apps/disable"),{appIds:r}).then((e=>(t.commit("stopLoading",r),r.forEach((e=>{t.commit("disableApp",e)})),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},uninstallApp(t,e){let{appId:r}=e;return ie().then((e=>(t.commit("startLoading",r),se((0,Qt.generateUrl)(`settings/apps/uninstall/${r}`)).then((e=>(t.commit("stopLoading",r),t.commit("uninstallApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},updateApp(t,e){let{appId:r}=e;return ie().then((e=>(t.commit("startLoading",r),t.commit("startLoading","install"),se((0,Qt.generateUrl)(`settings/apps/update/${r}`)).then((e=>(t.commit("stopLoading","install"),t.commit("stopLoading",r),t.commit("updateApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},getAllApps:t=>(t.commit("startLoading","list"),se((0,Qt.generateUrl)("settings/apps/list")).then((e=>(t.commit("setAllApps",e.data.apps),t.commit("stopLoading","list"),!0))).catch((e=>t.commit("API_FAILURE",e)))),async getCategories(t){let{shouldRefetchCategories:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e||!t.state.gettingCategoriesPromise){t.commit("startLoading","categories");try{const e=se((0,Qt.generateUrl)("settings/apps/categories"));t.commit("updateCategories",e);const r=await e;return r.data.length>0?(t.commit("appendCategories",r.data),t.commit("stopLoading","categories"),!0):(t.commit("stopLoading","categories"),!1)}catch(e){t.commit("API_FAILURE",e)}}return t.state.gettingCategoriesPromise}},Pe={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1,gettingCategoriesPromise:null},mutations:Ee,getters:{loading:t=>function(e){return t.loading[e]},getCategories:t=>t.categories,getAllApps:t=>t.apps,getUpdateCount:t=>t.updateCount,getCategoryById:t=>e=>t.categories.find((t=>t.id===e))},actions:xe},Ue={state:{serverData:{}},mutations:{setServerData(t,e){t.serverData=e}},getters:{getServerData:t=>t.serverData},actions:{}},Ie={state:{},mutations:{},getters:{},actions:{setAppConfig(t,e){let{app:r,key:n,value:o}=e;return ie().then((t=>ae((0,Qt.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{app:r,key:n,value:o,error:e})))}}};var Oe=o(25108);i.ZP.use(ee.ZP);const Le={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,we.x2)(t("settings","An error occurred during the request. Unable to proceed."))}Oe.error(e,r)}},_e=new ee.yh({modules:{users:be,apps:Pe,settings:Ue,oc:Ie},strict:!1,mutations:Le});o(43554);const Ce=()=>Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,33422)),Re=()=>Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,72767));i.ZP.use(Kt);const Ne=document.title,ke=new Kt({mode:"history",base:(0,Qt.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:Ce,props:!0,name:"users",meta:{title:()=>t("settings","Active users")},children:[{path:":selectedGroup",name:"group",meta:{title:e=>"admin"===e.params.selectedGroup?t("settings","Admins"):"disabled"===e.params.selectedGroup?t("settings","Disabled users"):decodeURIComponent(e.params.selectedGroup)},component:Ce}]},{path:"/:index(index.php/)?settings/apps",component:Re,props:!0,name:"apps",meta:{title:()=>t("settings","Your apps")},children:[{path:":category",name:"apps-category",meta:{title:async e=>{if("apps"===e.name)return t("settings","Your apps");if(te.J[e.params.category])return te.J[e.params.category];await _e.dispatch("getCategories");const r=_e.getters.getCategoryById(e.params.category);return r.displayName?r.displayName:void 0}},component:Re,children:[{path:":id",name:"apps-details",component:Re}]}]}]});ke.afterEach((async t=>{const e=await(t.meta.title?.(t));e?(document.title=`${e} - ${Ne}`,function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}(e)):document.title=Ne}));const Se=ke;i.ZP.use(s.ZP,{defaultHtml:!1}),(0,a.Z)(_e,Se),o.nc=btoa(OC.requestToken),i.ZP.prototype.t=t,i.ZP.prototype.n=n,i.ZP.prototype.OC=OC,i.ZP.prototype.OCA=OCA,i.ZP.prototype.oc_userconfig=oc_userconfig,new i.ZP({router:Se,store:_e,render:t=>t(c)}).$mount("#content")},83678:(t,e)=>{function r(t,e){var n={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(n.from=r(e)),Object.freeze(n)}e.Z=function(t,e,n){var o=(n||{}).moduleName||"route";t.registerModule(o,{namespaced:!0,state:r(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,n){t.state[o]=r(n.to,n.from)}}});var i,s=!1,a=t.watch((function(t){return t[o]}),(function(t){var r=t.fullPath;r!==i&&(null!=i&&(s=!0,e.push(t)),i=r)}),{sync:!0}),u=e.afterEach((function(e,r){s?s=!1:(i=e.fullPath,t.commit(o+"/ROUTE_CHANGED",{to:e,from:r}))}));return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(o)}}},5656:(t,e,r)=>{"use strict";r.d(e,{RL:()=>k,Tv:()=>E,_o:()=>_,h7:()=>w,jA:()=>f,pC:()=>N,rp:()=>R,sS:()=>h,tB:()=>A});var n,o=r(77958),i=r(17499),s=r(31352),a=r(62520),u=r(65358),c=r(79753),p=r(14596);null===(n=(0,o.ts)())?(0,i.IY)().setApp("files").build():(0,i.IY)().setApp("files").setUid(n.uid).build();const d=["B","KB","MB","GB","TB","PB"],l=["B","KiB","MiB","GiB","TiB","PiB"];function h(t,e=!1,r=!1,n=!1){r=r&&!n,"string"==typeof t&&(t=Number(t));let o=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;o=Math.min((r?l.length:d.length)-1,o);const i=r?l[o]:d[o];let a=(t/Math.pow(n?1e3:1024,o)).toFixed(1);return!0===e&&0===o?("0.0"!==a?"< 1 ":"0 ")+(r?l[1]:d[1]):(a=o<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,s.aj)()),a+" "+i)}function f(t,e=!1){try{t=`${t}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch{return null}const r=t.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const n=`${r[1]}`,o="i"===r[4]||e?1024:1e3;return Math.round(Number.parseFloat(n)*o**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}var m=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(m||{});const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],y={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},v=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...g]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},b=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...y}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},w=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t`},A=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,o.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`};var E=(t=>(t.Folder="folder",t.File="file",t))(E||{});const x=function(t,e){return null!==t.match(e)},P=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=m.NONE&&t.permissions<=m.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&x(t.source,e)){const r=t.source.match(e)[0];if(!t.source.includes((0,a.join)(r,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(U).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var U=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(U||{});class I{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){P(t,e||this._knownDavService),this._data=t;const r={set:(t,e,r)=>(this.updateMtime(),Reflect.set(t,e,r)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},r),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,u.Ec)(this.source.slice(t.length))}get basename(){return(0,a.basename)(this.source)}get extension(){return(0,a.extname)(this.source)}get dirname(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),r=this.root.replace(/\/$/,"");return(0,a.dirname)(t.slice(e+r.length)||"/")}const t=new URL(this.source);return(0,a.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:m.NONE:m.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return x(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,a.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),r=this.root.replace(/\/$/,"");return t.slice(e+r.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){P({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,a.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class O extends I{get type(){return E.File}}class L extends I{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return E.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const _=`/files/${(0,o.ts)()?.uid}`,C=(0,c.generateRemoteUrl)("dav"),R=function(t=C,e={}){const r=(0,p.eI)(t,{headers:e});function n(t){r.setHeaders({...e,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,o._S)(n),n((0,o.IH)()),(0,p.lD)().patch("fetch",((t,e)=>{const r=e.headers;return r?.method&&(e.method=r.method,delete r.method),fetch(t,e)})),r},N=async(t,e="/",r=_)=>(await t.getDirectoryContents(`${r}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${v()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>k(t,r))),k=function(t,e=_,r=C){const n=t.props,i=function(t=""){let e=m.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=m.CREATE),t.includes("G")&&(e|=m.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=m.UPDATE),t.includes("D")&&(e|=m.DELETE),t.includes("R")&&(e|=m.SHARE)),e}(n?.permissions),s=n?.["owner-id"]||(0,o.ts)()?.uid,a={id:n?.fileid||0,source:`${r}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:n?.size||Number.parseInt(n.getcontentlength||"0"),permissions:i,owner:s,root:e,attributes:{...t,...n,hasPreview:n?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new O(a):new L(a)};var S={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+r+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,r){if(e){const n=Object.keys(e),o=n.length;for(let i=0;i"u")},t.getAllMatches=function(t,e){const r=[];let n=e.exec(t);for(;n;){const o=[];o.startIndex=e.lastIndex-n[0].length;const i=n.length;for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}};T.buildOptions=function(t){return Object.assign({},j,t)},T.defaultOptions=j,!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,S.nameRegexp),new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");var F={};function $(t,e,r){let n;const o={};for(let i=0;i0&&(o[e.textNodeName]=n):void 0!==n&&(o[e.textNodeName]=n),o}function D(t){const e=Object.keys(t);for(let t=0;t`,i=!1;continue}if(u===e.commentPropName){o+=n+`\x3c!--${a[u][0][e.textNodeName]}--\x3e`,i=!0;continue}if("?"===u[0]){const t=z(a[":@"],e),r="?xml"===u?"":n;let s=a[u][0][e.textNodeName];s=0!==s.length?" "+s:"",o+=r+`<${u}${s}${t}?>`,i=!0;continue}let p=n;""!==p&&(p+=e.indentBy);const d=n+`<${u}${z(a[":@"],e)}`,l=V(a[u],e,c,p);-1!==e.unpairedTags.indexOf(u)?e.suppressUnpairedNode?o+=d+">":o+=d+"/>":l&&0!==l.length||!e.suppressEmptyNode?l&&l.endsWith(">")?o+=d+`>${l}${n}`:(o+=d+">",l&&""!==n&&(l.includes("/>")||l.includes("`):o+=d+"/>",i=!0}return o}function Z(t){const e=Object.keys(t);for(let r=0;r0&&e.processEntities)for(let r=0;r0&&(r="\n"),V(t,e,"",r)},J={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function K(t){this.options=Object.assign({},J,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tt),this.processTextOrObjNode=X,this.options.format?(this.indentate=Q,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function X(t,e,r){const n=this.j2x(t,r+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}function Q(t){return this.options.indentBy.repeat(t)}function tt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}K.prototype.build=function(t){return this.options.preserveOrder?Y(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},K.prototype.j2x=function(t,e){let r="",n="";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(typeof t[o]>"u")this.isAttribute(o)&&(n+="");else if(null===t[o])this.isAttribute(o)?n+="":"?"===o[0]?n+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(t[o]instanceof Date)n+=this.buildTextValNode(t[o],o,"",e);else if("object"!=typeof t[o]){const i=this.isAttribute(o);if(i)r+=this.buildAttrPairStr(i,""+t[o]);else if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,""+t[o]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[o],o,"",e)}else if(Array.isArray(t[o])){const r=t[o].length;let i="";for(let s=0;s"u"||(null===r?"?"===o[0]?n+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+o+"/"+this.tagEndChar:"object"==typeof r?this.options.oneListGroup?i+=this.j2x(r,e+1).val:i+=this.processTextOrObjNode(r,o,e):i+=this.buildTextValNode(r,o,"",e))}this.options.oneListGroup&&(i=this.buildObjectNode(i,o,"",e)),n+=i}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const e=Object.keys(t[o]),n=e.length;for(let i=0;i"+t+o}},K.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;{let o=this.options.tagValueProcessor(e,t);return o=this.replaceEntitiesValue(o),""===o?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+o+"0&&this.options.processEntities)for(let e=0;e{if(!r){var i=1/0;for(p=0;p=o)&&Object.keys(a.O).every((t=>a.O[t](r[u])))?r.splice(u--,1):(s=!1,o0&&e[p-1][2]>o;p--)e[p]=e[p-1];e[p]=[r,n,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.f={},a.e=t=>Promise.all(Object.keys(a.f).reduce(((e,r)=>(a.f[r](t,e),e)),[])),a.u=t=>(({7418:"settings-apps-view",8351:"settings-users"}[t]||t)+"-"+t+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1",7418:"c563724cb8f8ded85c20",8351:"8ba037e94aafca61870f"}[t]),a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r={},o="nextcloud:",a.l=(t,e,n,i)=>{if(r[t])r[t].push(e);else{var s,u;if(void 0!==n)for(var c=document.getElementsByTagName("script"),p=0;p{s.onerror=s.onload=null,clearTimeout(h);var o=r[t];if(delete r[t],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((t=>t(n))),e)return e(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),u&&document.head.appendChild(s)}},a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),a.j=8562,(()=>{var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!t;)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t})(),(()=>{a.b=document.baseURI||self.location.href;var t={8562:0};a.f.j=(e,r)=>{var n=a.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,o)=>n=t[e]=[r,o]));r.push(n[2]=o);var i=a.p+a.u(e),s=new Error;a.l(i,(r=>{if(a.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;s.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,n[1](s)}}),"chunk-"+e,e)}},a.O.j=e=>0===t[e];var e=(e,r)=>{var n,o,i=r[0],s=r[1],u=r[2],c=0;if(i.some((e=>0!==t[e]))){for(n in s)a.o(s,n)&&(a.m[n]=s[n]);if(u)var p=u(a)}for(e&&e(r);ca(40491)));u=a.O(u)})(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=5f14fbf9608eeaa2e3c3 \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index a9e31449121..1e657813b53 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=6b7d58973197ed90ce7f","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/App.vue","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/App.vue?536c","webpack://nextcloud/./apps/settings/src/App.vue?4d15","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/settings/src/router.js","webpack:///nextcloud/apps/settings/src/main-apps-users-management.js","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright 2022, Julia Kirschenheuter \n *\n * @author Julia Kirschenheuter \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.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!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an
element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n * @author Stephan Orbaugh \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport logger from '../logger.js'\nimport { parseFileSize } from \"@nextcloud/files\"\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: false,\n\t\tshowUserBackend: false,\n\t\tshowLastLogin: false,\n\t\tshowNewUserForm: false,\n\t\tshowLanguages: false,\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tstate.showConfig[key] = value\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}', { offset, limit })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport { APPS_SECTION_ENUM } from './constants/AppsConstants.js'\nimport store from './store/index.js'\nimport { setPageHeading } from '../../../core/src/OCP/accessibility.js'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users.vue')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps.vue')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\nconst baseTitle = document.title\nconst router = new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Active users')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: (to) => {\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'admin') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Admins')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'disabled') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Disabled users')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn decodeURIComponent(to.params.selectedGroup)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: async (to) => {\n\t\t\t\t\t\t\tif (to.name === 'apps') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (APPS_SECTION_ENUM[to.params.category]) {\n\t\t\t\t\t\t\t\treturn APPS_SECTION_ENUM[to.params.category]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait store.dispatch('getCategories')\n\t\t\t\t\t\t\tconst category = store.getters.getCategoryById(to.params.category)\n\t\t\t\t\t\t\tif (category.displayName) {\n\t\t\t\t\t\t\t\treturn category.displayName\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n\nrouter.afterEach(async (to) => {\n\tconst metaTitle = await to.meta.title?.(to)\n\tif (metaTitle) {\n\t\tdocument.title = `${metaTitle} - ${baseTitle}`\n\t\tsetPageHeading(metaTitle)\n\t} else {\n\t\tdocument.title = baseTitle\n\t}\n})\n\nexport default router\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router.js'\nimport store from './store/index.js'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","import { getCurrentUser as A, onRequestTokenUpdate as ue, getRequestToken as de } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as ae } from \"@nextcloud/l10n\";\nimport { join as le, basename as fe, extname as ce, dirname as I } from \"path\";\nimport { encodePath as he } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pe } from \"@nextcloud/router\";\nimport { createClient as ge, getPatcher as we } from \"webdav\";\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Yt(e, t = !1, r = !1, s = !1) {\n r = r && !s, typeof e == \"string\" && (e = Number(e));\n let n = e > 0 ? Math.floor(Math.log(e) / Math.log(s ? 1e3 : 1024)) : 0;\n n = Math.min((r ? P.length : C.length) - 1, n);\n const i = r ? P[n] : C[n];\n let d = (e / Math.pow(s ? 1e3 : 1024, n)).toFixed(1);\n return t === !0 && n === 0 ? (d !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (n < 2 ? d = parseFloat(d).toFixed(0) : d = parseFloat(d).toLocaleString(ae()), d + \" \" + i);\n}\nfunction Jt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Qt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (\"parent\" in t && typeof t.parent != \"string\")\n throw new Error(\"Invalid parent\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst Dt = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, er = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass tr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst rr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, nr = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, ir = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, sr = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t`;\n}, Ee = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, or = function(e) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${A()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${e}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar R = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(R || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(le(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + he(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return fe(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return ce(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n let r = this.source;\n this.isDavRessource && (r = r.split(this._knownDavService).pop());\n const s = r.indexOf(this.root), n = this.root.replace(/\\/$/, \"\");\n return I(r.slice(s + n.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let t = this.source;\n this.isDavRessource && (t = t.split(this._knownDavService).pop());\n const r = t.indexOf(this.root), s = this.root.replace(/\\/$/, \"\");\n return t.slice(r + s.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ye extends D {\n get type() {\n return R.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return R.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ee = `/files/${A()?.uid}`, te = pe(\"dav\"), ur = function(e = te, t = {}) {\n const r = ge(e, { headers: t });\n function s(i) {\n r.setHeaders({\n ...t,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: i ?? \"\"\n });\n }\n return ue(s), s(de()), we().patch(\"fetch\", (i, d) => {\n const u = d.headers;\n return u?.method && (d.method = u.method, delete u.method), fetch(i, d);\n }), r;\n}, dr = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = s?.[\"owner-id\"] || A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ar = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar S = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nS.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Re(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Re(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar k = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Se = function(e) {\n return Object.assign({}, re, e);\n};\nk.buildOptions = Se;\nk.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar ke = Me;\nconst Be = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (Be.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst B = O, T = ke, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, B.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = B.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return B.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = k, _t = wt, { prettify: vt } = ne, Tt = S;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += ``, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + ``, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = St), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = Rt, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \" 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction Rt(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction St(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst kt = S, Bt = At, qt = Mt;\nvar W = {\n XMLParser: Bt,\n XMLValidator: kt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass cr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst hr = function(e) {\n return F().registerEntry(e);\n}, pr = function(e) {\n return F().unregisterEntry(e);\n}, gr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 && r.order !== s.order ? r.order - s.order : r.displayName.localeCompare(s.displayName, void 0, { numeric: !0, sensitivity: \"base\" }));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Qt as FileAction,\n R as FileType,\n _e as Folder,\n tr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n cr as View,\n hr as addNewFileMenuEntry,\n ur as davGetClient,\n sr as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n or as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Yt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n dr as getFavoriteNodes,\n er as getFileActions,\n nr as getFileListHeaders,\n ar as getNavigation,\n gr as getNewFileMenuEntries,\n Jt as parseFileSize,\n ir as registerDavProperty,\n Dt as registerFileAction,\n rr as registerFileListHeaders,\n pr as removeNewFileMenuEntry\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\",\"7418\":\"c563724cb8f8ded85c20\",\"8351\":\"729e37d4bf6f456e841b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8562: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(40491)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","APPS_SECTION_ENUM","Object","freeze","installed","t","enabled","disabled","updates","featured","supported","getLoggerBuilder","setApp","detectUser","build","name","beforeMount","document","getElementById","$store","commit","JSON","parse","dataset","server","_c","this","_self","extend","a","b","key","encodeReserveRE","encodeReserveReplacer","c","charCodeAt","toString","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","err","castQueryParamValue","value","String","parseQuery","query","res","trim","split","forEach","param","parts","shift","val","length","join","undefined","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","options","clone","e","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","START","unshift","parent","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","i","aVal","bVal","handleRouteEntered","instances","instance","cbs","enteredCbs","i$1","_isBeingDestroyed","View","functional","props","type","default","render","_","children","data","routerView","h","$createElement","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","$vnode","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","component","configProps","fillPropsinData","components","registerRouteInstance","vm","current","hook","prepatch","vnode","componentInstance","init","propsToPass","config","resolveProps","attrs","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","cleanPath","isarray","arr","prototype","call","pathToRegexp_1","pathToRegexp","RegExp","groups","source","match","prefix","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","index","defaultDelimiter","exec","m","escaped","offset","slice","next","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","opts","pretty","token","TypeError","stringify","j","test","re","sensitive","strict","end","endsWithDelimiter","compile","regexpCompileCache","create","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","indexOf","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","required","tag","custom","Boolean","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","target","queryIncludes","isIncludedRoute","handler","guardEvent","on","click","class","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","hasOwnProperty","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","isValidPosition","isNumber","normalizePosition","v","hashStartsWithNumberRE","isObject","selector","el","querySelector","docRect","documentElement","getBoundingClientRect","elRect","left","top","getElementPosition","style","scrollTo","ua","supportsPushState","navigator","userAgent","pushState","url","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationCancelledError","createRouterError","message","error","Error","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","fn","cb","step","flatMapComponents","flatten","concat","apply","hasSymbol","Symbol","toStringTag","once","called","args","arguments","History","baseEl","normalizeBase","pending","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","bind","reverse","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","console","lastRouteIndex","lastCurrentIndex","max","Math","updated","activated","deactivated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","__esModule","resolved","reject","reason","msg","comp","iterator","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","__proto__","constructor","expectScroll","supportsScroll","handleRoutingEvent","go","n","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","configurable","get","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","createHref","normalizedTo","defineProperties","VueRouter$1","list","install","Vue","isDef","registerInstance","callVal","$options","_parentVnode","mixin","beforeCreate","_router","util","defineReactive","destroyed","defineProperty","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","version","START_LOCATION","use","sanitize","requireAdmin","confirmPassword","axios","post","put","delete","orderGroups","orderBy","usercount","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","usersObj","existingUsers","users","_ref","newUsers","values","_ref2","includes","usersOffset","usersLimit","updateDisabledUsers","_usersObj","disabledUsersOffset","disabledUsersLimit","setPasswordPolicyMinLength","minPasswordLength","initGroups","_ref3","userCount","assign","addGroup","_ref4","gid","displayName","find","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","removeGroup","addUserGroup","_ref6","userid","user","removeUserGroup","_ref7","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","userGroup","warn","logger","setUserData","_ref12","humanValue","parseFileSize","resetUsers","setShowConfig","_ref13","showConfig","CancelToken","searchRequestCancelSource","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","getters","getUsers","getGroups","getSubadminGroups","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","actions","searchUsers","context","_ref14","limit","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","cancelToken","usersCount","getDisabledUsers","_ref16","_ref17","limitParam","getUsersFromList","_ref18","getUsersFromGroup","_ref19","groupid","groupId","getCapabilities","password_policy","minLength","_ref20","_ref21","_ref22","_ref23","_ref24","wipeUserDevices","addUser","_ref25","_ref26","dispatch","password","email","quota","language","manager","_ref27","userStatus","_ref28","allowedEmpty","sendWelcomeMail","APPS_API_FAILURE","showError","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","_id","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","updateApp","update","resetApps","reset","startLoading","loading","stopLoading","generateUrl","appIds","_appId","update_required","showInfo","onClick","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","categoriesPromiseResponse","loadingList","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","Vuex","API_FAILURE","Store","modules","settings","oc","process","Users","Apps","Router","baseTitle","title","selectedGroup","async","store","metaTitle","heading","headingEl","textContent","setPageHeading","VTooltip","defaultHtml","sync","__webpack_nonce__","btoa","OC","requestToken","OCA","oc_userconfig","App","$mount","cloneRoute","exports","moduleName","registerModule","namespaced","transition","currentPath","isTimeTraveling","storeUnwatch","watch","afterEachUnHook","unregisterModule","setUid","uid","C","P","Yt","r","s","Number","floor","log","min","d","pow","parseFloat","toLocaleString","Jt","toLocaleLowerCase","replaceAll","round","k","g","p","N","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","Y","nc","V","_nc_dav_properties","L","_nc_dav_namespaces","sr","or","R","Folder","File","J","X","URL","startsWith","mtime","crtime","mime","size","permissions","owner","attributes","root","status","Q","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","set","updateMtime","Reflect","deleteProperty","Proxy","encodedSource","origin","basename","extension","dirname","isDavRessource","fileid","move","rename","ye","_e","super","ee","te","ur","headers","setHeaders","requesttoken","patch","u","method","fetch","dr","getDirectoryContents","details","includeSelf","filename","ve","be","lastmod","parseInt","getcontentlength","hasPreview","O","isExist","isEmptyObject","merge","o","f","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","allowBooleanAttributes","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","commentPropName","unpairedTags","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ne","ie","Nt","bt","Et","prettify","yt","vt","se","Pt","xt","oe","K","E","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","lastIndexOf","entities","Ft","format","Vt","oneListGroup","isAttribute","attrPrefixLen","St","processTextOrObjNode","Lt","indentate","Rt","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","arrayNodeName","buildAttrPairStr","replaceEntitiesValue","closeTag","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","Infinity","fulfilled","getter","definition","enumerable","chunkId","all","reduce","promises","globalThis","Function","prop","done","script","needAttach","scripts","getElementsByTagName","createElement","charset","timeout","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","self","installedChunks","installedChunkData","promise","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=5f14fbf9608eeaa2e3c3","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/App.vue","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/App.vue?536c","webpack://nextcloud/./apps/settings/src/App.vue?4d15","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/settings/src/router.js","webpack:///nextcloud/apps/settings/src/main-apps-users-management.js","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright 2022, Julia Kirschenheuter \n *\n * @author Julia Kirschenheuter \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.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!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an
element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n * @author Stephan Orbaugh \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport logger from '../logger.js'\nimport { parseFileSize } from \"@nextcloud/files\"\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: false,\n\t\tshowUserBackend: false,\n\t\tshowLastLogin: false,\n\t\tshowNewUserForm: false,\n\t\tshowLanguages: false,\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tstate.showConfig[key] = value\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}', { offset, limit })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport { APPS_SECTION_ENUM } from './constants/AppsConstants.js'\nimport store from './store/index.js'\nimport { setPageHeading } from '../../../core/src/OCP/accessibility.js'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users.vue')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps.vue')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\nconst baseTitle = document.title\nconst router = new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Active users')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: (to) => {\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'admin') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Admins')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'disabled') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Disabled users')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn decodeURIComponent(to.params.selectedGroup)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: async (to) => {\n\t\t\t\t\t\t\tif (to.name === 'apps') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (APPS_SECTION_ENUM[to.params.category]) {\n\t\t\t\t\t\t\t\treturn APPS_SECTION_ENUM[to.params.category]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait store.dispatch('getCategories')\n\t\t\t\t\t\t\tconst category = store.getters.getCategoryById(to.params.category)\n\t\t\t\t\t\t\tif (category.displayName) {\n\t\t\t\t\t\t\t\treturn category.displayName\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n\nrouter.afterEach(async (to) => {\n\tconst metaTitle = await to.meta.title?.(to)\n\tif (metaTitle) {\n\t\tdocument.title = `${metaTitle} - ${baseTitle}`\n\t\tsetPageHeading(metaTitle)\n\t} else {\n\t\tdocument.title = baseTitle\n\t}\n})\n\nexport default router\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router.js'\nimport store from './store/index.js'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","import { getCurrentUser as A, onRequestTokenUpdate as ue, getRequestToken as de } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as ae } from \"@nextcloud/l10n\";\nimport { join as le, basename as fe, extname as ce, dirname as I } from \"path\";\nimport { encodePath as he } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pe } from \"@nextcloud/router\";\nimport { createClient as ge, getPatcher as we } from \"webdav\";\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Yt(e, t = !1, r = !1, s = !1) {\n r = r && !s, typeof e == \"string\" && (e = Number(e));\n let n = e > 0 ? Math.floor(Math.log(e) / Math.log(s ? 1e3 : 1024)) : 0;\n n = Math.min((r ? P.length : C.length) - 1, n);\n const i = r ? P[n] : C[n];\n let d = (e / Math.pow(s ? 1e3 : 1024, n)).toFixed(1);\n return t === !0 && n === 0 ? (d !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (n < 2 ? d = parseFloat(d).toFixed(0) : d = parseFloat(d).toLocaleString(ae()), d + \" \" + i);\n}\nfunction Jt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Qt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (\"parent\" in t && typeof t.parent != \"string\")\n throw new Error(\"Invalid parent\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst Dt = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, er = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass tr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst rr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, nr = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, ir = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, sr = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t`;\n}, Ee = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, or = function(e) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${A()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${e}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar R = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(R || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(le(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + he(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return fe(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return ce(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n let r = this.source;\n this.isDavRessource && (r = r.split(this._knownDavService).pop());\n const s = r.indexOf(this.root), n = this.root.replace(/\\/$/, \"\");\n return I(r.slice(s + n.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let t = this.source;\n this.isDavRessource && (t = t.split(this._knownDavService).pop());\n const r = t.indexOf(this.root), s = this.root.replace(/\\/$/, \"\");\n return t.slice(r + s.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ye extends D {\n get type() {\n return R.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return R.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ee = `/files/${A()?.uid}`, te = pe(\"dav\"), ur = function(e = te, t = {}) {\n const r = ge(e, { headers: t });\n function s(i) {\n r.setHeaders({\n ...t,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: i ?? \"\"\n });\n }\n return ue(s), s(de()), we().patch(\"fetch\", (i, d) => {\n const u = d.headers;\n return u?.method && (d.method = u.method, delete u.method), fetch(i, d);\n }), r;\n}, dr = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = s?.[\"owner-id\"] || A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ar = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar S = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nS.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Re(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Re(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar k = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Se = function(e) {\n return Object.assign({}, re, e);\n};\nk.buildOptions = Se;\nk.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar ke = Me;\nconst Be = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (Be.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst B = O, T = ke, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, B.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = B.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return B.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = k, _t = wt, { prettify: vt } = ne, Tt = S;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += ``, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + ``, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = St), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = Rt, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \" 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction Rt(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction St(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst kt = S, Bt = At, qt = Mt;\nvar W = {\n XMLParser: Bt,\n XMLValidator: kt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass cr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst hr = function(e) {\n return F().registerEntry(e);\n}, pr = function(e) {\n return F().unregisterEntry(e);\n}, gr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 && r.order !== s.order ? r.order - s.order : r.displayName.localeCompare(s.displayName, void 0, { numeric: !0, sensitivity: \"base\" }));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Qt as FileAction,\n R as FileType,\n _e as Folder,\n tr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n cr as View,\n hr as addNewFileMenuEntry,\n ur as davGetClient,\n sr as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n or as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Yt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n dr as getFavoriteNodes,\n er as getFileActions,\n nr as getFileListHeaders,\n ar as getNavigation,\n gr as getNewFileMenuEntries,\n Jt as parseFileSize,\n ir as registerDavProperty,\n Dt as registerFileAction,\n rr as registerFileListHeaders,\n pr as removeNewFileMenuEntry\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\",\"7418\":\"c563724cb8f8ded85c20\",\"8351\":\"8ba037e94aafca61870f\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8562: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(40491)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","APPS_SECTION_ENUM","Object","freeze","installed","t","enabled","disabled","updates","featured","supported","getLoggerBuilder","setApp","detectUser","build","name","beforeMount","document","getElementById","$store","commit","JSON","parse","dataset","server","_c","this","_self","extend","a","b","key","encodeReserveRE","encodeReserveReplacer","c","charCodeAt","toString","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","err","castQueryParamValue","value","String","parseQuery","query","res","trim","split","forEach","param","parts","shift","val","length","join","undefined","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","options","clone","e","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","START","unshift","parent","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","i","aVal","bVal","handleRouteEntered","instances","instance","cbs","enteredCbs","i$1","_isBeingDestroyed","View","functional","props","type","default","render","_","children","data","routerView","h","$createElement","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","$vnode","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","component","configProps","fillPropsinData","components","registerRouteInstance","vm","current","hook","prepatch","vnode","componentInstance","init","propsToPass","config","resolveProps","attrs","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","cleanPath","isarray","arr","prototype","call","pathToRegexp_1","pathToRegexp","RegExp","groups","source","match","prefix","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","index","defaultDelimiter","exec","m","escaped","offset","slice","next","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","opts","pretty","token","TypeError","stringify","j","test","re","sensitive","strict","end","endsWithDelimiter","compile","regexpCompileCache","create","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","indexOf","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","required","tag","custom","Boolean","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","target","queryIncludes","isIncludedRoute","handler","guardEvent","on","click","class","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","hasOwnProperty","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","isValidPosition","isNumber","normalizePosition","v","hashStartsWithNumberRE","isObject","selector","el","querySelector","docRect","documentElement","getBoundingClientRect","elRect","left","top","getElementPosition","style","scrollTo","ua","supportsPushState","navigator","userAgent","pushState","url","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationCancelledError","createRouterError","message","error","Error","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","fn","cb","step","flatMapComponents","flatten","concat","apply","hasSymbol","Symbol","toStringTag","once","called","args","arguments","History","baseEl","normalizeBase","pending","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","bind","reverse","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","console","lastRouteIndex","lastCurrentIndex","max","Math","updated","activated","deactivated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","__esModule","resolved","reject","reason","msg","comp","iterator","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","__proto__","constructor","expectScroll","supportsScroll","handleRoutingEvent","go","n","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","configurable","get","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","createHref","normalizedTo","defineProperties","VueRouter$1","list","install","Vue","isDef","registerInstance","callVal","$options","_parentVnode","mixin","beforeCreate","_router","util","defineReactive","destroyed","defineProperty","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","version","START_LOCATION","use","sanitize","requireAdmin","confirmPassword","axios","post","put","delete","orderGroups","orderBy","usercount","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","usersObj","existingUsers","users","_ref","newUsers","values","_ref2","includes","usersOffset","usersLimit","updateDisabledUsers","_usersObj","disabledUsersOffset","disabledUsersLimit","setPasswordPolicyMinLength","minPasswordLength","initGroups","_ref3","userCount","assign","addGroup","_ref4","gid","displayName","find","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","removeGroup","addUserGroup","_ref6","userid","user","removeUserGroup","_ref7","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","userGroup","warn","logger","setUserData","_ref12","humanValue","parseFileSize","resetUsers","setShowConfig","_ref13","showConfig","CancelToken","searchRequestCancelSource","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","getters","getUsers","getGroups","getSubadminGroups","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","actions","searchUsers","context","_ref14","limit","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","cancelToken","usersCount","getDisabledUsers","_ref16","_ref17","limitParam","getUsersFromList","_ref18","getUsersFromGroup","_ref19","groupid","groupId","getCapabilities","password_policy","minLength","_ref20","_ref21","_ref22","_ref23","_ref24","wipeUserDevices","addUser","_ref25","_ref26","dispatch","password","email","quota","language","manager","_ref27","userStatus","_ref28","allowedEmpty","sendWelcomeMail","APPS_API_FAILURE","showError","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","_id","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","updateApp","update","resetApps","reset","startLoading","loading","stopLoading","generateUrl","appIds","_appId","update_required","showInfo","onClick","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","categoriesPromiseResponse","loadingList","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","Vuex","API_FAILURE","Store","modules","settings","oc","process","Users","Apps","Router","baseTitle","title","selectedGroup","async","store","metaTitle","heading","headingEl","textContent","setPageHeading","VTooltip","defaultHtml","sync","__webpack_nonce__","btoa","OC","requestToken","OCA","oc_userconfig","App","$mount","cloneRoute","exports","moduleName","registerModule","namespaced","transition","currentPath","isTimeTraveling","storeUnwatch","watch","afterEachUnHook","unregisterModule","setUid","uid","C","P","Yt","r","s","Number","floor","log","min","d","pow","parseFloat","toLocaleString","Jt","toLocaleLowerCase","replaceAll","round","k","g","p","N","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","Y","nc","V","_nc_dav_properties","L","_nc_dav_namespaces","sr","or","R","Folder","File","J","X","URL","startsWith","mtime","crtime","mime","size","permissions","owner","attributes","root","status","Q","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","set","updateMtime","Reflect","deleteProperty","Proxy","encodedSource","origin","basename","extension","dirname","isDavRessource","fileid","move","rename","ye","_e","super","ee","te","ur","headers","setHeaders","requesttoken","patch","u","method","fetch","dr","getDirectoryContents","details","includeSelf","filename","ve","be","lastmod","parseInt","getcontentlength","hasPreview","O","isExist","isEmptyObject","merge","o","f","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","allowBooleanAttributes","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","commentPropName","unpairedTags","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ne","ie","Nt","bt","Et","prettify","yt","vt","se","Pt","xt","oe","K","E","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","lastIndexOf","entities","Ft","format","Vt","oneListGroup","isAttribute","attrPrefixLen","St","processTextOrObjNode","Lt","indentate","Rt","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","arrayNodeName","buildAttrPairStr","replaceEntitiesValue","closeTag","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","Infinity","fulfilled","getter","definition","enumerable","chunkId","all","reduce","promises","globalThis","Function","prop","done","script","needAttach","scripts","getElementsByTagName","createElement","charset","timeout","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","self","installedChunks","installedChunkData","promise","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/theming-admin-theming.js b/dist/theming-admin-theming.js index 14a80809cd6..66f6c71ee92 100644 --- a/dist/theming-admin-theming.js +++ b/dist/theming-admin-theming.js @@ -1,3 +1,3 @@ /*! For license information please see theming-admin-theming.js.LICENSE.txt */ -(()=>{"use strict";var e,n,a,o={22610:(e,n,a)=>{var o=a(77958),i=a(20144),r=a(43554),l=a(50323),s=a(90580),c=a(9359),d=a(93664),u=a(79753);const p=["color","logo","background","logoheader","favicon","disable-user-theming"],h={emits:["update:theming"],data:()=>({showSuccess:!1,errorMessage:""}),computed:{id(){return`admin-theming-${this.name}`}},methods:{reset(){this.showSuccess=!1,this.errorMessage=""},handleSuccess(){this.showSuccess=!0,setTimeout((()=>{this.showSuccess=!1}),2e3),p.includes(this.name)&&this.$emit("update:theming")}}},m={mixins:[h],watch:{value(e){this.localValue=e}},data(){return{localValue:this.value}},methods:{async save(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/updateStylesheet"),t=!0===this.localValue?"yes":!1===this.localValue?"no":this.localValue;try{await d.Z.post(e,{setting:this.name,value:t}),this.$emit("update:value",this.localValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}},async undo(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/undoChanges");try{await d.Z.post(e,{setting:this.name}),this.$emit("update:value",this.defaultValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}}}},g={name:"CheckboxField",components:{NcCheckboxRadioSwitch:c.Z,NcNoteCard:l.Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:Boolean,required:!0},defaultValue:{type:Boolean,required:!0},displayName:{type:String,required:!0},label:{type:String,required:!0},description:{type:String,required:!0}}};var f=a(93379),v=a.n(f),A=a(7795),b=a.n(A),y=a(90569),C=a.n(y),w=a(3565),_=a.n(w),x=a(19216),S=a.n(x),N=a(44589),T=a.n(N),k=a(60515),E={};E.styleTagTransform=T(),E.setAttributes=_(),E.insert=C().bind(null,"head"),E.domAPI=b(),E.insertStyleElement=S(),v()(k.Z,E),k.Z&&k.Z.locals&&k.Z.locals;var D=a(51900);const M=(0,D.Z)(g,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch",id:e.id,checked:e.localValue},on:{"update:checked":[function(t){e.localValue=t},e.save]}},[e._v("\n\t\t\t"+e._s(e.label)+"\n\t\t")])],1),e._v(" "),t("p",{staticClass:"field__description"},[e._v(e._s(e.description))]),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e()],1)}),[],!1,null,"c41a3e80",null).exports;var I=a(20296),P=a(54572),O=a(42416);const L={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},F=(0,D.Z)(L,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,B={name:"PaletteIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=(0,D.Z)(B,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon palette-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,j={name:"ColorPickerField",components:{NcButton:P.Z,NcColorPicker:O.N,NcNoteCard:l.Z,Undo:F,Palette:Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:String,required:!0},defaultValue:{type:String,required:!0},displayName:{type:String,required:!0}},methods:{debounceSave:(0,I.debounce)((async function(){await this.save()}),200)}};var U=a(40590),R={};R.styleTagTransform=T(),R.setAttributes=_(),R.insert=C().bind(null,"head"),R.domAPI=b(),R.insertStyleElement=S(),v()(U.Z,R),U.Z&&U.Z.locals&&U.Z.locals;const z=(0,D.Z)(j,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcColorPicker",{attrs:{value:e.localValue,"advanced-fields":!0,"data-admin-theming-setting-primary-color-picker":""},on:{"update:value":[function(t){e.localValue=t},e.debounceSave]}},[t("NcButton",{attrs:{type:"secondary",id:e.id},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Palette",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t"+e._s(e.t("theming","Change color"))+"\n\t\t\t")])],1),e._v(" "),t("div",{staticClass:"field__color-preview",attrs:{"data-admin-theming-setting-primary-color":""}}),e._v(" "),e.value!==e.defaultValue?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Reset to default"),"data-admin-theming-setting-primary-color-reset":""},on:{click:e.undo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!1,33666776)}):e._e()],1),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e()],1)}),[],!1,null,"25e8f76e",null).exports;var Y=a(87604),V=a(42588),H=a(20508);const{allowedMimeTypes:X}=(0,r.j)("theming","adminThemingParameters",{}),q={name:"FileInputField",components:{Delete:V.Z,NcButton:P.Z,NcLoadingIcon:Y.Z,NcNoteCard:l.Z,Undo:F,Upload:H.Z},mixins:[h],props:{name:{type:String,required:!0},mimeName:{type:String,required:!0},mimeValue:{type:String,required:!0},defaultMimeValue:{type:String,required:!0},displayName:{type:String,required:!0},ariaLabel:{type:String,required:!0}},data(){return{showLoading:!1,acceptMime:(X[this.name]||["image/jpeg","image/png","image/gif","image/webp"]).join(",")}},computed:{showReset(){return this.mimeValue!==this.defaultMimeValue},showRemove(){if("background"===this.name){if(this.mimeValue.startsWith("image/"))return!0;if(this.mimeValue===this.defaultMimeValue)return!0}return!1}},methods:{activateLocalFilePicker(){this.reset(),this.$refs.input.value=null,this.$refs.input.click()},async onChange(e){const t=e.target.files[0],n=new FormData;n.append("key",this.name),n.append("image",t);const a=(0,u.generateUrl)("/apps/theming/ajax/uploadImage");try{this.showLoading=!0,await d.Z.post(a,n),this.showLoading=!1,this.$emit("update:mime-value",t.type),this.handleSuccess()}catch(e){this.showLoading=!1,this.errorMessage=e.response.data.data?.message}},async undo(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/undoChanges");try{await d.Z.post(e,{setting:this.mimeName}),this.$emit("update:mime-value",this.defaultMimeValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}},async removeBackground(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/updateStylesheet");try{await d.Z.post(e,{setting:this.mimeName,value:"backgroundColor"}),this.$emit("update:mime-value","backgroundColor"),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}}}},G=q;var $=a(58800),W={};W.styleTagTransform=T(),W.setAttributes=_(),W.insert=C().bind(null,"head"),W.domAPI=b(),W.insertStyleElement=S(),v()($.Z,W),$.Z&&$.Z.locals&&$.Z.locals;const Q=(0,D.Z)(G,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcButton",{attrs:{type:"secondary",id:e.id,"aria-label":e.ariaLabel,"data-admin-theming-setting-file-picker":""},on:{click:e.activateLocalFilePicker},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Upload",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t"+e._s(e.t("theming","Upload"))+"\n\t\t")]),e._v(" "),e.showReset?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Reset to default"),"data-admin-theming-setting-file-reset":""},on:{click:e.undo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!1,33666776)}):e._e(),e._v(" "),e.showRemove?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Remove background image"),"data-admin-theming-setting-file-remove":""},on:{click:e.removeBackground},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)}):e._e(),e._v(" "),e.showLoading?t("NcLoadingIcon",{staticClass:"field__loading-icon",attrs:{size:20}}):e._e()],1),e._v(" "),"logoheader"!==e.name&&"favicon"!==e.name||e.mimeValue===e.defaultMimeValue?e._e():t("div",{staticClass:"field__preview",class:{"field__preview--logoheader":"logoheader"===e.name,"field__preview--favicon":"favicon"===e.name}}),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e(),e._v(" "),t("input",{ref:"input",attrs:{accept:e.acceptMime,type:"file"},on:{change:e.onChange}})],1)}),[],!1,null,"36abeca7",null).exports,J={name:"TextField",components:{NcTextField:a(49368).Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:String,required:!0},defaultValue:{type:String,required:!0},type:{type:String,required:!0},displayName:{type:String,required:!0},placeholder:{type:String,required:!0},maxlength:{type:Number,required:!0}}};var K=a(15587),ee={};ee.styleTagTransform=T(),ee.setAttributes=_(),ee.insert=C().bind(null,"head"),ee.domAPI=b(),ee.insertStyleElement=S(),v()(K.Z,ee),K.Z&&K.Z.locals&&K.Z.locals;const te=(0,D.Z)(J,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("NcTextField",{attrs:{value:e.localValue,label:e.displayName,placeholder:e.placeholder,type:e.type,maxlength:e.maxlength,spellcheck:!1,success:e.showSuccess,error:Boolean(e.errorMessage),"helper-text":e.errorMessage,"show-trailing-button":e.value!==e.defaultValue,"trailing-button-icon":"undo"},on:{"update:value":function(t){e.localValue=t},"trailing-button-click":e.undo,keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.save.apply(null,arguments)},blur:e.save}})],1)}),[],!1,null,"31f08db0",null).exports;var ne=a(64024),ae=a(31352),oe=a(77723),ie=a(9568),re=a(64886);function le(e){return le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le(e)}function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(){return ce=Object.assign||function(e){for(var t=1;t"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function we(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function _e(e,t,n,a){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&Ce(e,t):Ce(e,t))||a&&e===n)return e;if(e===n)break}while(e=we(e))}return null}var xe,Se=/\s+/g;function Ne(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(Se," ").replace(" "+t+" "," ");e.className=(a+(n?" "+t:"")).replace(Se," ")}}function Te(e,t,n){var a=e&&e.style;if(a){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in a||-1!==t.indexOf("webkit")||(t="-webkit-"+t),a[t]=n+("string"==typeof n?"":"px")}}function ke(e,t){var n="";if("string"==typeof e)n=e;else do{var a=Te(e,"transform");a&&"none"!==a&&(n=a+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function Ee(e,t,n){if(e){var a=e.getElementsByTagName(t),o=0,i=a.length;if(n)for(;o=i:o<=i))return a;if(a===De())break;a=Be(a,!1)}return!1}function Pe(e,t,n){for(var a=0,o=0,i=e.children;o2&&void 0!==arguments[2]?arguments[2]:{},a=n.evt,o=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},i=Object.keys(e);for(a=0;a=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,["evt"]);He.pluginEvent.bind(Zt)(e,t,de({dragEl:Ge,parentEl:$e,ghostEl:We,rootEl:Qe,nextEl:Je,lastDownEl:Ke,cloneEl:et,cloneHidden:tt,dragStarted:mt,putSortable:lt,activeSortable:Zt.active,originalEvent:a,oldIndex:nt,oldDraggableIndex:ot,newIndex:at,newDraggableIndex:it,hideGhostForTarget:Ot,unhideGhostForTarget:Lt,cloneNowHidden:function(){tt=!0},cloneNowShown:function(){tt=!1},dispatchSortableEvent:function(e){qe({sortable:t,name:e,originalEvent:a})}},o))};function qe(e){!function(e){var t=e.sortable,n=e.rootEl,a=e.name,o=e.targetEl,i=e.cloneEl,r=e.toEl,l=e.fromEl,s=e.oldIndex,c=e.newIndex,d=e.oldDraggableIndex,u=e.newDraggableIndex,p=e.originalEvent,h=e.putSortable,m=e.extraEventProperties;if(t=t||n&&n[ze]){var g,f=t.options,v="on"+a.charAt(0).toUpperCase()+a.substr(1);!window.CustomEvent||pe||he?(g=document.createEvent("Event")).initEvent(a,!0,!0):g=new CustomEvent(a,{bubbles:!0,cancelable:!0}),g.to=r||n,g.from=l||n,g.item=o||n,g.clone=i,g.oldIndex=s,g.newIndex=c,g.oldDraggableIndex=d,g.newDraggableIndex=u,g.originalEvent=p,g.pullMode=h?h.lastPutMode:void 0;var A=de({},m,He.getEventProperties(a,t));for(var b in A)g[b]=A[b];n&&n.dispatchEvent(g),f[v]&&f[v].call(t,g)}}(de({putSortable:lt,cloneEl:et,targetEl:Ge,rootEl:Qe,oldIndex:nt,oldDraggableIndex:ot,newIndex:at,newDraggableIndex:it},e))}var Ge,$e,We,Qe,Je,Ke,et,tt,nt,at,ot,it,rt,lt,st,ct,dt,ut,pt,ht,mt,gt,ft,vt,At,bt=!1,yt=!1,Ct=[],wt=!1,_t=!1,xt=[],St=!1,Nt=[],Tt="undefined"!=typeof document,kt=fe,Et=he||pe?"cssFloat":"float",Dt=Tt&&!ve&&!fe&&"draggable"in document.createElement("div"),Mt=function(){if(Tt){if(pe)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),It=function(e,t){var n=Te(e),a=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Pe(e,0,t),i=Pe(e,1,t),r=o&&Te(o),l=i&&Te(i),s=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+Me(o).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Me(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&r.float&&"none"!==r.float){var d="left"===r.float?"left":"right";return!i||"both"!==l.clear&&l.clear!==d?"horizontal":"vertical"}return o&&("block"===r.display||"flex"===r.display||"table"===r.display||"grid"===r.display||s>=a&&"none"===n[Et]||i&&"none"===n[Et]&&s+c>a)?"vertical":"horizontal"},Pt=function(e){function t(e,n){return function(a,o,i,r){var l=a.options.group.name&&o.options.group.name&&a.options.group.name===o.options.group.name;if(null==e&&(n||l))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(a,o,i,r),n)(a,o,i,r);var s=(n?a:o).options.group.name;return!0===e||"string"==typeof e&&e===s||e.join&&e.indexOf(s)>-1}}var n={},a=e.group;a&&"object"==le(a)||(a={name:a}),n.name=a.name,n.checkPull=t(a.pull,!0),n.checkPut=t(a.put),n.revertClone=a.revertClone,e.group=n},Ot=function(){!Mt&&We&&Te(We,"display","none")},Lt=function(){!Mt&&We&&Te(We,"display","")};Tt&&document.addEventListener("click",(function(e){if(yt)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),yt=!1,!1}),!0);var Ft=function(e){if(Ge){e=e.touches?e.touches[0]:e;var t=(o=e.clientX,i=e.clientY,Ct.some((function(e){if(!Oe(e)){var t=Me(e),n=e[ze].options.emptyInsertThreshold,a=o>=t.left-n&&o<=t.right+n,l=i>=t.top-n&&i<=t.bottom+n;return n&&a&&l?r=e:void 0}})),r);if(t){var n={};for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[ze]._onDragOver(n)}}var o,i,r},Bt=function(e){Ge&&Ge.parentNode[ze]._isOutsideThisEl(e.target)};function Zt(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=ce({},t),e[ze]=this;var n,a,o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return It(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Zt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var i in He.initializePlugins(this,e,o),o)!(i in t)&&(t[i]=o[i]);for(var r in Pt(t),this)"_"===r.charAt(0)&&"function"==typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!t.forceFallback&&Dt,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?be(e,"pointerdown",this._onTapStart):(be(e,"mousedown",this._onTapStart),be(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(be(e,"dragover",this),be(e,"dragenter",this)),Ct.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),ce(this,(a=[],{captureAnimationState:function(){a=[],this.options.animation&&[].slice.call(this.el.children).forEach((function(e){if("none"!==Te(e,"display")&&e!==Zt.ghost){a.push({target:e,rect:Me(e)});var t=de({},a[a.length-1].rect);if(e.thisAnimationDuration){var n=ke(e,!0);n&&(t.top-=n.f,t.left-=n.e)}e.fromRect=t}}))},addAnimationState:function(e){a.push(e)},removeAnimationState:function(e){a.splice(function(e,t){for(var n in e)if(e.hasOwnProperty(n))for(var a in t)if(t.hasOwnProperty(a)&&t[a]===e[n][a])return Number(n);return-1}(a,{target:e}),1)},animateAll:function(e){var t=this;if(!this.options.animation)return clearTimeout(n),void("function"==typeof e&&e());var o=!1,i=0;a.forEach((function(e){var n=0,a=e.target,r=a.fromRect,l=Me(a),s=a.prevFromRect,c=a.prevToRect,d=e.rect,u=ke(a,!0);u&&(l.top-=u.f,l.left-=u.e),a.toRect=l,a.thisAnimationDuration&&Ze(s,l)&&!Ze(r,l)&&(d.top-l.top)/(d.left-l.left)==(r.top-l.top)/(r.left-l.left)&&(n=function(e,t,n,a){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-n.top,2)+Math.pow(t.left-n.left,2))*a.animation}(d,s,c,t.options)),Ze(l,r)||(a.prevFromRect=r,a.prevToRect=l,n||(n=t.options.animation),t.animate(a,d,l,n)),n&&(o=!0,i=Math.max(i,n),clearTimeout(a.animationResetTimer),a.animationResetTimer=setTimeout((function(){a.animationTime=0,a.prevFromRect=null,a.fromRect=null,a.prevToRect=null,a.thisAnimationDuration=null}),n),a.thisAnimationDuration=n)})),clearTimeout(n),o?n=setTimeout((function(){"function"==typeof e&&e()}),i):"function"==typeof e&&e(),a=[]},animate:function(e,t,n,a){if(a){Te(e,"transition",""),Te(e,"transform","");var o=ke(this.el),i=o&&o.a,r=o&&o.d,l=(t.left-n.left)/(i||1),s=(t.top-n.top)/(r||1);e.animatingX=!!l,e.animatingY=!!s,Te(e,"transform","translate3d("+l+"px,"+s+"px,0)"),function(e){e.offsetWidth}(e),Te(e,"transition","transform "+a+"ms"+(this.options.easing?" "+this.options.easing:"")),Te(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){Te(e,"transition",""),Te(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),a)}}}))}function jt(e,t,n,a,o,i,r,l){var s,c,d=e[ze],u=d.options.onMove;return!window.CustomEvent||pe||he?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=t,s.from=e,s.dragged=n,s.draggedRect=a,s.related=o||t,s.relatedRect=i||Me(t),s.willInsertAfter=l,s.originalEvent=r,e.dispatchEvent(s),u&&(c=u.call(d,s,r)),c}function Ut(e){e.draggable=!1}function Rt(){St=!1}function zt(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,a=0;n--;)a+=t.charCodeAt(n);return a.toString(36)}function Yt(e){return setTimeout(e,0)}function Vt(e){return clearTimeout(e)}Zt.prototype={constructor:Zt,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(gt=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,Ge):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,a=this.options,o=a.preventOnFilter,i=e.type,r=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(r||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=a.filter;if(function(e){Nt.length=0;for(var t=e.getElementsByTagName("input"),n=t.length;n--;){var a=t[n];a.checked&&Nt.push(a)}}(n),!Ge&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||a.disabled||s.isContentEditable||(l=_e(l,a.draggable,n,!1))&&l.animated||Ke===l)){if(nt=Le(l),ot=Le(l,a.draggable),"function"==typeof c){if(c.call(this,e,l,this))return qe({sortable:t,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),Xe("filter",t,{evt:e}),void(o&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some((function(a){if(a=_e(s,a.trim(),n,!1))return qe({sortable:t,rootEl:a,name:"filter",targetEl:l,fromEl:n,toEl:n}),Xe("filter",t,{evt:e}),!0}))))return void(o&&e.cancelable&&e.preventDefault());a.handle&&!_e(s,a.handle,n,!1)||this._prepareDragStart(e,r,l)}}},_prepareDragStart:function(e,t,n){var a,o=this,i=o.el,r=o.options,l=i.ownerDocument;if(n&&!Ge&&n.parentNode===i){var s=Me(n);if(Qe=i,$e=(Ge=n).parentNode,Je=Ge.nextSibling,Ke=n,rt=r.group,Zt.dragged=Ge,st={target:Ge,clientX:(t||e).clientX,clientY:(t||e).clientY},pt=st.clientX-s.left,ht=st.clientY-s.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,Ge.style["will-change"]="all",a=function(){Xe("delayEnded",o,{evt:e}),Zt.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!me&&o.nativeDraggable&&(Ge.draggable=!0),o._triggerDragStart(e,t),qe({sortable:o,name:"choose",originalEvent:e}),Ne(Ge,r.chosenClass,!0))},r.ignore.split(",").forEach((function(e){Ee(Ge,e.trim(),Ut)})),be(l,"dragover",Ft),be(l,"mousemove",Ft),be(l,"touchmove",Ft),be(l,"mouseup",o._onDrop),be(l,"touchend",o._onDrop),be(l,"touchcancel",o._onDrop),me&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Ge.draggable=!0),Xe("delayStart",this,{evt:e}),!r.delay||r.delayOnTouchOnly&&!t||this.nativeDraggable&&(he||pe))a();else{if(Zt.eventCanceled)return void this._onDrop();be(l,"mouseup",o._disableDelayedDrag),be(l,"touchend",o._disableDelayedDrag),be(l,"touchcancel",o._disableDelayedDrag),be(l,"mousemove",o._delayedDragTouchMoveHandler),be(l,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&be(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(a,r.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Ge&&Ut(Ge),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;ye(e,"mouseup",this._disableDelayedDrag),ye(e,"touchend",this._disableDelayedDrag),ye(e,"touchcancel",this._disableDelayedDrag),ye(e,"mousemove",this._delayedDragTouchMoveHandler),ye(e,"touchmove",this._delayedDragTouchMoveHandler),ye(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?be(document,"pointermove",this._onTouchMove):be(document,t?"touchmove":"mousemove",this._onTouchMove):(be(Ge,"dragend",this),be(Qe,"dragstart",this._onDragStart));try{document.selection?Yt((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(bt=!1,Qe&&Ge){Xe("dragStarted",this,{evt:t}),this.nativeDraggable&&be(document,"dragover",Bt);var n=this.options;!e&&Ne(Ge,n.dragClass,!1),Ne(Ge,n.ghostClass,!0),Zt.active=this,e&&this._appendGhost(),qe({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ct){this._lastX=ct.clientX,this._lastY=ct.clientY,Ot();for(var e=document.elementFromPoint(ct.clientX,ct.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ct.clientX,ct.clientY))!==t;)t=e;if(Ge.parentNode[ze]._isOutsideThisEl(e),t)do{if(t[ze]&&t[ze]._onDragOver({clientX:ct.clientX,clientY:ct.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break;e=t}while(t=t.parentNode);Lt()}},_onTouchMove:function(e){if(st){var t=this.options,n=t.fallbackTolerance,a=t.fallbackOffset,o=e.touches?e.touches[0]:e,i=We&&ke(We,!0),r=We&&i&&i.a,l=We&&i&&i.d,s=kt&&At&&Fe(At),c=(o.clientX-st.clientX+a.x)/(r||1)+(s?s[0]-xt[0]:0)/(r||1),d=(o.clientY-st.clientY+a.y)/(l||1)+(s?s[1]-xt[1]:0)/(l||1);if(!Zt.active&&!bt){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))a.right+10||e.clientX<=a.right&&e.clientY>a.bottom&&e.clientX>=a.left:e.clientX>a.right&&e.clientY>a.top||e.clientX<=a.right&&e.clientY>a.bottom+10}(e,o,this)&&!g.animated){if(g===Ge)return D(!1);if(g&&i===e.target&&(r=g),r&&(n=Me(r)),!1!==jt(Qe,i,Ge,t,r,n,e,!!r))return E(),i.appendChild(Ge),$e=i,M(),D(!0)}else if(r.parentNode===i){n=Me(r);var f,v,A,b=Ge.parentNode!==i,y=!function(e,t,n){var a=n?e.left:e.top,o=n?e.right:e.bottom,i=n?e.width:e.height,r=n?t.left:t.top,l=n?t.right:t.bottom,s=n?t.width:t.height;return a===r||o===l||a+i/2===r+s/2}(Ge.animated&&Ge.toRect||t,r.animated&&r.toRect||n,o),C=o?"top":"left",w=Ie(r,"top","top")||Ie(Ge,"top","top"),_=w?w.scrollTop:void 0;if(gt!==r&&(v=n[C],wt=!1,_t=!y&&l.invertSwap||b),f=function(e,t,n,a,o,i,r,l){var s=a?e.clientY:e.clientX,c=a?n.height:n.width,d=a?n.top:n.left,u=a?n.bottom:n.right,p=!1;if(!r)if(l&&vtd+c*i/2:su-vt)return-ft}else if(s>d+c*(1-o)/2&&su-c*i/2)?s>d+c/2?1:-1:0}(e,r,n,o,y?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,_t,gt===r),0!==f){var x=Le(Ge);do{x-=f,A=$e.children[x]}while(A&&("none"===Te(A,"display")||A===We))}if(0===f||A===r)return D(!1);gt=r,ft=f;var S=r.nextElementSibling,N=!1,T=jt(Qe,i,Ge,t,r,n,e,N=1===f);if(!1!==T)return 1!==T&&-1!==T||(N=1===T),St=!0,setTimeout(Rt,30),E(),N&&!S?i.appendChild(Ge):r.parentNode.insertBefore(Ge,N?S:r),w&&Ue(w,0,_-w.scrollTop),$e=Ge.parentNode,void 0===v||_t||(vt=Math.abs(v-Me(r)[C])),M(),D(!0)}if(i.contains(Ge))return D(!1)}return!1}function k(l,s){Xe(l,h,de({evt:e,isOwner:d,axis:o?"vertical":"horizontal",revert:a,dragRect:t,targetRect:n,canSort:u,fromSortable:p,target:r,completed:D,onMove:function(n,a){return jt(Qe,i,Ge,t,n,Me(n),e,a)},changed:M},s))}function E(){k("dragOverAnimationCapture"),h.captureAnimationState(),h!==p&&p.captureAnimationState()}function D(t){return k("dragOverCompleted",{insertion:t}),t&&(d?c._hideClone():c._showClone(h),h!==p&&(Ne(Ge,lt?lt.options.ghostClass:c.options.ghostClass,!1),Ne(Ge,l.ghostClass,!0)),lt!==h&&h!==Zt.active?lt=h:h===Zt.active&<&&(lt=null),p===h&&(h._ignoreWhileAnimating=r),h.animateAll((function(){k("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(r===Ge&&!Ge.animated||r===i&&!r.animated)&&(gt=null),l.dragoverBubble||e.rootEl||r===document||(Ge.parentNode[ze]._isOutsideThisEl(e.target),!t&&Ft(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function M(){at=Le(Ge),it=Le(Ge,l.draggable),qe({sortable:h,name:"change",toEl:i,newIndex:at,newDraggableIndex:it,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){ye(document,"mousemove",this._onTouchMove),ye(document,"touchmove",this._onTouchMove),ye(document,"pointermove",this._onTouchMove),ye(document,"dragover",Ft),ye(document,"mousemove",Ft),ye(document,"touchmove",Ft)},_offUpEvents:function(){var e=this.el.ownerDocument;ye(e,"mouseup",this._onDrop),ye(e,"touchend",this._onDrop),ye(e,"pointerup",this._onDrop),ye(e,"touchcancel",this._onDrop),ye(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;at=Le(Ge),it=Le(Ge,n.draggable),Xe("drop",this,{evt:e}),$e=Ge&&Ge.parentNode,at=Le(Ge),it=Le(Ge,n.draggable),Zt.eventCanceled||(bt=!1,_t=!1,wt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Vt(this.cloneId),Vt(this._dragStartId),this.nativeDraggable&&(ye(document,"drop",this),ye(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),ge&&Te(document.body,"user-select",""),Te(Ge,"transform",""),e&&(mt&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),We&&We.parentNode&&We.parentNode.removeChild(We),(Qe===$e||lt&&"clone"!==lt.lastPutMode)&&et&&et.parentNode&&et.parentNode.removeChild(et),Ge&&(this.nativeDraggable&&ye(Ge,"dragend",this),Ut(Ge),Ge.style["will-change"]="",mt&&!bt&&Ne(Ge,lt?lt.options.ghostClass:this.options.ghostClass,!1),Ne(Ge,this.options.chosenClass,!1),qe({sortable:this,name:"unchoose",toEl:$e,newIndex:null,newDraggableIndex:null,originalEvent:e}),Qe!==$e?(at>=0&&(qe({rootEl:$e,name:"add",toEl:$e,fromEl:Qe,originalEvent:e}),qe({sortable:this,name:"remove",toEl:$e,originalEvent:e}),qe({rootEl:$e,name:"sort",toEl:$e,fromEl:Qe,originalEvent:e}),qe({sortable:this,name:"sort",toEl:$e,originalEvent:e})),lt&<.save()):at!==nt&&at>=0&&(qe({sortable:this,name:"update",toEl:$e,originalEvent:e}),qe({sortable:this,name:"sort",toEl:$e,originalEvent:e})),Zt.active&&(null!=at&&-1!==at||(at=nt,it=ot),qe({sortable:this,name:"end",toEl:$e,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Xe("nulling",this),Qe=Ge=$e=We=Je=et=Ke=tt=st=ct=mt=at=it=nt=ot=gt=ft=lt=rt=Zt.dragged=Zt.ghost=Zt.clone=Zt.active=null,Nt.forEach((function(e){e.checked=!0})),Nt.length=dt=ut=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":Ge&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,a=0,o=n.length,i=this.options;a!0,"move:down":()=>!0,"update:focus":()=>!0},setup(e,t){let{emit:n}=t;const a=(0,i.iH)(),o=(0,i.iH)();let r=0;return{buttonUp:a,buttonDown:o,moveUp:()=>{n("move:up"),r=1},moveDown:()=>{n("move:down"),r=-1},keepFocus:()=>{0!==r&&(1!==r&&!e.isLast||e.isFirst?(0,i.Y3)((()=>o.value.$el.focus())):(0,i.Y3)((()=>a.value.$el.focus()))),r=0},t:ae.Iu}}});var un=a(40773),pn={};pn.styleTagTransform=T(),pn.setAttributes=_(),pn.insert=C().bind(null,"head"),pn.domAPI=b(),pn.insertStyleElement=S(),v()(un.Z,pn),un.Z&&un.Z.locals&&un.Z.locals;const hn=(0,D.Z)(dn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("li",{class:{"order-selector-element":!0,"order-selector-element--disabled":e.app.default},attrs:{"data-cy-app-order-element":e.app.id},on:{focusin:function(t){return e.$emit("update:focus")}}},[t("svg",{attrs:{width:"20",height:"20",viewBox:"0 0 20 20",role:"presentation"}},[t("image",{staticClass:"order-selector-element__icon",attrs:{preserveAspectRatio:"xMinYMin meet",x:"0",y:"0",width:"20",height:"20","xlink:href":e.app.icon}})]),e._v(" "),t("div",{staticClass:"order-selector-element__label"},[e._v("\n\t\t"+e._s(e.app.label??e.app.id)+"\n\t")]),e._v(" "),t("div",{staticClass:"order-selector-element__actions"},[t("NcButton",{directives:[{name:"show",rawName:"v-show",value:!e.isFirst&&!e.app.default,expression:"!isFirst && !app.default"}],ref:"buttonUp",attrs:{"aria-label":e.t("settings","Move up"),"aria-describedby":e.ariaDescribedby,"aria-details":e.ariaDetails,"data-cy-app-order-button":"up",type:"tertiary-no-background"},on:{click:e.moveUp},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconArrowUp",{attrs:{size:20}})]},proxy:!0}])}),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isFirst||!!e.app.default,expression:"isFirst || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}}),e._v(" "),t("NcButton",{directives:[{name:"show",rawName:"v-show",value:!e.isLast&&!e.app.default,expression:"!isLast && !app.default"}],ref:"buttonDown",attrs:{"aria-label":e.t("settings","Move down"),"aria-describedby":e.ariaDescribedby,"aria-details":e.ariaDetails,"data-cy-app-order-button":"down",type:"tertiary-no-background"},on:{click:e.moveDown},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconArrowDown",{attrs:{size:20}})]},proxy:!0}])}),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isLast||!!e.app.default,expression:"isLast || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}})],1)])}),[],!1,null,"081ebc45",null).exports,mn=(0,i.aZ)({name:"AppOrderSelector",components:{AppOrderSelectorElement:hn,Fragment:ln.H},props:{ariaDetails:{type:String,default:null},value:{type:Array,required:!0}},emits:{"update:value":e=>Array.isArray(e)},setup(e,t){let{emit:n}=t;const a=(0,i.iH)(null),o=(0,i.Fl)({get:()=>e.value,set:t=>{const a=[...t].sort(((e,n)=>(n.default?1:0)-(e.default?1:0)||t.indexOf(e)-t.indexOf(n)));a.some(((t,n)=>{let{id:a}=t;return a!==e.value[n].id}))?n("update:value",a):r.value+=1}}),r=(0,i.iH)(0);!function(e,t,n={}){let a;const{document:o=ie.Td$,...r}=n,l={onUpdate:e=>{!function(e,t,n){const a=(0,i.dq)(e),o=a?[...(0,re.Tn)(e)]:(0,re.Tn)(e);if(n>=0&&n{o.splice(n,0,r),a&&(e.value=o)}))}}(t,e.oldIndex,e.newIndex)}},s=()=>{const t="string"==typeof e?null==o?void 0:o.querySelector(e):(0,ie.NXq)(e);t&&void 0===a&&(a=new rn(t,{...l,...r}))},c=()=>{null==a||a.destroy(),a=void 0};(0,re.u7)(s),(0,re.IY)(c)}(a,o,{filter:".order-selector-element--disabled"});const l=(0,i.iH)([]);(0,i.ic)((()=>{l.value.forEach((e=>e.keepFocus()))}));const s=(0,i.iH)("");return{appList:o,listElement:a,moveDown:t=>{const a=t>0?e.value.slice(0,t):[];a.push(e.value[t+1]);const o=t{const a=t>1?e.value.slice(0,t-1):[];if(e.value[t-1]?.default)return;const o=[e.value[t-1]];t{s.value=(0,ae.Iu)("theming","Current selected app: {app}, position {position} of {total}",{app:e.value[t].label,position:t+1,total:e.value.length})},renderCount:r,selectorElements:l}}}),gn=mn;var fn=a(37049),vn={};vn.styleTagTransform=T(),vn.setAttributes=_(),vn.insert=C().bind(null,"head"),vn.domAPI=b(),vn.insertStyleElement=S(),v()(fn.Z,vn),fn.Z&&fn.Z.locals&&fn.Z.locals;var An=(0,D.Z)(gn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("Fragment",[t("div",{staticClass:"hidden-visually",attrs:{id:e.statusInfoId,"aria-live":"polite",role:"status"}},[e._v("\n\t\t"+e._s(e.statusInfo)+"\n\t")]),e._v(" "),t("ol",{ref:"listElement",staticClass:"order-selector",attrs:{"data-cy-app-order":""}},e._l(e.appList,(function(n,a){return t("AppOrderSelectorElement",e._g({key:`${n.id}${e.renderCount}`,ref:"selectorElements",refInFor:!0,attrs:{app:n,"aria-details":e.ariaDetails,"aria-describedby":e.statusInfoId,"is-first":0===a||!!e.appList[a-1].default,"is-last":a===e.value.length-1}},n.default?{}:{"move:up":()=>e.moveUp(a),"move:down":()=>e.moveDown(a),"update:focus":()=>e.updateStatusInfo(a)}))})),1)])}),[],!1,null,"35797e31",null);const bn=An.exports,yn=(0,i.aZ)({name:"AppMenuSection",components:{AppOrderSelector:bn,NcCheckboxRadioSwitch:c.Z,NcSelect:oe.Z,NcSettingsSection:s.Z},props:{defaultApps:{type:Array,required:!0}},emits:{"update:defaultApps":e=>Array.isArray(e)&&e.every((e=>"string"==typeof e))},setup(e,t){let{emit:n}=t;const a=(0,i.Fl)({get:()=>e.defaultApps.length>0,set:e=>{e?n("update:defaultApps",["dashboard","files"]):l.value=[]}}),o=Object.values((0,r.j)("core","apps")).map((e=>{let{id:t,name:n,icon:a}=e;return{label:n,id:t,icon:a}})),l=(0,i.Fl)({get:()=>e.defaultApps.map((e=>o.filter((t=>t.id===e))[0])),set(e){s("defaultApps",e.map((e=>e.id))).then((()=>n("update:defaultApps",e.map((e=>e.id))))).catch((()=>(0,ne.x2)((0,ae.Iu)("theming","Could not set global default apps"))))}}),s=async(e,t)=>{const n=(0,u.generateUrl)("/apps/theming/ajax/updateAppMenu");return await d.Z.put(n,{setting:e,value:t})};return{allApps:o,selectedApps:l,hasCustomDefaultApp:a,t:ae.Iu}}}),Cn=yn;var wn=a(3640),_n={};_n.styleTagTransform=T(),_n.setAttributes=_(),_n.insert=C().bind(null,"head"),_n.domAPI=b(),_n.insertStyleElement=S(),v()(wn.Z,_n),wn.Z&&wn.Z.locals&&wn.Z.locals;const xn=(0,D.Z)(Cn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcSettingsSection",{attrs:{name:e.t("theming","Navigation bar settings")}},[t("h3",[e._v(e._s(e.t("theming","Default app")))]),e._v(" "),t("p",{staticClass:"info-note"},[e._v("\n\t\t"+e._s(e.t("theming","The default app is the app that is e.g. opened after login or when the logo in the menu is clicked."))+"\n\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{checked:e.hasCustomDefaultApp,type:"switch","data-cy-switch-default-app":""},on:{"update:checked":function(t){e.hasCustomDefaultApp=t}}},[e._v("\n\t\t"+e._s(e.t("theming","Use custom default app"))+"\n\t")]),e._v(" "),e.hasCustomDefaultApp?[t("h4",[e._v(e._s(e.t("theming","Global default app")))]),e._v(" "),t("NcSelect",{attrs:{"close-on-select":!1,placeholder:e.t("theming","Global default apps"),options:e.allApps,multiple:!0},model:{value:e.selectedApps,callback:function(t){e.selectedApps=t},expression:"selectedApps"}}),e._v(" "),t("h5",[e._v(e._s(e.t("theming","Default app priority")))]),e._v(" "),t("p",{staticClass:"info-note"},[e._v("\n\t\t\t"+e._s(e.t("theming","If an app is not enabled for a user, the next app with lower priority is used."))+"\n\t\t")]),e._v(" "),t("AppOrderSelector",{attrs:{value:e.selectedApps},on:{"update:value":function(t){e.selectedApps=t}}})]:e._e()],2)}),[],!1,null,"90f2e098",null).exports,{backgroundMime:Sn,canThemeIcons:Nn,color:Tn,docUrl:kn,docUrlIcons:En,faviconMime:Dn,isThemable:Mn,legalNoticeUrl:In,logoheaderMime:Pn,logoMime:On,name:Ln,notThemableErrorMessage:Fn,privacyPolicyUrl:Bn,slogan:Zn,url:jn,userThemingDisabled:Un,defaultApps:Rn}=(0,r.j)("theming","adminThemingParameters"),zn=[{name:"name",value:Ln,defaultValue:"Nextcloud",type:"text",displayName:t("theming","Name"),placeholder:t("theming","Name"),maxlength:250},{name:"url",value:jn,defaultValue:"https://nextcloud.com",type:"url",displayName:t("theming","Web link"),placeholder:"https://…",maxlength:500},{name:"slogan",value:Zn,defaultValue:t("theming","a safe home for all your data"),type:"text",displayName:t("theming","Slogan"),placeholder:t("theming","Slogan"),maxlength:500}],Yn={name:"color",value:Tn,defaultValue:"#0082c9",displayName:t("theming","Color")},Vn=[{name:"logo",mimeName:"logoMime",mimeValue:On,defaultMimeValue:"",displayName:t("theming","Logo"),ariaLabel:t("theming","Upload new logo")},{name:"background",mimeName:"backgroundMime",mimeValue:Sn,defaultMimeValue:"",displayName:t("theming","Background and login image"),ariaLabel:t("theming","Upload new background and login image")}],Hn=[{name:"imprintUrl",value:In,defaultValue:"",type:"url",displayName:t("theming","Legal notice link"),placeholder:"https://…",maxlength:500},{name:"privacyUrl",value:Bn,defaultValue:"",type:"url",displayName:t("theming","Privacy policy link"),placeholder:"https://…",maxlength:500}],Xn=[{name:"logoheader",mimeName:"logoheaderMime",mimeValue:Pn,defaultMimeValue:"",displayName:t("theming","Header logo"),ariaLabel:t("theming","Upload new header logo")},{name:"favicon",mimeName:"faviconMime",mimeValue:Dn,defaultMimeValue:"",displayName:t("theming","Favicon"),ariaLabel:t("theming","Upload new favicon")}],qn={name:"disable-user-theming",value:Un,defaultValue:!1,displayName:t("theming","User settings"),label:t("theming","Disable user theming"),description:t("theming","Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.")},Gn={name:"AdminTheming",components:{AppMenuSection:xn,CheckboxField:M,ColorPickerField:z,FileInputField:Q,NcNoteCard:l.Z,NcSettingsSection:s.Z,TextField:te},emits:["update:theming"],textFields:zn,data:()=>({textFields:zn,colorPickerField:Yn,fileInputFields:Vn,advancedTextFields:Hn,advancedFileInputFields:Xn,userThemingField:qn,defaultApps:Rn,canThemeIcons:Nn,docUrl:kn,docUrlIcons:En,isThemable:Mn,notThemableErrorMessage:Fn})};var $n=a(36568),Wn={};Wn.styleTagTransform=T(),Wn.setAttributes=_(),Wn.insert=C().bind(null,"head"),Wn.domAPI=b(),Wn.insertStyleElement=S(),v()($n.Z,Wn),$n.Z&&$n.Z.locals&&$n.Z.locals;const Qn=(0,D.Z)(Gn,(function(){var e=this,t=e._self._c;return t("section",[t("NcSettingsSection",{attrs:{name:e.t("theming","Theming"),description:e.t("theming","Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users."),"doc-url":e.docUrl,"data-admin-theming-settings":""}},[t("div",{staticClass:"admin-theming"},[e.isThemable?e._e():t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.notThemableErrorMessage))])]),e._v(" "),e._l(e.textFields,(function(n){return t("TextField",{key:n.name,attrs:{"data-admin-theming-setting-field":n.name,"default-value":n.defaultValue,"display-name":n.displayName,maxlength:n.maxlength,name:n.name,placeholder:n.placeholder,type:n.type,value:n.value},on:{"update:value":function(t){return e.$set(n,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("ColorPickerField",{attrs:{name:e.colorPickerField.name,"default-value":e.colorPickerField.defaultValue,"display-name":e.colorPickerField.displayName,value:e.colorPickerField.value},on:{"update:value":function(t){return e.$set(e.colorPickerField,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}}),e._v(" "),e._l(e.fileInputFields,(function(n){return t("FileInputField",{key:n.name,attrs:{"aria-label":n.ariaLabel,"data-admin-theming-setting-file":n.name,"default-mime-value":n.defaultMimeValue,"display-name":n.displayName,"mime-name":n.mimeName,"mime-value":n.mimeValue,name:n.name},on:{"update:mimeValue":function(t){return e.$set(n,"mimeValue",t)},"update:mime-value":function(t){return e.$set(n,"mimeValue",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("div",{staticClass:"admin-theming__preview",attrs:{"data-admin-theming-preview":""}},[t("div",{staticClass:"admin-theming__preview-logo",attrs:{"data-admin-theming-preview-logo":""}})])],2)]),e._v(" "),t("NcSettingsSection",{attrs:{name:e.t("theming","Advanced options")}},[t("div",{staticClass:"admin-theming-advanced"},[e._l(e.advancedTextFields,(function(n){return t("TextField",{key:n.name,attrs:{name:n.name,value:n.value,"default-value":n.defaultValue,type:n.type,"display-name":n.displayName,placeholder:n.placeholder,maxlength:n.maxlength},on:{"update:value":function(t){return e.$set(n,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),e._l(e.advancedFileInputFields,(function(n){return t("FileInputField",{key:n.name,attrs:{name:n.name,"mime-name":n.mimeName,"mime-value":n.mimeValue,"default-mime-value":n.defaultMimeValue,"display-name":n.displayName,"aria-label":n.ariaLabel},on:{"update:mimeValue":function(t){return e.$set(n,"mimeValue",t)},"update:mime-value":function(t){return e.$set(n,"mimeValue",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("CheckboxField",{attrs:{name:e.userThemingField.name,value:e.userThemingField.value,"default-value":e.userThemingField.defaultValue,"display-name":e.userThemingField.displayName,label:e.userThemingField.label,description:e.userThemingField.description,"data-admin-theming-setting-disable-user-theming":""},on:{"update:theming":function(t){return e.$emit("update:theming")}}}),e._v(" "),e.canThemeIcons?e._e():t("a",{attrs:{href:e.docUrlIcons,rel:"noreferrer noopener"}},[t("em",[e._v(e._s(e.t("theming","Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.")))])])],2)]),e._v(" "),t("AppMenuSection",{attrs:{"default-apps":e.defaultApps},on:{"update:defaultApps":function(t){e.defaultApps=t},"update:default-apps":function(t){e.defaultApps=t}}})],1)}),[],!1,null,"e3cd61f0",null).exports;a.nc=btoa((0,o.IH)()),i.ZP.prototype.OC=OC,i.ZP.prototype.t=t;const Jn=new(i.ZP.extend(Qn));Jn.$mount("#admin-theming"),Jn.$on("update:theming",(()=>{[...document.head.querySelectorAll("link.theme")].forEach((e=>{const t=new URL(e.href);t.searchParams.set("v",Date.now());const n=e.cloneNode();n.href=t.toString(),n.onload=()=>e.remove(),document.head.append(n)}))}))},36568:(e,t,n)=>{n.d(t,{Z:()=>p});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i),l=n(61667),s=n.n(l),c=new URL(n(92770),n.b),d=r()(o()),u=s()(c);d.push([e.id,`.admin-theming[data-v-e3cd61f0],.admin-theming-advanced[data-v-e3cd61f0]{display:flex;flex-direction:column;gap:8px 0}.admin-theming__preview[data-v-e3cd61f0]{width:230px;height:140px;background-size:cover;background-position:center;text-align:center;margin-top:10px;background-color:var(--color-primary-element-default);background-image:var(--image-background-plain, var(--image-background-default))}.admin-theming__preview-logo[data-v-e3cd61f0]{width:20%;height:20%;margin-top:20px;display:inline-block;background-size:contain;background-position:center;background-repeat:no-repeat;background-image:var(--image-logo, url(${u}))}`,"",{version:3,sources:["webpack://./apps/theming/src/AdminTheming.vue"],names:[],mappings:"AACA,yEAEC,YAAA,CACA,qBAAA,CACA,SAAA,CAIA,yCACC,WAAA,CACA,YAAA,CACA,qBAAA,CACA,0BAAA,CACA,iBAAA,CACA,eAAA,CAIA,qDAAA,CAKA,+EAAA,CAEA,8CACC,SAAA,CACA,UAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,2EAAA",sourcesContent:["\n.admin-theming,\n.admin-theming-advanced {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px 0;\n}\n\n.admin-theming {\n\t&__preview {\n\t\twidth: 230px;\n\t\theight: 140px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\ttext-align: center;\n\t\tmargin-top: 10px;\n\t\t/* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css\n\t\t But without the user variables. That way the admin can preview the render as guest*/\n\t\t/* As guest, there is no user color color-background-plain */\n\t\tbackground-color: var(--color-primary-element-default);\n\t\t/* As guest, there is no user background (--image-background)\n\t\t1. Empty background if defined\n\t\t2. Else default background\n\t\t3. Finally default gradient (should not happened, the background is always defined anyway) */\n\t\tbackground-image: var(--image-background-plain, var(--image-background-default));\n\n\t\t&-logo {\n\t\t\twidth: 20%;\n\t\t\theight: 20%;\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: inline-block;\n\t\t\tbackground-size: contain;\n\t\t\tbackground-position: center;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const p=d},37049:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".order-selector[data-v-35797e31]{width:max-content;min-width:260px}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelector.vue"],names:[],mappings:"AACA,iCACC,iBAAA,CACA,eAAA",sourcesContent:["\n.order-selector {\n\twidth: max-content;\n\tmin-width: 260px; // align with NcSelect\n}\n"],sourceRoot:""}]);const l=r},40773:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelectorElement.vue"],names:[],mappings:"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA",sourcesContent:["\n.order-selector-element {\n\t// hide default styling\n\tlist-style: none;\n\t// Align children\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t// Spacing\n\tgap: 12px;\n\tpadding-inline: 12px;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&--disabled {\n\t\tborder-color: var(--color-text-maxcontrast);\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t.order-selector-element__icon {\n\t\t\topacity: 75%;\n\t\t}\n\t}\n\n\t&__actions {\n\t\tflex: 0 0;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 6px;\n\t}\n\n\t&__label {\n\t\tflex: 1 1;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t&__placeholder {\n\t\theight: 44px;\n\t\twidth: 44px;\n\t}\n\n\t&__icon {\n\t\tfilter: var(--background-invert-if-bright);\n\t}\n}\n"],sourceRoot:""}]);const l=r},3640:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,"h3[data-v-90f2e098],h4[data-v-90f2e098]{font-weight:bold}h4[data-v-90f2e098],h5[data-v-90f2e098]{margin-block-start:12px}.info-note[data-v-90f2e098]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/AppMenuSection.vue"],names:[],mappings:"AACA,wCACC,gBAAA,CAED,wCACC,uBAAA,CAGD,4BACC,mCAAA",sourcesContent:["\nh3, h4 {\n\tfont-weight: bold;\n}\nh4, h5 {\n\tmargin-block-start: 12px;\n}\n\n.info-note {\n\tcolor: var(--color-text-maxcontrast);\n}\n"],sourceRoot:""}]);const l=r},60515:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-c41a3e80]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-c41a3e80]{display:flex;gap:0 4px}.field__description[data-v-c41a3e80]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/CheckboxField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,qCACC,mCAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const l=r},40590:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-25e8f76e]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-25e8f76e]{display:flex;gap:0 4px}.field__color-preview[data-v-25e8f76e]{width:var(--default-clickable-area);border-radius:var(--border-radius-large);background-color:var(--color-primary-default)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/ColorPickerField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,uCACC,mCAAA,CACA,wCAAA,CACA,6CAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__color-preview {\n\t\twidth: var(--default-clickable-area);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-primary-default);\n\t}\n}\n"],sourceRoot:""}]);const l=r},58800:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-36abeca7]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-36abeca7]{display:flex;gap:0 4px}.field__loading-icon[data-v-36abeca7]{width:44px;height:44px}.field__preview[data-v-36abeca7]{width:70px;height:70px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:10px 0}.field__preview--logoheader[data-v-36abeca7]{background-image:var(--image-logoheader)}.field__preview--favicon[data-v-36abeca7]{background-image:var(--image-favicon)}input[type=file][data-v-36abeca7]{display:none}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/FileInputField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,sCACC,UAAA,CACA,WAAA,CAGD,iCACC,UAAA,CACA,WAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,aAAA,CAEA,6CACC,wCAAA,CAGD,0CACC,qCAAA,CAKH,kCACC,YAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__loading-icon {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__preview {\n\t\twidth: 70px;\n\t\theight: 70px;\n\t\tbackground-size: contain;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t\tmargin: 10px 0;\n\n\t\t&--logoheader {\n\t\t\tbackground-image: var(--image-logoheader);\n\t\t}\n\n\t\t&--favicon {\n\t\t\tbackground-image: var(--image-favicon);\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const l=r},15587:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-31f08db0]{max-width:400px}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/TextField.vue"],names:[],mappings:"AACA,wBACC,eAAA",sourcesContent:["\n.field {\n\tmax-width: 400px;\n}\n"],sourceRoot:""}]);const l=r},92770:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjEyOCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjU2IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMTI4IDdjLTI1Ljg3MSAwLTQ3LjgxNyAxNy40ODUtNTQuNzEzIDQxLjIwOS01Ljk3OTUtMTIuNDYxLTE4LjY0Mi0yMS4yMDktMzMuMjg3LTIxLjIwOS0yMC4zMDQgMC0zNyAxNi42OTYtMzcgMzdzMTYuNjk2IDM3IDM3IDM3YzE0LjY0NSAwIDI3LjMwOC04Ljc0ODEgMzMuMjg3LTIxLjIwOSA2Ljg5NTcgMjMuNzI0IDI4Ljg0MiA0MS4yMDkgNTQuNzEzIDQxLjIwOXM0Ny44MTctMTcuNDg1IDU0LjcxMy00MS4yMDljNS45Nzk1IDEyLjQ2MSAxOC42NDIgMjEuMjA5IDMzLjI4NyAyMS4yMDkgMjAuMzA0IDAgMzctMTYuNjk2IDM3LTM3cy0xNi42OTYtMzctMzctMzdjLTE0LjY0NSAwLTI3LjMwOCA4Ljc0ODEtMzMuMjg3IDIxLjIwOS02Ljg5NTctMjMuNzI0LTI4Ljg0Mi00MS4yMDktNTQuNzEzLTQxLjIwOXptMCAyMmMxOS40NiAwIDM1IDE1LjU0IDM1IDM1cy0xNS41NCAzNS0zNSAzNS0zNS0xNS41NC0zNS0zNSAxNS41NC0zNSAzNS0zNXptLTg4IDIwYzguNDE0NiAwIDE1IDYuNTg1NCAxNSAxNXMtNi41ODU0IDE1LTE1IDE1LTE1LTYuNTg1NC0xNS0xNSA2LjU4NTQtMTUgMTUtMTV6bTE3NiAwYzguNDE0NiAwIDE1IDYuNTg1NCAxNSAxNXMtNi41ODU0IDE1LTE1IDE1LTE1LTYuNTg1NC0xNS0xNSA2LjU4NTQtMTUgMTUtMTV6IiBjb2xvcj0iIzAwMDAwMCIgZmlsbD0iI2ZmZiIgc3R5bGU9Ii1pbmtzY2FwZS1zdHJva2U6bm9uZSIvPjwvc3ZnPgo="}},i={};function r(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,loaded:!1,exports:{}};return o[e].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}r.m=o,e=[],r.O=(t,n,a,o)=>{if(!n){var i=1/0;for(d=0;d=o)&&Object.keys(r.O).every((e=>r.O[e](n[s])))?n.splice(s--,1):(l=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,a,o]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>e+"-"+e+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[e],r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n={},a="nextcloud:",r.l=(e,t,o,i)=>{if(n[e])n[e].push(t);else{var l,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),d=0;d{l.onerror=l.onload=null,clearTimeout(h);var o=n[e];if(delete n[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(a))),t)return t(a)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=p.bind(null,l.onerror),l.onload=p.bind(null,l.onload),s&&document.head.appendChild(l)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.j=5544,(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&!e;)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{r.b=document.baseURI||self.location.href;var e={5544:0};r.f.j=(t,n)=>{var a=r.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var o=new Promise(((n,o)=>a=e[t]=[n,o]));n.push(a[2]=o);var i=r.p+r.u(t),l=new Error;r.l(i,(n=>{if(r.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,a[1](l)}}),"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,n)=>{var a,o,i=n[0],l=n[1],s=n[2],c=0;if(i.some((t=>0!==e[t]))){for(a in l)r.o(l,a)&&(r.m[a]=l[a]);if(s)var d=s(r)}for(t&&t(n);cr(22610)));l=r.O(l)})(); -//# sourceMappingURL=theming-admin-theming.js.map?v=9b8274b393b9a9a460a0 \ No newline at end of file +(()=>{"use strict";var e,n,a,o={36552:(e,n,a)=>{var o=a(77958),i=a(20144),r=a(43554),l=a(50323),s=a(90580),c=a(9359),d=a(93664),u=a(79753);const p=["color","logo","background","logoheader","favicon","disable-user-theming"],h={emits:["update:theming"],data:()=>({showSuccess:!1,errorMessage:""}),computed:{id(){return`admin-theming-${this.name}`}},methods:{reset(){this.showSuccess=!1,this.errorMessage=""},handleSuccess(){this.showSuccess=!0,setTimeout((()=>{this.showSuccess=!1}),2e3),p.includes(this.name)&&this.$emit("update:theming")}}},m={mixins:[h],watch:{value(e){this.localValue=e}},data(){return{localValue:this.value}},methods:{async save(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/updateStylesheet"),t=!0===this.localValue?"yes":!1===this.localValue?"no":this.localValue;try{await d.Z.post(e,{setting:this.name,value:t}),this.$emit("update:value",this.localValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}},async undo(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/undoChanges");try{await d.Z.post(e,{setting:this.name}),this.$emit("update:value",this.defaultValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}}}},g={name:"CheckboxField",components:{NcCheckboxRadioSwitch:c.Z,NcNoteCard:l.Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:Boolean,required:!0},defaultValue:{type:Boolean,required:!0},displayName:{type:String,required:!0},label:{type:String,required:!0},description:{type:String,required:!0}}};var f=a(93379),v=a.n(f),A=a(7795),b=a.n(A),y=a(90569),C=a.n(y),w=a(3565),_=a.n(w),x=a(19216),S=a.n(x),N=a(44589),T=a.n(N),k=a(60515),E={};E.styleTagTransform=T(),E.setAttributes=_(),E.insert=C().bind(null,"head"),E.domAPI=b(),E.insertStyleElement=S(),v()(k.Z,E),k.Z&&k.Z.locals&&k.Z.locals;var D=a(51900);const M=(0,D.Z)(g,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch",id:e.id,checked:e.localValue},on:{"update:checked":[function(t){e.localValue=t},e.save]}},[e._v("\n\t\t\t"+e._s(e.label)+"\n\t\t")])],1),e._v(" "),t("p",{staticClass:"field__description"},[e._v(e._s(e.description))]),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e()],1)}),[],!1,null,"c41a3e80",null).exports;var I=a(20296),P=a(54572),O=a(42416);const L={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},F=(0,D.Z)(L,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,B={name:"PaletteIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=(0,D.Z)(B,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon palette-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,j={name:"ColorPickerField",components:{NcButton:P.Z,NcColorPicker:O.N,NcNoteCard:l.Z,Undo:F,Palette:Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:String,required:!0},defaultValue:{type:String,required:!0},displayName:{type:String,required:!0}},methods:{debounceSave:(0,I.debounce)((async function(){await this.save()}),200)}};var U=a(40590),R={};R.styleTagTransform=T(),R.setAttributes=_(),R.insert=C().bind(null,"head"),R.domAPI=b(),R.insertStyleElement=S(),v()(U.Z,R),U.Z&&U.Z.locals&&U.Z.locals;const z=(0,D.Z)(j,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcColorPicker",{attrs:{value:e.localValue,"advanced-fields":!0,"data-admin-theming-setting-primary-color-picker":""},on:{"update:value":[function(t){e.localValue=t},e.debounceSave]}},[t("NcButton",{attrs:{type:"secondary",id:e.id},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Palette",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t"+e._s(e.t("theming","Change color"))+"\n\t\t\t")])],1),e._v(" "),t("div",{staticClass:"field__color-preview",attrs:{"data-admin-theming-setting-primary-color":""}}),e._v(" "),e.value!==e.defaultValue?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Reset to default"),"data-admin-theming-setting-primary-color-reset":""},on:{click:e.undo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!1,33666776)}):e._e()],1),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e()],1)}),[],!1,null,"25e8f76e",null).exports;var Y=a(87604),V=a(42588),H=a(20508);const{allowedMimeTypes:X}=(0,r.j)("theming","adminThemingParameters",{}),q={name:"FileInputField",components:{Delete:V.Z,NcButton:P.Z,NcLoadingIcon:Y.Z,NcNoteCard:l.Z,Undo:F,Upload:H.Z},mixins:[h],props:{name:{type:String,required:!0},mimeName:{type:String,required:!0},mimeValue:{type:String,required:!0},defaultMimeValue:{type:String,required:!0},displayName:{type:String,required:!0},ariaLabel:{type:String,required:!0}},data(){return{showLoading:!1,acceptMime:(X[this.name]||["image/jpeg","image/png","image/gif","image/webp"]).join(",")}},computed:{showReset(){return this.mimeValue!==this.defaultMimeValue},showRemove(){if("background"===this.name){if(this.mimeValue.startsWith("image/"))return!0;if(this.mimeValue===this.defaultMimeValue)return!0}return!1}},methods:{activateLocalFilePicker(){this.reset(),this.$refs.input.value=null,this.$refs.input.click()},async onChange(e){const t=e.target.files[0],n=new FormData;n.append("key",this.name),n.append("image",t);const a=(0,u.generateUrl)("/apps/theming/ajax/uploadImage");try{this.showLoading=!0,await d.Z.post(a,n),this.showLoading=!1,this.$emit("update:mime-value",t.type),this.handleSuccess()}catch(e){this.showLoading=!1,this.errorMessage=e.response.data.data?.message}},async undo(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/undoChanges");try{await d.Z.post(e,{setting:this.mimeName}),this.$emit("update:mime-value",this.defaultMimeValue),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}},async removeBackground(){this.reset();const e=(0,u.generateUrl)("/apps/theming/ajax/updateStylesheet");try{await d.Z.post(e,{setting:this.mimeName,value:"backgroundColor"}),this.$emit("update:mime-value","backgroundColor"),this.handleSuccess()}catch(e){this.errorMessage=e.response.data.data?.message}}}},G=q;var $=a(58800),W={};W.styleTagTransform=T(),W.setAttributes=_(),W.insert=C().bind(null,"head"),W.domAPI=b(),W.insertStyleElement=S(),v()($.Z,W),$.Z&&$.Z.locals&&$.Z.locals;const Q=(0,D.Z)(G,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{attrs:{for:e.id}},[e._v(e._s(e.displayName))]),e._v(" "),t("div",{staticClass:"field__row"},[t("NcButton",{attrs:{type:"secondary",id:e.id,"aria-label":e.ariaLabel,"data-admin-theming-setting-file-picker":""},on:{click:e.activateLocalFilePicker},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Upload",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t"+e._s(e.t("theming","Upload"))+"\n\t\t")]),e._v(" "),e.showReset?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Reset to default"),"data-admin-theming-setting-file-reset":""},on:{click:e.undo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!1,33666776)}):e._e(),e._v(" "),e.showRemove?t("NcButton",{attrs:{type:"tertiary","aria-label":e.t("theming","Remove background image"),"data-admin-theming-setting-file-remove":""},on:{click:e.removeBackground},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)}):e._e(),e._v(" "),e.showLoading?t("NcLoadingIcon",{staticClass:"field__loading-icon",attrs:{size:20}}):e._e()],1),e._v(" "),"logoheader"!==e.name&&"favicon"!==e.name||e.mimeValue===e.defaultMimeValue?e._e():t("div",{staticClass:"field__preview",class:{"field__preview--logoheader":"logoheader"===e.name,"field__preview--favicon":"favicon"===e.name}}),e._v(" "),e.errorMessage?t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.errorMessage))])]):e._e(),e._v(" "),t("input",{ref:"input",attrs:{accept:e.acceptMime,type:"file"},on:{change:e.onChange}})],1)}),[],!1,null,"36abeca7",null).exports,J={name:"TextField",components:{NcTextField:a(49368).Z},mixins:[m],props:{name:{type:String,required:!0},value:{type:String,required:!0},defaultValue:{type:String,required:!0},type:{type:String,required:!0},displayName:{type:String,required:!0},placeholder:{type:String,required:!0},maxlength:{type:Number,required:!0}}};var K=a(15587),ee={};ee.styleTagTransform=T(),ee.setAttributes=_(),ee.insert=C().bind(null,"head"),ee.domAPI=b(),ee.insertStyleElement=S(),v()(K.Z,ee),K.Z&&K.Z.locals&&K.Z.locals;const te=(0,D.Z)(J,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("NcTextField",{attrs:{value:e.localValue,label:e.displayName,placeholder:e.placeholder,type:e.type,maxlength:e.maxlength,spellcheck:!1,success:e.showSuccess,error:Boolean(e.errorMessage),"helper-text":e.errorMessage,"show-trailing-button":e.value!==e.defaultValue,"trailing-button-icon":"undo"},on:{"update:value":function(t){e.localValue=t},"trailing-button-click":e.undo,keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.save.apply(null,arguments)},blur:e.save}})],1)}),[],!1,null,"31f08db0",null).exports;var ne=a(64024),ae=a(31352),oe=a(77723),ie=a(9568),re=a(64886);function le(e){return le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le(e)}function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(){return ce=Object.assign||function(e){for(var t=1;t"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function we(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function _e(e,t,n,a){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&Ce(e,t):Ce(e,t))||a&&e===n)return e;if(e===n)break}while(e=we(e))}return null}var xe,Se=/\s+/g;function Ne(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(Se," ").replace(" "+t+" "," ");e.className=(a+(n?" "+t:"")).replace(Se," ")}}function Te(e,t,n){var a=e&&e.style;if(a){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in a||-1!==t.indexOf("webkit")||(t="-webkit-"+t),a[t]=n+("string"==typeof n?"":"px")}}function ke(e,t){var n="";if("string"==typeof e)n=e;else do{var a=Te(e,"transform");a&&"none"!==a&&(n=a+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function Ee(e,t,n){if(e){var a=e.getElementsByTagName(t),o=0,i=a.length;if(n)for(;o=i:o<=i))return a;if(a===De())break;a=Be(a,!1)}return!1}function Pe(e,t,n){for(var a=0,o=0,i=e.children;o2&&void 0!==arguments[2]?arguments[2]:{},a=n.evt,o=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},i=Object.keys(e);for(a=0;a=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,["evt"]);He.pluginEvent.bind(Zt)(e,t,de({dragEl:Ge,parentEl:$e,ghostEl:We,rootEl:Qe,nextEl:Je,lastDownEl:Ke,cloneEl:et,cloneHidden:tt,dragStarted:mt,putSortable:lt,activeSortable:Zt.active,originalEvent:a,oldIndex:nt,oldDraggableIndex:ot,newIndex:at,newDraggableIndex:it,hideGhostForTarget:Ot,unhideGhostForTarget:Lt,cloneNowHidden:function(){tt=!0},cloneNowShown:function(){tt=!1},dispatchSortableEvent:function(e){qe({sortable:t,name:e,originalEvent:a})}},o))};function qe(e){!function(e){var t=e.sortable,n=e.rootEl,a=e.name,o=e.targetEl,i=e.cloneEl,r=e.toEl,l=e.fromEl,s=e.oldIndex,c=e.newIndex,d=e.oldDraggableIndex,u=e.newDraggableIndex,p=e.originalEvent,h=e.putSortable,m=e.extraEventProperties;if(t=t||n&&n[ze]){var g,f=t.options,v="on"+a.charAt(0).toUpperCase()+a.substr(1);!window.CustomEvent||pe||he?(g=document.createEvent("Event")).initEvent(a,!0,!0):g=new CustomEvent(a,{bubbles:!0,cancelable:!0}),g.to=r||n,g.from=l||n,g.item=o||n,g.clone=i,g.oldIndex=s,g.newIndex=c,g.oldDraggableIndex=d,g.newDraggableIndex=u,g.originalEvent=p,g.pullMode=h?h.lastPutMode:void 0;var A=de({},m,He.getEventProperties(a,t));for(var b in A)g[b]=A[b];n&&n.dispatchEvent(g),f[v]&&f[v].call(t,g)}}(de({putSortable:lt,cloneEl:et,targetEl:Ge,rootEl:Qe,oldIndex:nt,oldDraggableIndex:ot,newIndex:at,newDraggableIndex:it},e))}var Ge,$e,We,Qe,Je,Ke,et,tt,nt,at,ot,it,rt,lt,st,ct,dt,ut,pt,ht,mt,gt,ft,vt,At,bt=!1,yt=!1,Ct=[],wt=!1,_t=!1,xt=[],St=!1,Nt=[],Tt="undefined"!=typeof document,kt=fe,Et=he||pe?"cssFloat":"float",Dt=Tt&&!ve&&!fe&&"draggable"in document.createElement("div"),Mt=function(){if(Tt){if(pe)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),It=function(e,t){var n=Te(e),a=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Pe(e,0,t),i=Pe(e,1,t),r=o&&Te(o),l=i&&Te(i),s=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+Me(o).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Me(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&r.float&&"none"!==r.float){var d="left"===r.float?"left":"right";return!i||"both"!==l.clear&&l.clear!==d?"horizontal":"vertical"}return o&&("block"===r.display||"flex"===r.display||"table"===r.display||"grid"===r.display||s>=a&&"none"===n[Et]||i&&"none"===n[Et]&&s+c>a)?"vertical":"horizontal"},Pt=function(e){function t(e,n){return function(a,o,i,r){var l=a.options.group.name&&o.options.group.name&&a.options.group.name===o.options.group.name;if(null==e&&(n||l))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(a,o,i,r),n)(a,o,i,r);var s=(n?a:o).options.group.name;return!0===e||"string"==typeof e&&e===s||e.join&&e.indexOf(s)>-1}}var n={},a=e.group;a&&"object"==le(a)||(a={name:a}),n.name=a.name,n.checkPull=t(a.pull,!0),n.checkPut=t(a.put),n.revertClone=a.revertClone,e.group=n},Ot=function(){!Mt&&We&&Te(We,"display","none")},Lt=function(){!Mt&&We&&Te(We,"display","")};Tt&&document.addEventListener("click",(function(e){if(yt)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),yt=!1,!1}),!0);var Ft=function(e){if(Ge){e=e.touches?e.touches[0]:e;var t=(o=e.clientX,i=e.clientY,Ct.some((function(e){if(!Oe(e)){var t=Me(e),n=e[ze].options.emptyInsertThreshold,a=o>=t.left-n&&o<=t.right+n,l=i>=t.top-n&&i<=t.bottom+n;return n&&a&&l?r=e:void 0}})),r);if(t){var n={};for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[ze]._onDragOver(n)}}var o,i,r},Bt=function(e){Ge&&Ge.parentNode[ze]._isOutsideThisEl(e.target)};function Zt(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=ce({},t),e[ze]=this;var n,a,o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return It(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Zt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var i in He.initializePlugins(this,e,o),o)!(i in t)&&(t[i]=o[i]);for(var r in Pt(t),this)"_"===r.charAt(0)&&"function"==typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!t.forceFallback&&Dt,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?be(e,"pointerdown",this._onTapStart):(be(e,"mousedown",this._onTapStart),be(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(be(e,"dragover",this),be(e,"dragenter",this)),Ct.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),ce(this,(a=[],{captureAnimationState:function(){a=[],this.options.animation&&[].slice.call(this.el.children).forEach((function(e){if("none"!==Te(e,"display")&&e!==Zt.ghost){a.push({target:e,rect:Me(e)});var t=de({},a[a.length-1].rect);if(e.thisAnimationDuration){var n=ke(e,!0);n&&(t.top-=n.f,t.left-=n.e)}e.fromRect=t}}))},addAnimationState:function(e){a.push(e)},removeAnimationState:function(e){a.splice(function(e,t){for(var n in e)if(e.hasOwnProperty(n))for(var a in t)if(t.hasOwnProperty(a)&&t[a]===e[n][a])return Number(n);return-1}(a,{target:e}),1)},animateAll:function(e){var t=this;if(!this.options.animation)return clearTimeout(n),void("function"==typeof e&&e());var o=!1,i=0;a.forEach((function(e){var n=0,a=e.target,r=a.fromRect,l=Me(a),s=a.prevFromRect,c=a.prevToRect,d=e.rect,u=ke(a,!0);u&&(l.top-=u.f,l.left-=u.e),a.toRect=l,a.thisAnimationDuration&&Ze(s,l)&&!Ze(r,l)&&(d.top-l.top)/(d.left-l.left)==(r.top-l.top)/(r.left-l.left)&&(n=function(e,t,n,a){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-n.top,2)+Math.pow(t.left-n.left,2))*a.animation}(d,s,c,t.options)),Ze(l,r)||(a.prevFromRect=r,a.prevToRect=l,n||(n=t.options.animation),t.animate(a,d,l,n)),n&&(o=!0,i=Math.max(i,n),clearTimeout(a.animationResetTimer),a.animationResetTimer=setTimeout((function(){a.animationTime=0,a.prevFromRect=null,a.fromRect=null,a.prevToRect=null,a.thisAnimationDuration=null}),n),a.thisAnimationDuration=n)})),clearTimeout(n),o?n=setTimeout((function(){"function"==typeof e&&e()}),i):"function"==typeof e&&e(),a=[]},animate:function(e,t,n,a){if(a){Te(e,"transition",""),Te(e,"transform","");var o=ke(this.el),i=o&&o.a,r=o&&o.d,l=(t.left-n.left)/(i||1),s=(t.top-n.top)/(r||1);e.animatingX=!!l,e.animatingY=!!s,Te(e,"transform","translate3d("+l+"px,"+s+"px,0)"),function(e){e.offsetWidth}(e),Te(e,"transition","transform "+a+"ms"+(this.options.easing?" "+this.options.easing:"")),Te(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){Te(e,"transition",""),Te(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),a)}}}))}function jt(e,t,n,a,o,i,r,l){var s,c,d=e[ze],u=d.options.onMove;return!window.CustomEvent||pe||he?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=t,s.from=e,s.dragged=n,s.draggedRect=a,s.related=o||t,s.relatedRect=i||Me(t),s.willInsertAfter=l,s.originalEvent=r,e.dispatchEvent(s),u&&(c=u.call(d,s,r)),c}function Ut(e){e.draggable=!1}function Rt(){St=!1}function zt(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,a=0;n--;)a+=t.charCodeAt(n);return a.toString(36)}function Yt(e){return setTimeout(e,0)}function Vt(e){return clearTimeout(e)}Zt.prototype={constructor:Zt,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(gt=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,Ge):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,a=this.options,o=a.preventOnFilter,i=e.type,r=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(r||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=a.filter;if(function(e){Nt.length=0;for(var t=e.getElementsByTagName("input"),n=t.length;n--;){var a=t[n];a.checked&&Nt.push(a)}}(n),!Ge&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||a.disabled||s.isContentEditable||(l=_e(l,a.draggable,n,!1))&&l.animated||Ke===l)){if(nt=Le(l),ot=Le(l,a.draggable),"function"==typeof c){if(c.call(this,e,l,this))return qe({sortable:t,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),Xe("filter",t,{evt:e}),void(o&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some((function(a){if(a=_e(s,a.trim(),n,!1))return qe({sortable:t,rootEl:a,name:"filter",targetEl:l,fromEl:n,toEl:n}),Xe("filter",t,{evt:e}),!0}))))return void(o&&e.cancelable&&e.preventDefault());a.handle&&!_e(s,a.handle,n,!1)||this._prepareDragStart(e,r,l)}}},_prepareDragStart:function(e,t,n){var a,o=this,i=o.el,r=o.options,l=i.ownerDocument;if(n&&!Ge&&n.parentNode===i){var s=Me(n);if(Qe=i,$e=(Ge=n).parentNode,Je=Ge.nextSibling,Ke=n,rt=r.group,Zt.dragged=Ge,st={target:Ge,clientX:(t||e).clientX,clientY:(t||e).clientY},pt=st.clientX-s.left,ht=st.clientY-s.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,Ge.style["will-change"]="all",a=function(){Xe("delayEnded",o,{evt:e}),Zt.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!me&&o.nativeDraggable&&(Ge.draggable=!0),o._triggerDragStart(e,t),qe({sortable:o,name:"choose",originalEvent:e}),Ne(Ge,r.chosenClass,!0))},r.ignore.split(",").forEach((function(e){Ee(Ge,e.trim(),Ut)})),be(l,"dragover",Ft),be(l,"mousemove",Ft),be(l,"touchmove",Ft),be(l,"mouseup",o._onDrop),be(l,"touchend",o._onDrop),be(l,"touchcancel",o._onDrop),me&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Ge.draggable=!0),Xe("delayStart",this,{evt:e}),!r.delay||r.delayOnTouchOnly&&!t||this.nativeDraggable&&(he||pe))a();else{if(Zt.eventCanceled)return void this._onDrop();be(l,"mouseup",o._disableDelayedDrag),be(l,"touchend",o._disableDelayedDrag),be(l,"touchcancel",o._disableDelayedDrag),be(l,"mousemove",o._delayedDragTouchMoveHandler),be(l,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&be(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(a,r.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Ge&&Ut(Ge),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;ye(e,"mouseup",this._disableDelayedDrag),ye(e,"touchend",this._disableDelayedDrag),ye(e,"touchcancel",this._disableDelayedDrag),ye(e,"mousemove",this._delayedDragTouchMoveHandler),ye(e,"touchmove",this._delayedDragTouchMoveHandler),ye(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?be(document,"pointermove",this._onTouchMove):be(document,t?"touchmove":"mousemove",this._onTouchMove):(be(Ge,"dragend",this),be(Qe,"dragstart",this._onDragStart));try{document.selection?Yt((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(bt=!1,Qe&&Ge){Xe("dragStarted",this,{evt:t}),this.nativeDraggable&&be(document,"dragover",Bt);var n=this.options;!e&&Ne(Ge,n.dragClass,!1),Ne(Ge,n.ghostClass,!0),Zt.active=this,e&&this._appendGhost(),qe({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ct){this._lastX=ct.clientX,this._lastY=ct.clientY,Ot();for(var e=document.elementFromPoint(ct.clientX,ct.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ct.clientX,ct.clientY))!==t;)t=e;if(Ge.parentNode[ze]._isOutsideThisEl(e),t)do{if(t[ze]&&t[ze]._onDragOver({clientX:ct.clientX,clientY:ct.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break;e=t}while(t=t.parentNode);Lt()}},_onTouchMove:function(e){if(st){var t=this.options,n=t.fallbackTolerance,a=t.fallbackOffset,o=e.touches?e.touches[0]:e,i=We&&ke(We,!0),r=We&&i&&i.a,l=We&&i&&i.d,s=kt&&At&&Fe(At),c=(o.clientX-st.clientX+a.x)/(r||1)+(s?s[0]-xt[0]:0)/(r||1),d=(o.clientY-st.clientY+a.y)/(l||1)+(s?s[1]-xt[1]:0)/(l||1);if(!Zt.active&&!bt){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))a.right+10||e.clientX<=a.right&&e.clientY>a.bottom&&e.clientX>=a.left:e.clientX>a.right&&e.clientY>a.top||e.clientX<=a.right&&e.clientY>a.bottom+10}(e,o,this)&&!g.animated){if(g===Ge)return D(!1);if(g&&i===e.target&&(r=g),r&&(n=Me(r)),!1!==jt(Qe,i,Ge,t,r,n,e,!!r))return E(),i.appendChild(Ge),$e=i,M(),D(!0)}else if(r.parentNode===i){n=Me(r);var f,v,A,b=Ge.parentNode!==i,y=!function(e,t,n){var a=n?e.left:e.top,o=n?e.right:e.bottom,i=n?e.width:e.height,r=n?t.left:t.top,l=n?t.right:t.bottom,s=n?t.width:t.height;return a===r||o===l||a+i/2===r+s/2}(Ge.animated&&Ge.toRect||t,r.animated&&r.toRect||n,o),C=o?"top":"left",w=Ie(r,"top","top")||Ie(Ge,"top","top"),_=w?w.scrollTop:void 0;if(gt!==r&&(v=n[C],wt=!1,_t=!y&&l.invertSwap||b),f=function(e,t,n,a,o,i,r,l){var s=a?e.clientY:e.clientX,c=a?n.height:n.width,d=a?n.top:n.left,u=a?n.bottom:n.right,p=!1;if(!r)if(l&&vtd+c*i/2:su-vt)return-ft}else if(s>d+c*(1-o)/2&&su-c*i/2)?s>d+c/2?1:-1:0}(e,r,n,o,y?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,_t,gt===r),0!==f){var x=Le(Ge);do{x-=f,A=$e.children[x]}while(A&&("none"===Te(A,"display")||A===We))}if(0===f||A===r)return D(!1);gt=r,ft=f;var S=r.nextElementSibling,N=!1,T=jt(Qe,i,Ge,t,r,n,e,N=1===f);if(!1!==T)return 1!==T&&-1!==T||(N=1===T),St=!0,setTimeout(Rt,30),E(),N&&!S?i.appendChild(Ge):r.parentNode.insertBefore(Ge,N?S:r),w&&Ue(w,0,_-w.scrollTop),$e=Ge.parentNode,void 0===v||_t||(vt=Math.abs(v-Me(r)[C])),M(),D(!0)}if(i.contains(Ge))return D(!1)}return!1}function k(l,s){Xe(l,h,de({evt:e,isOwner:d,axis:o?"vertical":"horizontal",revert:a,dragRect:t,targetRect:n,canSort:u,fromSortable:p,target:r,completed:D,onMove:function(n,a){return jt(Qe,i,Ge,t,n,Me(n),e,a)},changed:M},s))}function E(){k("dragOverAnimationCapture"),h.captureAnimationState(),h!==p&&p.captureAnimationState()}function D(t){return k("dragOverCompleted",{insertion:t}),t&&(d?c._hideClone():c._showClone(h),h!==p&&(Ne(Ge,lt?lt.options.ghostClass:c.options.ghostClass,!1),Ne(Ge,l.ghostClass,!0)),lt!==h&&h!==Zt.active?lt=h:h===Zt.active&<&&(lt=null),p===h&&(h._ignoreWhileAnimating=r),h.animateAll((function(){k("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(r===Ge&&!Ge.animated||r===i&&!r.animated)&&(gt=null),l.dragoverBubble||e.rootEl||r===document||(Ge.parentNode[ze]._isOutsideThisEl(e.target),!t&&Ft(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function M(){at=Le(Ge),it=Le(Ge,l.draggable),qe({sortable:h,name:"change",toEl:i,newIndex:at,newDraggableIndex:it,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){ye(document,"mousemove",this._onTouchMove),ye(document,"touchmove",this._onTouchMove),ye(document,"pointermove",this._onTouchMove),ye(document,"dragover",Ft),ye(document,"mousemove",Ft),ye(document,"touchmove",Ft)},_offUpEvents:function(){var e=this.el.ownerDocument;ye(e,"mouseup",this._onDrop),ye(e,"touchend",this._onDrop),ye(e,"pointerup",this._onDrop),ye(e,"touchcancel",this._onDrop),ye(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;at=Le(Ge),it=Le(Ge,n.draggable),Xe("drop",this,{evt:e}),$e=Ge&&Ge.parentNode,at=Le(Ge),it=Le(Ge,n.draggable),Zt.eventCanceled||(bt=!1,_t=!1,wt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Vt(this.cloneId),Vt(this._dragStartId),this.nativeDraggable&&(ye(document,"drop",this),ye(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),ge&&Te(document.body,"user-select",""),Te(Ge,"transform",""),e&&(mt&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),We&&We.parentNode&&We.parentNode.removeChild(We),(Qe===$e||lt&&"clone"!==lt.lastPutMode)&&et&&et.parentNode&&et.parentNode.removeChild(et),Ge&&(this.nativeDraggable&&ye(Ge,"dragend",this),Ut(Ge),Ge.style["will-change"]="",mt&&!bt&&Ne(Ge,lt?lt.options.ghostClass:this.options.ghostClass,!1),Ne(Ge,this.options.chosenClass,!1),qe({sortable:this,name:"unchoose",toEl:$e,newIndex:null,newDraggableIndex:null,originalEvent:e}),Qe!==$e?(at>=0&&(qe({rootEl:$e,name:"add",toEl:$e,fromEl:Qe,originalEvent:e}),qe({sortable:this,name:"remove",toEl:$e,originalEvent:e}),qe({rootEl:$e,name:"sort",toEl:$e,fromEl:Qe,originalEvent:e}),qe({sortable:this,name:"sort",toEl:$e,originalEvent:e})),lt&<.save()):at!==nt&&at>=0&&(qe({sortable:this,name:"update",toEl:$e,originalEvent:e}),qe({sortable:this,name:"sort",toEl:$e,originalEvent:e})),Zt.active&&(null!=at&&-1!==at||(at=nt,it=ot),qe({sortable:this,name:"end",toEl:$e,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Xe("nulling",this),Qe=Ge=$e=We=Je=et=Ke=tt=st=ct=mt=at=it=nt=ot=gt=ft=lt=rt=Zt.dragged=Zt.ghost=Zt.clone=Zt.active=null,Nt.forEach((function(e){e.checked=!0})),Nt.length=dt=ut=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":Ge&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,a=0,o=n.length,i=this.options;a!0,"move:down":()=>!0,"update:focus":()=>!0},setup(e,t){let{emit:n}=t;const a=(0,i.iH)(),o=(0,i.iH)();let r=0;return{buttonUp:a,buttonDown:o,moveUp:()=>{n("move:up"),r=1},moveDown:()=>{n("move:down"),r=-1},keepFocus:()=>{0!==r&&(1!==r&&!e.isLast||e.isFirst?(0,i.Y3)((()=>o.value.$el.focus())):(0,i.Y3)((()=>a.value.$el.focus()))),r=0},t:ae.Iu}}});var un=a(40773),pn={};pn.styleTagTransform=T(),pn.setAttributes=_(),pn.insert=C().bind(null,"head"),pn.domAPI=b(),pn.insertStyleElement=S(),v()(un.Z,pn),un.Z&&un.Z.locals&&un.Z.locals;const hn=(0,D.Z)(dn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("li",{class:{"order-selector-element":!0,"order-selector-element--disabled":e.app.default},attrs:{"data-cy-app-order-element":e.app.id},on:{focusin:function(t){return e.$emit("update:focus")}}},[t("svg",{attrs:{width:"20",height:"20",viewBox:"0 0 20 20",role:"presentation"}},[t("image",{staticClass:"order-selector-element__icon",attrs:{preserveAspectRatio:"xMinYMin meet",x:"0",y:"0",width:"20",height:"20","xlink:href":e.app.icon}})]),e._v(" "),t("div",{staticClass:"order-selector-element__label"},[e._v("\n\t\t"+e._s(e.app.label??e.app.id)+"\n\t")]),e._v(" "),t("div",{staticClass:"order-selector-element__actions"},[t("NcButton",{directives:[{name:"show",rawName:"v-show",value:!e.isFirst&&!e.app.default,expression:"!isFirst && !app.default"}],ref:"buttonUp",attrs:{"aria-label":e.t("settings","Move up"),"aria-describedby":e.ariaDescribedby,"aria-details":e.ariaDetails,"data-cy-app-order-button":"up",type:"tertiary-no-background"},on:{click:e.moveUp},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconArrowUp",{attrs:{size:20}})]},proxy:!0}])}),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isFirst||!!e.app.default,expression:"isFirst || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}}),e._v(" "),t("NcButton",{directives:[{name:"show",rawName:"v-show",value:!e.isLast&&!e.app.default,expression:"!isLast && !app.default"}],ref:"buttonDown",attrs:{"aria-label":e.t("settings","Move down"),"aria-describedby":e.ariaDescribedby,"aria-details":e.ariaDetails,"data-cy-app-order-button":"down",type:"tertiary-no-background"},on:{click:e.moveDown},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconArrowDown",{attrs:{size:20}})]},proxy:!0}])}),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isLast||!!e.app.default,expression:"isLast || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}})],1)])}),[],!1,null,"081ebc45",null).exports,mn=(0,i.aZ)({name:"AppOrderSelector",components:{AppOrderSelectorElement:hn,Fragment:ln.H},props:{ariaDetails:{type:String,default:null},value:{type:Array,required:!0}},emits:{"update:value":e=>Array.isArray(e)},setup(e,t){let{emit:n}=t;const a=(0,i.iH)(null),o=(0,i.Fl)({get:()=>e.value,set:t=>{const a=[...t].sort(((e,n)=>(n.default?1:0)-(e.default?1:0)||t.indexOf(e)-t.indexOf(n)));a.some(((t,n)=>{let{id:a}=t;return a!==e.value[n].id}))?n("update:value",a):r.value+=1}}),r=(0,i.iH)(0);!function(e,t,n={}){let a;const{document:o=ie.Td$,...r}=n,l={onUpdate:e=>{!function(e,t,n){const a=(0,i.dq)(e),o=a?[...(0,re.Tn)(e)]:(0,re.Tn)(e);if(n>=0&&n{o.splice(n,0,r),a&&(e.value=o)}))}}(t,e.oldIndex,e.newIndex)}},s=()=>{const t="string"==typeof e?null==o?void 0:o.querySelector(e):(0,ie.NXq)(e);t&&void 0===a&&(a=new rn(t,{...l,...r}))},c=()=>{null==a||a.destroy(),a=void 0};(0,re.u7)(s),(0,re.IY)(c)}(a,o,{filter:".order-selector-element--disabled"});const l=(0,i.iH)([]);(0,i.ic)((()=>{l.value.forEach((e=>e.keepFocus()))}));const s=(0,i.iH)("");return{appList:o,listElement:a,moveDown:t=>{const a=t>0?e.value.slice(0,t):[];a.push(e.value[t+1]);const o=t{const a=t>1?e.value.slice(0,t-1):[];if(e.value[t-1]?.default)return;const o=[e.value[t-1]];t{s.value=(0,ae.Iu)("theming","Current selected app: {app}, position {position} of {total}",{app:e.value[t].label,position:t+1,total:e.value.length})},renderCount:r,selectorElements:l}}}),gn=mn;var fn=a(45797),vn={};vn.styleTagTransform=T(),vn.setAttributes=_(),vn.insert=C().bind(null,"head"),vn.domAPI=b(),vn.insertStyleElement=S(),v()(fn.Z,vn),fn.Z&&fn.Z.locals&&fn.Z.locals;var An=(0,D.Z)(gn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("Fragment",[t("div",{staticClass:"hidden-visually",attrs:{id:e.statusInfoId,"aria-live":"polite",role:"status"}},[e._v("\n\t\t"+e._s(e.statusInfo)+"\n\t")]),e._v(" "),t("ol",{ref:"listElement",staticClass:"order-selector",attrs:{"data-cy-app-order":""}},e._l(e.appList,(function(n,a){return t("AppOrderSelectorElement",e._g({key:`${n.id}${e.renderCount}`,ref:"selectorElements",refInFor:!0,attrs:{app:n,"aria-details":e.ariaDetails,"aria-describedby":e.statusInfoId,"is-first":0===a||!!e.appList[a-1].default,"is-last":a===e.value.length-1}},n.default?{}:{"move:up":()=>e.moveUp(a),"move:down":()=>e.moveDown(a),"update:focus":()=>e.updateStatusInfo(a)}))})),1)])}),[],!1,null,"76d01da8",null);const bn=An.exports,yn=(0,i.aZ)({name:"AppMenuSection",components:{AppOrderSelector:bn,NcCheckboxRadioSwitch:c.Z,NcSelect:oe.Z,NcSettingsSection:s.Z},props:{defaultApps:{type:Array,required:!0}},emits:{"update:defaultApps":e=>Array.isArray(e)&&e.every((e=>"string"==typeof e))},setup(e,t){let{emit:n}=t;const a=(0,i.Fl)({get:()=>e.defaultApps.length>0,set:e=>{e?n("update:defaultApps",["dashboard","files"]):l.value=[]}}),o=Object.values((0,r.j)("core","apps")).map((e=>{let{id:t,name:n,icon:a}=e;return{label:n,id:t,icon:a}})),l=(0,i.Fl)({get:()=>e.defaultApps.map((e=>o.filter((t=>t.id===e))[0])),set(e){s("defaultApps",e.map((e=>e.id))).then((()=>n("update:defaultApps",e.map((e=>e.id))))).catch((()=>(0,ne.x2)((0,ae.Iu)("theming","Could not set global default apps"))))}}),s=async(e,t)=>{const n=(0,u.generateUrl)("/apps/theming/ajax/updateAppMenu");return await d.Z.put(n,{setting:e,value:t})};return{allApps:o,selectedApps:l,hasCustomDefaultApp:a,t:ae.Iu}}}),Cn=yn;var wn=a(3640),_n={};_n.styleTagTransform=T(),_n.setAttributes=_(),_n.insert=C().bind(null,"head"),_n.domAPI=b(),_n.insertStyleElement=S(),v()(wn.Z,_n),wn.Z&&wn.Z.locals&&wn.Z.locals;const xn=(0,D.Z)(Cn,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcSettingsSection",{attrs:{name:e.t("theming","Navigation bar settings")}},[t("h3",[e._v(e._s(e.t("theming","Default app")))]),e._v(" "),t("p",{staticClass:"info-note"},[e._v("\n\t\t"+e._s(e.t("theming","The default app is the app that is e.g. opened after login or when the logo in the menu is clicked."))+"\n\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{checked:e.hasCustomDefaultApp,type:"switch","data-cy-switch-default-app":""},on:{"update:checked":function(t){e.hasCustomDefaultApp=t}}},[e._v("\n\t\t"+e._s(e.t("theming","Use custom default app"))+"\n\t")]),e._v(" "),e.hasCustomDefaultApp?[t("h4",[e._v(e._s(e.t("theming","Global default app")))]),e._v(" "),t("NcSelect",{attrs:{"close-on-select":!1,placeholder:e.t("theming","Global default apps"),options:e.allApps,multiple:!0},model:{value:e.selectedApps,callback:function(t){e.selectedApps=t},expression:"selectedApps"}}),e._v(" "),t("h5",[e._v(e._s(e.t("theming","Default app priority")))]),e._v(" "),t("p",{staticClass:"info-note"},[e._v("\n\t\t\t"+e._s(e.t("theming","If an app is not enabled for a user, the next app with lower priority is used."))+"\n\t\t")]),e._v(" "),t("AppOrderSelector",{attrs:{value:e.selectedApps},on:{"update:value":function(t){e.selectedApps=t}}})]:e._e()],2)}),[],!1,null,"90f2e098",null).exports,{backgroundMime:Sn,canThemeIcons:Nn,color:Tn,docUrl:kn,docUrlIcons:En,faviconMime:Dn,isThemable:Mn,legalNoticeUrl:In,logoheaderMime:Pn,logoMime:On,name:Ln,notThemableErrorMessage:Fn,privacyPolicyUrl:Bn,slogan:Zn,url:jn,userThemingDisabled:Un,defaultApps:Rn}=(0,r.j)("theming","adminThemingParameters"),zn=[{name:"name",value:Ln,defaultValue:"Nextcloud",type:"text",displayName:t("theming","Name"),placeholder:t("theming","Name"),maxlength:250},{name:"url",value:jn,defaultValue:"https://nextcloud.com",type:"url",displayName:t("theming","Web link"),placeholder:"https://…",maxlength:500},{name:"slogan",value:Zn,defaultValue:t("theming","a safe home for all your data"),type:"text",displayName:t("theming","Slogan"),placeholder:t("theming","Slogan"),maxlength:500}],Yn={name:"color",value:Tn,defaultValue:"#0082c9",displayName:t("theming","Color")},Vn=[{name:"logo",mimeName:"logoMime",mimeValue:On,defaultMimeValue:"",displayName:t("theming","Logo"),ariaLabel:t("theming","Upload new logo")},{name:"background",mimeName:"backgroundMime",mimeValue:Sn,defaultMimeValue:"",displayName:t("theming","Background and login image"),ariaLabel:t("theming","Upload new background and login image")}],Hn=[{name:"imprintUrl",value:In,defaultValue:"",type:"url",displayName:t("theming","Legal notice link"),placeholder:"https://…",maxlength:500},{name:"privacyUrl",value:Bn,defaultValue:"",type:"url",displayName:t("theming","Privacy policy link"),placeholder:"https://…",maxlength:500}],Xn=[{name:"logoheader",mimeName:"logoheaderMime",mimeValue:Pn,defaultMimeValue:"",displayName:t("theming","Header logo"),ariaLabel:t("theming","Upload new header logo")},{name:"favicon",mimeName:"faviconMime",mimeValue:Dn,defaultMimeValue:"",displayName:t("theming","Favicon"),ariaLabel:t("theming","Upload new favicon")}],qn={name:"disable-user-theming",value:Un,defaultValue:!1,displayName:t("theming","User settings"),label:t("theming","Disable user theming"),description:t("theming","Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.")},Gn={name:"AdminTheming",components:{AppMenuSection:xn,CheckboxField:M,ColorPickerField:z,FileInputField:Q,NcNoteCard:l.Z,NcSettingsSection:s.Z,TextField:te},emits:["update:theming"],textFields:zn,data:()=>({textFields:zn,colorPickerField:Yn,fileInputFields:Vn,advancedTextFields:Hn,advancedFileInputFields:Xn,userThemingField:qn,defaultApps:Rn,canThemeIcons:Nn,docUrl:kn,docUrlIcons:En,isThemable:Mn,notThemableErrorMessage:Fn})};var $n=a(36568),Wn={};Wn.styleTagTransform=T(),Wn.setAttributes=_(),Wn.insert=C().bind(null,"head"),Wn.domAPI=b(),Wn.insertStyleElement=S(),v()($n.Z,Wn),$n.Z&&$n.Z.locals&&$n.Z.locals;const Qn=(0,D.Z)(Gn,(function(){var e=this,t=e._self._c;return t("section",[t("NcSettingsSection",{attrs:{name:e.t("theming","Theming"),description:e.t("theming","Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users."),"doc-url":e.docUrl,"data-admin-theming-settings":""}},[t("div",{staticClass:"admin-theming"},[e.isThemable?e._e():t("NcNoteCard",{attrs:{type:"error","show-alert":!0}},[t("p",[e._v(e._s(e.notThemableErrorMessage))])]),e._v(" "),e._l(e.textFields,(function(n){return t("TextField",{key:n.name,attrs:{"data-admin-theming-setting-field":n.name,"default-value":n.defaultValue,"display-name":n.displayName,maxlength:n.maxlength,name:n.name,placeholder:n.placeholder,type:n.type,value:n.value},on:{"update:value":function(t){return e.$set(n,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("ColorPickerField",{attrs:{name:e.colorPickerField.name,"default-value":e.colorPickerField.defaultValue,"display-name":e.colorPickerField.displayName,value:e.colorPickerField.value},on:{"update:value":function(t){return e.$set(e.colorPickerField,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}}),e._v(" "),e._l(e.fileInputFields,(function(n){return t("FileInputField",{key:n.name,attrs:{"aria-label":n.ariaLabel,"data-admin-theming-setting-file":n.name,"default-mime-value":n.defaultMimeValue,"display-name":n.displayName,"mime-name":n.mimeName,"mime-value":n.mimeValue,name:n.name},on:{"update:mimeValue":function(t){return e.$set(n,"mimeValue",t)},"update:mime-value":function(t){return e.$set(n,"mimeValue",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("div",{staticClass:"admin-theming__preview",attrs:{"data-admin-theming-preview":""}},[t("div",{staticClass:"admin-theming__preview-logo",attrs:{"data-admin-theming-preview-logo":""}})])],2)]),e._v(" "),t("NcSettingsSection",{attrs:{name:e.t("theming","Advanced options")}},[t("div",{staticClass:"admin-theming-advanced"},[e._l(e.advancedTextFields,(function(n){return t("TextField",{key:n.name,attrs:{name:n.name,value:n.value,"default-value":n.defaultValue,type:n.type,"display-name":n.displayName,placeholder:n.placeholder,maxlength:n.maxlength},on:{"update:value":function(t){return e.$set(n,"value",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),e._l(e.advancedFileInputFields,(function(n){return t("FileInputField",{key:n.name,attrs:{name:n.name,"mime-name":n.mimeName,"mime-value":n.mimeValue,"default-mime-value":n.defaultMimeValue,"display-name":n.displayName,"aria-label":n.ariaLabel},on:{"update:mimeValue":function(t){return e.$set(n,"mimeValue",t)},"update:mime-value":function(t){return e.$set(n,"mimeValue",t)},"update:theming":function(t){return e.$emit("update:theming")}}})})),e._v(" "),t("CheckboxField",{attrs:{name:e.userThemingField.name,value:e.userThemingField.value,"default-value":e.userThemingField.defaultValue,"display-name":e.userThemingField.displayName,label:e.userThemingField.label,description:e.userThemingField.description,"data-admin-theming-setting-disable-user-theming":""},on:{"update:theming":function(t){return e.$emit("update:theming")}}}),e._v(" "),e.canThemeIcons?e._e():t("a",{attrs:{href:e.docUrlIcons,rel:"noreferrer noopener"}},[t("em",[e._v(e._s(e.t("theming","Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.")))])])],2)]),e._v(" "),t("AppMenuSection",{attrs:{"default-apps":e.defaultApps},on:{"update:defaultApps":function(t){e.defaultApps=t},"update:default-apps":function(t){e.defaultApps=t}}})],1)}),[],!1,null,"e3cd61f0",null).exports;a.nc=btoa((0,o.IH)()),i.ZP.prototype.OC=OC,i.ZP.prototype.t=t;const Jn=new(i.ZP.extend(Qn));Jn.$mount("#admin-theming"),Jn.$on("update:theming",(()=>{[...document.head.querySelectorAll("link.theme")].forEach((e=>{const t=new URL(e.href);t.searchParams.set("v",Date.now());const n=e.cloneNode();n.href=t.toString(),n.onload=()=>e.remove(),document.head.append(n)}))}))},36568:(e,t,n)=>{n.d(t,{Z:()=>p});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i),l=n(61667),s=n.n(l),c=new URL(n(92770),n.b),d=r()(o()),u=s()(c);d.push([e.id,`.admin-theming[data-v-e3cd61f0],.admin-theming-advanced[data-v-e3cd61f0]{display:flex;flex-direction:column;gap:8px 0}.admin-theming__preview[data-v-e3cd61f0]{width:230px;height:140px;background-size:cover;background-position:center;text-align:center;margin-top:10px;background-color:var(--color-primary-element-default);background-image:var(--image-background-plain, var(--image-background-default))}.admin-theming__preview-logo[data-v-e3cd61f0]{width:20%;height:20%;margin-top:20px;display:inline-block;background-size:contain;background-position:center;background-repeat:no-repeat;background-image:var(--image-logo, url(${u}))}`,"",{version:3,sources:["webpack://./apps/theming/src/AdminTheming.vue"],names:[],mappings:"AACA,yEAEC,YAAA,CACA,qBAAA,CACA,SAAA,CAIA,yCACC,WAAA,CACA,YAAA,CACA,qBAAA,CACA,0BAAA,CACA,iBAAA,CACA,eAAA,CAIA,qDAAA,CAKA,+EAAA,CAEA,8CACC,SAAA,CACA,UAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,2EAAA",sourcesContent:["\n.admin-theming,\n.admin-theming-advanced {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px 0;\n}\n\n.admin-theming {\n\t&__preview {\n\t\twidth: 230px;\n\t\theight: 140px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\ttext-align: center;\n\t\tmargin-top: 10px;\n\t\t/* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css\n\t\t But without the user variables. That way the admin can preview the render as guest*/\n\t\t/* As guest, there is no user color color-background-plain */\n\t\tbackground-color: var(--color-primary-element-default);\n\t\t/* As guest, there is no user background (--image-background)\n\t\t1. Empty background if defined\n\t\t2. Else default background\n\t\t3. Finally default gradient (should not happened, the background is always defined anyway) */\n\t\tbackground-image: var(--image-background-plain, var(--image-background-default));\n\n\t\t&-logo {\n\t\t\twidth: 20%;\n\t\t\theight: 20%;\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: inline-block;\n\t\t\tbackground-size: contain;\n\t\t\tbackground-position: center;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const p=d},45797:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".order-selector[data-v-76d01da8]{width:max-content;min-width:260px}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelector.vue"],names:[],mappings:"AACA,iCACC,iBAAA,CACA,eAAA",sourcesContent:["\n.order-selector {\n\twidth: max-content;\n\tmin-width: 260px; // align with NcSelect\n}\n"],sourceRoot:""}]);const l=r},40773:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelectorElement.vue"],names:[],mappings:"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA",sourcesContent:["\n.order-selector-element {\n\t// hide default styling\n\tlist-style: none;\n\t// Align children\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t// Spacing\n\tgap: 12px;\n\tpadding-inline: 12px;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&--disabled {\n\t\tborder-color: var(--color-text-maxcontrast);\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t.order-selector-element__icon {\n\t\t\topacity: 75%;\n\t\t}\n\t}\n\n\t&__actions {\n\t\tflex: 0 0;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 6px;\n\t}\n\n\t&__label {\n\t\tflex: 1 1;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t&__placeholder {\n\t\theight: 44px;\n\t\twidth: 44px;\n\t}\n\n\t&__icon {\n\t\tfilter: var(--background-invert-if-bright);\n\t}\n}\n"],sourceRoot:""}]);const l=r},3640:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,"h3[data-v-90f2e098],h4[data-v-90f2e098]{font-weight:bold}h4[data-v-90f2e098],h5[data-v-90f2e098]{margin-block-start:12px}.info-note[data-v-90f2e098]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/AppMenuSection.vue"],names:[],mappings:"AACA,wCACC,gBAAA,CAED,wCACC,uBAAA,CAGD,4BACC,mCAAA",sourcesContent:["\nh3, h4 {\n\tfont-weight: bold;\n}\nh4, h5 {\n\tmargin-block-start: 12px;\n}\n\n.info-note {\n\tcolor: var(--color-text-maxcontrast);\n}\n"],sourceRoot:""}]);const l=r},60515:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-c41a3e80]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-c41a3e80]{display:flex;gap:0 4px}.field__description[data-v-c41a3e80]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/CheckboxField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,qCACC,mCAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const l=r},40590:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-25e8f76e]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-25e8f76e]{display:flex;gap:0 4px}.field__color-preview[data-v-25e8f76e]{width:var(--default-clickable-area);border-radius:var(--border-radius-large);background-color:var(--color-primary-default)}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/ColorPickerField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,uCACC,mCAAA,CACA,wCAAA,CACA,6CAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__color-preview {\n\t\twidth: var(--default-clickable-area);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-primary-default);\n\t}\n}\n"],sourceRoot:""}]);const l=r},58800:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-36abeca7]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-36abeca7]{display:flex;gap:0 4px}.field__loading-icon[data-v-36abeca7]{width:44px;height:44px}.field__preview[data-v-36abeca7]{width:70px;height:70px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:10px 0}.field__preview--logoheader[data-v-36abeca7]{background-image:var(--image-logoheader)}.field__preview--favicon[data-v-36abeca7]{background-image:var(--image-favicon)}input[type=file][data-v-36abeca7]{display:none}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/shared/field.scss","webpack://./apps/theming/src/components/admin/FileInputField.vue"],names:[],mappings:"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,sCACC,UAAA,CACA,WAAA,CAGD,iCACC,UAAA,CACA,WAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,aAAA,CAEA,6CACC,wCAAA,CAGD,0CACC,qCAAA,CAKH,kCACC,YAAA",sourcesContent:["/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n.field {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px 0;\n\n\t&__row {\n\t\tdisplay: flex;\n\t\tgap: 0 4px;\n\t}\n}\n","\n@import './shared/field.scss';\n\n.field {\n\t&__loading-icon {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__preview {\n\t\twidth: 70px;\n\t\theight: 70px;\n\t\tbackground-size: contain;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t\tmargin: 10px 0;\n\n\t\t&--logoheader {\n\t\t\tbackground-image: var(--image-logoheader);\n\t\t}\n\n\t\t&--favicon {\n\t\t\tbackground-image: var(--image-favicon);\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const l=r},15587:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(87537),o=n.n(a),i=n(23645),r=n.n(i)()(o());r.push([e.id,".field[data-v-31f08db0]{max-width:400px}","",{version:3,sources:["webpack://./apps/theming/src/components/admin/TextField.vue"],names:[],mappings:"AACA,wBACC,eAAA",sourcesContent:["\n.field {\n\tmax-width: 400px;\n}\n"],sourceRoot:""}]);const l=r},92770:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjEyOCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjU2IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMTI4IDdjLTI1Ljg3MSAwLTQ3LjgxNyAxNy40ODUtNTQuNzEzIDQxLjIwOS01Ljk3OTUtMTIuNDYxLTE4LjY0Mi0yMS4yMDktMzMuMjg3LTIxLjIwOS0yMC4zMDQgMC0zNyAxNi42OTYtMzcgMzdzMTYuNjk2IDM3IDM3IDM3YzE0LjY0NSAwIDI3LjMwOC04Ljc0ODEgMzMuMjg3LTIxLjIwOSA2Ljg5NTcgMjMuNzI0IDI4Ljg0MiA0MS4yMDkgNTQuNzEzIDQxLjIwOXM0Ny44MTctMTcuNDg1IDU0LjcxMy00MS4yMDljNS45Nzk1IDEyLjQ2MSAxOC42NDIgMjEuMjA5IDMzLjI4NyAyMS4yMDkgMjAuMzA0IDAgMzctMTYuNjk2IDM3LTM3cy0xNi42OTYtMzctMzctMzdjLTE0LjY0NSAwLTI3LjMwOCA4Ljc0ODEtMzMuMjg3IDIxLjIwOS02Ljg5NTctMjMuNzI0LTI4Ljg0Mi00MS4yMDktNTQuNzEzLTQxLjIwOXptMCAyMmMxOS40NiAwIDM1IDE1LjU0IDM1IDM1cy0xNS41NCAzNS0zNSAzNS0zNS0xNS41NC0zNS0zNSAxNS41NC0zNSAzNS0zNXptLTg4IDIwYzguNDE0NiAwIDE1IDYuNTg1NCAxNSAxNXMtNi41ODU0IDE1LTE1IDE1LTE1LTYuNTg1NC0xNS0xNSA2LjU4NTQtMTUgMTUtMTV6bTE3NiAwYzguNDE0NiAwIDE1IDYuNTg1NCAxNSAxNXMtNi41ODU0IDE1LTE1IDE1LTE1LTYuNTg1NC0xNS0xNSA2LjU4NTQtMTUgMTUtMTV6IiBjb2xvcj0iIzAwMDAwMCIgZmlsbD0iI2ZmZiIgc3R5bGU9Ii1pbmtzY2FwZS1zdHJva2U6bm9uZSIvPjwvc3ZnPgo="}},i={};function r(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,loaded:!1,exports:{}};return o[e].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}r.m=o,e=[],r.O=(t,n,a,o)=>{if(!n){var i=1/0;for(d=0;d=o)&&Object.keys(r.O).every((e=>r.O[e](n[s])))?n.splice(s--,1):(l=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,a,o]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>e+"-"+e+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[e],r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n={},a="nextcloud:",r.l=(e,t,o,i)=>{if(n[e])n[e].push(t);else{var l,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),d=0;d{l.onerror=l.onload=null,clearTimeout(h);var o=n[e];if(delete n[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(a))),t)return t(a)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=p.bind(null,l.onerror),l.onload=p.bind(null,l.onload),s&&document.head.appendChild(l)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.j=5544,(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&!e;)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{r.b=document.baseURI||self.location.href;var e={5544:0};r.f.j=(t,n)=>{var a=r.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var o=new Promise(((n,o)=>a=e[t]=[n,o]));n.push(a[2]=o);var i=r.p+r.u(t),l=new Error;r.l(i,(n=>{if(r.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,a[1](l)}}),"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,n)=>{var a,o,i=n[0],l=n[1],s=n[2],c=0;if(i.some((t=>0!==e[t]))){for(a in l)r.o(l,a)&&(r.m[a]=l[a]);if(s)var d=s(r)}for(t&&t(n);cr(36552)));l=r.O(l)})(); +//# sourceMappingURL=theming-admin-theming.js.map?v=48c2f23efaa5d7344970 \ No newline at end of file diff --git a/dist/theming-admin-theming.js.map b/dist/theming-admin-theming.js.map index b4aa626793e..43ed5b78c16 100644 --- a/dist/theming-admin-theming.js.map +++ b/dist/theming-admin-theming.js.map @@ -1 +1 @@ -{"version":3,"file":"theming-admin-theming.js?v=9b8274b393b9a9a460a0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/theming/src/mixins/admin/FieldMixin.js","webpack:///nextcloud/apps/theming/src/mixins/admin/TextValueMixin.js","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?efd5","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?8981","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?f479","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?fdaf","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/UndoVariant.vue?2557","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue?vue&type=template&id=3b13fe6c","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Palette.vue?82b2","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue?vue&type=template&id=b8041184","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?9ad6","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?977d","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?2d6f","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?6e1f","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?4d24","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?6ff1","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?c7b6","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?e6c1","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue","webpack:///nextcloud/node_modules/sortablejs/modular/sortable.esm.js","webpack:///nextcloud/node_modules/@vueuse/integrations/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?649a","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?aad4","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue","webpack:///nextcloud/node_modules/@vueuse/integrations/useSortable.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?96a5","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?dbd7","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/admin/AppMenuSection.vue?be6d","webpack://nextcloud/./apps/theming/src/components/admin/AppMenuSection.vue?f742","webpack:///nextcloud/apps/theming/src/AdminTheming.vue","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?f2b5","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?6138","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?e575","webpack:///nextcloud/apps/theming/src/admin-settings.js","webpack:///nextcloud/apps/theming/src/helpers/refreshStyles.js","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst styleRefreshFields = [\n\t'color',\n\t'logo',\n\t'background',\n\t'logoheader',\n\t'favicon',\n\t'disable-user-theming',\n]\n\nexport default {\n\temits: [\n\t\t'update:theming',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tshowSuccess: false,\n\t\t\terrorMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tid() {\n\t\t\treturn `admin-theming-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\treset() {\n\t\t\tthis.showSuccess = false\n\t\t\tthis.errorMessage = ''\n\t\t},\n\n\t\thandleSuccess() {\n\t\t\tthis.showSuccess = true\n\t\t\tsetTimeout(() => { this.showSuccess = false }, 2000)\n\t\t\tif (styleRefreshFields.includes(this.name)) {\n\t\t\t\tthis.$emit('update:theming')\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport FieldMixin from './FieldMixin.js'\n\nexport default {\n\tmixins: [\n\t\tFieldMixin,\n\t],\n\n\twatch: {\n\t\tvalue(value) {\n\t\t\tthis.localValue = value\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalValue: this.value,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync save() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/updateStylesheet')\n\t\t\t// Convert boolean to string as server expects string value\n\t\t\tconst valueToPost = this.localValue === true ? 'yes' : this.localValue === false ? 'no' : this.localValue\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t\tvalue: valueToPost,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.localValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\n\t\tasync undo() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/undoChanges')\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.defaultValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.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!./CheckboxField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CheckboxField.vue?vue&type=template&id=c41a3e80&scoped=true\"\nimport script from \"./CheckboxField.vue?vue&type=script&lang=js\"\nexport * from \"./CheckboxField.vue?vue&type=script&lang=js\"\nimport style0 from \"./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c41a3e80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"id\":_vm.id,\"checked\":_vm.localValue},on:{\"update:checked\":[function($event){_vm.localValue=$event},_vm.save]}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.label)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"field__description\"},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcColorPicker',{attrs:{\"value\":_vm.localValue,\"advanced-fields\":true,\"data-admin-theming-setting-primary-color-picker\":\"\"},on:{\"update:value\":[function($event){_vm.localValue=$event},_vm.debounceSave]}},[_c('NcButton',{attrs:{\"type\":\"secondary\",\"id\":_vm.id},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Palette',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Change color'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"field__color-preview\",attrs:{\"data-admin-theming-setting-primary-color\":\"\"}}),_vm._v(\" \"),(_vm.value !== _vm.defaultValue)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-primary-color-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e()],1),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UndoVariant.vue?vue&type=template&id=3b13fe6c\"\nimport script from \"./UndoVariant.vue?vue&type=script&lang=js\"\nexport * from \"./UndoVariant.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Palette.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Palette.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Palette.vue?vue&type=template&id=b8041184\"\nimport script from \"./Palette.vue?vue&type=script&lang=js\"\nexport * from \"./Palette.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon palette-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.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!./ColorPickerField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ColorPickerField.vue?vue&type=template&id=25e8f76e&scoped=true\"\nimport script from \"./ColorPickerField.vue?vue&type=script&lang=js\"\nexport * from \"./ColorPickerField.vue?vue&type=script&lang=js\"\nimport style0 from \"./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25e8f76e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\",\"id\":_vm.id,\"aria-label\":_vm.ariaLabel,\"data-admin-theming-setting-file-picker\":\"\"},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Upload'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.showReset)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-file-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e(),_vm._v(\" \"),(_vm.showRemove)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Remove background image'),\"data-admin-theming-setting-file-remove\":\"\"},on:{\"click\":_vm.removeBackground},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e(),_vm._v(\" \"),(_vm.showLoading)?_c('NcLoadingIcon',{staticClass:\"field__loading-icon\",attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),((_vm.name === 'logoheader' || _vm.name === 'favicon') && _vm.mimeValue !== _vm.defaultMimeValue)?_c('div',{staticClass:\"field__preview\",class:{\n\t\t\t'field__preview--logoheader': _vm.name === 'logoheader',\n\t\t\t'field__preview--favicon': _vm.name === 'favicon',\n\t\t}}):_vm._e(),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"accept\":_vm.acceptMime,\"type\":\"file\"},on:{\"change\":_vm.onChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.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!./FileInputField.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileInputField.vue?vue&type=template&id=36abeca7&scoped=true\"\nimport script from \"./FileInputField.vue?vue&type=script&lang=js\"\nexport * from \"./FileInputField.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36abeca7\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.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!./TextField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=31f08db0&scoped=true\"\nimport script from \"./TextField.vue?vue&type=script&lang=js\"\nexport * from \"./TextField.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31f08db0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('NcTextField',{attrs:{\"value\":_vm.localValue,\"label\":_vm.displayName,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"maxlength\":_vm.maxlength,\"spellcheck\":false,\"success\":_vm.showSuccess,\"error\":Boolean(_vm.errorMessage),\"helper-text\":_vm.errorMessage,\"show-trailing-button\":_vm.value !== _vm.defaultValue,\"trailing-button-icon\":\"undo\"},on:{\"update:value\":function($event){_vm.localValue=$event},\"trailing-button-click\":_vm.undo,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.save.apply(null, arguments)},\"blur\":_vm.save}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Navigation bar settings')}},[_c('h3',[_vm._v(_vm._s(_vm.t('theming', 'Default app')))]),_vm._v(\" \"),_c('p',{staticClass:\"info-note\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The default app is the app that is e.g. opened after login or when the logo in the menu is clicked.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasCustomDefaultApp,\"type\":\"switch\",\"data-cy-switch-default-app\":\"\"},on:{\"update:checked\":function($event){_vm.hasCustomDefaultApp=$event}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Use custom default app'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.hasCustomDefaultApp)?[_c('h4',[_vm._v(_vm._s(_vm.t('theming', 'Global default app')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":false,\"placeholder\":_vm.t('theming', 'Global default apps'),\"options\":_vm.allApps,\"multiple\":true},model:{value:(_vm.selectedApps),callback:function ($$v) {_vm.selectedApps=$$v},expression:\"selectedApps\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.t('theming', 'Default app priority')))]),_vm._v(\" \"),_c('p',{staticClass:\"info-note\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'If an app is not enabled for a user, the next app with lower priority is used.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('AppOrderSelector',{attrs:{\"value\":_vm.selectedApps},on:{\"update:value\":function($event){_vm.selectedApps=$event}}})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('li',{class:{\n\t\t'order-selector-element': true,\n\t\t'order-selector-element--disabled': _vm.app.default\n\t},attrs:{\"data-cy-app-order-element\":_vm.app.id},on:{\"focusin\":function($event){return _vm.$emit('update:focus')}}},[_c('svg',{attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"role\":\"presentation\"}},[_c('image',{staticClass:\"order-selector-element__icon\",attrs:{\"preserveAspectRatio\":\"xMinYMin meet\",\"x\":\"0\",\"y\":\"0\",\"width\":\"20\",\"height\":\"20\",\"xlink:href\":_vm.app.icon}})]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__label\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.label ?? _vm.app.id)+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__actions\"},[_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFirst && !_vm.app.default),expression:\"!isFirst && !app.default\"}],ref:\"buttonUp\",attrs:{\"aria-label\":_vm.t('settings', 'Move up'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"up\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveUp},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowUp',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFirst || !!_vm.app.default),expression:\"isFirst || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLast && !_vm.app.default),expression:\"!isLast && !app.default\"}],ref:\"buttonDown\",attrs:{\"aria-label\":_vm.t('settings', 'Move down'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"down\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveDown},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowDown',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLast || !!_vm.app.default),expression:\"isLast || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelectorElement.vue?vue&type=template&id=081ebc45&scoped=true\"\nimport script from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081ebc45\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('div',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.statusInfoId,\"aria-live\":\"polite\",\"role\":\"status\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.statusInfo)+\"\\n\\t\")]),_vm._v(\" \"),_c('ol',{ref:\"listElement\",staticClass:\"order-selector\",attrs:{\"data-cy-app-order\":\"\"}},_vm._l((_vm.appList),function(app,index){return _c('AppOrderSelectorElement',_vm._g({key:`${app.id}${_vm.renderCount}`,ref:\"selectorElements\",refInFor:true,attrs:{\"app\":app,\"aria-details\":_vm.ariaDetails,\"aria-describedby\":_vm.statusInfoId,\"is-first\":index === 0 || !!_vm.appList[index - 1].default,\"is-last\":index === _vm.value.length - 1}},app.default ? {} : {\n\t\t\t\t'move:up': () => _vm.moveUp(index),\n\t\t\t\t'move:down': () => _vm.moveDown(index),\n\t\t\t\t'update:focus': () => _vm.updateStatusInfo(index),\n\t\t\t}))}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { tryOnMounted, tryOnScopeDispose, toValue, unrefElement, defaultDocument } from '@vueuse/core';\nimport Sortable from 'sortablejs';\nimport { isRef, nextTick } from 'vue-demi';\n\nfunction useSortable(el, list, options = {}) {\n let sortable;\n const { document = defaultDocument, ...resetOptions } = options;\n const defaultOptions = {\n onUpdate: (e) => {\n moveArrayElement(list, e.oldIndex, e.newIndex);\n }\n };\n const start = () => {\n const target = typeof el === \"string\" ? document == null ? void 0 : document.querySelector(el) : unrefElement(el);\n if (!target || sortable !== void 0)\n return;\n sortable = new Sortable(target, { ...defaultOptions, ...resetOptions });\n };\n const stop = () => {\n sortable == null ? void 0 : sortable.destroy();\n sortable = void 0;\n };\n const option = (name, value) => {\n if (value !== void 0)\n sortable == null ? void 0 : sortable.option(name, value);\n else\n return sortable == null ? void 0 : sortable.option(name);\n };\n tryOnMounted(start);\n tryOnScopeDispose(stop);\n return { stop, start, option };\n}\nfunction moveArrayElement(list, from, to) {\n const _valueIsRef = isRef(list);\n const array = _valueIsRef ? [...toValue(list)] : toValue(list);\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n nextTick(() => {\n array.splice(to, 0, element);\n if (_valueIsRef)\n list.value = array;\n });\n }\n}\n\nexport { moveArrayElement, useSortable };\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelector.vue?vue&type=template&id=35797e31&scoped=true\"\nimport script from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35797e31\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppMenuSection.vue?vue&type=template&id=90f2e098&scoped=true\"\nimport script from \"./AppMenuSection.vue?vue&type=script&lang=ts\"\nexport * from \"./AppMenuSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"90f2e098\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.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!./AdminTheming.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AdminTheming.vue?vue&type=template&id=e3cd61f0&scoped=true\"\nimport script from \"./AdminTheming.vue?vue&type=script&lang=js\"\nexport * from \"./AdminTheming.vue?vue&type=script&lang=js\"\nimport style0 from \"./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3cd61f0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Theming'),\"description\":_vm.t('theming', 'Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users.'),\"doc-url\":_vm.docUrl,\"data-admin-theming-settings\":\"\"}},[_c('div',{staticClass:\"admin-theming\"},[(!_vm.isThemable)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.notThemableErrorMessage))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.textFields),function(field){return _c('TextField',{key:field.name,attrs:{\"data-admin-theming-setting-field\":field.name,\"default-value\":field.defaultValue,\"display-name\":field.displayName,\"maxlength\":field.maxlength,\"name\":field.name,\"placeholder\":field.placeholder,\"type\":field.type,\"value\":field.value},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('ColorPickerField',{attrs:{\"name\":_vm.colorPickerField.name,\"default-value\":_vm.colorPickerField.defaultValue,\"display-name\":_vm.colorPickerField.displayName,\"value\":_vm.colorPickerField.value},on:{\"update:value\":function($event){return _vm.$set(_vm.colorPickerField, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),_vm._l((_vm.fileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"aria-label\":field.ariaLabel,\"data-admin-theming-setting-file\":field.name,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"name\":field.name},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('div',{staticClass:\"admin-theming__preview\",attrs:{\"data-admin-theming-preview\":\"\"}},[_c('div',{staticClass:\"admin-theming__preview-logo\",attrs:{\"data-admin-theming-preview-logo\":\"\"}})])],2)]),_vm._v(\" \"),_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Advanced options')}},[_c('div',{staticClass:\"admin-theming-advanced\"},[_vm._l((_vm.advancedTextFields),function(field){return _c('TextField',{key:field.name,attrs:{\"name\":field.name,\"value\":field.value,\"default-value\":field.defaultValue,\"type\":field.type,\"display-name\":field.displayName,\"placeholder\":field.placeholder,\"maxlength\":field.maxlength},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_vm._l((_vm.advancedFileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"name\":field.name,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"aria-label\":field.ariaLabel},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('CheckboxField',{attrs:{\"name\":_vm.userThemingField.name,\"value\":_vm.userThemingField.value,\"default-value\":_vm.userThemingField.defaultValue,\"display-name\":_vm.userThemingField.displayName,\"label\":_vm.userThemingField.label,\"description\":_vm.userThemingField.description,\"data-admin-theming-setting-disable-user-theming\":\"\"},on:{\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),(!_vm.canThemeIcons)?_c('a',{attrs:{\"href\":_vm.docUrlIcons,\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('theming', 'Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.')))])]):_vm._e()],2)]),_vm._v(\" \"),_c('AppMenuSection',{attrs:{\"default-apps\":_vm.defaultApps},on:{\"update:defaultApps\":function($event){_vm.defaultApps=$event},\"update:default-apps\":function($event){_vm.defaultApps=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\n\nimport { refreshStyles } from './helpers/refreshStyles.js'\nimport App from './AdminTheming.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst theming = new View()\ntheming.$mount('#admin-theming')\ntheming.$on('update:theming', refreshStyles)\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport const refreshStyles = () => {\n\t// Refresh server-side generated theming CSS\n\t[...document.head.querySelectorAll('link.theme')].forEach(theme => {\n\t\tconst url = new URL(theme.href)\n\t\turl.searchParams.set('v', Date.now())\n\t\tconst newTheme = theme.cloneNode()\n\t\tnewTheme.href = url.toString()\n\t\tnewTheme.onload = () => theme.remove()\n\t\tdocument.head.append(newTheme)\n\t})\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../../core/img/logo/logo.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.admin-theming[data-v-e3cd61f0],.admin-theming-advanced[data-v-e3cd61f0]{display:flex;flex-direction:column;gap:8px 0}.admin-theming__preview[data-v-e3cd61f0]{width:230px;height:140px;background-size:cover;background-position:center;text-align:center;margin-top:10px;background-color:var(--color-primary-element-default);background-image:var(--image-background-plain, var(--image-background-default))}.admin-theming__preview-logo[data-v-e3cd61f0]{width:20%;height:20%;margin-top:20px;display:inline-block;background-size:contain;background-position:center;background-repeat:no-repeat;background-image:var(--image-logo, url(${___CSS_LOADER_URL_REPLACEMENT_0___}))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/AdminTheming.vue\"],\"names\":[],\"mappings\":\"AACA,yEAEC,YAAA,CACA,qBAAA,CACA,SAAA,CAIA,yCACC,WAAA,CACA,YAAA,CACA,qBAAA,CACA,0BAAA,CACA,iBAAA,CACA,eAAA,CAIA,qDAAA,CAKA,+EAAA,CAEA,8CACC,SAAA,CACA,UAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,2EAAA\",\"sourcesContent\":[\"\\n.admin-theming,\\n.admin-theming-advanced {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 8px 0;\\n}\\n\\n.admin-theming {\\n\\t&__preview {\\n\\t\\twidth: 230px;\\n\\t\\theight: 140px;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-position: center;\\n\\t\\ttext-align: center;\\n\\t\\tmargin-top: 10px;\\n\\t\\t/* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css\\n\\t\\t But without the user variables. That way the admin can preview the render as guest*/\\n\\t\\t/* As guest, there is no user color color-background-plain */\\n\\t\\tbackground-color: var(--color-primary-element-default);\\n\\t\\t/* As guest, there is no user background (--image-background)\\n\\t\\t1. Empty background if defined\\n\\t\\t2. Else default background\\n\\t\\t3. Finally default gradient (should not happened, the background is always defined anyway) */\\n\\t\\tbackground-image: var(--image-background-plain, var(--image-background-default));\\n\\n\\t\\t&-logo {\\n\\t\\t\\twidth: 20%;\\n\\t\\t\\theight: 20%;\\n\\t\\t\\tmargin-top: 20px;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector[data-v-35797e31]{width:max-content;min-width:260px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelector.vue\"],\"names\":[],\"mappings\":\"AACA,iCACC,iBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.order-selector {\\n\\twidth: max-content;\\n\\tmin-width: 260px; // align with NcSelect\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelectorElement.vue\"],\"names\":[],\"mappings\":\"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA\",\"sourcesContent\":[\"\\n.order-selector-element {\\n\\t// hide default styling\\n\\tlist-style: none;\\n\\t// Align children\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\talign-items: center;\\n\\t// Spacing\\n\\tgap: 12px;\\n\\tpadding-inline: 12px;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\tborder-color: var(--color-text-maxcontrast);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t.order-selector-element__icon {\\n\\t\\t\\topacity: 75%;\\n\\t\\t}\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 6px;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tflex: 1 1;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__placeholder {\\n\\t\\theight: 44px;\\n\\t\\twidth: 44px;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tfilter: var(--background-invert-if-bright);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `h3[data-v-90f2e098],h4[data-v-90f2e098]{font-weight:bold}h4[data-v-90f2e098],h5[data-v-90f2e098]{margin-block-start:12px}.info-note[data-v-90f2e098]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/AppMenuSection.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,gBAAA,CAED,wCACC,uBAAA,CAGD,4BACC,mCAAA\",\"sourcesContent\":[\"\\nh3, h4 {\\n\\tfont-weight: bold;\\n}\\nh4, h5 {\\n\\tmargin-block-start: 12px;\\n}\\n\\n.info-note {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-c41a3e80]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-c41a3e80]{display:flex;gap:0 4px}.field__description[data-v-c41a3e80]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/CheckboxField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,qCACC,mCAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-25e8f76e]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-25e8f76e]{display:flex;gap:0 4px}.field__color-preview[data-v-25e8f76e]{width:var(--default-clickable-area);border-radius:var(--border-radius-large);background-color:var(--color-primary-default)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/ColorPickerField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,uCACC,mCAAA,CACA,wCAAA,CACA,6CAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__color-preview {\\n\\t\\twidth: var(--default-clickable-area);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-primary-default);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-36abeca7]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-36abeca7]{display:flex;gap:0 4px}.field__loading-icon[data-v-36abeca7]{width:44px;height:44px}.field__preview[data-v-36abeca7]{width:70px;height:70px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:10px 0}.field__preview--logoheader[data-v-36abeca7]{background-image:var(--image-logoheader)}.field__preview--favicon[data-v-36abeca7]{background-image:var(--image-favicon)}input[type=file][data-v-36abeca7]{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/FileInputField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,sCACC,UAAA,CACA,WAAA,CAGD,iCACC,UAAA,CACA,WAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,aAAA,CAEA,6CACC,wCAAA,CAGD,0CACC,qCAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__loading-icon {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__preview {\\n\\t\\twidth: 70px;\\n\\t\\theight: 70px;\\n\\t\\tbackground-size: contain;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tmargin: 10px 0;\\n\\n\\t\\t&--logoheader {\\n\\t\\t\\tbackground-image: var(--image-logoheader);\\n\\t\\t}\\n\\n\\t\\t&--favicon {\\n\\t\\t\\tbackground-image: var(--image-favicon);\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-31f08db0]{max-width:400px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/TextField.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,eAAA\",\"sourcesContent\":[\"\\n.field {\\n\\tmax-width: 400px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5544;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5544: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(22610)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","styleRefreshFields","emits","data","showSuccess","errorMessage","computed","id","this","name","methods","reset","handleSuccess","setTimeout","includes","$emit","mixins","FieldMixin","watch","value","localValue","save","url","generateUrl","valueToPost","axios","post","setting","e","response","message","undo","defaultValue","components","NcCheckboxRadioSwitch","NcNoteCard","TextValueMixin","props","type","String","required","Boolean","displayName","label","description","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","staticClass","attrs","_v","_s","on","$event","_e","title","fillColor","default","size","Number","_b","$attrs","NcButton","NcColorPicker","Undo","Palette","debounceSave","debounce","scopedSlots","_u","key","fn","proxy","t","allowedMimeTypes","loadState","Delete","NcLoadingIcon","Upload","mimeName","mimeValue","defaultMimeValue","ariaLabel","showLoading","acceptMime","join","showReset","showRemove","startsWith","activateLocalFilePicker","$refs","input","click","onChange","file","target","files","formData","FormData","append","removeBackground","class","ref","NcTextField","placeholder","maxlength","indexOf","_k","keyCode","apply","arguments","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","Object","defineProperty","enumerable","configurable","writable","_extends","assign","i","length","source","hasOwnProperty","call","_objectSpread","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","event","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","style","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","n","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","parseInt","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","index","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","isRectEqual","rect1","rect2","Math","round","throttle","callback","ms","args","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","expando","Date","getTime","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","push","pluginEvent","eventName","sortable","evt","_this","eventCanceled","cancel","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_ref","undefined","originalEvent","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","bind","dragEl","parentEl","ghostEl","rootEl","nextEl","lastDownEl","cloneEl","cloneHidden","dragStarted","moved","putSortable","activeSortable","active","oldIndex","oldDraggableIndex","newIndex","newDraggableIndex","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","targetEl","toEl","fromEl","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","from","item","pullMode","lastPutMode","allEventProperties","dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","some","rect","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","ret","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","animationCallbackId","animationStates","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","easing","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","captureAnimationState","slice","child","fromRect","thisAnimationDuration","childMatrix","f","addAnimationState","removeAnimationState","splice","arr","indexOfObject","animateAll","clearTimeout","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","sqrt","pow","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","offsetWidth","repaint","animated","_onMove","dragRect","targetRect","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","src","href","sum","charCodeAt","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","path","composedPath","root","inputs","idx","checked","_saveInputCheckedState","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","vertical","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","_ghostIsLast","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_dragElInRowColumn","side1","scrolledPastTop","scrollBefore","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_getSwapDirection","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","handleEvent","dropEffect","_globalDragOver","toArray","order","getAttribute","items","set","destroy","Array","querySelectorAll","removeAttribute","utils","is","extend","dst","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","version","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","clearAutoScrolls","autoScroll","pid","clearPointerElemChangedInterval","isFallback","scroll","scrollCustomFn","sens","scrollSensitivity","speed","scrollSpeed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","bubbleScroll","drop","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref2","_ref3","_ref4","parentSortable","AutoScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","ogElemScroller","newElem","util","warn","defineComponent","IconArrowDown","IconArrowUp","ariaDescribedby","ariaDetails","app","isFirst","isLast","move:up","move:down","update:focus","setup","emit","buttonUp","buttonDown","needsFocus","moveUp","moveDown","keepFocus","$el","focus","_setupProxy","icon","directives","rawName","expression","AppOrderSelectorElement","Fragment","isArray","listElement","appList","newValue","renderCount","resetOptions","defaultOptions","onUpdate","_valueIsRef","array","moveArrayElement","start","querySelector","stop","useSortable","selectorElements","onUpdated","statusInfo","before","statusInfoId","random","updateStatusInfo","position","total","_l","_g","refInFor","AppOrderSelector","NcSelect","NcSettingsSection","defaultApps","every","hasCustomDefaultApp","selectedApps","allApps","values","map","saveSetting","then","catch","showError","model","$$v","backgroundMime","canThemeIcons","color","docUrl","docUrlIcons","faviconMime","isThemable","legalNoticeUrl","logoheaderMime","logoMime","notThemableErrorMessage","privacyPolicyUrl","slogan","userThemingDisabled","textFields","colorPickerField","fileInputFields","advancedTextFields","advancedFileInputFields","userThemingField","AppMenuSection","CheckboxField","ColorPickerField","FileInputField","TextField","field","$set","__webpack_nonce__","btoa","getRequestToken","Vue","OC","theming","App","$mount","$on","refreshStyles","head","theme","URL","searchParams","now","newTheme","onload","remove","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","r","getter","__esModule","definition","o","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","l","done","script","needAttach","scripts","s","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","doneFns","toStringTag","nmd","paths","scriptUrl","importScripts","location","currentScript","Error","p","baseURI","self","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"theming-admin-theming.js?v=48c2f23efaa5d7344970","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/theming/src/mixins/admin/FieldMixin.js","webpack:///nextcloud/apps/theming/src/mixins/admin/TextValueMixin.js","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?efd5","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?8981","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?f479","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?fdaf","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/UndoVariant.vue?2557","webpack:///nextcloud/node_modules/vue-material-design-icons/UndoVariant.vue?vue&type=template&id=3b13fe6c","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Palette.vue?82b2","webpack:///nextcloud/node_modules/vue-material-design-icons/Palette.vue?vue&type=template&id=b8041184","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?9ad6","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?977d","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?2d6f","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?6e1f","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?4d24","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?6ff1","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?c7b6","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?e6c1","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue","webpack:///nextcloud/node_modules/sortablejs/modular/sortable.esm.js","webpack:///nextcloud/node_modules/@vueuse/integrations/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?649a","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?aad4","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue","webpack:///nextcloud/node_modules/@vueuse/integrations/useSortable.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?a335","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?dbd7","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/admin/AppMenuSection.vue?be6d","webpack://nextcloud/./apps/theming/src/components/admin/AppMenuSection.vue?f742","webpack:///nextcloud/apps/theming/src/AdminTheming.vue","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?f2b5","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?6138","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?e575","webpack:///nextcloud/apps/theming/src/admin-settings.js","webpack:///nextcloud/apps/theming/src/helpers/refreshStyles.js","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst styleRefreshFields = [\n\t'color',\n\t'logo',\n\t'background',\n\t'logoheader',\n\t'favicon',\n\t'disable-user-theming',\n]\n\nexport default {\n\temits: [\n\t\t'update:theming',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tshowSuccess: false,\n\t\t\terrorMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tid() {\n\t\t\treturn `admin-theming-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\treset() {\n\t\t\tthis.showSuccess = false\n\t\t\tthis.errorMessage = ''\n\t\t},\n\n\t\thandleSuccess() {\n\t\t\tthis.showSuccess = true\n\t\t\tsetTimeout(() => { this.showSuccess = false }, 2000)\n\t\t\tif (styleRefreshFields.includes(this.name)) {\n\t\t\t\tthis.$emit('update:theming')\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport FieldMixin from './FieldMixin.js'\n\nexport default {\n\tmixins: [\n\t\tFieldMixin,\n\t],\n\n\twatch: {\n\t\tvalue(value) {\n\t\t\tthis.localValue = value\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalValue: this.value,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync save() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/updateStylesheet')\n\t\t\t// Convert boolean to string as server expects string value\n\t\t\tconst valueToPost = this.localValue === true ? 'yes' : this.localValue === false ? 'no' : this.localValue\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t\tvalue: valueToPost,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.localValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\n\t\tasync undo() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/undoChanges')\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.defaultValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.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!./CheckboxField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CheckboxField.vue?vue&type=template&id=c41a3e80&scoped=true\"\nimport script from \"./CheckboxField.vue?vue&type=script&lang=js\"\nexport * from \"./CheckboxField.vue?vue&type=script&lang=js\"\nimport style0 from \"./CheckboxField.vue?vue&type=style&index=0&id=c41a3e80&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c41a3e80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"id\":_vm.id,\"checked\":_vm.localValue},on:{\"update:checked\":[function($event){_vm.localValue=$event},_vm.save]}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.label)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"field__description\"},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcColorPicker',{attrs:{\"value\":_vm.localValue,\"advanced-fields\":true,\"data-admin-theming-setting-primary-color-picker\":\"\"},on:{\"update:value\":[function($event){_vm.localValue=$event},_vm.debounceSave]}},[_c('NcButton',{attrs:{\"type\":\"secondary\",\"id\":_vm.id},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Palette',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Change color'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"field__color-preview\",attrs:{\"data-admin-theming-setting-primary-color\":\"\"}}),_vm._v(\" \"),(_vm.value !== _vm.defaultValue)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-primary-color-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e()],1),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UndoVariant.vue?vue&type=template&id=3b13fe6c\"\nimport script from \"./UndoVariant.vue?vue&type=script&lang=js\"\nexport * from \"./UndoVariant.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Palette.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Palette.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Palette.vue?vue&type=template&id=b8041184\"\nimport script from \"./Palette.vue?vue&type=script&lang=js\"\nexport * from \"./Palette.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon palette-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.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!./ColorPickerField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ColorPickerField.vue?vue&type=template&id=25e8f76e&scoped=true\"\nimport script from \"./ColorPickerField.vue?vue&type=script&lang=js\"\nexport * from \"./ColorPickerField.vue?vue&type=script&lang=js\"\nimport style0 from \"./ColorPickerField.vue?vue&type=style&index=0&id=25e8f76e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25e8f76e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\",\"id\":_vm.id,\"aria-label\":_vm.ariaLabel,\"data-admin-theming-setting-file-picker\":\"\"},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Upload'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.showReset)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-file-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e(),_vm._v(\" \"),(_vm.showRemove)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Remove background image'),\"data-admin-theming-setting-file-remove\":\"\"},on:{\"click\":_vm.removeBackground},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e(),_vm._v(\" \"),(_vm.showLoading)?_c('NcLoadingIcon',{staticClass:\"field__loading-icon\",attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),((_vm.name === 'logoheader' || _vm.name === 'favicon') && _vm.mimeValue !== _vm.defaultMimeValue)?_c('div',{staticClass:\"field__preview\",class:{\n\t\t\t'field__preview--logoheader': _vm.name === 'logoheader',\n\t\t\t'field__preview--favicon': _vm.name === 'favicon',\n\t\t}}):_vm._e(),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"accept\":_vm.acceptMime,\"type\":\"file\"},on:{\"change\":_vm.onChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.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!./FileInputField.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileInputField.vue?vue&type=template&id=36abeca7&scoped=true\"\nimport script from \"./FileInputField.vue?vue&type=script&lang=js\"\nexport * from \"./FileInputField.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileInputField.vue?vue&type=style&index=0&id=36abeca7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36abeca7\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.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!./TextField.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=31f08db0&scoped=true\"\nimport script from \"./TextField.vue?vue&type=script&lang=js\"\nexport * from \"./TextField.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=31f08db0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31f08db0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('NcTextField',{attrs:{\"value\":_vm.localValue,\"label\":_vm.displayName,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"maxlength\":_vm.maxlength,\"spellcheck\":false,\"success\":_vm.showSuccess,\"error\":Boolean(_vm.errorMessage),\"helper-text\":_vm.errorMessage,\"show-trailing-button\":_vm.value !== _vm.defaultValue,\"trailing-button-icon\":\"undo\"},on:{\"update:value\":function($event){_vm.localValue=$event},\"trailing-button-click\":_vm.undo,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.save.apply(null, arguments)},\"blur\":_vm.save}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Navigation bar settings')}},[_c('h3',[_vm._v(_vm._s(_vm.t('theming', 'Default app')))]),_vm._v(\" \"),_c('p',{staticClass:\"info-note\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The default app is the app that is e.g. opened after login or when the logo in the menu is clicked.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasCustomDefaultApp,\"type\":\"switch\",\"data-cy-switch-default-app\":\"\"},on:{\"update:checked\":function($event){_vm.hasCustomDefaultApp=$event}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Use custom default app'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.hasCustomDefaultApp)?[_c('h4',[_vm._v(_vm._s(_vm.t('theming', 'Global default app')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":false,\"placeholder\":_vm.t('theming', 'Global default apps'),\"options\":_vm.allApps,\"multiple\":true},model:{value:(_vm.selectedApps),callback:function ($$v) {_vm.selectedApps=$$v},expression:\"selectedApps\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.t('theming', 'Default app priority')))]),_vm._v(\" \"),_c('p',{staticClass:\"info-note\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'If an app is not enabled for a user, the next app with lower priority is used.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('AppOrderSelector',{attrs:{\"value\":_vm.selectedApps},on:{\"update:value\":function($event){_vm.selectedApps=$event}}})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('li',{class:{\n\t\t'order-selector-element': true,\n\t\t'order-selector-element--disabled': _vm.app.default\n\t},attrs:{\"data-cy-app-order-element\":_vm.app.id},on:{\"focusin\":function($event){return _vm.$emit('update:focus')}}},[_c('svg',{attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"role\":\"presentation\"}},[_c('image',{staticClass:\"order-selector-element__icon\",attrs:{\"preserveAspectRatio\":\"xMinYMin meet\",\"x\":\"0\",\"y\":\"0\",\"width\":\"20\",\"height\":\"20\",\"xlink:href\":_vm.app.icon}})]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__label\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.label ?? _vm.app.id)+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__actions\"},[_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFirst && !_vm.app.default),expression:\"!isFirst && !app.default\"}],ref:\"buttonUp\",attrs:{\"aria-label\":_vm.t('settings', 'Move up'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"up\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveUp},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowUp',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFirst || !!_vm.app.default),expression:\"isFirst || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLast && !_vm.app.default),expression:\"!isLast && !app.default\"}],ref:\"buttonDown\",attrs:{\"aria-label\":_vm.t('settings', 'Move down'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"down\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveDown},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowDown',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLast || !!_vm.app.default),expression:\"isLast || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelectorElement.vue?vue&type=template&id=081ebc45&scoped=true\"\nimport script from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081ebc45\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('div',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.statusInfoId,\"aria-live\":\"polite\",\"role\":\"status\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.statusInfo)+\"\\n\\t\")]),_vm._v(\" \"),_c('ol',{ref:\"listElement\",staticClass:\"order-selector\",attrs:{\"data-cy-app-order\":\"\"}},_vm._l((_vm.appList),function(app,index){return _c('AppOrderSelectorElement',_vm._g({key:`${app.id}${_vm.renderCount}`,ref:\"selectorElements\",refInFor:true,attrs:{\"app\":app,\"aria-details\":_vm.ariaDetails,\"aria-describedby\":_vm.statusInfoId,\"is-first\":index === 0 || !!_vm.appList[index - 1].default,\"is-last\":index === _vm.value.length - 1}},app.default ? {} : {\n\t\t\t\t'move:up': () => _vm.moveUp(index),\n\t\t\t\t'move:down': () => _vm.moveDown(index),\n\t\t\t\t'update:focus': () => _vm.updateStatusInfo(index),\n\t\t\t}))}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { tryOnMounted, tryOnScopeDispose, toValue, unrefElement, defaultDocument } from '@vueuse/core';\nimport Sortable from 'sortablejs';\nimport { isRef, nextTick } from 'vue-demi';\n\nfunction useSortable(el, list, options = {}) {\n let sortable;\n const { document = defaultDocument, ...resetOptions } = options;\n const defaultOptions = {\n onUpdate: (e) => {\n moveArrayElement(list, e.oldIndex, e.newIndex);\n }\n };\n const start = () => {\n const target = typeof el === \"string\" ? document == null ? void 0 : document.querySelector(el) : unrefElement(el);\n if (!target || sortable !== void 0)\n return;\n sortable = new Sortable(target, { ...defaultOptions, ...resetOptions });\n };\n const stop = () => {\n sortable == null ? void 0 : sortable.destroy();\n sortable = void 0;\n };\n const option = (name, value) => {\n if (value !== void 0)\n sortable == null ? void 0 : sortable.option(name, value);\n else\n return sortable == null ? void 0 : sortable.option(name);\n };\n tryOnMounted(start);\n tryOnScopeDispose(stop);\n return { stop, start, option };\n}\nfunction moveArrayElement(list, from, to) {\n const _valueIsRef = isRef(list);\n const array = _valueIsRef ? [...toValue(list)] : toValue(list);\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n nextTick(() => {\n array.splice(to, 0, element);\n if (_valueIsRef)\n list.value = array;\n });\n }\n}\n\nexport { moveArrayElement, useSortable };\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelector.vue?vue&type=template&id=76d01da8&scoped=true\"\nimport script from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76d01da8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppMenuSection.vue?vue&type=template&id=90f2e098&scoped=true\"\nimport script from \"./AppMenuSection.vue?vue&type=script&lang=ts\"\nexport * from \"./AppMenuSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppMenuSection.vue?vue&type=style&index=0&id=90f2e098&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"90f2e098\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.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!./AdminTheming.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AdminTheming.vue?vue&type=template&id=e3cd61f0&scoped=true\"\nimport script from \"./AdminTheming.vue?vue&type=script&lang=js\"\nexport * from \"./AdminTheming.vue?vue&type=script&lang=js\"\nimport style0 from \"./AdminTheming.vue?vue&type=style&index=0&id=e3cd61f0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3cd61f0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Theming'),\"description\":_vm.t('theming', 'Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users.'),\"doc-url\":_vm.docUrl,\"data-admin-theming-settings\":\"\"}},[_c('div',{staticClass:\"admin-theming\"},[(!_vm.isThemable)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.notThemableErrorMessage))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.textFields),function(field){return _c('TextField',{key:field.name,attrs:{\"data-admin-theming-setting-field\":field.name,\"default-value\":field.defaultValue,\"display-name\":field.displayName,\"maxlength\":field.maxlength,\"name\":field.name,\"placeholder\":field.placeholder,\"type\":field.type,\"value\":field.value},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('ColorPickerField',{attrs:{\"name\":_vm.colorPickerField.name,\"default-value\":_vm.colorPickerField.defaultValue,\"display-name\":_vm.colorPickerField.displayName,\"value\":_vm.colorPickerField.value},on:{\"update:value\":function($event){return _vm.$set(_vm.colorPickerField, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),_vm._l((_vm.fileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"aria-label\":field.ariaLabel,\"data-admin-theming-setting-file\":field.name,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"name\":field.name},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('div',{staticClass:\"admin-theming__preview\",attrs:{\"data-admin-theming-preview\":\"\"}},[_c('div',{staticClass:\"admin-theming__preview-logo\",attrs:{\"data-admin-theming-preview-logo\":\"\"}})])],2)]),_vm._v(\" \"),_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Advanced options')}},[_c('div',{staticClass:\"admin-theming-advanced\"},[_vm._l((_vm.advancedTextFields),function(field){return _c('TextField',{key:field.name,attrs:{\"name\":field.name,\"value\":field.value,\"default-value\":field.defaultValue,\"type\":field.type,\"display-name\":field.displayName,\"placeholder\":field.placeholder,\"maxlength\":field.maxlength},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_vm._l((_vm.advancedFileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"name\":field.name,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"aria-label\":field.ariaLabel},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('CheckboxField',{attrs:{\"name\":_vm.userThemingField.name,\"value\":_vm.userThemingField.value,\"default-value\":_vm.userThemingField.defaultValue,\"display-name\":_vm.userThemingField.displayName,\"label\":_vm.userThemingField.label,\"description\":_vm.userThemingField.description,\"data-admin-theming-setting-disable-user-theming\":\"\"},on:{\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),(!_vm.canThemeIcons)?_c('a',{attrs:{\"href\":_vm.docUrlIcons,\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('theming', 'Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.')))])]):_vm._e()],2)]),_vm._v(\" \"),_c('AppMenuSection',{attrs:{\"default-apps\":_vm.defaultApps},on:{\"update:defaultApps\":function($event){_vm.defaultApps=$event},\"update:default-apps\":function($event){_vm.defaultApps=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\n\nimport { refreshStyles } from './helpers/refreshStyles.js'\nimport App from './AdminTheming.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst theming = new View()\ntheming.$mount('#admin-theming')\ntheming.$on('update:theming', refreshStyles)\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport const refreshStyles = () => {\n\t// Refresh server-side generated theming CSS\n\t[...document.head.querySelectorAll('link.theme')].forEach(theme => {\n\t\tconst url = new URL(theme.href)\n\t\turl.searchParams.set('v', Date.now())\n\t\tconst newTheme = theme.cloneNode()\n\t\tnewTheme.href = url.toString()\n\t\tnewTheme.onload = () => theme.remove()\n\t\tdocument.head.append(newTheme)\n\t})\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../../core/img/logo/logo.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.admin-theming[data-v-e3cd61f0],.admin-theming-advanced[data-v-e3cd61f0]{display:flex;flex-direction:column;gap:8px 0}.admin-theming__preview[data-v-e3cd61f0]{width:230px;height:140px;background-size:cover;background-position:center;text-align:center;margin-top:10px;background-color:var(--color-primary-element-default);background-image:var(--image-background-plain, var(--image-background-default))}.admin-theming__preview-logo[data-v-e3cd61f0]{width:20%;height:20%;margin-top:20px;display:inline-block;background-size:contain;background-position:center;background-repeat:no-repeat;background-image:var(--image-logo, url(${___CSS_LOADER_URL_REPLACEMENT_0___}))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/AdminTheming.vue\"],\"names\":[],\"mappings\":\"AACA,yEAEC,YAAA,CACA,qBAAA,CACA,SAAA,CAIA,yCACC,WAAA,CACA,YAAA,CACA,qBAAA,CACA,0BAAA,CACA,iBAAA,CACA,eAAA,CAIA,qDAAA,CAKA,+EAAA,CAEA,8CACC,SAAA,CACA,UAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,2EAAA\",\"sourcesContent\":[\"\\n.admin-theming,\\n.admin-theming-advanced {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 8px 0;\\n}\\n\\n.admin-theming {\\n\\t&__preview {\\n\\t\\twidth: 230px;\\n\\t\\theight: 140px;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-position: center;\\n\\t\\ttext-align: center;\\n\\t\\tmargin-top: 10px;\\n\\t\\t/* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css\\n\\t\\t But without the user variables. That way the admin can preview the render as guest*/\\n\\t\\t/* As guest, there is no user color color-background-plain */\\n\\t\\tbackground-color: var(--color-primary-element-default);\\n\\t\\t/* As guest, there is no user background (--image-background)\\n\\t\\t1. Empty background if defined\\n\\t\\t2. Else default background\\n\\t\\t3. Finally default gradient (should not happened, the background is always defined anyway) */\\n\\t\\tbackground-image: var(--image-background-plain, var(--image-background-default));\\n\\n\\t\\t&-logo {\\n\\t\\t\\twidth: 20%;\\n\\t\\t\\theight: 20%;\\n\\t\\t\\tmargin-top: 20px;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector[data-v-76d01da8]{width:max-content;min-width:260px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelector.vue\"],\"names\":[],\"mappings\":\"AACA,iCACC,iBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.order-selector {\\n\\twidth: max-content;\\n\\tmin-width: 260px; // align with NcSelect\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelectorElement.vue\"],\"names\":[],\"mappings\":\"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA\",\"sourcesContent\":[\"\\n.order-selector-element {\\n\\t// hide default styling\\n\\tlist-style: none;\\n\\t// Align children\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\talign-items: center;\\n\\t// Spacing\\n\\tgap: 12px;\\n\\tpadding-inline: 12px;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\tborder-color: var(--color-text-maxcontrast);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t.order-selector-element__icon {\\n\\t\\t\\topacity: 75%;\\n\\t\\t}\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 6px;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tflex: 1 1;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__placeholder {\\n\\t\\theight: 44px;\\n\\t\\twidth: 44px;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tfilter: var(--background-invert-if-bright);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `h3[data-v-90f2e098],h4[data-v-90f2e098]{font-weight:bold}h4[data-v-90f2e098],h5[data-v-90f2e098]{margin-block-start:12px}.info-note[data-v-90f2e098]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/AppMenuSection.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,gBAAA,CAED,wCACC,uBAAA,CAGD,4BACC,mCAAA\",\"sourcesContent\":[\"\\nh3, h4 {\\n\\tfont-weight: bold;\\n}\\nh4, h5 {\\n\\tmargin-block-start: 12px;\\n}\\n\\n.info-note {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-c41a3e80]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-c41a3e80]{display:flex;gap:0 4px}.field__description[data-v-c41a3e80]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/CheckboxField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,qCACC,mCAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-25e8f76e]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-25e8f76e]{display:flex;gap:0 4px}.field__color-preview[data-v-25e8f76e]{width:var(--default-clickable-area);border-radius:var(--border-radius-large);background-color:var(--color-primary-default)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/ColorPickerField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,uCACC,mCAAA,CACA,wCAAA,CACA,6CAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__color-preview {\\n\\t\\twidth: var(--default-clickable-area);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-primary-default);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-36abeca7]{display:flex;flex-direction:column;gap:4px 0}.field__row[data-v-36abeca7]{display:flex;gap:0 4px}.field__loading-icon[data-v-36abeca7]{width:44px;height:44px}.field__preview[data-v-36abeca7]{width:70px;height:70px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:10px 0}.field__preview--logoheader[data-v-36abeca7]{background-image:var(--image-logoheader)}.field__preview--favicon[data-v-36abeca7]{background-image:var(--image-favicon)}input[type=file][data-v-36abeca7]{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/shared/field.scss\",\"webpack://./apps/theming/src/components/admin/FileInputField.vue\"],\"names\":[],\"mappings\":\"AAsBA,wBACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,6BACC,YAAA,CACA,SAAA,CCzBD,sCACC,UAAA,CACA,WAAA,CAGD,iCACC,UAAA,CACA,WAAA,CACA,uBAAA,CACA,0BAAA,CACA,2BAAA,CACA,aAAA,CAEA,6CACC,wCAAA,CAGD,0CACC,qCAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2022 Christopher Ng \\n *\\n * @author Christopher Ng \\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n.field {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px 0;\\n\\n\\t&__row {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 4px;\\n\\t}\\n}\\n\",\"\\n@import './shared/field.scss';\\n\\n.field {\\n\\t&__loading-icon {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__preview {\\n\\t\\twidth: 70px;\\n\\t\\theight: 70px;\\n\\t\\tbackground-size: contain;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tmargin: 10px 0;\\n\\n\\t\\t&--logoheader {\\n\\t\\t\\tbackground-image: var(--image-logoheader);\\n\\t\\t}\\n\\n\\t\\t&--favicon {\\n\\t\\t\\tbackground-image: var(--image-favicon);\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.field[data-v-31f08db0]{max-width:400px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/admin/TextField.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,eAAA\",\"sourcesContent\":[\"\\n.field {\\n\\tmax-width: 400px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5544;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5544: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(36552)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","styleRefreshFields","emits","data","showSuccess","errorMessage","computed","id","this","name","methods","reset","handleSuccess","setTimeout","includes","$emit","mixins","FieldMixin","watch","value","localValue","save","url","generateUrl","valueToPost","axios","post","setting","e","response","message","undo","defaultValue","components","NcCheckboxRadioSwitch","NcNoteCard","TextValueMixin","props","type","String","required","Boolean","displayName","label","description","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","staticClass","attrs","_v","_s","on","$event","_e","title","fillColor","default","size","Number","_b","$attrs","NcButton","NcColorPicker","Undo","Palette","debounceSave","debounce","scopedSlots","_u","key","fn","proxy","t","allowedMimeTypes","loadState","Delete","NcLoadingIcon","Upload","mimeName","mimeValue","defaultMimeValue","ariaLabel","showLoading","acceptMime","join","showReset","showRemove","startsWith","activateLocalFilePicker","$refs","input","click","onChange","file","target","files","formData","FormData","append","removeBackground","class","ref","NcTextField","placeholder","maxlength","indexOf","_k","keyCode","apply","arguments","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","Object","defineProperty","enumerable","configurable","writable","_extends","assign","i","length","source","hasOwnProperty","call","_objectSpread","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","event","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","style","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","n","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","parseInt","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","index","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","isRectEqual","rect1","rect2","Math","round","throttle","callback","ms","args","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","expando","Date","getTime","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","push","pluginEvent","eventName","sortable","evt","_this","eventCanceled","cancel","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_ref","undefined","originalEvent","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","bind","dragEl","parentEl","ghostEl","rootEl","nextEl","lastDownEl","cloneEl","cloneHidden","dragStarted","moved","putSortable","activeSortable","active","oldIndex","oldDraggableIndex","newIndex","newDraggableIndex","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","targetEl","toEl","fromEl","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","from","item","pullMode","lastPutMode","allEventProperties","dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","some","rect","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","ret","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","animationCallbackId","animationStates","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","easing","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","captureAnimationState","slice","child","fromRect","thisAnimationDuration","childMatrix","f","addAnimationState","removeAnimationState","splice","arr","indexOfObject","animateAll","clearTimeout","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","sqrt","pow","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","offsetWidth","repaint","animated","_onMove","dragRect","targetRect","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","src","href","sum","charCodeAt","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","path","composedPath","root","inputs","idx","checked","_saveInputCheckedState","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","vertical","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","_ghostIsLast","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_dragElInRowColumn","side1","scrolledPastTop","scrollBefore","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_getSwapDirection","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","handleEvent","dropEffect","_globalDragOver","toArray","order","getAttribute","items","set","destroy","Array","querySelectorAll","removeAttribute","utils","is","extend","dst","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","version","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","clearAutoScrolls","autoScroll","pid","clearPointerElemChangedInterval","isFallback","scroll","scrollCustomFn","sens","scrollSensitivity","speed","scrollSpeed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","bubbleScroll","drop","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref2","_ref3","_ref4","parentSortable","AutoScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","ogElemScroller","newElem","util","warn","defineComponent","IconArrowDown","IconArrowUp","ariaDescribedby","ariaDetails","app","isFirst","isLast","move:up","move:down","update:focus","setup","emit","buttonUp","buttonDown","needsFocus","moveUp","moveDown","keepFocus","$el","focus","_setupProxy","icon","directives","rawName","expression","AppOrderSelectorElement","Fragment","isArray","listElement","appList","newValue","renderCount","resetOptions","defaultOptions","onUpdate","_valueIsRef","array","moveArrayElement","start","querySelector","stop","useSortable","selectorElements","onUpdated","statusInfo","before","statusInfoId","random","updateStatusInfo","position","total","_l","_g","refInFor","AppOrderSelector","NcSelect","NcSettingsSection","defaultApps","every","hasCustomDefaultApp","selectedApps","allApps","values","map","saveSetting","then","catch","showError","model","$$v","backgroundMime","canThemeIcons","color","docUrl","docUrlIcons","faviconMime","isThemable","legalNoticeUrl","logoheaderMime","logoMime","notThemableErrorMessage","privacyPolicyUrl","slogan","userThemingDisabled","textFields","colorPickerField","fileInputFields","advancedTextFields","advancedFileInputFields","userThemingField","AppMenuSection","CheckboxField","ColorPickerField","FileInputField","TextField","field","$set","__webpack_nonce__","btoa","getRequestToken","Vue","OC","theming","App","$mount","$on","refreshStyles","head","theme","URL","searchParams","now","newTheme","onload","remove","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","r","getter","__esModule","definition","o","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","l","done","script","needAttach","scripts","s","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","doneFns","toStringTag","nmd","paths","scriptUrl","importScripts","location","currentScript","Error","p","baseURI","self","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/theming-personal-theming.js b/dist/theming-personal-theming.js index f320071b631..a92fad8ed1a 100644 --- a/dist/theming-personal-theming.js +++ b/dist/theming-personal-theming.js @@ -1,3 +1,3 @@ /*! For license information please see theming-personal-theming.js.LICENSE.txt */ -(()=>{var e,n,r,o={52689:(e,n,r)=>{"use strict";var o=r(77958),a=r(20144),i=r(79753),l=r(43554),s=r(93664),c=r(9359),u=r(90580),d=r(64024),h=(r(97248),r(20296)),p=r.n(h),g=r(42416),f=r(54572),m=r(1082),v=r.n(m),b=r(11734),A=r(44893);const _={name:"ImageEditIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var y=r(51900);const C=(0,y.Z)(_,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon image-edit-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var w=r(25108);const k=(0,l.j)("theming","backgroundImage"),x=(0,l.j)("theming","shippedBackgrounds"),S=(0,l.j)("theming","themingDefaultBackground"),D=(0,l.j)("theming","defaultShippedBackground"),T=t=>(0,i.generateFilePath)("theming","","img/background/")+t,E={name:"BackgroundSettings",components:{Check:b.Z,Close:A.Z,ImageEdit:C,NcButton:f.Z,NcColorPicker:g.N},data:()=>({loading:!1,Theming:(0,l.j)("theming","data",{}),backgroundImage:k}),computed:{shippedBackgrounds(){return Object.keys(x).map((t=>({name:t,url:T(t),preview:T("preview/"+t),details:x[t]}))).filter((t=>!(!this.isGlobalBackgroundDeleted&&!this.isGlobalBackgroundDefault)||t.name!==D))},isGlobalBackgroundDefault:()=>!!S,isGlobalBackgroundDeleted:()=>"backgroundColor"===S,isBackgroundDisabled(){return"disabled"===this.backgroundImage||!this.backgroundImage}},methods:{invertTextColor(t){return this.calculateLuma(t)>.6},calculateLuma(t){const[e,n,r]=this.hexToRGB(t);return(.2126*e+.7152*n+.0722*r)/255},hexToRGB(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:null},async update(t){this.backgroundImage=t.backgroundImage,this.Theming.color=t.backgroundColor,this.$emit("update:background"),this.loading=!1},async setDefault(){this.loading="default";const t=await s.Z.post((0,i.generateUrl)("/apps/theming/background/default"));this.update(t.data)},async setShipped(t){this.loading=t;const e=await s.Z.post((0,i.generateUrl)("/apps/theming/background/shipped"),{value:t});this.update(e.data)},async setFile(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.loading="custom";const n=await s.Z.post((0,i.generateUrl)("/apps/theming/background/custom"),{value:t,color:e});this.update(n.data)},async removeBackground(){this.loading="remove";const t=await s.Z.delete((0,i.generateUrl)("/apps/theming/background/custom"));this.update(t.data)},async pickColor(t){this.loading="color";const e=t?.target?.dataset?.color||this.Theming?.color||"#0082c9",n=await s.Z.post((0,i.generateUrl)("/apps/theming/background/color"),{color:e});this.update(n.data)},debouncePickColor:p()((function(){this.pickColor(...arguments)}),200),pickFile(){(0,d.fn)(t("theming","Select a background from your files")).allowDirectories(!1).setMimeTypeFilter(["image/png","image/gif","image/jpeg","image/svg+xml","image/svg"]).setMultiSelect(!1).addButton({id:"select",label:t("theming","Select background"),callback:t=>{this.applyFile(t[0]?.path)},type:"primary"}).build().pick()},async applyFile(e){if(!e||"string"!=typeof e||0===e.trim().length||"/"===e)return w.error("No valid background have been selected",{path:e}),void(0,d.x2)(t("theming","No background has been selected"));this.loading="custom";let n=null,r=null;try{const t=(0,i.generateRemoteUrl)("dav/files/"+(0,o.ts)().uid+e);n=await s.Z.get(t,{responseType:"blob"});const a=URL.createObjectURL(n.data),l=await this.getColorPaletteFromBlob(a);r=l?.DarkVibrant?.hex,this.setFile(e,r),w.debug("Extracted colour",r,"from custom image",e,l)}catch(t){this.setFile(e),w.error("Unable to extract colour from custom image",{error:t,path:e,response:n,color:r})}},getColorPaletteFromBlob:t=>new Promise(((e,n)=>{new(v())(t).getPalette(((t,r)=>{t&&n(t),e(r)}))}))}};var I=r(93379),O=r.n(I),M=r(7795),P=r.n(M),L=r(90569),B=r.n(L),N=r(3565),F=r.n(N),j=r(19216),R=r.n(j),Z=r(44589),H=r.n(Z),U=r(22065),V={};V.styleTagTransform=H(),V.setAttributes=F(),V.insert=B().bind(null,"head"),V.domAPI=P(),V.insertStyleElement=R(),O()(U.Z,V),U.Z&&U.Z.locals&&U.Z.locals;const Y=(0,y.Z)(E,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"background-selector",attrs:{"data-user-theming-background-settings":""}},[e("button",{class:{"icon-loading":"custom"===t.loading,"background background__filepicker":!0,"background--active":"custom"===t.backgroundImage},attrs:{"aria-pressed":"custom"===t.backgroundImage,"data-color-bright":t.invertTextColor(t.Theming.color),"data-user-theming-background-custom":"",tabindex:"0"},on:{click:t.pickFile}},[t._v("\n\t\t"+t._s(t.t("theming","Custom background"))+"\n\t\t"),"custom"!==t.backgroundImage?e("ImageEdit",{attrs:{size:26}}):t._e(),t._v(" "),e("Check",{attrs:{size:44}})],1),t._v(" "),e("button",{class:{"icon-loading":"default"===t.loading,"background background__default":!0,"background--active":"default"===t.backgroundImage},style:{"--border-color":t.Theming.defaultColor},attrs:{"aria-pressed":"default"===t.backgroundImage,"data-color-bright":t.invertTextColor(t.Theming.defaultColor),"data-user-theming-background-default":"",tabindex:"0"},on:{click:t.setDefault}},[t._v("\n\t\t"+t._s(t.t("theming","Default background"))+"\n\t\t"),e("Check",{attrs:{size:44}})],1),t._v(" "),e("div",{staticClass:"background-color",attrs:{"data-user-theming-background-color":""}},[e("NcColorPicker",{on:{input:t.debouncePickColor},model:{value:t.Theming.color,callback:function(e){t.$set(t.Theming,"color",e)},expression:"Theming.color"}},[e("NcButton",{attrs:{type:"ternary"}},[t._v("\n\t\t\t\t"+t._s(t.t("theming","Change color"))+"\n\t\t\t")])],1)],1),t._v(" "),e("button",{class:{"background background__delete":!0,"background--active":t.isBackgroundDisabled},attrs:{"aria-pressed":t.isBackgroundDisabled,"data-user-theming-background-clear":"",tabindex:"0"},on:{click:t.removeBackground}},[t._v("\n\t\t"+t._s(t.t("theming","No background"))+"\n\t\t"),t.isBackgroundDisabled?t._e():e("Close",{attrs:{size:32}}),t._v(" "),e("Check",{attrs:{size:44}})],1),t._v(" "),t._l(t.shippedBackgrounds,(function(n){return e("button",{key:n.name,class:{"background background__shipped":!0,"icon-loading":t.loading===n.name,"background--active":t.backgroundImage===n.name},style:{backgroundImage:"url("+n.preview+")","--border-color":n.details.primary_color},attrs:{title:n.details.attribution,"aria-label":n.details.description,"aria-pressed":t.backgroundImage===n.name,"data-color-bright":"dark"===n.details.theming,"data-user-theming-background-shipped":n.name,tabindex:"0"},on:{click:function(e){return t.setShipped(n.name)}}},[e("Check",{attrs:{size:44}})],1)}))],2)}),[],!1,null,"1175e65a",null).exports;var z=r(25108);const q={name:"ItemPreview",components:{NcCheckboxRadioSwitch:c.Z},props:{enforced:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},theme:{type:Object,required:!0},type:{type:String,default:""},unique:{type:Boolean,default:!1}},computed:{switchType(){return this.unique?"switch":"radio"},name(){return this.unique?null:this.type},img(){return(0,i.generateFilePath)("theming","img",this.theme.id+".jpg")},checked:{get(){return this.selected},set(t){z.debug("Changed theme",this.theme.id,t),this.unique?this.$emit("change",{enabled:!0===t,id:this.theme.id}):this.$emit("change",{enabled:!0,id:this.theme.id})}}},methods:{onToggle(){"radio"!==this.switchType?this.checked=!this.checked:this.checked=!0}}};var G=r(62782),X={};X.styleTagTransform=H(),X.setAttributes=F(),X.insert=B().bind(null,"head"),X.domAPI=P(),X.insertStyleElement=R(),O()(G.Z,X),G.Z&&G.Z.locals&&G.Z.locals;const W=(0,y.Z)(q,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"theming__preview",class:"theming__preview--"+t.theme.id},[e("div",{staticClass:"theming__preview-image",style:{backgroundImage:"url("+t.img+")"},on:{click:t.onToggle}}),t._v(" "),e("div",{staticClass:"theming__preview-description"},[e("h3",[t._v(t._s(t.theme.title))]),t._v(" "),e("p",{staticClass:"theming__preview-explanation"},[t._v(t._s(t.theme.description))]),t._v(" "),t.enforced?e("span",{staticClass:"theming__preview-warning",attrs:{role:"note"}},[t._v("\n\t\t\t"+t._s(t.t("theming","Theme selection is enforced"))+"\n\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{staticClass:"theming__preview-toggle",attrs:{checked:t.checked,disabled:t.enforced,name:t.name,type:t.switchType},on:{"update:checked":function(e){t.checked=e}}},[t._v("\n\t\t\t"+t._s(t.theme.enableLabel)+"\n\t\t")])],1)])}),[],!1,null,"1a08e35a",null).exports;var $=r(31352),K=r(9568),Q=r(64886);function J(t){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},J(t)}function tt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function et(){return et=Object.assign||function(t){for(var e=1;e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function gt(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ft(t,e,n,r){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&pt(t,e):pt(t,e))||r&&t===n)return t;if(t===n)break}while(t=gt(t))}return null}var mt,vt=/\s+/g;function bt(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var r=(" "+t.className+" ").replace(vt," ").replace(" "+e+" "," ");t.className=(r+(n?" "+e:"")).replace(vt," ")}}function At(t,e,n){var r=t&&t.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in r||-1!==e.indexOf("webkit")||(e="-webkit-"+e),r[e]=n+("string"==typeof n?"":"px")}}function _t(t,e){var n="";if("string"==typeof t)n=t;else do{var r=At(t,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!e&&(t=t.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function yt(t,e,n){if(t){var r=t.getElementsByTagName(e),o=0,a=r.length;if(n)for(;o=a:o<=a))return r;if(r===Ct())break;r=Et(r,!1)}return!1}function xt(t,e,n){for(var r=0,o=0,a=t.children;o2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,["evt"]);Ft.pluginEvent.bind(Ie)(t,e,nt({dragEl:Zt,parentEl:Ht,ghostEl:Ut,rootEl:Vt,nextEl:Yt,lastDownEl:zt,cloneEl:qt,cloneHidden:Gt,dragStarted:ie,putSortable:Jt,activeSortable:Ie.active,originalEvent:r,oldIndex:Xt,oldDraggableIndex:$t,newIndex:Wt,newDraggableIndex:Kt,hideGhostForTarget:Se,unhideGhostForTarget:De,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(t){Rt({sortable:e,name:t,originalEvent:r})}},o))};function Rt(t){!function(t){var e=t.sortable,n=t.rootEl,r=t.name,o=t.targetEl,a=t.cloneEl,i=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,u=t.oldDraggableIndex,d=t.newDraggableIndex,h=t.originalEvent,p=t.putSortable,g=t.extraEventProperties;if(e=e||n&&n[Lt]){var f,m=e.options,v="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||ot||at?(f=document.createEvent("Event")).initEvent(r,!0,!0):f=new CustomEvent(r,{bubbles:!0,cancelable:!0}),f.to=i||n,f.from=l||n,f.item=o||n,f.clone=a,f.oldIndex=s,f.newIndex=c,f.oldDraggableIndex=u,f.newDraggableIndex=d,f.originalEvent=h,f.pullMode=p?p.lastPutMode:void 0;var b=nt({},g,Ft.getEventProperties(r,e));for(var A in b)f[A]=b[A];n&&n.dispatchEvent(f),m[v]&&m[v].call(e,f)}}(nt({putSortable:Jt,cloneEl:qt,targetEl:Zt,rootEl:Vt,oldIndex:Xt,oldDraggableIndex:$t,newIndex:Wt,newDraggableIndex:Kt},t))}var Zt,Ht,Ut,Vt,Yt,zt,qt,Gt,Xt,Wt,$t,Kt,Qt,Jt,te,ee,ne,re,oe,ae,ie,le,se,ce,ue,de=!1,he=!1,pe=[],ge=!1,fe=!1,me=[],ve=!1,be=[],Ae="undefined"!=typeof document,_e=st,ye=at||ot?"cssFloat":"float",Ce=Ae&&!ct&&!st&&"draggable"in document.createElement("div"),we=function(){if(Ae){if(ot)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),ke=function(t,e){var n=At(t),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=xt(t,0,e),a=xt(t,1,e),i=o&&At(o),l=a&&At(a),s=i&&parseInt(i.marginLeft)+parseInt(i.marginRight)+wt(o).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+wt(a).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&i.float&&"none"!==i.float){var u="left"===i.float?"left":"right";return!a||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return o&&("block"===i.display||"flex"===i.display||"table"===i.display||"grid"===i.display||s>=r&&"none"===n[ye]||a&&"none"===n[ye]&&s+c>r)?"vertical":"horizontal"},xe=function(t){function e(t,n){return function(r,o,a,i){var l=r.options.group.name&&o.options.group.name&&r.options.group.name===o.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"==typeof t)return e(t(r,o,a,i),n)(r,o,a,i);var s=(n?r:o).options.group.name;return!0===t||"string"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var n={},r=t.group;r&&"object"==J(r)||(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Se=function(){!we&&Ut&&At(Ut,"display","none")},De=function(){!we&&Ut&&At(Ut,"display","")};Ae&&document.addEventListener("click",(function(t){if(he)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),he=!1,!1}),!0);var Te=function(t){if(Zt){t=t.touches?t.touches[0]:t;var e=(o=t.clientX,a=t.clientY,pe.some((function(t){if(!St(t)){var e=wt(t),n=t[Lt].options.emptyInsertThreshold,r=o>=e.left-n&&o<=e.right+n,l=a>=e.top-n&&a<=e.bottom+n;return n&&r&&l?i=t:void 0}})),i);if(e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[Lt]._onDragOver(n)}}var o,a,i},Ee=function(t){Zt&&Zt.parentNode[Lt]._isOutsideThisEl(t.target)};function Ie(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=et({},e),t[Lt]=this;var n,r,o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return ke(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Ie.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var a in Ft.initializePlugins(this,t,o),o)!(a in e)&&(e[a]=o[a]);for(var i in xe(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Ce,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?dt(t,"pointerdown",this._onTapStart):(dt(t,"mousedown",this._onTapStart),dt(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(dt(t,"dragover",this),dt(t,"dragenter",this)),pe.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),et(this,(r=[],{captureAnimationState:function(){r=[],this.options.animation&&[].slice.call(this.el.children).forEach((function(t){if("none"!==At(t,"display")&&t!==Ie.ghost){r.push({target:t,rect:wt(t)});var e=nt({},r[r.length-1].rect);if(t.thisAnimationDuration){var n=_t(t,!0);n&&(e.top-=n.f,e.left-=n.e)}t.fromRect=e}}))},addAnimationState:function(t){r.push(t)},removeAnimationState:function(t){r.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var r in e)if(e.hasOwnProperty(r)&&e[r]===t[n][r])return Number(n);return-1}(r,{target:t}),1)},animateAll:function(t){var e=this;if(!this.options.animation)return clearTimeout(n),void("function"==typeof t&&t());var o=!1,a=0;r.forEach((function(t){var n=0,r=t.target,i=r.fromRect,l=wt(r),s=r.prevFromRect,c=r.prevToRect,u=t.rect,d=_t(r,!0);d&&(l.top-=d.f,l.left-=d.e),r.toRect=l,r.thisAnimationDuration&&It(s,l)&&!It(i,l)&&(u.top-l.top)/(u.left-l.left)==(i.top-l.top)/(i.left-l.left)&&(n=function(t,e,n,r){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*r.animation}(u,s,c,e.options)),It(l,i)||(r.prevFromRect=i,r.prevToRect=l,n||(n=e.options.animation),e.animate(r,u,l,n)),n&&(o=!0,a=Math.max(a,n),clearTimeout(r.animationResetTimer),r.animationResetTimer=setTimeout((function(){r.animationTime=0,r.prevFromRect=null,r.fromRect=null,r.prevToRect=null,r.thisAnimationDuration=null}),n),r.thisAnimationDuration=n)})),clearTimeout(n),o?n=setTimeout((function(){"function"==typeof t&&t()}),a):"function"==typeof t&&t(),r=[]},animate:function(t,e,n,r){if(r){At(t,"transition",""),At(t,"transform","");var o=_t(this.el),a=o&&o.a,i=o&&o.d,l=(e.left-n.left)/(a||1),s=(e.top-n.top)/(i||1);t.animatingX=!!l,t.animatingY=!!s,At(t,"transform","translate3d("+l+"px,"+s+"px,0)"),function(t){t.offsetWidth}(t),At(t,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),At(t,"transform","translate3d(0,0,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout((function(){At(t,"transition",""),At(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1}),r)}}}))}function Oe(t,e,n,r,o,a,i,l){var s,c,u=t[Lt],d=u.options.onMove;return!window.CustomEvent||ot||at?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=r,s.related=o||e,s.relatedRect=a||wt(e),s.willInsertAfter=l,s.originalEvent=i,t.dispatchEvent(s),d&&(c=d.call(u,s,i)),c}function Me(t){t.draggable=!1}function Pe(){ve=!1}function Le(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,r=0;n--;)r+=e.charCodeAt(n);return r.toString(36)}function Be(t){return setTimeout(t,0)}function Ne(t){return clearTimeout(t)}Ie.prototype={constructor:Ie,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(le=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,Zt):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,r=this.options,o=r.preventOnFilter,a=t.type,i=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,l=(i||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=r.filter;if(function(t){be.length=0;for(var e=t.getElementsByTagName("input"),n=e.length;n--;){var r=e[n];r.checked&&be.push(r)}}(n),!Zt&&!(/mousedown|pointerdown/.test(a)&&0!==t.button||r.disabled||s.isContentEditable||(l=ft(l,r.draggable,n,!1))&&l.animated||zt===l)){if(Xt=Dt(l),$t=Dt(l,r.draggable),"function"==typeof c){if(c.call(this,t,l,this))return Rt({sortable:e,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),jt("filter",e,{evt:t}),void(o&&t.cancelable&&t.preventDefault())}else if(c&&(c=c.split(",").some((function(r){if(r=ft(s,r.trim(),n,!1))return Rt({sortable:e,rootEl:r,name:"filter",targetEl:l,fromEl:n,toEl:n}),jt("filter",e,{evt:t}),!0}))))return void(o&&t.cancelable&&t.preventDefault());r.handle&&!ft(s,r.handle,n,!1)||this._prepareDragStart(t,i,l)}}},_prepareDragStart:function(t,e,n){var r,o=this,a=o.el,i=o.options,l=a.ownerDocument;if(n&&!Zt&&n.parentNode===a){var s=wt(n);if(Vt=a,Ht=(Zt=n).parentNode,Yt=Zt.nextSibling,zt=n,Qt=i.group,Ie.dragged=Zt,te={target:Zt,clientX:(e||t).clientX,clientY:(e||t).clientY},oe=te.clientX-s.left,ae=te.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,Zt.style["will-change"]="all",r=function(){jt("delayEnded",o,{evt:t}),Ie.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!it&&o.nativeDraggable&&(Zt.draggable=!0),o._triggerDragStart(t,e),Rt({sortable:o,name:"choose",originalEvent:t}),bt(Zt,i.chosenClass,!0))},i.ignore.split(",").forEach((function(t){yt(Zt,t.trim(),Me)})),dt(l,"dragover",Te),dt(l,"mousemove",Te),dt(l,"touchmove",Te),dt(l,"mouseup",o._onDrop),dt(l,"touchend",o._onDrop),dt(l,"touchcancel",o._onDrop),it&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Zt.draggable=!0),jt("delayStart",this,{evt:t}),!i.delay||i.delayOnTouchOnly&&!e||this.nativeDraggable&&(at||ot))r();else{if(Ie.eventCanceled)return void this._onDrop();dt(l,"mouseup",o._disableDelayedDrag),dt(l,"touchend",o._disableDelayedDrag),dt(l,"touchcancel",o._disableDelayedDrag),dt(l,"mousemove",o._delayedDragTouchMoveHandler),dt(l,"touchmove",o._delayedDragTouchMoveHandler),i.supportPointer&&dt(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(r,i.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Zt&&Me(Zt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;ht(t,"mouseup",this._disableDelayedDrag),ht(t,"touchend",this._disableDelayedDrag),ht(t,"touchcancel",this._disableDelayedDrag),ht(t,"mousemove",this._delayedDragTouchMoveHandler),ht(t,"touchmove",this._delayedDragTouchMoveHandler),ht(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?dt(document,"pointermove",this._onTouchMove):dt(document,e?"touchmove":"mousemove",this._onTouchMove):(dt(Zt,"dragend",this),dt(Vt,"dragstart",this._onDragStart));try{document.selection?Be((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(de=!1,Vt&&Zt){jt("dragStarted",this,{evt:e}),this.nativeDraggable&&dt(document,"dragover",Ee);var n=this.options;!t&&bt(Zt,n.dragClass,!1),bt(Zt,n.ghostClass,!0),Ie.active=this,t&&this._appendGhost(),Rt({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(ee){this._lastX=ee.clientX,this._lastY=ee.clientY,Se();for(var t=document.elementFromPoint(ee.clientX,ee.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(ee.clientX,ee.clientY))!==e;)e=t;if(Zt.parentNode[Lt]._isOutsideThisEl(t),e)do{if(e[Lt]&&e[Lt]._onDragOver({clientX:ee.clientX,clientY:ee.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break;t=e}while(e=e.parentNode);De()}},_onTouchMove:function(t){if(te){var e=this.options,n=e.fallbackTolerance,r=e.fallbackOffset,o=t.touches?t.touches[0]:t,a=Ut&&_t(Ut,!0),i=Ut&&a&&a.a,l=Ut&&a&&a.d,s=_e&&ue&&Tt(ue),c=(o.clientX-te.clientX+r.x)/(i||1)+(s?s[0]-me[0]:0)/(i||1),u=(o.clientY-te.clientY+r.y)/(l||1)+(s?s[1]-me[1]:0)/(l||1);if(!Ie.active&&!de){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))r.right+10||t.clientX<=r.right&&t.clientY>r.bottom&&t.clientX>=r.left:t.clientX>r.right&&t.clientY>r.top||t.clientX<=r.right&&t.clientY>r.bottom+10}(t,o,this)&&!f.animated){if(f===Zt)return I(!1);if(f&&a===t.target&&(i=f),i&&(n=wt(i)),!1!==Oe(Vt,a,Zt,e,i,n,t,!!i))return E(),a.appendChild(Zt),Ht=a,O(),I(!0)}else if(i.parentNode===a){n=wt(i);var m,v,b,A=Zt.parentNode!==a,_=!function(t,e,n){var r=n?t.left:t.top,o=n?t.right:t.bottom,a=n?t.width:t.height,i=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return r===i||o===l||r+a/2===i+s/2}(Zt.animated&&Zt.toRect||e,i.animated&&i.toRect||n,o),y=o?"top":"left",C=kt(i,"top","top")||kt(Zt,"top","top"),w=C?C.scrollTop:void 0;if(le!==i&&(v=n[y],ge=!1,fe=!_&&l.invertSwap||A),m=function(t,e,n,r,o,a,i,l){var s=r?t.clientY:t.clientX,c=r?n.height:n.width,u=r?n.top:n.left,d=r?n.bottom:n.right,h=!1;if(!i)if(l&&ceu+c*a/2:sd-ce)return-se}else if(s>u+c*(1-o)/2&&sd-c*a/2)?s>u+c/2?1:-1:0}(t,i,n,o,_?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,fe,le===i),0!==m){var k=Dt(Zt);do{k-=m,b=Ht.children[k]}while(b&&("none"===At(b,"display")||b===Ut))}if(0===m||b===i)return I(!1);le=i,se=m;var x=i.nextElementSibling,S=!1,D=Oe(Vt,a,Zt,e,i,n,t,S=1===m);if(!1!==D)return 1!==D&&-1!==D||(S=1===D),ve=!0,setTimeout(Pe,30),E(),S&&!x?a.appendChild(Zt):i.parentNode.insertBefore(Zt,S?x:i),C&&Mt(C,0,w-C.scrollTop),Ht=Zt.parentNode,void 0===v||fe||(ce=Math.abs(v-wt(i)[y])),O(),I(!0)}if(a.contains(Zt))return I(!1)}return!1}function T(l,s){jt(l,p,nt({evt:t,isOwner:u,axis:o?"vertical":"horizontal",revert:r,dragRect:e,targetRect:n,canSort:d,fromSortable:h,target:i,completed:I,onMove:function(n,r){return Oe(Vt,a,Zt,e,n,wt(n),t,r)},changed:O},s))}function E(){T("dragOverAnimationCapture"),p.captureAnimationState(),p!==h&&h.captureAnimationState()}function I(e){return T("dragOverCompleted",{insertion:e}),e&&(u?c._hideClone():c._showClone(p),p!==h&&(bt(Zt,Jt?Jt.options.ghostClass:c.options.ghostClass,!1),bt(Zt,l.ghostClass,!0)),Jt!==p&&p!==Ie.active?Jt=p:p===Ie.active&&Jt&&(Jt=null),h===p&&(p._ignoreWhileAnimating=i),p.animateAll((function(){T("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(i===Zt&&!Zt.animated||i===a&&!i.animated)&&(le=null),l.dragoverBubble||t.rootEl||i===document||(Zt.parentNode[Lt]._isOutsideThisEl(t.target),!e&&Te(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),g=!0}function O(){Wt=Dt(Zt),Kt=Dt(Zt,l.draggable),Rt({sortable:p,name:"change",toEl:a,newIndex:Wt,newDraggableIndex:Kt,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){ht(document,"mousemove",this._onTouchMove),ht(document,"touchmove",this._onTouchMove),ht(document,"pointermove",this._onTouchMove),ht(document,"dragover",Te),ht(document,"mousemove",Te),ht(document,"touchmove",Te)},_offUpEvents:function(){var t=this.el.ownerDocument;ht(t,"mouseup",this._onDrop),ht(t,"touchend",this._onDrop),ht(t,"pointerup",this._onDrop),ht(t,"touchcancel",this._onDrop),ht(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;Wt=Dt(Zt),Kt=Dt(Zt,n.draggable),jt("drop",this,{evt:t}),Ht=Zt&&Zt.parentNode,Wt=Dt(Zt),Kt=Dt(Zt,n.draggable),Ie.eventCanceled||(de=!1,fe=!1,ge=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ne(this.cloneId),Ne(this._dragStartId),this.nativeDraggable&&(ht(document,"drop",this),ht(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),lt&&At(document.body,"user-select",""),At(Zt,"transform",""),t&&(ie&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),Ut&&Ut.parentNode&&Ut.parentNode.removeChild(Ut),(Vt===Ht||Jt&&"clone"!==Jt.lastPutMode)&&qt&&qt.parentNode&&qt.parentNode.removeChild(qt),Zt&&(this.nativeDraggable&&ht(Zt,"dragend",this),Me(Zt),Zt.style["will-change"]="",ie&&!de&&bt(Zt,Jt?Jt.options.ghostClass:this.options.ghostClass,!1),bt(Zt,this.options.chosenClass,!1),Rt({sortable:this,name:"unchoose",toEl:Ht,newIndex:null,newDraggableIndex:null,originalEvent:t}),Vt!==Ht?(Wt>=0&&(Rt({rootEl:Ht,name:"add",toEl:Ht,fromEl:Vt,originalEvent:t}),Rt({sortable:this,name:"remove",toEl:Ht,originalEvent:t}),Rt({rootEl:Ht,name:"sort",toEl:Ht,fromEl:Vt,originalEvent:t}),Rt({sortable:this,name:"sort",toEl:Ht,originalEvent:t})),Jt&&Jt.save()):Wt!==Xt&&Wt>=0&&(Rt({sortable:this,name:"update",toEl:Ht,originalEvent:t}),Rt({sortable:this,name:"sort",toEl:Ht,originalEvent:t})),Ie.active&&(null!=Wt&&-1!==Wt||(Wt=Xt,Kt=$t),Rt({sortable:this,name:"end",toEl:Ht,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){jt("nulling",this),Vt=Zt=Ht=Ut=Yt=qt=zt=Gt=te=ee=ie=Wt=Kt=Xt=$t=le=se=Jt=Qt=Ie.dragged=Ie.ghost=Ie.clone=Ie.active=null,be.forEach((function(t){t.checked=!0})),be.length=ne=re=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":Zt&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,r=0,o=n.length,a=this.options;r!0,"move:down":()=>!0,"update:focus":()=>!0},setup(t,e){let{emit:n}=e;const r=(0,a.iH)(),o=(0,a.iH)();let i=0;return{buttonUp:r,buttonDown:o,moveUp:()=>{n("move:up"),i=1},moveDown:()=>{n("move:down"),i=-1},keepFocus:()=>{0!==i&&(1!==i&&!t.isLast||t.isFirst?(0,a.Y3)((()=>o.value.$el.focus())):(0,a.Y3)((()=>r.value.$el.focus()))),i=0},t:$.Iu}}});var nn=r(40773),rn={};rn.styleTagTransform=H(),rn.setAttributes=F(),rn.insert=B().bind(null,"head"),rn.domAPI=P(),rn.insertStyleElement=R(),O()(nn.Z,rn),nn.Z&&nn.Z.locals&&nn.Z.locals;const on=(0,y.Z)(en,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("li",{class:{"order-selector-element":!0,"order-selector-element--disabled":t.app.default},attrs:{"data-cy-app-order-element":t.app.id},on:{focusin:function(e){return t.$emit("update:focus")}}},[e("svg",{attrs:{width:"20",height:"20",viewBox:"0 0 20 20",role:"presentation"}},[e("image",{staticClass:"order-selector-element__icon",attrs:{preserveAspectRatio:"xMinYMin meet",x:"0",y:"0",width:"20",height:"20","xlink:href":t.app.icon}})]),t._v(" "),e("div",{staticClass:"order-selector-element__label"},[t._v("\n\t\t"+t._s(t.app.label??t.app.id)+"\n\t")]),t._v(" "),e("div",{staticClass:"order-selector-element__actions"},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:!t.isFirst&&!t.app.default,expression:"!isFirst && !app.default"}],ref:"buttonUp",attrs:{"aria-label":t.t("settings","Move up"),"aria-describedby":t.ariaDescribedby,"aria-details":t.ariaDetails,"data-cy-app-order-button":"up",type:"tertiary-no-background"},on:{click:t.moveUp},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconArrowUp",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isFirst||!!t.app.default,expression:"isFirst || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}}),t._v(" "),e("NcButton",{directives:[{name:"show",rawName:"v-show",value:!t.isLast&&!t.app.default,expression:"!isLast && !app.default"}],ref:"buttonDown",attrs:{"aria-label":t.t("settings","Move down"),"aria-describedby":t.ariaDescribedby,"aria-details":t.ariaDetails,"data-cy-app-order-button":"down",type:"tertiary-no-background"},on:{click:t.moveDown},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconArrowDown",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isLast||!!t.app.default,expression:"isLast || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}})],1)])}),[],!1,null,"081ebc45",null).exports,an=(0,a.aZ)({name:"AppOrderSelector",components:{AppOrderSelectorElement:on,Fragment:Qe.H},props:{ariaDetails:{type:String,default:null},value:{type:Array,required:!0}},emits:{"update:value":t=>Array.isArray(t)},setup(t,e){let{emit:n}=e;const r=(0,a.iH)(null),o=(0,a.Fl)({get:()=>t.value,set:e=>{const r=[...e].sort(((t,n)=>(n.default?1:0)-(t.default?1:0)||e.indexOf(t)-e.indexOf(n)));r.some(((e,n)=>{let{id:r}=e;return r!==t.value[n].id}))?n("update:value",r):i.value+=1}}),i=(0,a.iH)(0);!function(t,e,n={}){let r;const{document:o=K.Td$,...i}=n,l={onUpdate:t=>{!function(t,e,n){const r=(0,a.dq)(t),o=r?[...(0,Q.Tn)(t)]:(0,Q.Tn)(t);if(n>=0&&n{o.splice(n,0,i),r&&(t.value=o)}))}}(e,t.oldIndex,t.newIndex)}},s=()=>{const e="string"==typeof t?null==o?void 0:o.querySelector(t):(0,K.NXq)(t);e&&void 0===r&&(r=new Ke(e,{...l,...i}))},c=()=>{null==r||r.destroy(),r=void 0};(0,Q.u7)(s),(0,Q.IY)(c)}(r,o,{filter:".order-selector-element--disabled"});const l=(0,a.iH)([]);(0,a.ic)((()=>{l.value.forEach((t=>t.keepFocus()))}));const s=(0,a.iH)("");return{appList:o,listElement:r,moveDown:e=>{const r=e>0?t.value.slice(0,e):[];r.push(t.value[e+1]);const o=e{const r=e>1?t.value.slice(0,e-1):[];if(t.value[e-1]?.default)return;const o=[t.value[e-1]];e{s.value=(0,$.Iu)("theming","Current selected app: {app}, position {position} of {total}",{app:t.value[e].label,position:e+1,total:t.value.length})},renderCount:i,selectorElements:l}}}),ln=an;var sn=r(37049),cn={};cn.styleTagTransform=H(),cn.setAttributes=F(),cn.insert=B().bind(null,"head"),cn.domAPI=P(),cn.insertStyleElement=R(),O()(sn.Z,cn),sn.Z&&sn.Z.locals&&sn.Z.locals;var un=(0,y.Z)(ln,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("Fragment",[e("div",{staticClass:"hidden-visually",attrs:{id:t.statusInfoId,"aria-live":"polite",role:"status"}},[t._v("\n\t\t"+t._s(t.statusInfo)+"\n\t")]),t._v(" "),e("ol",{ref:"listElement",staticClass:"order-selector",attrs:{"data-cy-app-order":""}},t._l(t.appList,(function(n,r){return e("AppOrderSelectorElement",t._g({key:`${n.id}${t.renderCount}`,ref:"selectorElements",refInFor:!0,attrs:{app:n,"aria-details":t.ariaDetails,"aria-describedby":t.statusInfoId,"is-first":0===r||!!t.appList[r-1].default,"is-last":r===t.value.length-1}},n.default?{}:{"move:up":()=>t.moveUp(r),"move:down":()=>t.moveDown(r),"update:focus":()=>t.updateStatusInfo(r)}))})),1)])}),[],!1,null,"35797e31",null);const dn=un.exports,hn={name:"UndoIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pn=(0,y.Z)(hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon undo-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var gn=r(50323),fn=r(25108);const mn=(0,a.aZ)({name:"UserAppMenuSection",components:{AppOrderSelector:dn,IconUndo:pn,NcButton:f.Z,NcNoteCard:gn.Z,NcSettingsSection:u.Z},setup(){const{userAppOrder:t,enforcedDefaultApp:e}=(0,l.j)("theming","navigationBar"),n=Object.values((0,l.j)("core","apps")).filter((t=>{let{type:e}=t;return"link"===e})).map((t=>({...t,label:t.name,default:t.default&&t.app===e}))),r=(0,a.iH)(!Array.isArray(t)||Object.values(t).length>0),o=(0,a.Fl)((()=>n.some(((t,e)=>{let{id:n}=t;return n!==p.value[e].id})))),c="theming-apporder-changed-infocard",u="theming-apporder-changed-infocard",h=(0,a.Fl)((()=>(o.value?`${c} `:"")+(e?u:""))),p=(0,a.iH)([...n]),g=async(t,e)=>{const n=(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"core",configKey:t});return await s.Z.post(n,{configValue:JSON.stringify(e)})};return{appOrder:p,updateAppOrder:t=>{const e={};t.forEach(((t,n)=>{let{app:r,id:o}=t;e[o]={order:n,app:r}})),g("apporder",e).then((()=>{p.value=t,r.value=!0})).catch((t=>{fn.warn("Could not set the app order",t),(0,d.x2)((0,$.Iu)("theming","Could not set the app order"))}))},resetAppOrder:async()=>{try{await g("apporder",[]),r.value=!1;const{data:t}=await s.Z.get((0,i.generateOcsUrl)("/core/navigation/apps"),{headers:{"OCS-APIRequest":"true"}});p.value=t.ocs.data.map((t=>({...t,label:t.name,default:t.default&&t.app===e})))}catch(t){fn.warn(t),(0,d.x2)((0,$.Iu)("theming","Could not reset the app order"))}},enforcedDefaultApp:e,hasAppOrderChanged:o,hasCustomAppOrder:r,ariaDetailsAppOrder:h,elementIdAppOrderChanged:c,elementIdEnforcedDefaultApp:u,t:$.Iu}}}),vn=mn;var bn=r(36567),An={};An.styleTagTransform=H(),An.setAttributes=F(),An.insert=B().bind(null,"head"),An.domAPI=P(),An.insertStyleElement=R(),O()(bn.Z,An),bn.Z&&bn.Z.locals&&bn.Z.locals;const _n=(0,y.Z)(vn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcSettingsSection",{attrs:{name:t.t("theming","Navigation bar settings")}},[e("p",[t._v("\n\t\t"+t._s(t.t("theming","You can configure the app order used for the navigation bar. The first entry will be the default app, opened after login or when clicking on the logo."))+"\n\t")]),t._v(" "),t.enforcedDefaultApp?e("NcNoteCard",{attrs:{id:t.elementIdEnforcedDefaultApp,type:"info"}},[t._v("\n\t\t"+t._s(t.t("theming","The default app can not be changed because it was configured by the administrator."))+"\n\t")]):t._e(),t._v(" "),t.hasAppOrderChanged?e("NcNoteCard",{attrs:{id:t.elementIdAppOrderChanged,type:"info"}},[t._v("\n\t\t"+t._s(t.t("theming","The app order was changed, to see it in action you have to reload the page."))+"\n\t")]):t._e(),t._v(" "),e("AppOrderSelector",{staticClass:"user-app-menu-order",attrs:{"aria-details":t.ariaDetailsAppOrder,value:t.appOrder},on:{"update:value":t.updateAppOrder}}),t._v(" "),e("NcButton",{attrs:{"data-test-id":"btn-apporder-reset",disabled:!t.hasCustomAppOrder,type:"tertiary"},on:{click:t.resetAppOrder},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconUndo",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.t("theming","Reset default app order"))+"\n\t")])],1)}),[],!1,null,"ee0f3d1a",null).exports;var yn=r(25108);const Cn=(0,l.j)("theming","themes",[]),wn=(0,l.j)("theming","enforceTheme",""),kn=(0,l.j)("theming","shortcutsDisabled",!1),xn=(0,l.j)("theming","isUserThemingDisabled"),Sn={name:"UserThemes",components:{ItemPreview:W,NcCheckboxRadioSwitch:c.Z,NcSettingsSection:u.Z,BackgroundSettings:Y,UserAppMenuSection:_n},data:()=>({availableThemes:Cn,enforceTheme:wn,shortcutsDisabled:kn,isUserThemingDisabled:xn}),computed:{themes(){return this.availableThemes.filter((t=>1===t.type))},fonts(){return this.availableThemes.filter((t=>2===t.type))},selectedTheme(){return this.themes.find((t=>!0===t.enabled))||this.themes[0]},description(){return t("theming","Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.").replace("{guidelines}",this.guidelinesLink).replace("{linkend}","
")},guidelinesLink:()=>'',descriptionDetail(){return t("theming","If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!").replace("{issuetracker}",this.issuetrackerLink).replace("{designteam}",this.designteamLink).replace(/\{linkend\}/g,"")},issuetrackerLink:()=>'',designteamLink:()=>''},watch:{shortcutsDisabled(t){this.changeShortcutsDisabled(t)}},methods:{refreshGlobalStyles(){[...document.head.querySelectorAll("link.theme")].forEach((t=>{const e=new URL(t.href);e.searchParams.set("v",Date.now());const n=t.cloneNode();n.href=e.toString(),n.onload=()=>t.remove(),document.head.append(n)}))},updateBackground(t){this.background="custom"===t.type||"default"===t.type?t.type:t.value,this.refreshGlobalStyles()},changeTheme(t){let{enabled:e,id:n}=t;this.themes.forEach((t=>{t.id===n&&e?t.enabled=!0:t.enabled=!1})),this.updateBodyAttributes(),this.selectItem(e,n)},changeFont(t){let{enabled:e,id:n}=t;this.fonts.forEach((t=>{t.id===n&&e?t.enabled=!0:t.enabled=!1})),this.updateBodyAttributes(),this.selectItem(e,n)},async changeShortcutsDisabled(t){t?await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"theming",configKey:"shortcuts_disabled"}),data:{configValue:"yes"},method:"POST"}):await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"theming",configKey:"shortcuts_disabled"}),method:"DELETE"})},updateBodyAttributes(){const t=this.themes.filter((t=>!0===t.enabled)).map((t=>t.id)),e=this.fonts.filter((t=>!0===t.enabled)).map((t=>t.id));this.themes.forEach((t=>{document.body.toggleAttribute(`data-theme-${t.id}`,t.enabled)})),this.fonts.forEach((t=>{document.body.toggleAttribute(`data-theme-${t.id}`,t.enabled)})),document.body.setAttribute("data-themes",[...t,...e].join(","))},async selectItem(e,n){try{e?await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/theming/api/v1/theme/{themeId}/enable",{themeId:n}),method:"PUT"}):await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/theming/api/v1/theme/{themeId}",{themeId:n}),method:"DELETE"})}catch(e){yn.error(e,e.response),OC.Notification.showTemporary(t("theming",e.response.data.ocs.meta.message+". Unable to apply the setting."))}}}};var Dn=r(29512),Tn={};Tn.styleTagTransform=H(),Tn.setAttributes=F(),Tn.insert=B().bind(null,"head"),Tn.domAPI=P(),Tn.insertStyleElement=R(),O()(Dn.Z,Tn),Dn.Z&&Dn.Z.locals&&Dn.Z.locals;const En=(0,y.Z)(Sn,(function(){var t=this,e=t._self._c;return e("section",[e("NcSettingsSection",{staticClass:"theming",attrs:{name:t.t("theming","Appearance and accessibility settings"),"limit-width":!1}},[e("p",{domProps:{innerHTML:t._s(t.description)}}),t._v(" "),e("p",{domProps:{innerHTML:t._s(t.descriptionDetail)}}),t._v(" "),e("div",{staticClass:"theming__preview-list"},t._l(t.themes,(function(n){return e("ItemPreview",{key:n.id,attrs:{enforced:n.id===t.enforceTheme,selected:t.selectedTheme.id===n.id,theme:n,unique:1===t.themes.length,type:"theme"},on:{change:t.changeTheme}})})),1),t._v(" "),e("div",{staticClass:"theming__preview-list"},t._l(t.fonts,(function(n){return e("ItemPreview",{key:n.id,attrs:{selected:n.enabled,theme:n,unique:1===t.fonts.length,type:"font"},on:{change:t.changeFont}})})),1)]),t._v(" "),e("NcSettingsSection",{staticClass:"background",attrs:{name:t.t("theming","Background"),"data-user-theming-background-disabled":""}},[t.isUserThemingDisabled?[e("p",[t._v(t._s(t.t("theming","Customization has been disabled by your administrator")))])]:[e("p",[t._v(t._s(t.t("theming","Set a custom background")))]),t._v(" "),e("BackgroundSettings",{staticClass:"background__grid",on:{"update:background":t.refreshGlobalStyles}})]],2),t._v(" "),e("NcSettingsSection",{attrs:{name:t.t("theming","Keyboard shortcuts")}},[e("p",[t._v(t._s(t.t("theming","In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.")))]),t._v(" "),e("NcCheckboxRadioSwitch",{staticClass:"theming__preview-toggle",attrs:{checked:t.shortcutsDisabled,type:"switch"},on:{"update:checked":function(e){t.shortcutsDisabled=e},change:t.changeShortcutsDisabled}},[t._v("\n\t\t\t"+t._s(t.t("theming","Disable all keyboard shortcuts"))+"\n\t\t")])],1),t._v(" "),e("UserAppMenuSection")],1)}),[],!1,null,"d643b9e0",null).exports;r.nc=btoa((0,o.IH)()),a.ZP.prototype.OC=OC,a.ZP.prototype.t=t;const In=new(a.ZP.extend(En));In.$mount("#theming"),In.$on("update:background",(()=>{[...document.head.querySelectorAll("link.theme")].forEach((t=>{const e=new URL(t.href);e.searchParams.set("v",Date.now());const n=t.cloneNode();n.href=e.toString(),n.onload=()=>t.remove(),document.head.append(n)}))}))},29512:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".theming p[data-v-d643b9e0]{max-width:800px}.theming[data-v-d643b9e0] a{font-weight:bold}.theming[data-v-d643b9e0] a:hover,.theming[data-v-d643b9e0] a:focus{text-decoration:underline}.theming__preview-list[data-v-d643b9e0]{--gap: 30px;display:grid;margin-top:var(--gap);column-gap:var(--gap);row-gap:var(--gap);grid-template-columns:1fr 1fr}.background__grid[data-v-d643b9e0]{margin-top:30px}@media(max-width: 1440px){.theming__preview-list[data-v-d643b9e0]{display:flex;flex-direction:column}}","",{version:3,sources:["webpack://./apps/theming/src/UserThemes.vue"],names:[],mappings:"AAGC,4BACC,eAAA,CAID,4BACC,gBAAA,CAEA,oEAEC,yBAAA,CAIF,wCACC,WAAA,CAEA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,6BAAA,CAKD,mCACC,eAAA,CAIF,0BACC,wCACC,YAAA,CACA,qBAAA,CAAA",sourcesContent:["\n.theming {\n\t// Limit width of settings sections for readability\n\tp {\n\t\tmax-width: 800px;\n\t}\n\n\t// Proper highlight for links and focus feedback\n\t&::v-deep a {\n\t\tfont-weight: bold;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t&__preview-list {\n\t\t--gap: 30px;\n\n\t\tdisplay: grid;\n\t\tmargin-top: var(--gap);\n\t\tcolumn-gap: var(--gap);\n\t\trow-gap: var(--gap);\n\t\tgrid-template-columns: 1fr 1fr;\n\t}\n}\n\n.background {\n\t&__grid {\n\t\tmargin-top: 30px;\n\t}\n}\n\n@media (max-width: 1440px) {\n\t.theming__preview-list {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n}\n"],sourceRoot:""}]);const l=i},37049:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".order-selector[data-v-35797e31]{width:max-content;min-width:260px}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelector.vue"],names:[],mappings:"AACA,iCACC,iBAAA,CACA,eAAA",sourcesContent:["\n.order-selector {\n\twidth: max-content;\n\tmin-width: 260px; // align with NcSelect\n}\n"],sourceRoot:""}]);const l=i},40773:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelectorElement.vue"],names:[],mappings:"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA",sourcesContent:["\n.order-selector-element {\n\t// hide default styling\n\tlist-style: none;\n\t// Align children\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t// Spacing\n\tgap: 12px;\n\tpadding-inline: 12px;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&--disabled {\n\t\tborder-color: var(--color-text-maxcontrast);\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t.order-selector-element__icon {\n\t\t\topacity: 75%;\n\t\t}\n\t}\n\n\t&__actions {\n\t\tflex: 0 0;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 6px;\n\t}\n\n\t&__label {\n\t\tflex: 1 1;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t&__placeholder {\n\t\theight: 44px;\n\t\twidth: 44px;\n\t}\n\n\t&__icon {\n\t\tfilter: var(--background-invert-if-bright);\n\t}\n}\n"],sourceRoot:""}]);const l=i},22065:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".background-selector[data-v-1175e65a]{display:flex;flex-wrap:wrap;justify-content:center}.background-selector .background-color[data-v-1175e65a]{display:flex;justify-content:center;align-items:center;width:176px;height:96px;margin:8px;border-radius:var(--border-radius-large);background-color:var(--color-primary)}.background-selector .background[data-v-1175e65a]{overflow:hidden;width:176px;height:96px;margin:8px;text-align:center;border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);background-position:center center;background-size:cover}.background-selector .background__filepicker.background--active[data-v-1175e65a]{color:#fff;background-image:var(--image-background)}.background-selector .background__default[data-v-1175e65a]{background-color:var(--color-primary-default);background-image:linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)),var(--image-background-plain, var(--image-background-default))}.background-selector .background__filepicker[data-v-1175e65a],.background-selector .background__default[data-v-1175e65a],.background-selector .background__color[data-v-1175e65a]{border-color:var(--color-border)}.background-selector .background__default[data-v-1175e65a],.background-selector .background__shipped[data-v-1175e65a]{color:#fff}.background-selector .background[data-color-bright][data-v-1175e65a]{color:#000}.background-selector .background--active[data-v-1175e65a],.background-selector .background[data-v-1175e65a]:hover,.background-selector .background[data-v-1175e65a]:focus{outline:2px solid var(--color-main-text) !important;border-color:var(--color-main-background) !important}.background-selector .background span[data-v-1175e65a]{margin:4px}.background-selector .background .check-icon[data-v-1175e65a]{display:none}.background-selector .background--active:not(.icon-loading) .check-icon[data-v-1175e65a]{display:block !important}","",{version:3,sources:["webpack://./apps/theming/src/components/BackgroundSettings.vue"],names:[],mappings:"AACA,sCACC,YAAA,CACA,cAAA,CACA,sBAAA,CAEA,wDACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,wCAAA,CACA,qCAAA,CAGD,kDACC,eAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,6CAAA,CACA,wCAAA,CACA,iCAAA,CACA,qBAAA,CAGC,iFACC,UAAA,CACA,wCAAA,CAIF,2DACC,6CAAA,CACA,wJAAA,CAGD,kLACC,gCAAA,CAID,sHAEC,UAAA,CAID,qEACC,UAAA,CAGD,0KAGC,mDAAA,CACA,oDAAA,CAID,uDACC,UAAA,CAGD,8DACC,YAAA,CAIA,yFAEC,wBAAA",sourcesContent:["\n.background-selector {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\n\t.background-color {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 176px;\n\t\theight: 96px;\n\t\tmargin: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-primary);\n\t}\n\n\t.background {\n\t\toverflow: hidden;\n\t\twidth: 176px;\n\t\theight: 96px;\n\t\tmargin: 8px;\n\t\ttext-align: center;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-position: center center;\n\t\tbackground-size: cover;\n\n\t\t&__filepicker {\n\t\t\t&.background--active {\n\t\t\t\tcolor: white;\n\t\t\t\tbackground-image: var(--image-background);\n\t\t\t}\n\t\t}\n\n\t\t&__default {\n\t\t\tbackground-color: var(--color-primary-default);\n\t\t\tbackground-image: linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)), var(--image-background-plain, var(--image-background-default));\n\t\t}\n\n\t\t&__filepicker, &__default, &__color {\n\t\t\tborder-color: var(--color-border);\n\t\t}\n\n\t\t// Over a background image\n\t\t&__default,\n\t\t&__shipped {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t// Text and svg icon dark on bright background\n\t\t&[data-color-bright] {\n\t\t\tcolor: black;\n\t\t}\n\n\t\t&--active,\n\t\t&:hover,\n\t\t&:focus {\n\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\tborder-color: var(--color-main-background) !important;\n\t\t}\n\n\t\t// Icon\n\t\tspan {\n\t\t\tmargin: 4px;\n\t\t}\n\n\t\t.check-icon {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t&--active:not(.icon-loading) {\n\t\t\t.check-icon {\n\t\t\t\t// Show checkmark\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const l=i},62782:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".theming__preview[data-v-1a08e35a]{--ratio: 16;position:relative;display:flex;justify-content:flex-start;max-width:800px}.theming__preview[data-v-1a08e35a],.theming__preview *[data-v-1a08e35a]{user-select:none}.theming__preview-image[data-v-1a08e35a]{flex-basis:calc(16px*var(--ratio));flex-shrink:0;height:calc(10px*var(--ratio));margin-right:var(--gap);cursor:pointer;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:top left;background-size:cover}.theming__preview-explanation[data-v-1a08e35a]{margin-bottom:10px}.theming__preview-description[data-v-1a08e35a]{display:flex;flex-direction:column}.theming__preview-description h3[data-v-1a08e35a]{font-weight:bold;margin-bottom:0}.theming__preview-description label[data-v-1a08e35a]{padding:12px 0}.theming__preview--default[data-v-1a08e35a]{grid-column:span 2}.theming__preview-warning[data-v-1a08e35a]{color:var(--color-warning)}@media(max-width: 682.6666666667px){.theming__preview[data-v-1a08e35a]{flex-direction:column}.theming__preview-image[data-v-1a08e35a]{margin:0}}","",{version:3,sources:["webpack://./apps/theming/src/components/ItemPreview.vue"],names:[],mappings:"AAGA,mCAEC,WAAA,CAEA,iBAAA,CACA,YAAA,CACA,0BAAA,CACA,eAAA,CAEA,wEAEC,gBAAA,CAGD,yCACC,kCAAA,CACA,aAAA,CACA,8BAAA,CACA,uBAAA,CACA,cAAA,CACA,kCAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBAAA,CAGD,+CACC,kBAAA,CAGD,+CACC,YAAA,CACA,qBAAA,CAEA,kDACC,gBAAA,CACA,eAAA,CAGD,qDACC,cAAA,CAIF,4CACC,kBAAA,CAGD,2CACC,0BAAA,CAIF,oCACC,mCACC,qBAAA,CAEA,yCACC,QAAA,CAAA",sourcesContent:["\n@use 'sass:math';\n\n.theming__preview {\n\t// We make previews on 16/10 screens\n\t--ratio: 16;\n\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tmax-width: 800px;\n\n\t&,\n\t* {\n\t\tuser-select: none;\n\t}\n\n\t&-image {\n\t\tflex-basis: calc(16px * var(--ratio));\n\t\tflex-shrink: 0;\n\t\theight: calc(10px * var(--ratio));\n\t\tmargin-right: var(--gap);\n\t\tcursor: pointer;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: top left;\n\t\tbackground-size: cover;\n\t}\n\n\t&-explanation {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t&-description {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\th3 {\n\t\t\tfont-weight: bold;\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\tlabel {\n\t\t\tpadding: 12px 0;\n\t\t}\n\t}\n\n\t&--default {\n\t\tgrid-column: span 2;\n\t}\n\n\t&-warning {\n\t\tcolor: var(--color-warning);\n\t}\n}\n\n@media (max-width: math.div(1024px, 1.5)) {\n\t.theming__preview {\n\t\tflex-direction: column;\n\n\t\t&-image {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const l=i},36567:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".user-app-menu-order[data-v-ee0f3d1a]{margin-block:12px}","",{version:3,sources:["webpack://./apps/theming/src/components/UserAppMenuSection.vue"],names:[],mappings:"AACA,sCACC,iBAAA",sourcesContent:["\n.user-app-menu-order {\n\tmargin-block: 12px;\n}\n"],sourceRoot:""}]);const l=i},89881:(t,e,n)=>{var r=n(47816),o=n(99291)(r);t.exports=o},80760:(t,e,n)=>{var r=n(89881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}},47816:(t,e,n)=>{var r=n(28483),o=n(3674);t.exports=function(t,e){return t&&r(t,e,o)}},99291:(t,e,n)=>{var r=n(98612);t.exports=function(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);for(var a=n.length,i=e?a:-1,l=Object(n);(e?i--:++i{var r=n(5976),o=n(77813),a=n(16612),i=n(81704),l=Object.prototype,s=l.hasOwnProperty,c=r((function(t,e){t=Object(t);var n=-1,r=e.length,c=r>2?e[2]:void 0;for(c&&a(e[0],e[1],c)&&(r=1);++n{var r=n(34963),o=n(80760),a=n(67206),i=n(1469);t.exports=function(t,e){return(i(t)?r:o)(t,a(e,3))}},1082:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},o=r(n(8110)),a=r(n(21904));o.default.DefaultOpts.ImageClass=a.default,t.exports=o.default},31564:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(8110)),a=n(66678),i=function(){function t(t,e){void 0===e&&(e={}),this._src=t,this._opts=e,this._opts.filters=a(o.default.DefaultOpts.filters)}return t.prototype.maxColorCount=function(t){return this._opts.colorCount=t,this},t.prototype.maxDimension=function(t){return this._opts.maxDimension=t,this},t.prototype.addFilter=function(t){return this._opts.filters.push(t),this},t.prototype.removeFilter=function(t){var e=this._opts.filters.indexOf(t);return e>0&&this._opts.filters.splice(e),this},t.prototype.clearFilters=function(){return this._opts.filters=[],this},t.prototype.quality=function(t){return this._opts.quality=t,this},t.prototype.useImageClass=function(t){return this._opts.ImageClass=t,this},t.prototype.useGenerator=function(t){return this._opts.generator=t,this},t.prototype.useQuantizer=function(t){return this._opts.quantizer=t,this},t.prototype.build=function(){return new o.default(this._src,this._opts)},t.prototype.getPalette=function(t){return this.build().getPalette(t)},t.prototype.getSwatches=function(t){return this.build().getPalette(t)},t}();e.default=i},97248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Swatch=void 0;var r=n(67294),o=n(63105),a=function(){function t(t,e){this._rgb=t,this._population=e}return t.applyFilter=function(t,e){return"function"==typeof e?o(t,(function(t){var n=t.r,r=t.g,o=t.b;return e(n,r,o,255)})):t},Object.defineProperty(t.prototype,"r",{get:function(){return this._rgb[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){return this._rgb[1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){return this._rgb[2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rgb",{get:function(){return this._rgb},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hsl",{get:function(){if(!this._hsl){var t=this._rgb,e=t[0],n=t[1],o=t[2];this._hsl=r.rgbToHsl(e,n,o)}return this._hsl},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hex",{get:function(){if(!this._hex){var t=this._rgb,e=t[0],n=t[1],o=t[2];this._hex=r.rgbToHex(e,n,o)}return this._hex},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"population",{get:function(){return this._population},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return{rgb:this.rgb,population:this.population}},t.prototype.getRgb=function(){return this._rgb},t.prototype.getHsl=function(){return this.hsl},t.prototype.getPopulation=function(){return this._population},t.prototype.getHex=function(){return this.hex},t.prototype.getYiq=function(){if(!this._yiq){var t=this._rgb;this._yiq=(299*t[0]+587*t[1]+114*t[2])/1e3}return this._yiq},Object.defineProperty(t.prototype,"titleTextColor",{get:function(){return this._titleTextColor||(this._titleTextColor=this.getYiq()<200?"#fff":"#000"),this._titleTextColor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bodyTextColor",{get:function(){return this._bodyTextColor||(this._bodyTextColor=this.getYiq()<150?"#fff":"#000"),this._bodyTextColor},enumerable:!1,configurable:!0}),t.prototype.getTitleTextColor=function(){return this.titleTextColor},t.prototype.getBodyTextColor=function(){return this.bodyTextColor},t}();e.Swatch=a},68498:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){return r>=125&&!(t>250&&e>250&&n>250)}},63096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.combineFilters=void 0;var r=n(68498);Object.defineProperty(e,"Default",{enumerable:!0,get:function(){return r.default}}),e.combineFilters=function(t){return Array.isArray(t)&&0!==t.length?function(e,n,r,o){if(0===o)return!1;for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(97248),o=n(67294),a=n(91747),i={targetDarkLuma:.26,maxDarkLuma:.45,minLightLuma:.55,targetLightLuma:.74,minNormalLuma:.3,targetNormalLuma:.5,maxNormalLuma:.7,targetMutesSaturation:.3,maxMutesSaturation:.4,targetVibrantSaturation:1,minVibrantSaturation:.35,weightSaturation:3,weightLuma:6.5,weightPopulation:.5};function l(t,e,n,r,o,a,i,l,s,c){var u=null,d=0;return e.forEach((function(e){var h=e.getHsl(),p=h[1],g=h[2];if(p>=l&&p<=s&&g>=o&&g<=a&&!function(t,e){return t.Vibrant===e||t.DarkVibrant===e||t.LightVibrant===e||t.Muted===e||t.DarkMuted===e||t.LightMuted===e}(t,e)){var f=function(t,e,n,r,o,a,i){function l(t,e){return 1-Math.abs(t-e)}return function(){for(var t=[],e=0;ed)&&(u=e,d=f)}})),u}e.default=function(t,e){e=a({},e,i);var n=function(t){var e=0;return t.forEach((function(t){e=Math.max(e,t.getPopulation())})),e}(t),s=function(t,e,n){var r={};return r.Vibrant=l(r,t,e,n.targetNormalLuma,n.minNormalLuma,n.maxNormalLuma,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.LightVibrant=l(r,t,e,n.targetLightLuma,n.minLightLuma,1,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.DarkVibrant=l(r,t,e,n.targetDarkLuma,0,n.maxDarkLuma,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.Muted=l(r,t,e,n.targetNormalLuma,n.minNormalLuma,n.maxNormalLuma,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r.LightMuted=l(r,t,e,n.targetLightLuma,n.minLightLuma,1,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r.DarkMuted=l(r,t,e,n.targetDarkLuma,0,n.maxDarkLuma,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r}(t,n,e);return function(t,e,n){if(null===t.Vibrant&&null===t.DarkVibrant&&null===t.LightVibrant){if(null===t.DarkVibrant&&null!==t.DarkMuted){var a=t.DarkMuted.getHsl(),i=a[0],l=a[1],s=a[2];s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightVibrant&&null!==t.LightMuted){var c=t.LightMuted.getHsl();i=c[0],l=c[1],s=c[2],s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}}if(null===t.Vibrant&&null!==t.DarkVibrant){var u=t.DarkVibrant.getHsl();i=u[0],l=u[1],s=u[2],s=n.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}else if(null===t.Vibrant&&null!==t.LightVibrant){var d=t.LightVibrant.getHsl();i=d[0],l=d[1],s=d[2],s=n.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.DarkVibrant&&null!==t.Vibrant){var h=t.Vibrant.getHsl();i=h[0],l=h[1],s=h[2],s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightVibrant&&null!==t.Vibrant){var p=t.Vibrant.getHsl();i=p[0],l=p[1],s=p[2],s=n.targetLightLuma,t.LightVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.Muted&&null!==t.Vibrant){var g=t.Vibrant.getHsl();i=g[0],l=g[1],s=g[2],s=n.targetMutesSaturation,t.Muted=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.DarkMuted&&null!==t.DarkVibrant){var f=t.DarkVibrant.getHsl();i=f[0],l=f[1],s=f[2],s=n.targetMutesSaturation,t.DarkMuted=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightMuted&&null!==t.LightVibrant){var m=t.LightVibrant.getHsl();i=m[0],l=m[1],s=m[2],s=n.targetMutesSaturation,t.LightMuted=new r.Swatch(o.hslToRgb(i,l,s),0)}}(s,0,e),s}},77234:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(73977);Object.defineProperty(e,"Default",{enumerable:!0,get:function(){return r.default}})},83614:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImageBase=void 0;var n=function(){function t(){}return t.prototype.scaleDown=function(t){var e=this.getWidth(),n=this.getHeight(),r=1;if(t.maxDimension>0){var o=Math.max(e,n);o>t.maxDimension&&(r=t.maxDimension/o)}else r=1/t.quality;r<1&&this.resize(e*r,n*r,r)},t.prototype.applyFilter=function(t){var e=this.getImageData();if("function"==typeof t)for(var n=e.data,r=n.length/4,o=void 0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebWorker=void 0;var r=n(20628);Object.defineProperty(e,"MMCQ",{enumerable:!0,get:function(){return r.default}}),e.WebWorker=null},20628:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(97248),a=r(n(5828)),i=r(n(37514));function l(t,e){for(var n=t.size();t.size()0))break;var o=r.split(),a=o[0],i=o[1];if(t.push(a),i&&i.count()>0&&t.push(i),t.size()===n)break;n=t.size()}}e.default=function(t,e){if(0===t.length||e.colorCount<2||e.colorCount>256)throw new Error("Wrong MMCQ parameters");var n=a.default.build(t),r=n.hist,s=(Object.keys(r).length,new i.default((function(t,e){return t.count()-e.count()})));s.push(n),l(s,.75*e.colorCount);var c=new i.default((function(t,e){return t.count()*t.volume()-e.count()*e.volume()}));return c.contents=s.contents,l(c,e.colorCount-c.size()),function(t){for(var e=[];t.size();){var n=t.pop(),r=n.avg();r[0],r[1],r[2],e.push(new o.Swatch(r,n.count()))}return e}(c)}},37514:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._comparator=t,this.contents=[],this._sorted=!1}return t.prototype._sort=function(){this._sorted||(this.contents.sort(this._comparator),this._sorted=!0)},t.prototype.push=function(t){this.contents.push(t),this._sorted=!1},t.prototype.peek=function(t){return this._sort(),t="number"==typeof t?t:this.contents.length-1,this.contents[t]},t.prototype.pop=function(){return this._sort(),this.contents.pop()},t.prototype.size=function(){return this.contents.length},t.prototype.map=function(t){return this._sort(),this.contents.map(t)},t}();e.default=n},5828:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(67294),o=function(){function t(t,e,n,r,o,a,i){this._volume=-1,this._count=-1,this.dimension={r1:t,r2:e,g1:n,g2:r,b1:o,b2:a},this.hist=i}return t.build=function(e,n){var o,a,i,l,s,c,u,d,h,p=1<<3*r.SIGBITS,g=new Uint32Array(p);o=i=s=0,a=l=c=Number.MAX_VALUE;for(var f=e.length/4,m=0;m>=r.RSHIFT,d>>=r.RSHIFT,h>>=r.RSHIFT,g[r.getColorIndex(u,d,h)]+=1,u>o&&(o=u),ui&&(i=d),ds&&(s=h),h>=r.RSHIFT,n>>=r.RSHIFT,o>>=r.RSHIFT,e>=i&&e<=l&&n>=s&&n<=c&&o>=u&&o<=d},t.prototype.split=function(){var t=this.hist,e=this.dimension,n=e.r1,o=e.r2,a=e.g1,i=e.g2,l=e.b1,s=e.b2,c=this.count();if(!c)return[];if(1===c)return[this.clone()];var u,d,h=o-n+1,p=i-a+1,g=s-l+1,f=Math.max(h,p,g),m=null;u=d=0;var v=null;if(f===h){v="r",m=new Uint32Array(o+1);for(var b=n;b<=o;b++){u=0;for(var A=a;A<=i;A++)for(var _=l;_<=s;_++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[b]=d}}else if(f===p)for(v="g",m=new Uint32Array(i+1),A=a;A<=i;A++){for(u=0,b=n;b<=o;b++)for(_=l;_<=s;_++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[A]=d}else for(v="b",m=new Uint32Array(s+1),_=l;_<=s;_++){for(u=0,b=n;b<=o;b++)for(A=a;A<=i;A++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[_]=d}for(var y=-1,C=new Uint32Array(m.length),w=0;wd/2&&(y=w),C[w]=d-k}var x=this;return function(t){var e=t+"1",n=t+"2",r=x.dimension[e],o=x.dimension[n],a=x.clone(),i=x.clone(),l=y-r,s=o-y;for(l<=s?(o=Math.min(o-1,~~(y+s/2)),o=Math.max(0,o)):(o=Math.max(r,~~(y-1-l/2)),o=Math.min(x.dimension[n],o));!m[o];)o++;for(var c=C[o];!c&&m[o-1];)c=C[--o];return a.dimension[n]=o,i.dimension[e]=o+1,[a,i]}(v)},t}();e.default=o},67294:(t,e)=>{"use strict";function n(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return null===e?null:[e[1],e[2],e[3]].map((function(t){return parseInt(t,16)}))}function r(t,e,n){return e/=255,n/=255,t=(t/=255)>.04045?Math.pow((t+.005)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.005)/1.055,2.4):e/12.92,n=n>.04045?Math.pow((n+.005)/1.055,2.4):n/12.92,[.4124*(t*=100)+.3576*(e*=100)+.1805*(n*=100),.2126*t+.7152*e+.0722*n,.0193*t+.1192*e+.9505*n]}function o(t,e,n){return e/=100,n/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(e=e>.008856?Math.pow(e,1/3):7.787*e+16/116)-16,500*(t-e),200*(e-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]}function a(t,e,n){var a=r(t,e,n);return o(a[0],a[1],a[2])}function i(t,e){var n=t[0],r=t[1],o=t[2],a=e[0],i=e[1],l=e[2],s=n-a,c=r-i,u=o-l,d=Math.sqrt(r*r+o*o),h=a-n,p=Math.sqrt(i*i+l*l)-d,g=Math.sqrt(s*s+c*c+u*u),f=Math.sqrt(g)>Math.sqrt(Math.abs(h))+Math.sqrt(Math.abs(p))?Math.sqrt(g*g-h*h-p*p):0;return h/=1,p/=1*(1+.045*d),f/=1*(1+.015*d),Math.sqrt(h*h+p*p+f*f)}function l(t,e){return i(a.apply(void 0,t),a.apply(void 0,e))}Object.defineProperty(e,"__esModule",{value:!0}),e.getColorIndex=e.getColorDiffStatus=e.hexDiff=e.rgbDiff=e.deltaE94=e.rgbToCIELab=e.xyzToCIELab=e.rgbToXyz=e.hslToRgb=e.rgbToHsl=e.rgbToHex=e.hexToRgb=e.defer=e.RSHIFT=e.SIGBITS=e.DELTAE94_DIFF_STATUS=void 0,e.DELTAE94_DIFF_STATUS={NA:0,PERFECT:1,CLOSE:2,GOOD:10,SIMILAR:50},e.SIGBITS=5,e.RSHIFT=8-e.SIGBITS,e.defer=function(){var t,e,n=new Promise((function(n,r){t=n,e=r}));return{resolve:t,reject:e,promise:n}},e.hexToRgb=n,e.rgbToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1,7)},e.rgbToHsl=function(t,e,n){t/=255,e/=255,n/=255;var r,o,a=Math.max(t,e,n),i=Math.min(t,e,n),l=(a+i)/2;if(a===i)r=o=0;else{var s=a-i;switch(o=l>.5?s/(2-a-i):s/(a+i),a){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(0===e)r=o=a=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;r=i(s,l,t+1/3),o=i(s,l,t),a=i(s,l,t-1/3)}return[255*r,255*o,255*a]},e.rgbToXyz=r,e.xyzToCIELab=o,e.rgbToCIELab=a,e.deltaE94=i,e.rgbDiff=l,e.hexDiff=function(t,e){return l(n(t),n(e))},e.getColorDiffStatus=function(t){return t{}},a={};function i(t){var e=a[t];if(void 0!==e)return e.exports;var n=a[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=o,e=[],i.O=(t,n,r,o)=>{if(!n){var a=1/0;for(u=0;u=o)&&Object.keys(i.O).every((t=>i.O[t](n[s])))?n.splice(s--,1):(l=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,n)=>(i.f[n](t,e),e)),[])),i.u=t=>t+"-"+t+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[t],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",i.l=(t,e,o,a)=>{if(n[t])n[t].push(e);else{var l,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(p);var o=n[t];if(delete n[t],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((t=>t(r))),e)return e(r)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=h.bind(null,l.onerror),l.onload=h.bind(null,l.onload),s&&document.head.appendChild(l)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=1474,(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{i.b=document.baseURI||self.location.href;var t={1474:0};i.f.j=(e,n)=>{var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var a=i.p+i.u(e),l=new Error;i.l(a,(n=>{if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,r[1](l)}}),"chunk-"+e,e)}},i.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,a=n[0],l=n[1],s=n[2],c=0;if(a.some((e=>0!==t[e]))){for(r in l)i.o(l,r)&&(i.m[r]=l[r]);if(s)var u=s(i)}for(e&&e(n);ci(52689)));l=i.O(l)})(); -//# sourceMappingURL=theming-personal-theming.js.map?v=ef365cb983171d4be6f1 \ No newline at end of file +(()=>{var e,n,r,o={72347:(e,n,r)=>{"use strict";var o=r(77958),a=r(20144),i=r(79753),l=r(43554),s=r(93664),c=r(9359),u=r(90580),d=r(64024),h=(r(97248),r(20296)),p=r.n(h),g=r(42416),f=r(54572),m=r(1082),v=r.n(m),b=r(11734),A=r(44893);const _={name:"ImageEditIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var y=r(51900);const C=(0,y.Z)(_,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon image-edit-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var w=r(25108);const k=(0,l.j)("theming","backgroundImage"),x=(0,l.j)("theming","shippedBackgrounds"),S=(0,l.j)("theming","themingDefaultBackground"),D=(0,l.j)("theming","defaultShippedBackground"),T=t=>(0,i.generateFilePath)("theming","","img/background/")+t,E={name:"BackgroundSettings",components:{Check:b.Z,Close:A.Z,ImageEdit:C,NcButton:f.Z,NcColorPicker:g.N},data:()=>({loading:!1,Theming:(0,l.j)("theming","data",{}),backgroundImage:k}),computed:{shippedBackgrounds(){return Object.keys(x).map((t=>({name:t,url:T(t),preview:T("preview/"+t),details:x[t]}))).filter((t=>!(!this.isGlobalBackgroundDeleted&&!this.isGlobalBackgroundDefault)||t.name!==D))},isGlobalBackgroundDefault:()=>!!S,isGlobalBackgroundDeleted:()=>"backgroundColor"===S,isBackgroundDisabled(){return"disabled"===this.backgroundImage||!this.backgroundImage}},methods:{invertTextColor(t){return this.calculateLuma(t)>.6},calculateLuma(t){const[e,n,r]=this.hexToRGB(t);return(.2126*e+.7152*n+.0722*r)/255},hexToRGB(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:null},async update(t){this.backgroundImage=t.backgroundImage,this.Theming.color=t.backgroundColor,this.$emit("update:background"),this.loading=!1},async setDefault(){this.loading="default";const t=await s.Z.post((0,i.generateUrl)("/apps/theming/background/default"));this.update(t.data)},async setShipped(t){this.loading=t;const e=await s.Z.post((0,i.generateUrl)("/apps/theming/background/shipped"),{value:t});this.update(e.data)},async setFile(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.loading="custom";const n=await s.Z.post((0,i.generateUrl)("/apps/theming/background/custom"),{value:t,color:e});this.update(n.data)},async removeBackground(){this.loading="remove";const t=await s.Z.delete((0,i.generateUrl)("/apps/theming/background/custom"));this.update(t.data)},async pickColor(t){this.loading="color";const e=t?.target?.dataset?.color||this.Theming?.color||"#0082c9",n=await s.Z.post((0,i.generateUrl)("/apps/theming/background/color"),{color:e});this.update(n.data)},debouncePickColor:p()((function(){this.pickColor(...arguments)}),200),pickFile(){(0,d.fn)(t("theming","Select a background from your files")).allowDirectories(!1).setMimeTypeFilter(["image/png","image/gif","image/jpeg","image/svg+xml","image/svg"]).setMultiSelect(!1).addButton({id:"select",label:t("theming","Select background"),callback:t=>{this.applyFile(t[0]?.path)},type:"primary"}).build().pick()},async applyFile(e){if(!e||"string"!=typeof e||0===e.trim().length||"/"===e)return w.error("No valid background have been selected",{path:e}),void(0,d.x2)(t("theming","No background has been selected"));this.loading="custom";let n=null,r=null;try{const t=(0,i.generateRemoteUrl)("dav/files/"+(0,o.ts)().uid+e);n=await s.Z.get(t,{responseType:"blob"});const a=URL.createObjectURL(n.data),l=await this.getColorPaletteFromBlob(a);r=l?.DarkVibrant?.hex,this.setFile(e,r),w.debug("Extracted colour",r,"from custom image",e,l)}catch(t){this.setFile(e),w.error("Unable to extract colour from custom image",{error:t,path:e,response:n,color:r})}},getColorPaletteFromBlob:t=>new Promise(((e,n)=>{new(v())(t).getPalette(((t,r)=>{t&&n(t),e(r)}))}))}};var I=r(93379),O=r.n(I),M=r(7795),P=r.n(M),L=r(90569),B=r.n(L),N=r(3565),F=r.n(N),j=r(19216),R=r.n(j),Z=r(44589),H=r.n(Z),U=r(22065),V={};V.styleTagTransform=H(),V.setAttributes=F(),V.insert=B().bind(null,"head"),V.domAPI=P(),V.insertStyleElement=R(),O()(U.Z,V),U.Z&&U.Z.locals&&U.Z.locals;const Y=(0,y.Z)(E,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"background-selector",attrs:{"data-user-theming-background-settings":""}},[e("button",{class:{"icon-loading":"custom"===t.loading,"background background__filepicker":!0,"background--active":"custom"===t.backgroundImage},attrs:{"aria-pressed":"custom"===t.backgroundImage,"data-color-bright":t.invertTextColor(t.Theming.color),"data-user-theming-background-custom":"",tabindex:"0"},on:{click:t.pickFile}},[t._v("\n\t\t"+t._s(t.t("theming","Custom background"))+"\n\t\t"),"custom"!==t.backgroundImage?e("ImageEdit",{attrs:{size:26}}):t._e(),t._v(" "),e("Check",{attrs:{size:44}})],1),t._v(" "),e("button",{class:{"icon-loading":"default"===t.loading,"background background__default":!0,"background--active":"default"===t.backgroundImage},style:{"--border-color":t.Theming.defaultColor},attrs:{"aria-pressed":"default"===t.backgroundImage,"data-color-bright":t.invertTextColor(t.Theming.defaultColor),"data-user-theming-background-default":"",tabindex:"0"},on:{click:t.setDefault}},[t._v("\n\t\t"+t._s(t.t("theming","Default background"))+"\n\t\t"),e("Check",{attrs:{size:44}})],1),t._v(" "),e("div",{staticClass:"background-color",attrs:{"data-user-theming-background-color":""}},[e("NcColorPicker",{on:{input:t.debouncePickColor},model:{value:t.Theming.color,callback:function(e){t.$set(t.Theming,"color",e)},expression:"Theming.color"}},[e("NcButton",{attrs:{type:"ternary"}},[t._v("\n\t\t\t\t"+t._s(t.t("theming","Change color"))+"\n\t\t\t")])],1)],1),t._v(" "),e("button",{class:{"background background__delete":!0,"background--active":t.isBackgroundDisabled},attrs:{"aria-pressed":t.isBackgroundDisabled,"data-user-theming-background-clear":"",tabindex:"0"},on:{click:t.removeBackground}},[t._v("\n\t\t"+t._s(t.t("theming","No background"))+"\n\t\t"),t.isBackgroundDisabled?t._e():e("Close",{attrs:{size:32}}),t._v(" "),e("Check",{attrs:{size:44}})],1),t._v(" "),t._l(t.shippedBackgrounds,(function(n){return e("button",{key:n.name,class:{"background background__shipped":!0,"icon-loading":t.loading===n.name,"background--active":t.backgroundImage===n.name},style:{backgroundImage:"url("+n.preview+")","--border-color":n.details.primary_color},attrs:{title:n.details.attribution,"aria-label":n.details.description,"aria-pressed":t.backgroundImage===n.name,"data-color-bright":"dark"===n.details.theming,"data-user-theming-background-shipped":n.name,tabindex:"0"},on:{click:function(e){return t.setShipped(n.name)}}},[e("Check",{attrs:{size:44}})],1)}))],2)}),[],!1,null,"1175e65a",null).exports;var z=r(25108);const q={name:"ItemPreview",components:{NcCheckboxRadioSwitch:c.Z},props:{enforced:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},theme:{type:Object,required:!0},type:{type:String,default:""},unique:{type:Boolean,default:!1}},computed:{switchType(){return this.unique?"switch":"radio"},name(){return this.unique?null:this.type},img(){return(0,i.generateFilePath)("theming","img",this.theme.id+".jpg")},checked:{get(){return this.selected},set(t){z.debug("Changed theme",this.theme.id,t),this.unique?this.$emit("change",{enabled:!0===t,id:this.theme.id}):this.$emit("change",{enabled:!0,id:this.theme.id})}}},methods:{onToggle(){"radio"!==this.switchType?this.checked=!this.checked:this.checked=!0}}};var G=r(62782),X={};X.styleTagTransform=H(),X.setAttributes=F(),X.insert=B().bind(null,"head"),X.domAPI=P(),X.insertStyleElement=R(),O()(G.Z,X),G.Z&&G.Z.locals&&G.Z.locals;const W=(0,y.Z)(q,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"theming__preview",class:"theming__preview--"+t.theme.id},[e("div",{staticClass:"theming__preview-image",style:{backgroundImage:"url("+t.img+")"},on:{click:t.onToggle}}),t._v(" "),e("div",{staticClass:"theming__preview-description"},[e("h3",[t._v(t._s(t.theme.title))]),t._v(" "),e("p",{staticClass:"theming__preview-explanation"},[t._v(t._s(t.theme.description))]),t._v(" "),t.enforced?e("span",{staticClass:"theming__preview-warning",attrs:{role:"note"}},[t._v("\n\t\t\t"+t._s(t.t("theming","Theme selection is enforced"))+"\n\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{staticClass:"theming__preview-toggle",attrs:{checked:t.checked,disabled:t.enforced,name:t.name,type:t.switchType},on:{"update:checked":function(e){t.checked=e}}},[t._v("\n\t\t\t"+t._s(t.theme.enableLabel)+"\n\t\t")])],1)])}),[],!1,null,"1a08e35a",null).exports;var $=r(31352),K=r(9568),Q=r(64886);function J(t){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},J(t)}function tt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function et(){return et=Object.assign||function(t){for(var e=1;e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function gt(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ft(t,e,n,r){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&pt(t,e):pt(t,e))||r&&t===n)return t;if(t===n)break}while(t=gt(t))}return null}var mt,vt=/\s+/g;function bt(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var r=(" "+t.className+" ").replace(vt," ").replace(" "+e+" "," ");t.className=(r+(n?" "+e:"")).replace(vt," ")}}function At(t,e,n){var r=t&&t.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in r||-1!==e.indexOf("webkit")||(e="-webkit-"+e),r[e]=n+("string"==typeof n?"":"px")}}function _t(t,e){var n="";if("string"==typeof t)n=t;else do{var r=At(t,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!e&&(t=t.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function yt(t,e,n){if(t){var r=t.getElementsByTagName(e),o=0,a=r.length;if(n)for(;o=a:o<=a))return r;if(r===Ct())break;r=Et(r,!1)}return!1}function xt(t,e,n){for(var r=0,o=0,a=t.children;o2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,["evt"]);Ft.pluginEvent.bind(Ie)(t,e,nt({dragEl:Zt,parentEl:Ht,ghostEl:Ut,rootEl:Vt,nextEl:Yt,lastDownEl:zt,cloneEl:qt,cloneHidden:Gt,dragStarted:ie,putSortable:Jt,activeSortable:Ie.active,originalEvent:r,oldIndex:Xt,oldDraggableIndex:$t,newIndex:Wt,newDraggableIndex:Kt,hideGhostForTarget:Se,unhideGhostForTarget:De,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(t){Rt({sortable:e,name:t,originalEvent:r})}},o))};function Rt(t){!function(t){var e=t.sortable,n=t.rootEl,r=t.name,o=t.targetEl,a=t.cloneEl,i=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,u=t.oldDraggableIndex,d=t.newDraggableIndex,h=t.originalEvent,p=t.putSortable,g=t.extraEventProperties;if(e=e||n&&n[Lt]){var f,m=e.options,v="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||ot||at?(f=document.createEvent("Event")).initEvent(r,!0,!0):f=new CustomEvent(r,{bubbles:!0,cancelable:!0}),f.to=i||n,f.from=l||n,f.item=o||n,f.clone=a,f.oldIndex=s,f.newIndex=c,f.oldDraggableIndex=u,f.newDraggableIndex=d,f.originalEvent=h,f.pullMode=p?p.lastPutMode:void 0;var b=nt({},g,Ft.getEventProperties(r,e));for(var A in b)f[A]=b[A];n&&n.dispatchEvent(f),m[v]&&m[v].call(e,f)}}(nt({putSortable:Jt,cloneEl:qt,targetEl:Zt,rootEl:Vt,oldIndex:Xt,oldDraggableIndex:$t,newIndex:Wt,newDraggableIndex:Kt},t))}var Zt,Ht,Ut,Vt,Yt,zt,qt,Gt,Xt,Wt,$t,Kt,Qt,Jt,te,ee,ne,re,oe,ae,ie,le,se,ce,ue,de=!1,he=!1,pe=[],ge=!1,fe=!1,me=[],ve=!1,be=[],Ae="undefined"!=typeof document,_e=st,ye=at||ot?"cssFloat":"float",Ce=Ae&&!ct&&!st&&"draggable"in document.createElement("div"),we=function(){if(Ae){if(ot)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),ke=function(t,e){var n=At(t),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=xt(t,0,e),a=xt(t,1,e),i=o&&At(o),l=a&&At(a),s=i&&parseInt(i.marginLeft)+parseInt(i.marginRight)+wt(o).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+wt(a).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&i.float&&"none"!==i.float){var u="left"===i.float?"left":"right";return!a||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return o&&("block"===i.display||"flex"===i.display||"table"===i.display||"grid"===i.display||s>=r&&"none"===n[ye]||a&&"none"===n[ye]&&s+c>r)?"vertical":"horizontal"},xe=function(t){function e(t,n){return function(r,o,a,i){var l=r.options.group.name&&o.options.group.name&&r.options.group.name===o.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"==typeof t)return e(t(r,o,a,i),n)(r,o,a,i);var s=(n?r:o).options.group.name;return!0===t||"string"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var n={},r=t.group;r&&"object"==J(r)||(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Se=function(){!we&&Ut&&At(Ut,"display","none")},De=function(){!we&&Ut&&At(Ut,"display","")};Ae&&document.addEventListener("click",(function(t){if(he)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),he=!1,!1}),!0);var Te=function(t){if(Zt){t=t.touches?t.touches[0]:t;var e=(o=t.clientX,a=t.clientY,pe.some((function(t){if(!St(t)){var e=wt(t),n=t[Lt].options.emptyInsertThreshold,r=o>=e.left-n&&o<=e.right+n,l=a>=e.top-n&&a<=e.bottom+n;return n&&r&&l?i=t:void 0}})),i);if(e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[Lt]._onDragOver(n)}}var o,a,i},Ee=function(t){Zt&&Zt.parentNode[Lt]._isOutsideThisEl(t.target)};function Ie(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=et({},e),t[Lt]=this;var n,r,o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return ke(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Ie.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var a in Ft.initializePlugins(this,t,o),o)!(a in e)&&(e[a]=o[a]);for(var i in xe(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Ce,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?dt(t,"pointerdown",this._onTapStart):(dt(t,"mousedown",this._onTapStart),dt(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(dt(t,"dragover",this),dt(t,"dragenter",this)),pe.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),et(this,(r=[],{captureAnimationState:function(){r=[],this.options.animation&&[].slice.call(this.el.children).forEach((function(t){if("none"!==At(t,"display")&&t!==Ie.ghost){r.push({target:t,rect:wt(t)});var e=nt({},r[r.length-1].rect);if(t.thisAnimationDuration){var n=_t(t,!0);n&&(e.top-=n.f,e.left-=n.e)}t.fromRect=e}}))},addAnimationState:function(t){r.push(t)},removeAnimationState:function(t){r.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var r in e)if(e.hasOwnProperty(r)&&e[r]===t[n][r])return Number(n);return-1}(r,{target:t}),1)},animateAll:function(t){var e=this;if(!this.options.animation)return clearTimeout(n),void("function"==typeof t&&t());var o=!1,a=0;r.forEach((function(t){var n=0,r=t.target,i=r.fromRect,l=wt(r),s=r.prevFromRect,c=r.prevToRect,u=t.rect,d=_t(r,!0);d&&(l.top-=d.f,l.left-=d.e),r.toRect=l,r.thisAnimationDuration&&It(s,l)&&!It(i,l)&&(u.top-l.top)/(u.left-l.left)==(i.top-l.top)/(i.left-l.left)&&(n=function(t,e,n,r){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*r.animation}(u,s,c,e.options)),It(l,i)||(r.prevFromRect=i,r.prevToRect=l,n||(n=e.options.animation),e.animate(r,u,l,n)),n&&(o=!0,a=Math.max(a,n),clearTimeout(r.animationResetTimer),r.animationResetTimer=setTimeout((function(){r.animationTime=0,r.prevFromRect=null,r.fromRect=null,r.prevToRect=null,r.thisAnimationDuration=null}),n),r.thisAnimationDuration=n)})),clearTimeout(n),o?n=setTimeout((function(){"function"==typeof t&&t()}),a):"function"==typeof t&&t(),r=[]},animate:function(t,e,n,r){if(r){At(t,"transition",""),At(t,"transform","");var o=_t(this.el),a=o&&o.a,i=o&&o.d,l=(e.left-n.left)/(a||1),s=(e.top-n.top)/(i||1);t.animatingX=!!l,t.animatingY=!!s,At(t,"transform","translate3d("+l+"px,"+s+"px,0)"),function(t){t.offsetWidth}(t),At(t,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),At(t,"transform","translate3d(0,0,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout((function(){At(t,"transition",""),At(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1}),r)}}}))}function Oe(t,e,n,r,o,a,i,l){var s,c,u=t[Lt],d=u.options.onMove;return!window.CustomEvent||ot||at?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=r,s.related=o||e,s.relatedRect=a||wt(e),s.willInsertAfter=l,s.originalEvent=i,t.dispatchEvent(s),d&&(c=d.call(u,s,i)),c}function Me(t){t.draggable=!1}function Pe(){ve=!1}function Le(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,r=0;n--;)r+=e.charCodeAt(n);return r.toString(36)}function Be(t){return setTimeout(t,0)}function Ne(t){return clearTimeout(t)}Ie.prototype={constructor:Ie,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(le=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,Zt):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,r=this.options,o=r.preventOnFilter,a=t.type,i=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,l=(i||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=r.filter;if(function(t){be.length=0;for(var e=t.getElementsByTagName("input"),n=e.length;n--;){var r=e[n];r.checked&&be.push(r)}}(n),!Zt&&!(/mousedown|pointerdown/.test(a)&&0!==t.button||r.disabled||s.isContentEditable||(l=ft(l,r.draggable,n,!1))&&l.animated||zt===l)){if(Xt=Dt(l),$t=Dt(l,r.draggable),"function"==typeof c){if(c.call(this,t,l,this))return Rt({sortable:e,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),jt("filter",e,{evt:t}),void(o&&t.cancelable&&t.preventDefault())}else if(c&&(c=c.split(",").some((function(r){if(r=ft(s,r.trim(),n,!1))return Rt({sortable:e,rootEl:r,name:"filter",targetEl:l,fromEl:n,toEl:n}),jt("filter",e,{evt:t}),!0}))))return void(o&&t.cancelable&&t.preventDefault());r.handle&&!ft(s,r.handle,n,!1)||this._prepareDragStart(t,i,l)}}},_prepareDragStart:function(t,e,n){var r,o=this,a=o.el,i=o.options,l=a.ownerDocument;if(n&&!Zt&&n.parentNode===a){var s=wt(n);if(Vt=a,Ht=(Zt=n).parentNode,Yt=Zt.nextSibling,zt=n,Qt=i.group,Ie.dragged=Zt,te={target:Zt,clientX:(e||t).clientX,clientY:(e||t).clientY},oe=te.clientX-s.left,ae=te.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,Zt.style["will-change"]="all",r=function(){jt("delayEnded",o,{evt:t}),Ie.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!it&&o.nativeDraggable&&(Zt.draggable=!0),o._triggerDragStart(t,e),Rt({sortable:o,name:"choose",originalEvent:t}),bt(Zt,i.chosenClass,!0))},i.ignore.split(",").forEach((function(t){yt(Zt,t.trim(),Me)})),dt(l,"dragover",Te),dt(l,"mousemove",Te),dt(l,"touchmove",Te),dt(l,"mouseup",o._onDrop),dt(l,"touchend",o._onDrop),dt(l,"touchcancel",o._onDrop),it&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Zt.draggable=!0),jt("delayStart",this,{evt:t}),!i.delay||i.delayOnTouchOnly&&!e||this.nativeDraggable&&(at||ot))r();else{if(Ie.eventCanceled)return void this._onDrop();dt(l,"mouseup",o._disableDelayedDrag),dt(l,"touchend",o._disableDelayedDrag),dt(l,"touchcancel",o._disableDelayedDrag),dt(l,"mousemove",o._delayedDragTouchMoveHandler),dt(l,"touchmove",o._delayedDragTouchMoveHandler),i.supportPointer&&dt(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(r,i.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Zt&&Me(Zt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;ht(t,"mouseup",this._disableDelayedDrag),ht(t,"touchend",this._disableDelayedDrag),ht(t,"touchcancel",this._disableDelayedDrag),ht(t,"mousemove",this._delayedDragTouchMoveHandler),ht(t,"touchmove",this._delayedDragTouchMoveHandler),ht(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?dt(document,"pointermove",this._onTouchMove):dt(document,e?"touchmove":"mousemove",this._onTouchMove):(dt(Zt,"dragend",this),dt(Vt,"dragstart",this._onDragStart));try{document.selection?Be((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(de=!1,Vt&&Zt){jt("dragStarted",this,{evt:e}),this.nativeDraggable&&dt(document,"dragover",Ee);var n=this.options;!t&&bt(Zt,n.dragClass,!1),bt(Zt,n.ghostClass,!0),Ie.active=this,t&&this._appendGhost(),Rt({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(ee){this._lastX=ee.clientX,this._lastY=ee.clientY,Se();for(var t=document.elementFromPoint(ee.clientX,ee.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(ee.clientX,ee.clientY))!==e;)e=t;if(Zt.parentNode[Lt]._isOutsideThisEl(t),e)do{if(e[Lt]&&e[Lt]._onDragOver({clientX:ee.clientX,clientY:ee.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break;t=e}while(e=e.parentNode);De()}},_onTouchMove:function(t){if(te){var e=this.options,n=e.fallbackTolerance,r=e.fallbackOffset,o=t.touches?t.touches[0]:t,a=Ut&&_t(Ut,!0),i=Ut&&a&&a.a,l=Ut&&a&&a.d,s=_e&&ue&&Tt(ue),c=(o.clientX-te.clientX+r.x)/(i||1)+(s?s[0]-me[0]:0)/(i||1),u=(o.clientY-te.clientY+r.y)/(l||1)+(s?s[1]-me[1]:0)/(l||1);if(!Ie.active&&!de){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))r.right+10||t.clientX<=r.right&&t.clientY>r.bottom&&t.clientX>=r.left:t.clientX>r.right&&t.clientY>r.top||t.clientX<=r.right&&t.clientY>r.bottom+10}(t,o,this)&&!f.animated){if(f===Zt)return I(!1);if(f&&a===t.target&&(i=f),i&&(n=wt(i)),!1!==Oe(Vt,a,Zt,e,i,n,t,!!i))return E(),a.appendChild(Zt),Ht=a,O(),I(!0)}else if(i.parentNode===a){n=wt(i);var m,v,b,A=Zt.parentNode!==a,_=!function(t,e,n){var r=n?t.left:t.top,o=n?t.right:t.bottom,a=n?t.width:t.height,i=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return r===i||o===l||r+a/2===i+s/2}(Zt.animated&&Zt.toRect||e,i.animated&&i.toRect||n,o),y=o?"top":"left",C=kt(i,"top","top")||kt(Zt,"top","top"),w=C?C.scrollTop:void 0;if(le!==i&&(v=n[y],ge=!1,fe=!_&&l.invertSwap||A),m=function(t,e,n,r,o,a,i,l){var s=r?t.clientY:t.clientX,c=r?n.height:n.width,u=r?n.top:n.left,d=r?n.bottom:n.right,h=!1;if(!i)if(l&&ceu+c*a/2:sd-ce)return-se}else if(s>u+c*(1-o)/2&&sd-c*a/2)?s>u+c/2?1:-1:0}(t,i,n,o,_?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,fe,le===i),0!==m){var k=Dt(Zt);do{k-=m,b=Ht.children[k]}while(b&&("none"===At(b,"display")||b===Ut))}if(0===m||b===i)return I(!1);le=i,se=m;var x=i.nextElementSibling,S=!1,D=Oe(Vt,a,Zt,e,i,n,t,S=1===m);if(!1!==D)return 1!==D&&-1!==D||(S=1===D),ve=!0,setTimeout(Pe,30),E(),S&&!x?a.appendChild(Zt):i.parentNode.insertBefore(Zt,S?x:i),C&&Mt(C,0,w-C.scrollTop),Ht=Zt.parentNode,void 0===v||fe||(ce=Math.abs(v-wt(i)[y])),O(),I(!0)}if(a.contains(Zt))return I(!1)}return!1}function T(l,s){jt(l,p,nt({evt:t,isOwner:u,axis:o?"vertical":"horizontal",revert:r,dragRect:e,targetRect:n,canSort:d,fromSortable:h,target:i,completed:I,onMove:function(n,r){return Oe(Vt,a,Zt,e,n,wt(n),t,r)},changed:O},s))}function E(){T("dragOverAnimationCapture"),p.captureAnimationState(),p!==h&&h.captureAnimationState()}function I(e){return T("dragOverCompleted",{insertion:e}),e&&(u?c._hideClone():c._showClone(p),p!==h&&(bt(Zt,Jt?Jt.options.ghostClass:c.options.ghostClass,!1),bt(Zt,l.ghostClass,!0)),Jt!==p&&p!==Ie.active?Jt=p:p===Ie.active&&Jt&&(Jt=null),h===p&&(p._ignoreWhileAnimating=i),p.animateAll((function(){T("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(i===Zt&&!Zt.animated||i===a&&!i.animated)&&(le=null),l.dragoverBubble||t.rootEl||i===document||(Zt.parentNode[Lt]._isOutsideThisEl(t.target),!e&&Te(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),g=!0}function O(){Wt=Dt(Zt),Kt=Dt(Zt,l.draggable),Rt({sortable:p,name:"change",toEl:a,newIndex:Wt,newDraggableIndex:Kt,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){ht(document,"mousemove",this._onTouchMove),ht(document,"touchmove",this._onTouchMove),ht(document,"pointermove",this._onTouchMove),ht(document,"dragover",Te),ht(document,"mousemove",Te),ht(document,"touchmove",Te)},_offUpEvents:function(){var t=this.el.ownerDocument;ht(t,"mouseup",this._onDrop),ht(t,"touchend",this._onDrop),ht(t,"pointerup",this._onDrop),ht(t,"touchcancel",this._onDrop),ht(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;Wt=Dt(Zt),Kt=Dt(Zt,n.draggable),jt("drop",this,{evt:t}),Ht=Zt&&Zt.parentNode,Wt=Dt(Zt),Kt=Dt(Zt,n.draggable),Ie.eventCanceled||(de=!1,fe=!1,ge=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ne(this.cloneId),Ne(this._dragStartId),this.nativeDraggable&&(ht(document,"drop",this),ht(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),lt&&At(document.body,"user-select",""),At(Zt,"transform",""),t&&(ie&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),Ut&&Ut.parentNode&&Ut.parentNode.removeChild(Ut),(Vt===Ht||Jt&&"clone"!==Jt.lastPutMode)&&qt&&qt.parentNode&&qt.parentNode.removeChild(qt),Zt&&(this.nativeDraggable&&ht(Zt,"dragend",this),Me(Zt),Zt.style["will-change"]="",ie&&!de&&bt(Zt,Jt?Jt.options.ghostClass:this.options.ghostClass,!1),bt(Zt,this.options.chosenClass,!1),Rt({sortable:this,name:"unchoose",toEl:Ht,newIndex:null,newDraggableIndex:null,originalEvent:t}),Vt!==Ht?(Wt>=0&&(Rt({rootEl:Ht,name:"add",toEl:Ht,fromEl:Vt,originalEvent:t}),Rt({sortable:this,name:"remove",toEl:Ht,originalEvent:t}),Rt({rootEl:Ht,name:"sort",toEl:Ht,fromEl:Vt,originalEvent:t}),Rt({sortable:this,name:"sort",toEl:Ht,originalEvent:t})),Jt&&Jt.save()):Wt!==Xt&&Wt>=0&&(Rt({sortable:this,name:"update",toEl:Ht,originalEvent:t}),Rt({sortable:this,name:"sort",toEl:Ht,originalEvent:t})),Ie.active&&(null!=Wt&&-1!==Wt||(Wt=Xt,Kt=$t),Rt({sortable:this,name:"end",toEl:Ht,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){jt("nulling",this),Vt=Zt=Ht=Ut=Yt=qt=zt=Gt=te=ee=ie=Wt=Kt=Xt=$t=le=se=Jt=Qt=Ie.dragged=Ie.ghost=Ie.clone=Ie.active=null,be.forEach((function(t){t.checked=!0})),be.length=ne=re=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":Zt&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,r=0,o=n.length,a=this.options;r!0,"move:down":()=>!0,"update:focus":()=>!0},setup(t,e){let{emit:n}=e;const r=(0,a.iH)(),o=(0,a.iH)();let i=0;return{buttonUp:r,buttonDown:o,moveUp:()=>{n("move:up"),i=1},moveDown:()=>{n("move:down"),i=-1},keepFocus:()=>{0!==i&&(1!==i&&!t.isLast||t.isFirst?(0,a.Y3)((()=>o.value.$el.focus())):(0,a.Y3)((()=>r.value.$el.focus()))),i=0},t:$.Iu}}});var nn=r(40773),rn={};rn.styleTagTransform=H(),rn.setAttributes=F(),rn.insert=B().bind(null,"head"),rn.domAPI=P(),rn.insertStyleElement=R(),O()(nn.Z,rn),nn.Z&&nn.Z.locals&&nn.Z.locals;const on=(0,y.Z)(en,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("li",{class:{"order-selector-element":!0,"order-selector-element--disabled":t.app.default},attrs:{"data-cy-app-order-element":t.app.id},on:{focusin:function(e){return t.$emit("update:focus")}}},[e("svg",{attrs:{width:"20",height:"20",viewBox:"0 0 20 20",role:"presentation"}},[e("image",{staticClass:"order-selector-element__icon",attrs:{preserveAspectRatio:"xMinYMin meet",x:"0",y:"0",width:"20",height:"20","xlink:href":t.app.icon}})]),t._v(" "),e("div",{staticClass:"order-selector-element__label"},[t._v("\n\t\t"+t._s(t.app.label??t.app.id)+"\n\t")]),t._v(" "),e("div",{staticClass:"order-selector-element__actions"},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:!t.isFirst&&!t.app.default,expression:"!isFirst && !app.default"}],ref:"buttonUp",attrs:{"aria-label":t.t("settings","Move up"),"aria-describedby":t.ariaDescribedby,"aria-details":t.ariaDetails,"data-cy-app-order-button":"up",type:"tertiary-no-background"},on:{click:t.moveUp},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconArrowUp",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isFirst||!!t.app.default,expression:"isFirst || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}}),t._v(" "),e("NcButton",{directives:[{name:"show",rawName:"v-show",value:!t.isLast&&!t.app.default,expression:"!isLast && !app.default"}],ref:"buttonDown",attrs:{"aria-label":t.t("settings","Move down"),"aria-describedby":t.ariaDescribedby,"aria-details":t.ariaDetails,"data-cy-app-order-button":"down",type:"tertiary-no-background"},on:{click:t.moveDown},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconArrowDown",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isLast||!!t.app.default,expression:"isLast || !!app.default"}],staticClass:"order-selector-element__placeholder",attrs:{"aria-hidden":"true"}})],1)])}),[],!1,null,"081ebc45",null).exports,an=(0,a.aZ)({name:"AppOrderSelector",components:{AppOrderSelectorElement:on,Fragment:Qe.H},props:{ariaDetails:{type:String,default:null},value:{type:Array,required:!0}},emits:{"update:value":t=>Array.isArray(t)},setup(t,e){let{emit:n}=e;const r=(0,a.iH)(null),o=(0,a.Fl)({get:()=>t.value,set:e=>{const r=[...e].sort(((t,n)=>(n.default?1:0)-(t.default?1:0)||e.indexOf(t)-e.indexOf(n)));r.some(((e,n)=>{let{id:r}=e;return r!==t.value[n].id}))?n("update:value",r):i.value+=1}}),i=(0,a.iH)(0);!function(t,e,n={}){let r;const{document:o=K.Td$,...i}=n,l={onUpdate:t=>{!function(t,e,n){const r=(0,a.dq)(t),o=r?[...(0,Q.Tn)(t)]:(0,Q.Tn)(t);if(n>=0&&n{o.splice(n,0,i),r&&(t.value=o)}))}}(e,t.oldIndex,t.newIndex)}},s=()=>{const e="string"==typeof t?null==o?void 0:o.querySelector(t):(0,K.NXq)(t);e&&void 0===r&&(r=new Ke(e,{...l,...i}))},c=()=>{null==r||r.destroy(),r=void 0};(0,Q.u7)(s),(0,Q.IY)(c)}(r,o,{filter:".order-selector-element--disabled"});const l=(0,a.iH)([]);(0,a.ic)((()=>{l.value.forEach((t=>t.keepFocus()))}));const s=(0,a.iH)("");return{appList:o,listElement:r,moveDown:e=>{const r=e>0?t.value.slice(0,e):[];r.push(t.value[e+1]);const o=e{const r=e>1?t.value.slice(0,e-1):[];if(t.value[e-1]?.default)return;const o=[t.value[e-1]];e{s.value=(0,$.Iu)("theming","Current selected app: {app}, position {position} of {total}",{app:t.value[e].label,position:e+1,total:t.value.length})},renderCount:i,selectorElements:l}}}),ln=an;var sn=r(45797),cn={};cn.styleTagTransform=H(),cn.setAttributes=F(),cn.insert=B().bind(null,"head"),cn.domAPI=P(),cn.insertStyleElement=R(),O()(sn.Z,cn),sn.Z&&sn.Z.locals&&sn.Z.locals;var un=(0,y.Z)(ln,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("Fragment",[e("div",{staticClass:"hidden-visually",attrs:{id:t.statusInfoId,"aria-live":"polite",role:"status"}},[t._v("\n\t\t"+t._s(t.statusInfo)+"\n\t")]),t._v(" "),e("ol",{ref:"listElement",staticClass:"order-selector",attrs:{"data-cy-app-order":""}},t._l(t.appList,(function(n,r){return e("AppOrderSelectorElement",t._g({key:`${n.id}${t.renderCount}`,ref:"selectorElements",refInFor:!0,attrs:{app:n,"aria-details":t.ariaDetails,"aria-describedby":t.statusInfoId,"is-first":0===r||!!t.appList[r-1].default,"is-last":r===t.value.length-1}},n.default?{}:{"move:up":()=>t.moveUp(r),"move:down":()=>t.moveDown(r),"update:focus":()=>t.updateStatusInfo(r)}))})),1)])}),[],!1,null,"76d01da8",null);const dn=un.exports,hn={name:"UndoIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pn=(0,y.Z)(hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon undo-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var gn=r(50323),fn=r(25108);const mn=(0,a.aZ)({name:"UserAppMenuSection",components:{AppOrderSelector:dn,IconUndo:pn,NcButton:f.Z,NcNoteCard:gn.Z,NcSettingsSection:u.Z},setup(){const{userAppOrder:t,enforcedDefaultApp:e}=(0,l.j)("theming","navigationBar"),n=Object.values((0,l.j)("core","apps")).filter((t=>{let{type:e}=t;return"link"===e})).map((t=>({...t,label:t.name,default:t.default&&t.app===e}))),r=(0,a.iH)(!Array.isArray(t)||Object.values(t).length>0),o=(0,a.Fl)((()=>n.some(((t,e)=>{let{id:n}=t;return n!==p.value[e].id})))),c="theming-apporder-changed-infocard",u="theming-apporder-changed-infocard",h=(0,a.Fl)((()=>(o.value?`${c} `:"")+(e?u:""))),p=(0,a.iH)([...n]),g=async(t,e)=>{const n=(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"core",configKey:t});return await s.Z.post(n,{configValue:JSON.stringify(e)})};return{appOrder:p,updateAppOrder:t=>{const e={};t.forEach(((t,n)=>{let{app:r,id:o}=t;e[o]={order:n,app:r}})),g("apporder",e).then((()=>{p.value=t,r.value=!0})).catch((t=>{fn.warn("Could not set the app order",t),(0,d.x2)((0,$.Iu)("theming","Could not set the app order"))}))},resetAppOrder:async()=>{try{await g("apporder",[]),r.value=!1;const{data:t}=await s.Z.get((0,i.generateOcsUrl)("/core/navigation/apps"),{headers:{"OCS-APIRequest":"true"}});p.value=t.ocs.data.map((t=>({...t,label:t.name,default:t.default&&t.app===e})))}catch(t){fn.warn(t),(0,d.x2)((0,$.Iu)("theming","Could not reset the app order"))}},enforcedDefaultApp:e,hasAppOrderChanged:o,hasCustomAppOrder:r,ariaDetailsAppOrder:h,elementIdAppOrderChanged:c,elementIdEnforcedDefaultApp:u,t:$.Iu}}}),vn=mn;var bn=r(62461),An={};An.styleTagTransform=H(),An.setAttributes=F(),An.insert=B().bind(null,"head"),An.domAPI=P(),An.insertStyleElement=R(),O()(bn.Z,An),bn.Z&&bn.Z.locals&&bn.Z.locals;const _n=(0,y.Z)(vn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcSettingsSection",{attrs:{name:t.t("theming","Navigation bar settings")}},[e("p",[t._v("\n\t\t"+t._s(t.t("theming","You can configure the app order used for the navigation bar. The first entry will be the default app, opened after login or when clicking on the logo."))+"\n\t")]),t._v(" "),t.enforcedDefaultApp?e("NcNoteCard",{attrs:{id:t.elementIdEnforcedDefaultApp,type:"info"}},[t._v("\n\t\t"+t._s(t.t("theming","The default app can not be changed because it was configured by the administrator."))+"\n\t")]):t._e(),t._v(" "),t.hasAppOrderChanged?e("NcNoteCard",{attrs:{id:t.elementIdAppOrderChanged,type:"info"}},[t._v("\n\t\t"+t._s(t.t("theming","The app order was changed, to see it in action you have to reload the page."))+"\n\t")]):t._e(),t._v(" "),e("AppOrderSelector",{staticClass:"user-app-menu-order",attrs:{"aria-details":t.ariaDetailsAppOrder,value:t.appOrder},on:{"update:value":t.updateAppOrder}}),t._v(" "),e("NcButton",{attrs:{"data-test-id":"btn-apporder-reset",disabled:!t.hasCustomAppOrder,type:"tertiary"},on:{click:t.resetAppOrder},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconUndo",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.t("theming","Reset default app order"))+"\n\t")])],1)}),[],!1,null,"3d6952db",null).exports;var yn=r(25108);const Cn=(0,l.j)("theming","themes",[]),wn=(0,l.j)("theming","enforceTheme",""),kn=(0,l.j)("theming","shortcutsDisabled",!1),xn=(0,l.j)("theming","isUserThemingDisabled"),Sn={name:"UserThemes",components:{ItemPreview:W,NcCheckboxRadioSwitch:c.Z,NcSettingsSection:u.Z,BackgroundSettings:Y,UserAppMenuSection:_n},data:()=>({availableThemes:Cn,enforceTheme:wn,shortcutsDisabled:kn,isUserThemingDisabled:xn}),computed:{themes(){return this.availableThemes.filter((t=>1===t.type))},fonts(){return this.availableThemes.filter((t=>2===t.type))},selectedTheme(){return this.themes.find((t=>!0===t.enabled))||this.themes[0]},description(){return t("theming","Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.").replace("{guidelines}",this.guidelinesLink).replace("{linkend}","")},guidelinesLink:()=>'',descriptionDetail(){return t("theming","If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!").replace("{issuetracker}",this.issuetrackerLink).replace("{designteam}",this.designteamLink).replace(/\{linkend\}/g,"")},issuetrackerLink:()=>'',designteamLink:()=>''},watch:{shortcutsDisabled(t){this.changeShortcutsDisabled(t)}},methods:{refreshGlobalStyles(){[...document.head.querySelectorAll("link.theme")].forEach((t=>{const e=new URL(t.href);e.searchParams.set("v",Date.now());const n=t.cloneNode();n.href=e.toString(),n.onload=()=>t.remove(),document.head.append(n)}))},updateBackground(t){this.background="custom"===t.type||"default"===t.type?t.type:t.value,this.refreshGlobalStyles()},changeTheme(t){let{enabled:e,id:n}=t;this.themes.forEach((t=>{t.id===n&&e?t.enabled=!0:t.enabled=!1})),this.updateBodyAttributes(),this.selectItem(e,n)},changeFont(t){let{enabled:e,id:n}=t;this.fonts.forEach((t=>{t.id===n&&e?t.enabled=!0:t.enabled=!1})),this.updateBodyAttributes(),this.selectItem(e,n)},async changeShortcutsDisabled(t){t?await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"theming",configKey:"shortcuts_disabled"}),data:{configValue:"yes"},method:"POST"}):await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"theming",configKey:"shortcuts_disabled"}),method:"DELETE"})},updateBodyAttributes(){const t=this.themes.filter((t=>!0===t.enabled)).map((t=>t.id)),e=this.fonts.filter((t=>!0===t.enabled)).map((t=>t.id));this.themes.forEach((t=>{document.body.toggleAttribute(`data-theme-${t.id}`,t.enabled)})),this.fonts.forEach((t=>{document.body.toggleAttribute(`data-theme-${t.id}`,t.enabled)})),document.body.setAttribute("data-themes",[...t,...e].join(","))},async selectItem(e,n){try{e?await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/theming/api/v1/theme/{themeId}/enable",{themeId:n}),method:"PUT"}):await(0,s.Z)({url:(0,i.generateOcsUrl)("apps/theming/api/v1/theme/{themeId}",{themeId:n}),method:"DELETE"})}catch(e){yn.error(e,e.response),OC.Notification.showTemporary(t("theming",e.response.data.ocs.meta.message+". Unable to apply the setting."))}}}};var Dn=r(29512),Tn={};Tn.styleTagTransform=H(),Tn.setAttributes=F(),Tn.insert=B().bind(null,"head"),Tn.domAPI=P(),Tn.insertStyleElement=R(),O()(Dn.Z,Tn),Dn.Z&&Dn.Z.locals&&Dn.Z.locals;const En=(0,y.Z)(Sn,(function(){var t=this,e=t._self._c;return e("section",[e("NcSettingsSection",{staticClass:"theming",attrs:{name:t.t("theming","Appearance and accessibility settings"),"limit-width":!1}},[e("p",{domProps:{innerHTML:t._s(t.description)}}),t._v(" "),e("p",{domProps:{innerHTML:t._s(t.descriptionDetail)}}),t._v(" "),e("div",{staticClass:"theming__preview-list"},t._l(t.themes,(function(n){return e("ItemPreview",{key:n.id,attrs:{enforced:n.id===t.enforceTheme,selected:t.selectedTheme.id===n.id,theme:n,unique:1===t.themes.length,type:"theme"},on:{change:t.changeTheme}})})),1),t._v(" "),e("div",{staticClass:"theming__preview-list"},t._l(t.fonts,(function(n){return e("ItemPreview",{key:n.id,attrs:{selected:n.enabled,theme:n,unique:1===t.fonts.length,type:"font"},on:{change:t.changeFont}})})),1)]),t._v(" "),e("NcSettingsSection",{staticClass:"background",attrs:{name:t.t("theming","Background"),"data-user-theming-background-disabled":""}},[t.isUserThemingDisabled?[e("p",[t._v(t._s(t.t("theming","Customization has been disabled by your administrator")))])]:[e("p",[t._v(t._s(t.t("theming","Set a custom background")))]),t._v(" "),e("BackgroundSettings",{staticClass:"background__grid",on:{"update:background":t.refreshGlobalStyles}})]],2),t._v(" "),e("NcSettingsSection",{attrs:{name:t.t("theming","Keyboard shortcuts")}},[e("p",[t._v(t._s(t.t("theming","In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.")))]),t._v(" "),e("NcCheckboxRadioSwitch",{staticClass:"theming__preview-toggle",attrs:{checked:t.shortcutsDisabled,type:"switch"},on:{"update:checked":function(e){t.shortcutsDisabled=e},change:t.changeShortcutsDisabled}},[t._v("\n\t\t\t"+t._s(t.t("theming","Disable all keyboard shortcuts"))+"\n\t\t")])],1),t._v(" "),e("UserAppMenuSection")],1)}),[],!1,null,"d643b9e0",null).exports;r.nc=btoa((0,o.IH)()),a.ZP.prototype.OC=OC,a.ZP.prototype.t=t;const In=new(a.ZP.extend(En));In.$mount("#theming"),In.$on("update:background",(()=>{[...document.head.querySelectorAll("link.theme")].forEach((t=>{const e=new URL(t.href);e.searchParams.set("v",Date.now());const n=t.cloneNode();n.href=e.toString(),n.onload=()=>t.remove(),document.head.append(n)}))}))},29512:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".theming p[data-v-d643b9e0]{max-width:800px}.theming[data-v-d643b9e0] a{font-weight:bold}.theming[data-v-d643b9e0] a:hover,.theming[data-v-d643b9e0] a:focus{text-decoration:underline}.theming__preview-list[data-v-d643b9e0]{--gap: 30px;display:grid;margin-top:var(--gap);column-gap:var(--gap);row-gap:var(--gap);grid-template-columns:1fr 1fr}.background__grid[data-v-d643b9e0]{margin-top:30px}@media(max-width: 1440px){.theming__preview-list[data-v-d643b9e0]{display:flex;flex-direction:column}}","",{version:3,sources:["webpack://./apps/theming/src/UserThemes.vue"],names:[],mappings:"AAGC,4BACC,eAAA,CAID,4BACC,gBAAA,CAEA,oEAEC,yBAAA,CAIF,wCACC,WAAA,CAEA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,6BAAA,CAKD,mCACC,eAAA,CAIF,0BACC,wCACC,YAAA,CACA,qBAAA,CAAA",sourcesContent:["\n.theming {\n\t// Limit width of settings sections for readability\n\tp {\n\t\tmax-width: 800px;\n\t}\n\n\t// Proper highlight for links and focus feedback\n\t&::v-deep a {\n\t\tfont-weight: bold;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t&__preview-list {\n\t\t--gap: 30px;\n\n\t\tdisplay: grid;\n\t\tmargin-top: var(--gap);\n\t\tcolumn-gap: var(--gap);\n\t\trow-gap: var(--gap);\n\t\tgrid-template-columns: 1fr 1fr;\n\t}\n}\n\n.background {\n\t&__grid {\n\t\tmargin-top: 30px;\n\t}\n}\n\n@media (max-width: 1440px) {\n\t.theming__preview-list {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n}\n"],sourceRoot:""}]);const l=i},45797:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".order-selector[data-v-76d01da8]{width:max-content;min-width:260px}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelector.vue"],names:[],mappings:"AACA,iCACC,iBAAA,CACA,eAAA",sourcesContent:["\n.order-selector {\n\twidth: max-content;\n\tmin-width: 260px; // align with NcSelect\n}\n"],sourceRoot:""}]);const l=i},40773:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}","",{version:3,sources:["webpack://./apps/theming/src/components/AppOrderSelectorElement.vue"],names:[],mappings:"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA",sourcesContent:["\n.order-selector-element {\n\t// hide default styling\n\tlist-style: none;\n\t// Align children\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t// Spacing\n\tgap: 12px;\n\tpadding-inline: 12px;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&--disabled {\n\t\tborder-color: var(--color-text-maxcontrast);\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t.order-selector-element__icon {\n\t\t\topacity: 75%;\n\t\t}\n\t}\n\n\t&__actions {\n\t\tflex: 0 0;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 6px;\n\t}\n\n\t&__label {\n\t\tflex: 1 1;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t&__placeholder {\n\t\theight: 44px;\n\t\twidth: 44px;\n\t}\n\n\t&__icon {\n\t\tfilter: var(--background-invert-if-bright);\n\t}\n}\n"],sourceRoot:""}]);const l=i},22065:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".background-selector[data-v-1175e65a]{display:flex;flex-wrap:wrap;justify-content:center}.background-selector .background-color[data-v-1175e65a]{display:flex;justify-content:center;align-items:center;width:176px;height:96px;margin:8px;border-radius:var(--border-radius-large);background-color:var(--color-primary)}.background-selector .background[data-v-1175e65a]{overflow:hidden;width:176px;height:96px;margin:8px;text-align:center;border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);background-position:center center;background-size:cover}.background-selector .background__filepicker.background--active[data-v-1175e65a]{color:#fff;background-image:var(--image-background)}.background-selector .background__default[data-v-1175e65a]{background-color:var(--color-primary-default);background-image:linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)),var(--image-background-plain, var(--image-background-default))}.background-selector .background__filepicker[data-v-1175e65a],.background-selector .background__default[data-v-1175e65a],.background-selector .background__color[data-v-1175e65a]{border-color:var(--color-border)}.background-selector .background__default[data-v-1175e65a],.background-selector .background__shipped[data-v-1175e65a]{color:#fff}.background-selector .background[data-color-bright][data-v-1175e65a]{color:#000}.background-selector .background--active[data-v-1175e65a],.background-selector .background[data-v-1175e65a]:hover,.background-selector .background[data-v-1175e65a]:focus{outline:2px solid var(--color-main-text) !important;border-color:var(--color-main-background) !important}.background-selector .background span[data-v-1175e65a]{margin:4px}.background-selector .background .check-icon[data-v-1175e65a]{display:none}.background-selector .background--active:not(.icon-loading) .check-icon[data-v-1175e65a]{display:block !important}","",{version:3,sources:["webpack://./apps/theming/src/components/BackgroundSettings.vue"],names:[],mappings:"AACA,sCACC,YAAA,CACA,cAAA,CACA,sBAAA,CAEA,wDACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,wCAAA,CACA,qCAAA,CAGD,kDACC,eAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,6CAAA,CACA,wCAAA,CACA,iCAAA,CACA,qBAAA,CAGC,iFACC,UAAA,CACA,wCAAA,CAIF,2DACC,6CAAA,CACA,wJAAA,CAGD,kLACC,gCAAA,CAID,sHAEC,UAAA,CAID,qEACC,UAAA,CAGD,0KAGC,mDAAA,CACA,oDAAA,CAID,uDACC,UAAA,CAGD,8DACC,YAAA,CAIA,yFAEC,wBAAA",sourcesContent:["\n.background-selector {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\n\t.background-color {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 176px;\n\t\theight: 96px;\n\t\tmargin: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-primary);\n\t}\n\n\t.background {\n\t\toverflow: hidden;\n\t\twidth: 176px;\n\t\theight: 96px;\n\t\tmargin: 8px;\n\t\ttext-align: center;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-position: center center;\n\t\tbackground-size: cover;\n\n\t\t&__filepicker {\n\t\t\t&.background--active {\n\t\t\t\tcolor: white;\n\t\t\t\tbackground-image: var(--image-background);\n\t\t\t}\n\t\t}\n\n\t\t&__default {\n\t\t\tbackground-color: var(--color-primary-default);\n\t\t\tbackground-image: linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)), var(--image-background-plain, var(--image-background-default));\n\t\t}\n\n\t\t&__filepicker, &__default, &__color {\n\t\t\tborder-color: var(--color-border);\n\t\t}\n\n\t\t// Over a background image\n\t\t&__default,\n\t\t&__shipped {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t// Text and svg icon dark on bright background\n\t\t&[data-color-bright] {\n\t\t\tcolor: black;\n\t\t}\n\n\t\t&--active,\n\t\t&:hover,\n\t\t&:focus {\n\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\tborder-color: var(--color-main-background) !important;\n\t\t}\n\n\t\t// Icon\n\t\tspan {\n\t\t\tmargin: 4px;\n\t\t}\n\n\t\t.check-icon {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t&--active:not(.icon-loading) {\n\t\t\t.check-icon {\n\t\t\t\t// Show checkmark\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const l=i},62782:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".theming__preview[data-v-1a08e35a]{--ratio: 16;position:relative;display:flex;justify-content:flex-start;max-width:800px}.theming__preview[data-v-1a08e35a],.theming__preview *[data-v-1a08e35a]{user-select:none}.theming__preview-image[data-v-1a08e35a]{flex-basis:calc(16px*var(--ratio));flex-shrink:0;height:calc(10px*var(--ratio));margin-right:var(--gap);cursor:pointer;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:top left;background-size:cover}.theming__preview-explanation[data-v-1a08e35a]{margin-bottom:10px}.theming__preview-description[data-v-1a08e35a]{display:flex;flex-direction:column}.theming__preview-description h3[data-v-1a08e35a]{font-weight:bold;margin-bottom:0}.theming__preview-description label[data-v-1a08e35a]{padding:12px 0}.theming__preview--default[data-v-1a08e35a]{grid-column:span 2}.theming__preview-warning[data-v-1a08e35a]{color:var(--color-warning)}@media(max-width: 682.6666666667px){.theming__preview[data-v-1a08e35a]{flex-direction:column}.theming__preview-image[data-v-1a08e35a]{margin:0}}","",{version:3,sources:["webpack://./apps/theming/src/components/ItemPreview.vue"],names:[],mappings:"AAGA,mCAEC,WAAA,CAEA,iBAAA,CACA,YAAA,CACA,0BAAA,CACA,eAAA,CAEA,wEAEC,gBAAA,CAGD,yCACC,kCAAA,CACA,aAAA,CACA,8BAAA,CACA,uBAAA,CACA,cAAA,CACA,kCAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBAAA,CAGD,+CACC,kBAAA,CAGD,+CACC,YAAA,CACA,qBAAA,CAEA,kDACC,gBAAA,CACA,eAAA,CAGD,qDACC,cAAA,CAIF,4CACC,kBAAA,CAGD,2CACC,0BAAA,CAIF,oCACC,mCACC,qBAAA,CAEA,yCACC,QAAA,CAAA",sourcesContent:["\n@use 'sass:math';\n\n.theming__preview {\n\t// We make previews on 16/10 screens\n\t--ratio: 16;\n\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tmax-width: 800px;\n\n\t&,\n\t* {\n\t\tuser-select: none;\n\t}\n\n\t&-image {\n\t\tflex-basis: calc(16px * var(--ratio));\n\t\tflex-shrink: 0;\n\t\theight: calc(10px * var(--ratio));\n\t\tmargin-right: var(--gap);\n\t\tcursor: pointer;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: top left;\n\t\tbackground-size: cover;\n\t}\n\n\t&-explanation {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t&-description {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\th3 {\n\t\t\tfont-weight: bold;\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\tlabel {\n\t\t\tpadding: 12px 0;\n\t\t}\n\t}\n\n\t&--default {\n\t\tgrid-column: span 2;\n\t}\n\n\t&-warning {\n\t\tcolor: var(--color-warning);\n\t}\n}\n\n@media (max-width: math.div(1024px, 1.5)) {\n\t.theming__preview {\n\t\tflex-direction: column;\n\n\t\t&-image {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const l=i},62461:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(87537),o=n.n(r),a=n(23645),i=n.n(a)()(o());i.push([t.id,".user-app-menu-order[data-v-3d6952db]{margin-block:12px}","",{version:3,sources:["webpack://./apps/theming/src/components/UserAppMenuSection.vue"],names:[],mappings:"AACA,sCACC,iBAAA",sourcesContent:["\n.user-app-menu-order {\n\tmargin-block: 12px;\n}\n"],sourceRoot:""}]);const l=i},89881:(t,e,n)=>{var r=n(47816),o=n(99291)(r);t.exports=o},80760:(t,e,n)=>{var r=n(89881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}},47816:(t,e,n)=>{var r=n(28483),o=n(3674);t.exports=function(t,e){return t&&r(t,e,o)}},99291:(t,e,n)=>{var r=n(98612);t.exports=function(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);for(var a=n.length,i=e?a:-1,l=Object(n);(e?i--:++i{var r=n(5976),o=n(77813),a=n(16612),i=n(81704),l=Object.prototype,s=l.hasOwnProperty,c=r((function(t,e){t=Object(t);var n=-1,r=e.length,c=r>2?e[2]:void 0;for(c&&a(e[0],e[1],c)&&(r=1);++n{var r=n(34963),o=n(80760),a=n(67206),i=n(1469);t.exports=function(t,e){return(i(t)?r:o)(t,a(e,3))}},1082:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},o=r(n(8110)),a=r(n(21904));o.default.DefaultOpts.ImageClass=a.default,t.exports=o.default},31564:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(8110)),a=n(66678),i=function(){function t(t,e){void 0===e&&(e={}),this._src=t,this._opts=e,this._opts.filters=a(o.default.DefaultOpts.filters)}return t.prototype.maxColorCount=function(t){return this._opts.colorCount=t,this},t.prototype.maxDimension=function(t){return this._opts.maxDimension=t,this},t.prototype.addFilter=function(t){return this._opts.filters.push(t),this},t.prototype.removeFilter=function(t){var e=this._opts.filters.indexOf(t);return e>0&&this._opts.filters.splice(e),this},t.prototype.clearFilters=function(){return this._opts.filters=[],this},t.prototype.quality=function(t){return this._opts.quality=t,this},t.prototype.useImageClass=function(t){return this._opts.ImageClass=t,this},t.prototype.useGenerator=function(t){return this._opts.generator=t,this},t.prototype.useQuantizer=function(t){return this._opts.quantizer=t,this},t.prototype.build=function(){return new o.default(this._src,this._opts)},t.prototype.getPalette=function(t){return this.build().getPalette(t)},t.prototype.getSwatches=function(t){return this.build().getPalette(t)},t}();e.default=i},97248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Swatch=void 0;var r=n(67294),o=n(63105),a=function(){function t(t,e){this._rgb=t,this._population=e}return t.applyFilter=function(t,e){return"function"==typeof e?o(t,(function(t){var n=t.r,r=t.g,o=t.b;return e(n,r,o,255)})):t},Object.defineProperty(t.prototype,"r",{get:function(){return this._rgb[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){return this._rgb[1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){return this._rgb[2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rgb",{get:function(){return this._rgb},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hsl",{get:function(){if(!this._hsl){var t=this._rgb,e=t[0],n=t[1],o=t[2];this._hsl=r.rgbToHsl(e,n,o)}return this._hsl},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hex",{get:function(){if(!this._hex){var t=this._rgb,e=t[0],n=t[1],o=t[2];this._hex=r.rgbToHex(e,n,o)}return this._hex},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"population",{get:function(){return this._population},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return{rgb:this.rgb,population:this.population}},t.prototype.getRgb=function(){return this._rgb},t.prototype.getHsl=function(){return this.hsl},t.prototype.getPopulation=function(){return this._population},t.prototype.getHex=function(){return this.hex},t.prototype.getYiq=function(){if(!this._yiq){var t=this._rgb;this._yiq=(299*t[0]+587*t[1]+114*t[2])/1e3}return this._yiq},Object.defineProperty(t.prototype,"titleTextColor",{get:function(){return this._titleTextColor||(this._titleTextColor=this.getYiq()<200?"#fff":"#000"),this._titleTextColor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bodyTextColor",{get:function(){return this._bodyTextColor||(this._bodyTextColor=this.getYiq()<150?"#fff":"#000"),this._bodyTextColor},enumerable:!1,configurable:!0}),t.prototype.getTitleTextColor=function(){return this.titleTextColor},t.prototype.getBodyTextColor=function(){return this.bodyTextColor},t}();e.Swatch=a},68498:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){return r>=125&&!(t>250&&e>250&&n>250)}},63096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.combineFilters=void 0;var r=n(68498);Object.defineProperty(e,"Default",{enumerable:!0,get:function(){return r.default}}),e.combineFilters=function(t){return Array.isArray(t)&&0!==t.length?function(e,n,r,o){if(0===o)return!1;for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(97248),o=n(67294),a=n(91747),i={targetDarkLuma:.26,maxDarkLuma:.45,minLightLuma:.55,targetLightLuma:.74,minNormalLuma:.3,targetNormalLuma:.5,maxNormalLuma:.7,targetMutesSaturation:.3,maxMutesSaturation:.4,targetVibrantSaturation:1,minVibrantSaturation:.35,weightSaturation:3,weightLuma:6.5,weightPopulation:.5};function l(t,e,n,r,o,a,i,l,s,c){var u=null,d=0;return e.forEach((function(e){var h=e.getHsl(),p=h[1],g=h[2];if(p>=l&&p<=s&&g>=o&&g<=a&&!function(t,e){return t.Vibrant===e||t.DarkVibrant===e||t.LightVibrant===e||t.Muted===e||t.DarkMuted===e||t.LightMuted===e}(t,e)){var f=function(t,e,n,r,o,a,i){function l(t,e){return 1-Math.abs(t-e)}return function(){for(var t=[],e=0;ed)&&(u=e,d=f)}})),u}e.default=function(t,e){e=a({},e,i);var n=function(t){var e=0;return t.forEach((function(t){e=Math.max(e,t.getPopulation())})),e}(t),s=function(t,e,n){var r={};return r.Vibrant=l(r,t,e,n.targetNormalLuma,n.minNormalLuma,n.maxNormalLuma,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.LightVibrant=l(r,t,e,n.targetLightLuma,n.minLightLuma,1,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.DarkVibrant=l(r,t,e,n.targetDarkLuma,0,n.maxDarkLuma,n.targetVibrantSaturation,n.minVibrantSaturation,1,n),r.Muted=l(r,t,e,n.targetNormalLuma,n.minNormalLuma,n.maxNormalLuma,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r.LightMuted=l(r,t,e,n.targetLightLuma,n.minLightLuma,1,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r.DarkMuted=l(r,t,e,n.targetDarkLuma,0,n.maxDarkLuma,n.targetMutesSaturation,0,n.maxMutesSaturation,n),r}(t,n,e);return function(t,e,n){if(null===t.Vibrant&&null===t.DarkVibrant&&null===t.LightVibrant){if(null===t.DarkVibrant&&null!==t.DarkMuted){var a=t.DarkMuted.getHsl(),i=a[0],l=a[1],s=a[2];s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightVibrant&&null!==t.LightMuted){var c=t.LightMuted.getHsl();i=c[0],l=c[1],s=c[2],s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}}if(null===t.Vibrant&&null!==t.DarkVibrant){var u=t.DarkVibrant.getHsl();i=u[0],l=u[1],s=u[2],s=n.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}else if(null===t.Vibrant&&null!==t.LightVibrant){var d=t.LightVibrant.getHsl();i=d[0],l=d[1],s=d[2],s=n.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.DarkVibrant&&null!==t.Vibrant){var h=t.Vibrant.getHsl();i=h[0],l=h[1],s=h[2],s=n.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightVibrant&&null!==t.Vibrant){var p=t.Vibrant.getHsl();i=p[0],l=p[1],s=p[2],s=n.targetLightLuma,t.LightVibrant=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.Muted&&null!==t.Vibrant){var g=t.Vibrant.getHsl();i=g[0],l=g[1],s=g[2],s=n.targetMutesSaturation,t.Muted=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.DarkMuted&&null!==t.DarkVibrant){var f=t.DarkVibrant.getHsl();i=f[0],l=f[1],s=f[2],s=n.targetMutesSaturation,t.DarkMuted=new r.Swatch(o.hslToRgb(i,l,s),0)}if(null===t.LightMuted&&null!==t.LightVibrant){var m=t.LightVibrant.getHsl();i=m[0],l=m[1],s=m[2],s=n.targetMutesSaturation,t.LightMuted=new r.Swatch(o.hslToRgb(i,l,s),0)}}(s,0,e),s}},77234:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(73977);Object.defineProperty(e,"Default",{enumerable:!0,get:function(){return r.default}})},83614:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImageBase=void 0;var n=function(){function t(){}return t.prototype.scaleDown=function(t){var e=this.getWidth(),n=this.getHeight(),r=1;if(t.maxDimension>0){var o=Math.max(e,n);o>t.maxDimension&&(r=t.maxDimension/o)}else r=1/t.quality;r<1&&this.resize(e*r,n*r,r)},t.prototype.applyFilter=function(t){var e=this.getImageData();if("function"==typeof t)for(var n=e.data,r=n.length/4,o=void 0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebWorker=void 0;var r=n(20628);Object.defineProperty(e,"MMCQ",{enumerable:!0,get:function(){return r.default}}),e.WebWorker=null},20628:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(97248),a=r(n(5828)),i=r(n(37514));function l(t,e){for(var n=t.size();t.size()0))break;var o=r.split(),a=o[0],i=o[1];if(t.push(a),i&&i.count()>0&&t.push(i),t.size()===n)break;n=t.size()}}e.default=function(t,e){if(0===t.length||e.colorCount<2||e.colorCount>256)throw new Error("Wrong MMCQ parameters");var n=a.default.build(t),r=n.hist,s=(Object.keys(r).length,new i.default((function(t,e){return t.count()-e.count()})));s.push(n),l(s,.75*e.colorCount);var c=new i.default((function(t,e){return t.count()*t.volume()-e.count()*e.volume()}));return c.contents=s.contents,l(c,e.colorCount-c.size()),function(t){for(var e=[];t.size();){var n=t.pop(),r=n.avg();r[0],r[1],r[2],e.push(new o.Swatch(r,n.count()))}return e}(c)}},37514:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._comparator=t,this.contents=[],this._sorted=!1}return t.prototype._sort=function(){this._sorted||(this.contents.sort(this._comparator),this._sorted=!0)},t.prototype.push=function(t){this.contents.push(t),this._sorted=!1},t.prototype.peek=function(t){return this._sort(),t="number"==typeof t?t:this.contents.length-1,this.contents[t]},t.prototype.pop=function(){return this._sort(),this.contents.pop()},t.prototype.size=function(){return this.contents.length},t.prototype.map=function(t){return this._sort(),this.contents.map(t)},t}();e.default=n},5828:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(67294),o=function(){function t(t,e,n,r,o,a,i){this._volume=-1,this._count=-1,this.dimension={r1:t,r2:e,g1:n,g2:r,b1:o,b2:a},this.hist=i}return t.build=function(e,n){var o,a,i,l,s,c,u,d,h,p=1<<3*r.SIGBITS,g=new Uint32Array(p);o=i=s=0,a=l=c=Number.MAX_VALUE;for(var f=e.length/4,m=0;m>=r.RSHIFT,d>>=r.RSHIFT,h>>=r.RSHIFT,g[r.getColorIndex(u,d,h)]+=1,u>o&&(o=u),ui&&(i=d),ds&&(s=h),h>=r.RSHIFT,n>>=r.RSHIFT,o>>=r.RSHIFT,e>=i&&e<=l&&n>=s&&n<=c&&o>=u&&o<=d},t.prototype.split=function(){var t=this.hist,e=this.dimension,n=e.r1,o=e.r2,a=e.g1,i=e.g2,l=e.b1,s=e.b2,c=this.count();if(!c)return[];if(1===c)return[this.clone()];var u,d,h=o-n+1,p=i-a+1,g=s-l+1,f=Math.max(h,p,g),m=null;u=d=0;var v=null;if(f===h){v="r",m=new Uint32Array(o+1);for(var b=n;b<=o;b++){u=0;for(var A=a;A<=i;A++)for(var _=l;_<=s;_++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[b]=d}}else if(f===p)for(v="g",m=new Uint32Array(i+1),A=a;A<=i;A++){for(u=0,b=n;b<=o;b++)for(_=l;_<=s;_++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[A]=d}else for(v="b",m=new Uint32Array(s+1),_=l;_<=s;_++){for(u=0,b=n;b<=o;b++)for(A=a;A<=i;A++)u+=t[r.getColorIndex(b,A,_)];d+=u,m[_]=d}for(var y=-1,C=new Uint32Array(m.length),w=0;wd/2&&(y=w),C[w]=d-k}var x=this;return function(t){var e=t+"1",n=t+"2",r=x.dimension[e],o=x.dimension[n],a=x.clone(),i=x.clone(),l=y-r,s=o-y;for(l<=s?(o=Math.min(o-1,~~(y+s/2)),o=Math.max(0,o)):(o=Math.max(r,~~(y-1-l/2)),o=Math.min(x.dimension[n],o));!m[o];)o++;for(var c=C[o];!c&&m[o-1];)c=C[--o];return a.dimension[n]=o,i.dimension[e]=o+1,[a,i]}(v)},t}();e.default=o},67294:(t,e)=>{"use strict";function n(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return null===e?null:[e[1],e[2],e[3]].map((function(t){return parseInt(t,16)}))}function r(t,e,n){return e/=255,n/=255,t=(t/=255)>.04045?Math.pow((t+.005)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.005)/1.055,2.4):e/12.92,n=n>.04045?Math.pow((n+.005)/1.055,2.4):n/12.92,[.4124*(t*=100)+.3576*(e*=100)+.1805*(n*=100),.2126*t+.7152*e+.0722*n,.0193*t+.1192*e+.9505*n]}function o(t,e,n){return e/=100,n/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(e=e>.008856?Math.pow(e,1/3):7.787*e+16/116)-16,500*(t-e),200*(e-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]}function a(t,e,n){var a=r(t,e,n);return o(a[0],a[1],a[2])}function i(t,e){var n=t[0],r=t[1],o=t[2],a=e[0],i=e[1],l=e[2],s=n-a,c=r-i,u=o-l,d=Math.sqrt(r*r+o*o),h=a-n,p=Math.sqrt(i*i+l*l)-d,g=Math.sqrt(s*s+c*c+u*u),f=Math.sqrt(g)>Math.sqrt(Math.abs(h))+Math.sqrt(Math.abs(p))?Math.sqrt(g*g-h*h-p*p):0;return h/=1,p/=1*(1+.045*d),f/=1*(1+.015*d),Math.sqrt(h*h+p*p+f*f)}function l(t,e){return i(a.apply(void 0,t),a.apply(void 0,e))}Object.defineProperty(e,"__esModule",{value:!0}),e.getColorIndex=e.getColorDiffStatus=e.hexDiff=e.rgbDiff=e.deltaE94=e.rgbToCIELab=e.xyzToCIELab=e.rgbToXyz=e.hslToRgb=e.rgbToHsl=e.rgbToHex=e.hexToRgb=e.defer=e.RSHIFT=e.SIGBITS=e.DELTAE94_DIFF_STATUS=void 0,e.DELTAE94_DIFF_STATUS={NA:0,PERFECT:1,CLOSE:2,GOOD:10,SIMILAR:50},e.SIGBITS=5,e.RSHIFT=8-e.SIGBITS,e.defer=function(){var t,e,n=new Promise((function(n,r){t=n,e=r}));return{resolve:t,reject:e,promise:n}},e.hexToRgb=n,e.rgbToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1,7)},e.rgbToHsl=function(t,e,n){t/=255,e/=255,n/=255;var r,o,a=Math.max(t,e,n),i=Math.min(t,e,n),l=(a+i)/2;if(a===i)r=o=0;else{var s=a-i;switch(o=l>.5?s/(2-a-i):s/(a+i),a){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(0===e)r=o=a=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;r=i(s,l,t+1/3),o=i(s,l,t),a=i(s,l,t-1/3)}return[255*r,255*o,255*a]},e.rgbToXyz=r,e.xyzToCIELab=o,e.rgbToCIELab=a,e.deltaE94=i,e.rgbDiff=l,e.hexDiff=function(t,e){return l(n(t),n(e))},e.getColorDiffStatus=function(t){return t{}},a={};function i(t){var e=a[t];if(void 0!==e)return e.exports;var n=a[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=o,e=[],i.O=(t,n,r,o)=>{if(!n){var a=1/0;for(u=0;u=o)&&Object.keys(i.O).every((t=>i.O[t](n[s])))?n.splice(s--,1):(l=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,n)=>(i.f[n](t,e),e)),[])),i.u=t=>t+"-"+t+".js?v="+{4720:"67ff1816113751e83e78",6512:"930a9f0a458cd206d9d1"}[t],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",i.l=(t,e,o,a)=>{if(n[t])n[t].push(e);else{var l,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(p);var o=n[t];if(delete n[t],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((t=>t(r))),e)return e(r)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=h.bind(null,l.onerror),l.onload=h.bind(null,l.onload),s&&document.head.appendChild(l)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=1474,(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{i.b=document.baseURI||self.location.href;var t={1474:0};i.f.j=(e,n)=>{var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var a=i.p+i.u(e),l=new Error;i.l(a,(n=>{if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,r[1](l)}}),"chunk-"+e,e)}},i.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,a=n[0],l=n[1],s=n[2],c=0;if(a.some((e=>0!==t[e]))){for(r in l)i.o(l,r)&&(i.m[r]=l[r]);if(s)var u=s(i)}for(e&&e(n);ci(72347)));l=i.O(l)})(); +//# sourceMappingURL=theming-personal-theming.js.map?v=eb9d7284a650de502fec \ No newline at end of file diff --git a/dist/theming-personal-theming.js.map b/dist/theming-personal-theming.js.map index dee5e397997..e75ba4c5038 100644 --- a/dist/theming-personal-theming.js.map +++ b/dist/theming-personal-theming.js.map @@ -1 +1 @@ -{"version":3,"file":"theming-personal-theming.js?v=ef365cb983171d4be6f1","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ImageEdit.vue?e9bd","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue?vue&type=template&id=7bb2aa9c","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?0f9a","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?65db","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?da76","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?7631","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?69ad","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?8797","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue","webpack:///nextcloud/node_modules/sortablejs/modular/sortable.esm.js","webpack:///nextcloud/node_modules/@vueuse/integrations/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?649a","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?aad4","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue","webpack:///nextcloud/node_modules/@vueuse/integrations/useSortable.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?96a5","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?dbd7","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Undo.vue?d998","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue?vue&type=template&id=bc8e3c2a","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/UserAppMenuSection.vue?fab3","webpack://nextcloud/./apps/theming/src/components/UserAppMenuSection.vue?402e","webpack:///nextcloud/apps/theming/src/UserThemes.vue","webpack:///nextcloud/apps/theming/src/UserThemes.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/UserThemes.vue?6be3","webpack://nextcloud/./apps/theming/src/UserThemes.vue?7eb2","webpack://nextcloud/./apps/theming/src/UserThemes.vue?b683","webpack:///nextcloud/apps/theming/src/personal-settings.js","webpack:///nextcloud/apps/theming/src/helpers/refreshStyles.js","webpack:///nextcloud/apps/theming/src/UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue?vue&type=style&index=0&id=ee0f3d1a&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/lodash/_baseEach.js","webpack:///nextcloud/node_modules/lodash/_baseFilter.js","webpack:///nextcloud/node_modules/lodash/_baseForOwn.js","webpack:///nextcloud/node_modules/lodash/_createBaseEach.js","webpack:///nextcloud/node_modules/lodash/defaults.js","webpack:///nextcloud/node_modules/lodash/filter.js","webpack:///nextcloud/node_modules/node-vibrant/lib/browser.js","webpack:///nextcloud/node_modules/node-vibrant/lib/builder.js","webpack:///nextcloud/node_modules/node-vibrant/lib/color.js","webpack:///nextcloud/node_modules/node-vibrant/lib/filter/default.js","webpack:///nextcloud/node_modules/node-vibrant/lib/filter/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/generator/default.js","webpack:///nextcloud/node_modules/node-vibrant/lib/generator/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/image/base.js","webpack:///nextcloud/node_modules/node-vibrant/lib/image/browser.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/mmcq.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/pqueue.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/vbox.js","webpack:///nextcloud/node_modules/node-vibrant/lib/util.js","webpack:///nextcloud/node_modules/node-vibrant/lib/vibrant.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ImageEdit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ImageEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageEdit.vue?vue&type=template&id=7bb2aa9c\"\nimport script from \"./ImageEdit.vue?vue&type=script&lang=js\"\nexport * from \"./ImageEdit.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon image-edit-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.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!./BackgroundSettings.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BackgroundSettings.vue?vue&type=template&id=1175e65a&scoped=true\"\nimport script from \"./BackgroundSettings.vue?vue&type=script&lang=js\"\nexport * from \"./BackgroundSettings.vue?vue&type=script&lang=js\"\nimport style0 from \"./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1175e65a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-selector\",attrs:{\"data-user-theming-background-settings\":\"\"}},[_c('button',{class:{\n\t\t\t'icon-loading': _vm.loading === 'custom',\n\t\t\t'background background__filepicker': true,\n\t\t\t'background--active': _vm.backgroundImage === 'custom'\n\t\t},attrs:{\"aria-pressed\":_vm.backgroundImage === 'custom',\"data-color-bright\":_vm.invertTextColor(_vm.Theming.color),\"data-user-theming-background-custom\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.pickFile}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Custom background'))+\"\\n\\t\\t\"),(_vm.backgroundImage !== 'custom')?_c('ImageEdit',{attrs:{\"size\":26}}):_vm._e(),_vm._v(\" \"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_c('button',{class:{\n\t\t\t'icon-loading': _vm.loading === 'default',\n\t\t\t'background background__default': true,\n\t\t\t'background--active': _vm.backgroundImage === 'default'\n\t\t},style:({ '--border-color': _vm.Theming.defaultColor }),attrs:{\"aria-pressed\":_vm.backgroundImage === 'default',\"data-color-bright\":_vm.invertTextColor(_vm.Theming.defaultColor),\"data-user-theming-background-default\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.setDefault}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Default background'))+\"\\n\\t\\t\"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_c('div',{staticClass:\"background-color\",attrs:{\"data-user-theming-background-color\":\"\"}},[_c('NcColorPicker',{on:{\"input\":_vm.debouncePickColor},model:{value:(_vm.Theming.color),callback:function ($$v) {_vm.$set(_vm.Theming, \"color\", $$v)},expression:\"Theming.color\"}},[_c('NcButton',{attrs:{\"type\":\"ternary\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Change color'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('button',{class:{\n\t\t\t'background background__delete': true,\n\t\t\t'background--active': _vm.isBackgroundDisabled\n\t\t},attrs:{\"aria-pressed\":_vm.isBackgroundDisabled,\"data-user-theming-background-clear\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.removeBackground}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'No background'))+\"\\n\\t\\t\"),(!_vm.isBackgroundDisabled)?_c('Close',{attrs:{\"size\":32}}):_vm._e(),_vm._v(\" \"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_vm._l((_vm.shippedBackgrounds),function(shippedBackground){return _c('button',{key:shippedBackground.name,class:{\n\t\t\t'background background__shipped': true,\n\t\t\t'icon-loading': _vm.loading === shippedBackground.name,\n\t\t\t'background--active': _vm.backgroundImage === shippedBackground.name\n\t\t},style:({ backgroundImage: 'url(' + shippedBackground.preview + ')', '--border-color': shippedBackground.details.primary_color }),attrs:{\"title\":shippedBackground.details.attribution,\"aria-label\":shippedBackground.details.description,\"aria-pressed\":_vm.backgroundImage === shippedBackground.name,\"data-color-bright\":shippedBackground.details.theming === 'dark',\"data-user-theming-background-shipped\":shippedBackground.name,\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.setShipped(shippedBackground.name)}}},[_c('Check',{attrs:{\"size\":44}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"theming__preview\",class:'theming__preview--' + _vm.theme.id},[_c('div',{staticClass:\"theming__preview-image\",style:({ backgroundImage: 'url(' + _vm.img + ')' }),on:{\"click\":_vm.onToggle}}),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-description\"},[_c('h3',[_vm._v(_vm._s(_vm.theme.title))]),_vm._v(\" \"),_c('p',{staticClass:\"theming__preview-explanation\"},[_vm._v(_vm._s(_vm.theme.description))]),_vm._v(\" \"),(_vm.enforced)?_c('span',{staticClass:\"theming__preview-warning\",attrs:{\"role\":\"note\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Theme selection is enforced'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{staticClass:\"theming__preview-toggle\",attrs:{\"checked\":_vm.checked,\"disabled\":_vm.enforced,\"name\":_vm.name,\"type\":_vm.switchType},on:{\"update:checked\":function($event){_vm.checked=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.theme.enableLabel)+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.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!./ItemPreview.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ItemPreview.vue?vue&type=template&id=1a08e35a&scoped=true\"\nimport script from \"./ItemPreview.vue?vue&type=script&lang=js\"\nexport * from \"./ItemPreview.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a08e35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Navigation bar settings')}},[_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'You can configure the app order used for the navigation bar. The first entry will be the default app, opened after login or when clicking on the logo.'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.enforcedDefaultApp)?_c('NcNoteCard',{attrs:{\"id\":_vm.elementIdEnforcedDefaultApp,\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The default app can not be changed because it was configured by the administrator.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasAppOrderChanged)?_c('NcNoteCard',{attrs:{\"id\":_vm.elementIdAppOrderChanged,\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The app order was changed, to see it in action you have to reload the page.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('AppOrderSelector',{staticClass:\"user-app-menu-order\",attrs:{\"aria-details\":_vm.ariaDetailsAppOrder,\"value\":_vm.appOrder},on:{\"update:value\":_vm.updateAppOrder}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"data-test-id\":\"btn-apporder-reset\",\"disabled\":!_vm.hasCustomAppOrder,\"type\":\"tertiary\"},on:{\"click\":_vm.resetAppOrder},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconUndo',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Reset default app order'))+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('li',{class:{\n\t\t'order-selector-element': true,\n\t\t'order-selector-element--disabled': _vm.app.default\n\t},attrs:{\"data-cy-app-order-element\":_vm.app.id},on:{\"focusin\":function($event){return _vm.$emit('update:focus')}}},[_c('svg',{attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"role\":\"presentation\"}},[_c('image',{staticClass:\"order-selector-element__icon\",attrs:{\"preserveAspectRatio\":\"xMinYMin meet\",\"x\":\"0\",\"y\":\"0\",\"width\":\"20\",\"height\":\"20\",\"xlink:href\":_vm.app.icon}})]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__label\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.label ?? _vm.app.id)+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__actions\"},[_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFirst && !_vm.app.default),expression:\"!isFirst && !app.default\"}],ref:\"buttonUp\",attrs:{\"aria-label\":_vm.t('settings', 'Move up'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"up\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveUp},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowUp',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFirst || !!_vm.app.default),expression:\"isFirst || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLast && !_vm.app.default),expression:\"!isLast && !app.default\"}],ref:\"buttonDown\",attrs:{\"aria-label\":_vm.t('settings', 'Move down'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"down\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveDown},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowDown',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLast || !!_vm.app.default),expression:\"isLast || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelectorElement.vue?vue&type=template&id=081ebc45&scoped=true\"\nimport script from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081ebc45\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('div',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.statusInfoId,\"aria-live\":\"polite\",\"role\":\"status\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.statusInfo)+\"\\n\\t\")]),_vm._v(\" \"),_c('ol',{ref:\"listElement\",staticClass:\"order-selector\",attrs:{\"data-cy-app-order\":\"\"}},_vm._l((_vm.appList),function(app,index){return _c('AppOrderSelectorElement',_vm._g({key:`${app.id}${_vm.renderCount}`,ref:\"selectorElements\",refInFor:true,attrs:{\"app\":app,\"aria-details\":_vm.ariaDetails,\"aria-describedby\":_vm.statusInfoId,\"is-first\":index === 0 || !!_vm.appList[index - 1].default,\"is-last\":index === _vm.value.length - 1}},app.default ? {} : {\n\t\t\t\t'move:up': () => _vm.moveUp(index),\n\t\t\t\t'move:down': () => _vm.moveDown(index),\n\t\t\t\t'update:focus': () => _vm.updateStatusInfo(index),\n\t\t\t}))}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { tryOnMounted, tryOnScopeDispose, toValue, unrefElement, defaultDocument } from '@vueuse/core';\nimport Sortable from 'sortablejs';\nimport { isRef, nextTick } from 'vue-demi';\n\nfunction useSortable(el, list, options = {}) {\n let sortable;\n const { document = defaultDocument, ...resetOptions } = options;\n const defaultOptions = {\n onUpdate: (e) => {\n moveArrayElement(list, e.oldIndex, e.newIndex);\n }\n };\n const start = () => {\n const target = typeof el === \"string\" ? document == null ? void 0 : document.querySelector(el) : unrefElement(el);\n if (!target || sortable !== void 0)\n return;\n sortable = new Sortable(target, { ...defaultOptions, ...resetOptions });\n };\n const stop = () => {\n sortable == null ? void 0 : sortable.destroy();\n sortable = void 0;\n };\n const option = (name, value) => {\n if (value !== void 0)\n sortable == null ? void 0 : sortable.option(name, value);\n else\n return sortable == null ? void 0 : sortable.option(name);\n };\n tryOnMounted(start);\n tryOnScopeDispose(stop);\n return { stop, start, option };\n}\nfunction moveArrayElement(list, from, to) {\n const _valueIsRef = isRef(list);\n const array = _valueIsRef ? [...toValue(list)] : toValue(list);\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n nextTick(() => {\n array.splice(to, 0, element);\n if (_valueIsRef)\n list.value = array;\n });\n }\n}\n\nexport { moveArrayElement, useSortable };\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelector.vue?vue&type=template&id=35797e31&scoped=true\"\nimport script from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelector.vue?vue&type=style&index=0&id=35797e31&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35797e31\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Undo.vue?vue&type=template&id=bc8e3c2a\"\nimport script from \"./Undo.vue?vue&type=script&lang=js\"\nexport * from \"./Undo.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=style&index=0&id=ee0f3d1a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=style&index=0&id=ee0f3d1a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserAppMenuSection.vue?vue&type=template&id=ee0f3d1a&scoped=true\"\nimport script from \"./UserAppMenuSection.vue?vue&type=script&lang=ts\"\nexport * from \"./UserAppMenuSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserAppMenuSection.vue?vue&type=style&index=0&id=ee0f3d1a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ee0f3d1a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.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!./UserThemes.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserThemes.vue?vue&type=template&id=d643b9e0&scoped=true\"\nimport script from \"./UserThemes.vue?vue&type=script&lang=js\"\nexport * from \"./UserThemes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d643b9e0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('NcSettingsSection',{staticClass:\"theming\",attrs:{\"name\":_vm.t('theming', 'Appearance and accessibility settings'),\"limit-width\":false}},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.description)}}),_vm._v(\" \"),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.descriptionDetail)}}),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-list\"},_vm._l((_vm.themes),function(theme){return _c('ItemPreview',{key:theme.id,attrs:{\"enforced\":theme.id === _vm.enforceTheme,\"selected\":_vm.selectedTheme.id === theme.id,\"theme\":theme,\"unique\":_vm.themes.length === 1,\"type\":\"theme\"},on:{\"change\":_vm.changeTheme}})}),1),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-list\"},_vm._l((_vm.fonts),function(theme){return _c('ItemPreview',{key:theme.id,attrs:{\"selected\":theme.enabled,\"theme\":theme,\"unique\":_vm.fonts.length === 1,\"type\":\"font\"},on:{\"change\":_vm.changeFont}})}),1)]),_vm._v(\" \"),_c('NcSettingsSection',{staticClass:\"background\",attrs:{\"name\":_vm.t('theming', 'Background'),\"data-user-theming-background-disabled\":\"\"}},[(_vm.isUserThemingDisabled)?[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'Customization has been disabled by your administrator')))])]:[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'Set a custom background')))]),_vm._v(\" \"),_c('BackgroundSettings',{staticClass:\"background__grid\",on:{\"update:background\":_vm.refreshGlobalStyles}})]],2),_vm._v(\" \"),_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Keyboard shortcuts')}},[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.')))]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{staticClass:\"theming__preview-toggle\",attrs:{\"checked\":_vm.shortcutsDisabled,\"type\":\"switch\"},on:{\"update:checked\":function($event){_vm.shortcutsDisabled=$event},\"change\":_vm.changeShortcutsDisabled}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Disable all keyboard shortcuts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('UserAppMenuSection')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\n\nimport { refreshStyles } from './helpers/refreshStyles.js'\nimport App from './UserThemes.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst theming = new View()\ntheming.$mount('#theming')\ntheming.$on('update:background', refreshStyles)\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport const refreshStyles = () => {\n\t// Refresh server-side generated theming CSS\n\t[...document.head.querySelectorAll('link.theme')].forEach(theme => {\n\t\tconst url = new URL(theme.href)\n\t\turl.searchParams.set('v', Date.now())\n\t\tconst newTheme = theme.cloneNode()\n\t\tnewTheme.href = url.toString()\n\t\tnewTheme.onload = () => theme.remove()\n\t\tdocument.head.append(newTheme)\n\t})\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.theming p[data-v-d643b9e0]{max-width:800px}.theming[data-v-d643b9e0] a{font-weight:bold}.theming[data-v-d643b9e0] a:hover,.theming[data-v-d643b9e0] a:focus{text-decoration:underline}.theming__preview-list[data-v-d643b9e0]{--gap: 30px;display:grid;margin-top:var(--gap);column-gap:var(--gap);row-gap:var(--gap);grid-template-columns:1fr 1fr}.background__grid[data-v-d643b9e0]{margin-top:30px}@media(max-width: 1440px){.theming__preview-list[data-v-d643b9e0]{display:flex;flex-direction:column}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/UserThemes.vue\"],\"names\":[],\"mappings\":\"AAGC,4BACC,eAAA,CAID,4BACC,gBAAA,CAEA,oEAEC,yBAAA,CAIF,wCACC,WAAA,CAEA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,6BAAA,CAKD,mCACC,eAAA,CAIF,0BACC,wCACC,YAAA,CACA,qBAAA,CAAA\",\"sourcesContent\":[\"\\n.theming {\\n\\t// Limit width of settings sections for readability\\n\\tp {\\n\\t\\tmax-width: 800px;\\n\\t}\\n\\n\\t// Proper highlight for links and focus feedback\\n\\t&::v-deep a {\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview-list {\\n\\t\\t--gap: 30px;\\n\\n\\t\\tdisplay: grid;\\n\\t\\tmargin-top: var(--gap);\\n\\t\\tcolumn-gap: var(--gap);\\n\\t\\trow-gap: var(--gap);\\n\\t\\tgrid-template-columns: 1fr 1fr;\\n\\t}\\n}\\n\\n.background {\\n\\t&__grid {\\n\\t\\tmargin-top: 30px;\\n\\t}\\n}\\n\\n@media (max-width: 1440px) {\\n\\t.theming__preview-list {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector[data-v-35797e31]{width:max-content;min-width:260px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelector.vue\"],\"names\":[],\"mappings\":\"AACA,iCACC,iBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.order-selector {\\n\\twidth: max-content;\\n\\tmin-width: 260px; // align with NcSelect\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelectorElement.vue\"],\"names\":[],\"mappings\":\"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA\",\"sourcesContent\":[\"\\n.order-selector-element {\\n\\t// hide default styling\\n\\tlist-style: none;\\n\\t// Align children\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\talign-items: center;\\n\\t// Spacing\\n\\tgap: 12px;\\n\\tpadding-inline: 12px;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\tborder-color: var(--color-text-maxcontrast);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t.order-selector-element__icon {\\n\\t\\t\\topacity: 75%;\\n\\t\\t}\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 6px;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tflex: 1 1;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__placeholder {\\n\\t\\theight: 44px;\\n\\t\\twidth: 44px;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tfilter: var(--background-invert-if-bright);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.background-selector[data-v-1175e65a]{display:flex;flex-wrap:wrap;justify-content:center}.background-selector .background-color[data-v-1175e65a]{display:flex;justify-content:center;align-items:center;width:176px;height:96px;margin:8px;border-radius:var(--border-radius-large);background-color:var(--color-primary)}.background-selector .background[data-v-1175e65a]{overflow:hidden;width:176px;height:96px;margin:8px;text-align:center;border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);background-position:center center;background-size:cover}.background-selector .background__filepicker.background--active[data-v-1175e65a]{color:#fff;background-image:var(--image-background)}.background-selector .background__default[data-v-1175e65a]{background-color:var(--color-primary-default);background-image:linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)),var(--image-background-plain, var(--image-background-default))}.background-selector .background__filepicker[data-v-1175e65a],.background-selector .background__default[data-v-1175e65a],.background-selector .background__color[data-v-1175e65a]{border-color:var(--color-border)}.background-selector .background__default[data-v-1175e65a],.background-selector .background__shipped[data-v-1175e65a]{color:#fff}.background-selector .background[data-color-bright][data-v-1175e65a]{color:#000}.background-selector .background--active[data-v-1175e65a],.background-selector .background[data-v-1175e65a]:hover,.background-selector .background[data-v-1175e65a]:focus{outline:2px solid var(--color-main-text) !important;border-color:var(--color-main-background) !important}.background-selector .background span[data-v-1175e65a]{margin:4px}.background-selector .background .check-icon[data-v-1175e65a]{display:none}.background-selector .background--active:not(.icon-loading) .check-icon[data-v-1175e65a]{display:block !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/BackgroundSettings.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,YAAA,CACA,cAAA,CACA,sBAAA,CAEA,wDACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,wCAAA,CACA,qCAAA,CAGD,kDACC,eAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,6CAAA,CACA,wCAAA,CACA,iCAAA,CACA,qBAAA,CAGC,iFACC,UAAA,CACA,wCAAA,CAIF,2DACC,6CAAA,CACA,wJAAA,CAGD,kLACC,gCAAA,CAID,sHAEC,UAAA,CAID,qEACC,UAAA,CAGD,0KAGC,mDAAA,CACA,oDAAA,CAID,uDACC,UAAA,CAGD,8DACC,YAAA,CAIA,yFAEC,wBAAA\",\"sourcesContent\":[\"\\n.background-selector {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tjustify-content: center;\\n\\n\\t.background-color {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 176px;\\n\\t\\theight: 96px;\\n\\t\\tmargin: 8px;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t.background {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: 176px;\\n\\t\\theight: 96px;\\n\\t\\tmargin: 8px;\\n\\t\\ttext-align: center;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: cover;\\n\\n\\t\\t&__filepicker {\\n\\t\\t\\t&.background--active {\\n\\t\\t\\t\\tcolor: white;\\n\\t\\t\\t\\tbackground-image: var(--image-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__default {\\n\\t\\t\\tbackground-color: var(--color-primary-default);\\n\\t\\t\\tbackground-image: linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)), var(--image-background-plain, var(--image-background-default));\\n\\t\\t}\\n\\n\\t\\t&__filepicker, &__default, &__color {\\n\\t\\t\\tborder-color: var(--color-border);\\n\\t\\t}\\n\\n\\t\\t// Over a background image\\n\\t\\t&__default,\\n\\t\\t&__shipped {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t// Text and svg icon dark on bright background\\n\\t\\t&[data-color-bright] {\\n\\t\\t\\tcolor: black;\\n\\t\\t}\\n\\n\\t\\t&--active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\tborder-color: var(--color-main-background) !important;\\n\\t\\t}\\n\\n\\t\\t// Icon\\n\\t\\tspan {\\n\\t\\t\\tmargin: 4px;\\n\\t\\t}\\n\\n\\t\\t.check-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t&--active:not(.icon-loading) {\\n\\t\\t\\t.check-icon {\\n\\t\\t\\t\\t// Show checkmark\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.theming__preview[data-v-1a08e35a]{--ratio: 16;position:relative;display:flex;justify-content:flex-start;max-width:800px}.theming__preview[data-v-1a08e35a],.theming__preview *[data-v-1a08e35a]{user-select:none}.theming__preview-image[data-v-1a08e35a]{flex-basis:calc(16px*var(--ratio));flex-shrink:0;height:calc(10px*var(--ratio));margin-right:var(--gap);cursor:pointer;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:top left;background-size:cover}.theming__preview-explanation[data-v-1a08e35a]{margin-bottom:10px}.theming__preview-description[data-v-1a08e35a]{display:flex;flex-direction:column}.theming__preview-description h3[data-v-1a08e35a]{font-weight:bold;margin-bottom:0}.theming__preview-description label[data-v-1a08e35a]{padding:12px 0}.theming__preview--default[data-v-1a08e35a]{grid-column:span 2}.theming__preview-warning[data-v-1a08e35a]{color:var(--color-warning)}@media(max-width: 682.6666666667px){.theming__preview[data-v-1a08e35a]{flex-direction:column}.theming__preview-image[data-v-1a08e35a]{margin:0}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/ItemPreview.vue\"],\"names\":[],\"mappings\":\"AAGA,mCAEC,WAAA,CAEA,iBAAA,CACA,YAAA,CACA,0BAAA,CACA,eAAA,CAEA,wEAEC,gBAAA,CAGD,yCACC,kCAAA,CACA,aAAA,CACA,8BAAA,CACA,uBAAA,CACA,cAAA,CACA,kCAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBAAA,CAGD,+CACC,kBAAA,CAGD,+CACC,YAAA,CACA,qBAAA,CAEA,kDACC,gBAAA,CACA,eAAA,CAGD,qDACC,cAAA,CAIF,4CACC,kBAAA,CAGD,2CACC,0BAAA,CAIF,oCACC,mCACC,qBAAA,CAEA,yCACC,QAAA,CAAA\",\"sourcesContent\":[\"\\n@use 'sass:math';\\n\\n.theming__preview {\\n\\t// We make previews on 16/10 screens\\n\\t--ratio: 16;\\n\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tjustify-content: flex-start;\\n\\tmax-width: 800px;\\n\\n\\t&,\\n\\t* {\\n\\t\\tuser-select: none;\\n\\t}\\n\\n\\t&-image {\\n\\t\\tflex-basis: calc(16px * var(--ratio));\\n\\t\\tflex-shrink: 0;\\n\\t\\theight: calc(10px * var(--ratio));\\n\\t\\tmargin-right: var(--gap);\\n\\t\\tcursor: pointer;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: top left;\\n\\t\\tbackground-size: cover;\\n\\t}\\n\\n\\t&-explanation {\\n\\t\\tmargin-bottom: 10px;\\n\\t}\\n\\n\\t&-description {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\th3 {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\tlabel {\\n\\t\\t\\tpadding: 12px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&--default {\\n\\t\\tgrid-column: span 2;\\n\\t}\\n\\n\\t&-warning {\\n\\t\\tcolor: var(--color-warning);\\n\\t}\\n}\\n\\n@media (max-width: math.div(1024px, 1.5)) {\\n\\t.theming__preview {\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&-image {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-app-menu-order[data-v-ee0f3d1a]{margin-block:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/UserAppMenuSection.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,iBAAA\",\"sourcesContent\":[\"\\n.user-app-menu-order {\\n\\tmargin-block: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar vibrant_1 = __importDefault(require(\"./vibrant\"));\nvar browser_1 = __importDefault(require(\"./image/browser\"));\nvibrant_1.default.DefaultOpts.ImageClass = browser_1.default;\nmodule.exports = vibrant_1.default;\n//# sourceMappingURL=browser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar vibrant_1 = __importDefault(require(\"./vibrant\"));\nvar clone = require(\"lodash/clone\");\nvar Builder = /** @class */ (function () {\n function Builder(src, opts) {\n if (opts === void 0) { opts = {}; }\n this._src = src;\n this._opts = opts;\n this._opts.filters = clone(vibrant_1.default.DefaultOpts.filters);\n }\n Builder.prototype.maxColorCount = function (n) {\n this._opts.colorCount = n;\n return this;\n };\n Builder.prototype.maxDimension = function (d) {\n this._opts.maxDimension = d;\n return this;\n };\n Builder.prototype.addFilter = function (f) {\n this._opts.filters.push(f);\n return this;\n };\n Builder.prototype.removeFilter = function (f) {\n var i = this._opts.filters.indexOf(f);\n if (i > 0)\n this._opts.filters.splice(i);\n return this;\n };\n Builder.prototype.clearFilters = function () {\n this._opts.filters = [];\n return this;\n };\n Builder.prototype.quality = function (q) {\n this._opts.quality = q;\n return this;\n };\n Builder.prototype.useImageClass = function (imageClass) {\n this._opts.ImageClass = imageClass;\n return this;\n };\n Builder.prototype.useGenerator = function (generator) {\n this._opts.generator = generator;\n return this;\n };\n Builder.prototype.useQuantizer = function (quantizer) {\n this._opts.quantizer = quantizer;\n return this;\n };\n Builder.prototype.build = function () {\n return new vibrant_1.default(this._src, this._opts);\n };\n Builder.prototype.getPalette = function (cb) {\n return this.build().getPalette(cb);\n };\n Builder.prototype.getSwatches = function (cb) {\n return this.build().getPalette(cb);\n };\n return Builder;\n}());\nexports.default = Builder;\n//# sourceMappingURL=builder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Swatch = void 0;\nvar util_1 = require(\"./util\");\nvar filter = require(\"lodash/filter\");\nvar Swatch = /** @class */ (function () {\n function Swatch(rgb, population) {\n this._rgb = rgb;\n this._population = population;\n }\n Swatch.applyFilter = function (colors, f) {\n return typeof f === 'function'\n ? filter(colors, function (_a) {\n var r = _a.r, g = _a.g, b = _a.b;\n return f(r, g, b, 255);\n })\n : colors;\n };\n Object.defineProperty(Swatch.prototype, \"r\", {\n get: function () { return this._rgb[0]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"g\", {\n get: function () { return this._rgb[1]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"b\", {\n get: function () { return this._rgb[2]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"rgb\", {\n get: function () { return this._rgb; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"hsl\", {\n get: function () {\n if (!this._hsl) {\n var _a = this._rgb, r = _a[0], g = _a[1], b = _a[2];\n this._hsl = util_1.rgbToHsl(r, g, b);\n }\n return this._hsl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"hex\", {\n get: function () {\n if (!this._hex) {\n var _a = this._rgb, r = _a[0], g = _a[1], b = _a[2];\n this._hex = util_1.rgbToHex(r, g, b);\n }\n return this._hex;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"population\", {\n get: function () { return this._population; },\n enumerable: false,\n configurable: true\n });\n Swatch.prototype.toJSON = function () {\n return {\n rgb: this.rgb,\n population: this.population\n };\n };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getRgb = function () { return this._rgb; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getHsl = function () { return this.hsl; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getPopulation = function () { return this._population; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getHex = function () { return this.hex; };\n Swatch.prototype.getYiq = function () {\n if (!this._yiq) {\n var rgb = this._rgb;\n this._yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n }\n return this._yiq;\n };\n Object.defineProperty(Swatch.prototype, \"titleTextColor\", {\n get: function () {\n if (!this._titleTextColor) {\n this._titleTextColor = this.getYiq() < 200 ? '#fff' : '#000';\n }\n return this._titleTextColor;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"bodyTextColor\", {\n get: function () {\n if (!this._bodyTextColor) {\n this._bodyTextColor = this.getYiq() < 150 ? '#fff' : '#000';\n }\n return this._bodyTextColor;\n },\n enumerable: false,\n configurable: true\n });\n Swatch.prototype.getTitleTextColor = function () {\n return this.titleTextColor;\n };\n Swatch.prototype.getBodyTextColor = function () {\n return this.bodyTextColor;\n };\n return Swatch;\n}());\nexports.Swatch = Swatch;\n//# sourceMappingURL=color.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction defaultFilter(r, g, b, a) {\n return a >= 125 &&\n !(r > 250 && g > 250 && b > 250);\n}\nexports.default = defaultFilter;\n//# sourceMappingURL=default.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineFilters = void 0;\nvar default_1 = require(\"./default\");\nObject.defineProperty(exports, \"Default\", { enumerable: true, get: function () { return default_1.default; } });\nfunction combineFilters(filters) {\n // TODO: caching\n if (!Array.isArray(filters) || filters.length === 0)\n return null;\n return function (r, g, b, a) {\n if (a === 0)\n return false;\n for (var i = 0; i < filters.length; i++) {\n if (!filters[i](r, g, b, a))\n return false;\n }\n return true;\n };\n}\nexports.combineFilters = combineFilters;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"../color\");\nvar util_1 = require(\"../util\");\nvar defaults = require(\"lodash/defaults\");\nvar DefaultOpts = {\n targetDarkLuma: 0.26,\n maxDarkLuma: 0.45,\n minLightLuma: 0.55,\n targetLightLuma: 0.74,\n minNormalLuma: 0.3,\n targetNormalLuma: 0.5,\n maxNormalLuma: 0.7,\n targetMutesSaturation: 0.3,\n maxMutesSaturation: 0.4,\n targetVibrantSaturation: 1.0,\n minVibrantSaturation: 0.35,\n weightSaturation: 3,\n weightLuma: 6.5,\n weightPopulation: 0.5\n};\nfunction _findMaxPopulation(swatches) {\n var p = 0;\n swatches.forEach(function (s) {\n p = Math.max(p, s.getPopulation());\n });\n return p;\n}\nfunction _isAlreadySelected(palette, s) {\n return palette.Vibrant === s ||\n palette.DarkVibrant === s ||\n palette.LightVibrant === s ||\n palette.Muted === s ||\n palette.DarkMuted === s ||\n palette.LightMuted === s;\n}\nfunction _createComparisonValue(saturation, targetSaturation, luma, targetLuma, population, maxPopulation, opts) {\n function weightedMean() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var sum = 0;\n var weightSum = 0;\n for (var i = 0; i < values.length; i += 2) {\n var value = values[i];\n var weight = values[i + 1];\n sum += value * weight;\n weightSum += weight;\n }\n return sum / weightSum;\n }\n function invertDiff(value, targetValue) {\n return 1 - Math.abs(value - targetValue);\n }\n return weightedMean(invertDiff(saturation, targetSaturation), opts.weightSaturation, invertDiff(luma, targetLuma), opts.weightLuma, population / maxPopulation, opts.weightPopulation);\n}\nfunction _findColorVariation(palette, swatches, maxPopulation, targetLuma, minLuma, maxLuma, targetSaturation, minSaturation, maxSaturation, opts) {\n var max = null;\n var maxValue = 0;\n swatches.forEach(function (swatch) {\n var _a = swatch.getHsl(), s = _a[1], l = _a[2];\n if (s >= minSaturation && s <= maxSaturation &&\n l >= minLuma && l <= maxLuma &&\n !_isAlreadySelected(palette, swatch)) {\n var value = _createComparisonValue(s, targetSaturation, l, targetLuma, swatch.getPopulation(), maxPopulation, opts);\n if (max === null || value > maxValue) {\n max = swatch;\n maxValue = value;\n }\n }\n });\n return max;\n}\nfunction _generateVariationColors(swatches, maxPopulation, opts) {\n var palette = {};\n // mVibrantSwatch = findColor(TARGET_NORMAL_LUMA, MIN_NORMAL_LUMA, MAX_NORMAL_LUMA,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.Vibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetNormalLuma, opts.minNormalLuma, opts.maxNormalLuma, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mLightVibrantSwatch = findColor(TARGET_LIGHT_LUMA, MIN_LIGHT_LUMA, 1f,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.LightVibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetLightLuma, opts.minLightLuma, 1, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mDarkVibrantSwatch = findColor(TARGET_DARK_LUMA, 0f, MAX_DARK_LUMA,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.DarkVibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetDarkLuma, 0, opts.maxDarkLuma, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mMutedSwatch = findColor(TARGET_NORMAL_LUMA, MIN_NORMAL_LUMA, MAX_NORMAL_LUMA,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.Muted = _findColorVariation(palette, swatches, maxPopulation, opts.targetNormalLuma, opts.minNormalLuma, opts.maxNormalLuma, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n // mLightMutedColor = findColor(TARGET_LIGHT_LUMA, MIN_LIGHT_LUMA, 1f,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.LightMuted = _findColorVariation(palette, swatches, maxPopulation, opts.targetLightLuma, opts.minLightLuma, 1, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n // mDarkMutedSwatch = findColor(TARGET_DARK_LUMA, 0f, MAX_DARK_LUMA,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.DarkMuted = _findColorVariation(palette, swatches, maxPopulation, opts.targetDarkLuma, 0, opts.maxDarkLuma, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n return palette;\n}\nfunction _generateEmptySwatches(palette, maxPopulation, opts) {\n if (palette.Vibrant === null && palette.DarkVibrant === null && palette.LightVibrant === null) {\n if (palette.DarkVibrant === null && palette.DarkMuted !== null) {\n var _a = palette.DarkMuted.getHsl(), h = _a[0], s = _a[1], l = _a[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightVibrant === null && palette.LightMuted !== null) {\n var _b = palette.LightMuted.getHsl(), h = _b[0], s = _b[1], l = _b[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n }\n if (palette.Vibrant === null && palette.DarkVibrant !== null) {\n var _c = palette.DarkVibrant.getHsl(), h = _c[0], s = _c[1], l = _c[2];\n l = opts.targetNormalLuma;\n palette.Vibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n else if (palette.Vibrant === null && palette.LightVibrant !== null) {\n var _d = palette.LightVibrant.getHsl(), h = _d[0], s = _d[1], l = _d[2];\n l = opts.targetNormalLuma;\n palette.Vibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.DarkVibrant === null && palette.Vibrant !== null) {\n var _e = palette.Vibrant.getHsl(), h = _e[0], s = _e[1], l = _e[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightVibrant === null && palette.Vibrant !== null) {\n var _f = palette.Vibrant.getHsl(), h = _f[0], s = _f[1], l = _f[2];\n l = opts.targetLightLuma;\n palette.LightVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.Muted === null && palette.Vibrant !== null) {\n var _g = palette.Vibrant.getHsl(), h = _g[0], s = _g[1], l = _g[2];\n l = opts.targetMutesSaturation;\n palette.Muted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.DarkMuted === null && palette.DarkVibrant !== null) {\n var _h = palette.DarkVibrant.getHsl(), h = _h[0], s = _h[1], l = _h[2];\n l = opts.targetMutesSaturation;\n palette.DarkMuted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightMuted === null && palette.LightVibrant !== null) {\n var _j = palette.LightVibrant.getHsl(), h = _j[0], s = _j[1], l = _j[2];\n l = opts.targetMutesSaturation;\n palette.LightMuted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n}\nvar DefaultGenerator = function (swatches, opts) {\n opts = defaults({}, opts, DefaultOpts);\n var maxPopulation = _findMaxPopulation(swatches);\n var palette = _generateVariationColors(swatches, maxPopulation, opts);\n _generateEmptySwatches(palette, maxPopulation, opts);\n return palette;\n};\nexports.default = DefaultGenerator;\n//# sourceMappingURL=default.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar default_1 = require(\"./default\");\nObject.defineProperty(exports, \"Default\", { enumerable: true, get: function () { return default_1.default; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageBase = void 0;\nvar ImageBase = /** @class */ (function () {\n function ImageBase() {\n }\n ImageBase.prototype.scaleDown = function (opts) {\n var width = this.getWidth();\n var height = this.getHeight();\n var ratio = 1;\n if (opts.maxDimension > 0) {\n var maxSide = Math.max(width, height);\n if (maxSide > opts.maxDimension)\n ratio = opts.maxDimension / maxSide;\n }\n else {\n ratio = 1 / opts.quality;\n }\n if (ratio < 1)\n this.resize(width * ratio, height * ratio, ratio);\n };\n ImageBase.prototype.applyFilter = function (filter) {\n var imageData = this.getImageData();\n if (typeof filter === 'function') {\n var pixels = imageData.data;\n var n = pixels.length / 4;\n var offset = void 0, r = void 0, g = void 0, b = void 0, a = void 0;\n for (var i = 0; i < n; i++) {\n offset = i * 4;\n r = pixels[offset + 0];\n g = pixels[offset + 1];\n b = pixels[offset + 2];\n a = pixels[offset + 3];\n // Mark ignored color\n if (!filter(r, g, b, a))\n pixels[offset + 3] = 0;\n }\n }\n return Promise.resolve(imageData);\n };\n return ImageBase;\n}());\nexports.ImageBase = ImageBase;\n//# sourceMappingURL=base.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar base_1 = require(\"./base\");\nvar Url = __importStar(require(\"url\"));\nfunction isRelativeUrl(url) {\n var u = Url.parse(url);\n return u.protocol === null &&\n u.host === null &&\n u.port === null;\n}\nfunction isSameOrigin(a, b) {\n var ua = Url.parse(a);\n var ub = Url.parse(b);\n // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n return ua.protocol === ub.protocol &&\n ua.hostname === ub.hostname &&\n ua.port === ub.port;\n}\nvar BrowserImage = /** @class */ (function (_super) {\n __extends(BrowserImage, _super);\n function BrowserImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BrowserImage.prototype._initCanvas = function () {\n var img = this.image;\n var canvas = this._canvas = document.createElement('canvas');\n var context = this._context = canvas.getContext('2d');\n canvas.className = 'vibrant-canvas';\n canvas.style.display = 'none';\n this._width = canvas.width = img.width;\n this._height = canvas.height = img.height;\n context.drawImage(img, 0, 0);\n document.body.appendChild(canvas);\n };\n BrowserImage.prototype.load = function (image) {\n var _this = this;\n var img = null;\n var src = null;\n if (typeof image === 'string') {\n img = document.createElement('img');\n if (!isRelativeUrl(image) && !isSameOrigin(window.location.href, image)) {\n img.crossOrigin = 'anonymous';\n }\n src = img.src = image;\n }\n else if (image instanceof HTMLImageElement) {\n img = image;\n src = image.src;\n }\n else {\n return Promise.reject(new Error(\"Cannot load buffer as an image in browser\"));\n }\n this.image = img;\n return new Promise(function (resolve, reject) {\n var onImageLoad = function () {\n _this._initCanvas();\n resolve(_this);\n };\n if (img.complete) {\n // Already loaded\n onImageLoad();\n }\n else {\n img.onload = onImageLoad;\n img.onerror = function (e) { return reject(new Error(\"Fail to load image: \" + src)); };\n }\n });\n };\n BrowserImage.prototype.clear = function () {\n this._context.clearRect(0, 0, this._width, this._height);\n };\n BrowserImage.prototype.update = function (imageData) {\n this._context.putImageData(imageData, 0, 0);\n };\n BrowserImage.prototype.getWidth = function () {\n return this._width;\n };\n BrowserImage.prototype.getHeight = function () {\n return this._height;\n };\n BrowserImage.prototype.resize = function (targetWidth, targetHeight, ratio) {\n var _a = this, canvas = _a._canvas, context = _a._context, img = _a.image;\n this._width = canvas.width = targetWidth;\n this._height = canvas.height = targetHeight;\n context.scale(ratio, ratio);\n context.drawImage(img, 0, 0);\n };\n BrowserImage.prototype.getPixelCount = function () {\n return this._width * this._height;\n };\n BrowserImage.prototype.getImageData = function () {\n return this._context.getImageData(0, 0, this._width, this._height);\n };\n BrowserImage.prototype.remove = function () {\n if (this._canvas && this._canvas.parentNode) {\n this._canvas.parentNode.removeChild(this._canvas);\n }\n };\n return BrowserImage;\n}(base_1.ImageBase));\nexports.default = BrowserImage;\n//# sourceMappingURL=browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebWorker = void 0;\nvar mmcq_1 = require(\"./mmcq\");\nObject.defineProperty(exports, \"MMCQ\", { enumerable: true, get: function () { return mmcq_1.default; } });\nexports.WebWorker = null;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"../color\");\nvar vbox_1 = __importDefault(require(\"./vbox\"));\nvar pqueue_1 = __importDefault(require(\"./pqueue\"));\nvar fractByPopulations = 0.75;\nfunction _splitBoxes(pq, target) {\n var lastSize = pq.size();\n while (pq.size() < target) {\n var vbox = pq.pop();\n if (vbox && vbox.count() > 0) {\n var _a = vbox.split(), vbox1 = _a[0], vbox2 = _a[1];\n pq.push(vbox1);\n if (vbox2 && vbox2.count() > 0)\n pq.push(vbox2);\n // No more new boxes, converged\n if (pq.size() === lastSize) {\n break;\n }\n else {\n lastSize = pq.size();\n }\n }\n else {\n break;\n }\n }\n}\nvar MMCQ = function (pixels, opts) {\n if (pixels.length === 0 || opts.colorCount < 2 || opts.colorCount > 256) {\n throw new Error('Wrong MMCQ parameters');\n }\n var vbox = vbox_1.default.build(pixels);\n var hist = vbox.hist;\n var colorCount = Object.keys(hist).length;\n var pq = new pqueue_1.default(function (a, b) { return a.count() - b.count(); });\n pq.push(vbox);\n // first set of colors, sorted by population\n _splitBoxes(pq, fractByPopulations * opts.colorCount);\n // Re-order\n var pq2 = new pqueue_1.default(function (a, b) { return a.count() * a.volume() - b.count() * b.volume(); });\n pq2.contents = pq.contents;\n // next set - generate the median cuts using the (npix * vol) sorting.\n _splitBoxes(pq2, opts.colorCount - pq2.size());\n // calculate the actual colors\n return generateSwatches(pq2);\n};\nfunction generateSwatches(pq) {\n var swatches = [];\n while (pq.size()) {\n var v = pq.pop();\n var color = v.avg();\n var r = color[0], g = color[1], b = color[2];\n swatches.push(new color_1.Swatch(color, v.count()));\n }\n return swatches;\n}\nexports.default = MMCQ;\n//# sourceMappingURL=mmcq.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PQueue = /** @class */ (function () {\n function PQueue(comparator) {\n this._comparator = comparator;\n this.contents = [];\n this._sorted = false;\n }\n PQueue.prototype._sort = function () {\n if (!this._sorted) {\n this.contents.sort(this._comparator);\n this._sorted = true;\n }\n };\n PQueue.prototype.push = function (item) {\n this.contents.push(item);\n this._sorted = false;\n };\n PQueue.prototype.peek = function (index) {\n this._sort();\n index = typeof index === 'number' ? index : this.contents.length - 1;\n return this.contents[index];\n };\n PQueue.prototype.pop = function () {\n this._sort();\n return this.contents.pop();\n };\n PQueue.prototype.size = function () {\n return this.contents.length;\n };\n PQueue.prototype.map = function (mapper) {\n this._sort();\n return this.contents.map(mapper);\n };\n return PQueue;\n}());\nexports.default = PQueue;\n//# sourceMappingURL=pqueue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"../util\");\nvar VBox = /** @class */ (function () {\n function VBox(r1, r2, g1, g2, b1, b2, hist) {\n this._volume = -1;\n this._count = -1;\n this.dimension = { r1: r1, r2: r2, g1: g1, g2: g2, b1: b1, b2: b2 };\n this.hist = hist;\n }\n VBox.build = function (pixels, shouldIgnore) {\n var hn = 1 << (3 * util_1.SIGBITS);\n var hist = new Uint32Array(hn);\n var rmax;\n var rmin;\n var gmax;\n var gmin;\n var bmax;\n var bmin;\n var r;\n var g;\n var b;\n var a;\n rmax = gmax = bmax = 0;\n rmin = gmin = bmin = Number.MAX_VALUE;\n var n = pixels.length / 4;\n var i = 0;\n while (i < n) {\n var offset = i * 4;\n i++;\n r = pixels[offset + 0];\n g = pixels[offset + 1];\n b = pixels[offset + 2];\n a = pixels[offset + 3];\n // Ignored pixels' alpha is marked as 0 in filtering stage\n if (a === 0)\n continue;\n r = r >> util_1.RSHIFT;\n g = g >> util_1.RSHIFT;\n b = b >> util_1.RSHIFT;\n var index = util_1.getColorIndex(r, g, b);\n hist[index] += 1;\n if (r > rmax)\n rmax = r;\n if (r < rmin)\n rmin = r;\n if (g > gmax)\n gmax = g;\n if (g < gmin)\n gmin = g;\n if (b > bmax)\n bmax = b;\n if (b < bmin)\n bmin = b;\n }\n return new VBox(rmin, rmax, gmin, gmax, bmin, bmax, hist);\n };\n VBox.prototype.invalidate = function () {\n this._volume = this._count = -1;\n this._avg = null;\n };\n VBox.prototype.volume = function () {\n if (this._volume < 0) {\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n this._volume = (r2 - r1 + 1) * (g2 - g1 + 1) * (b2 - b1 + 1);\n }\n return this._volume;\n };\n VBox.prototype.count = function () {\n if (this._count < 0) {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var c = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n c += hist[index];\n }\n }\n }\n this._count = c;\n }\n return this._count;\n };\n VBox.prototype.clone = function () {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n return new VBox(r1, r2, g1, g2, b1, b2, hist);\n };\n VBox.prototype.avg = function () {\n if (!this._avg) {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var ntot = 0;\n var mult = 1 << (8 - util_1.SIGBITS);\n var rsum = void 0;\n var gsum = void 0;\n var bsum = void 0;\n rsum = gsum = bsum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n var h = hist[index];\n ntot += h;\n rsum += (h * (r + 0.5) * mult);\n gsum += (h * (g + 0.5) * mult);\n bsum += (h * (b + 0.5) * mult);\n }\n }\n }\n if (ntot) {\n this._avg = [\n ~~(rsum / ntot),\n ~~(gsum / ntot),\n ~~(bsum / ntot)\n ];\n }\n else {\n this._avg = [\n ~~(mult * (r1 + r2 + 1) / 2),\n ~~(mult * (g1 + g2 + 1) / 2),\n ~~(mult * (b1 + b2 + 1) / 2)\n ];\n }\n }\n return this._avg;\n };\n VBox.prototype.contains = function (rgb) {\n var r = rgb[0], g = rgb[1], b = rgb[2];\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n r >>= util_1.RSHIFT;\n g >>= util_1.RSHIFT;\n b >>= util_1.RSHIFT;\n return r >= r1 && r <= r2 &&\n g >= g1 && g <= g2 &&\n b >= b1 && b <= b2;\n };\n VBox.prototype.split = function () {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var count = this.count();\n if (!count)\n return [];\n if (count === 1)\n return [this.clone()];\n var rw = r2 - r1 + 1;\n var gw = g2 - g1 + 1;\n var bw = b2 - b1 + 1;\n var maxw = Math.max(rw, gw, bw);\n var accSum = null;\n var sum;\n var total;\n sum = total = 0;\n var maxd = null;\n if (maxw === rw) {\n maxd = 'r';\n accSum = new Uint32Array(r2 + 1);\n for (var r = r1; r <= r2; r++) {\n sum = 0;\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[r] = total;\n }\n }\n else if (maxw === gw) {\n maxd = 'g';\n accSum = new Uint32Array(g2 + 1);\n for (var g = g1; g <= g2; g++) {\n sum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[g] = total;\n }\n }\n else {\n maxd = 'b';\n accSum = new Uint32Array(b2 + 1);\n for (var b = b1; b <= b2; b++) {\n sum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[b] = total;\n }\n }\n var splitPoint = -1;\n var reverseSum = new Uint32Array(accSum.length);\n for (var i = 0; i < accSum.length; i++) {\n var d = accSum[i];\n if (splitPoint < 0 && d > total / 2)\n splitPoint = i;\n reverseSum[i] = total - d;\n }\n var vbox = this;\n function doCut(d) {\n var dim1 = d + '1';\n var dim2 = d + '2';\n var d1 = vbox.dimension[dim1];\n var d2 = vbox.dimension[dim2];\n var vbox1 = vbox.clone();\n var vbox2 = vbox.clone();\n var left = splitPoint - d1;\n var right = d2 - splitPoint;\n if (left <= right) {\n d2 = Math.min(d2 - 1, ~~(splitPoint + right / 2));\n d2 = Math.max(0, d2);\n }\n else {\n d2 = Math.max(d1, ~~(splitPoint - 1 - left / 2));\n d2 = Math.min(vbox.dimension[dim2], d2);\n }\n while (!accSum[d2])\n d2++;\n var c2 = reverseSum[d2];\n while (!c2 && accSum[d2 - 1])\n c2 = reverseSum[--d2];\n vbox1.dimension[dim2] = d2;\n vbox2.dimension[dim1] = d2 + 1;\n return [vbox1, vbox2];\n }\n return doCut(maxd);\n };\n return VBox;\n}());\nexports.default = VBox;\n//# sourceMappingURL=vbox.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getColorIndex = exports.getColorDiffStatus = exports.hexDiff = exports.rgbDiff = exports.deltaE94 = exports.rgbToCIELab = exports.xyzToCIELab = exports.rgbToXyz = exports.hslToRgb = exports.rgbToHsl = exports.rgbToHex = exports.hexToRgb = exports.defer = exports.RSHIFT = exports.SIGBITS = exports.DELTAE94_DIFF_STATUS = void 0;\nexports.DELTAE94_DIFF_STATUS = {\n NA: 0,\n PERFECT: 1,\n CLOSE: 2,\n GOOD: 10,\n SIMILAR: 50\n};\nexports.SIGBITS = 5;\nexports.RSHIFT = 8 - exports.SIGBITS;\nfunction defer() {\n var resolve;\n var reject;\n // eslint-disable-next-line promise/param-names\n var promise = new Promise(function (_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n });\n // @ts-ignore\n return { resolve: resolve, reject: reject, promise: promise };\n}\nexports.defer = defer;\nfunction hexToRgb(hex) {\n var m = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return m === null ? null : [m[1], m[2], m[3]].map(function (s) { return parseInt(s, 16); });\n}\nexports.hexToRgb = hexToRgb;\nfunction rgbToHex(r, g, b) {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1, 7);\n}\nexports.rgbToHex = rgbToHex;\nfunction rgbToHsl(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n // @ts-ignore\n h /= 6;\n }\n // @ts-ignore\n return [h, s, l];\n}\nexports.rgbToHsl = rgbToHsl;\nfunction hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n function hue2rgb(p, q, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - (l * s);\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - (1 / 3));\n }\n return [\n r * 255,\n g * 255,\n b * 255\n ];\n}\nexports.hslToRgb = hslToRgb;\nfunction rgbToXyz(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n r = r > 0.04045 ? Math.pow((r + 0.005) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.005) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.005) / 1.055, 2.4) : b / 12.92;\n r *= 100;\n g *= 100;\n b *= 100;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x, y, z];\n}\nexports.rgbToXyz = rgbToXyz;\nfunction xyzToCIELab(x, y, z) {\n var REF_X = 95.047;\n var REF_Y = 100;\n var REF_Z = 108.883;\n x /= REF_X;\n y /= REF_Y;\n z /= REF_Z;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var L = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [L, a, b];\n}\nexports.xyzToCIELab = xyzToCIELab;\nfunction rgbToCIELab(r, g, b) {\n var _a = rgbToXyz(r, g, b), x = _a[0], y = _a[1], z = _a[2];\n return xyzToCIELab(x, y, z);\n}\nexports.rgbToCIELab = rgbToCIELab;\nfunction deltaE94(lab1, lab2) {\n var WEIGHT_L = 1;\n var WEIGHT_C = 1;\n var WEIGHT_H = 1;\n var L1 = lab1[0], a1 = lab1[1], b1 = lab1[2];\n var L2 = lab2[0], a2 = lab2[1], b2 = lab2[2];\n var dL = L1 - L2;\n var da = a1 - a2;\n var db = b1 - b2;\n var xC1 = Math.sqrt(a1 * a1 + b1 * b1);\n var xC2 = Math.sqrt(a2 * a2 + b2 * b2);\n var xDL = L2 - L1;\n var xDC = xC2 - xC1;\n var xDE = Math.sqrt(dL * dL + da * da + db * db);\n var xDH = (Math.sqrt(xDE) > Math.sqrt(Math.abs(xDL)) + Math.sqrt(Math.abs(xDC)))\n ? Math.sqrt(xDE * xDE - xDL * xDL - xDC * xDC)\n : 0;\n var xSC = 1 + 0.045 * xC1;\n var xSH = 1 + 0.015 * xC1;\n xDL /= WEIGHT_L;\n xDC /= WEIGHT_C * xSC;\n xDH /= WEIGHT_H * xSH;\n return Math.sqrt(xDL * xDL + xDC * xDC + xDH * xDH);\n}\nexports.deltaE94 = deltaE94;\nfunction rgbDiff(rgb1, rgb2) {\n var lab1 = rgbToCIELab.apply(undefined, rgb1);\n var lab2 = rgbToCIELab.apply(undefined, rgb2);\n return deltaE94(lab1, lab2);\n}\nexports.rgbDiff = rgbDiff;\nfunction hexDiff(hex1, hex2) {\n var rgb1 = hexToRgb(hex1);\n var rgb2 = hexToRgb(hex2);\n return rgbDiff(rgb1, rgb2);\n}\nexports.hexDiff = hexDiff;\nfunction getColorDiffStatus(d) {\n if (d < exports.DELTAE94_DIFF_STATUS.NA) {\n return 'N/A';\n }\n // Not perceptible by human eyes\n if (d <= exports.DELTAE94_DIFF_STATUS.PERFECT) {\n return 'Perfect';\n }\n // Perceptible through close observation\n if (d <= exports.DELTAE94_DIFF_STATUS.CLOSE) {\n return 'Close';\n }\n // Perceptible at a glance\n if (d <= exports.DELTAE94_DIFF_STATUS.GOOD) {\n return 'Good';\n }\n // Colors are more similar than opposite\n if (d < exports.DELTAE94_DIFF_STATUS.SIMILAR) {\n return 'Similar';\n }\n return 'Wrong';\n}\nexports.getColorDiffStatus = getColorDiffStatus;\nfunction getColorIndex(r, g, b) {\n return (r << (2 * exports.SIGBITS)) + (g << exports.SIGBITS) + b;\n}\nexports.getColorIndex = getColorIndex;\n//# sourceMappingURL=util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"./color\");\nvar builder_1 = __importDefault(require(\"./builder\"));\nvar Util = __importStar(require(\"./util\"));\nvar Quantizer = __importStar(require(\"./quantizer\"));\nvar Generator = __importStar(require(\"./generator\"));\nvar Filters = __importStar(require(\"./filter\"));\nvar defaults = require(\"lodash/defaults\");\nvar Vibrant = /** @class */ (function () {\n function Vibrant(_src, opts) {\n this._src = _src;\n this.opts = defaults({}, opts, Vibrant.DefaultOpts);\n this.opts.combinedFilter = Filters.combineFilters(this.opts.filters);\n }\n Vibrant.from = function (src) {\n return new builder_1.default(src);\n };\n Vibrant.prototype._process = function (image, opts) {\n var quantizer = opts.quantizer, generator = opts.generator;\n image.scaleDown(opts);\n return image.applyFilter(opts.combinedFilter)\n .then(function (imageData) { return quantizer(imageData.data, opts); })\n .then(function (colors) { return color_1.Swatch.applyFilter(colors, opts.combinedFilter); })\n .then(function (colors) { return Promise.resolve(generator(colors)); });\n };\n Vibrant.prototype.palette = function () {\n return this.swatches();\n };\n Vibrant.prototype.swatches = function () {\n return this._palette;\n };\n Vibrant.prototype.getPalette = function (cb) {\n var _this = this;\n var image = new this.opts.ImageClass();\n var result = image.load(this._src)\n .then(function (image) { return _this._process(image, _this.opts); })\n .then(function (palette) {\n _this._palette = palette;\n image.remove();\n return palette;\n }, function (err) {\n image.remove();\n throw err;\n });\n if (cb)\n result.then(function (palette) { return cb(null, palette); }, function (err) { return cb(err); });\n return result;\n };\n Vibrant.Builder = builder_1.default;\n Vibrant.Quantizer = Quantizer;\n Vibrant.Generator = Generator;\n Vibrant.Filter = Filters;\n Vibrant.Util = Util;\n Vibrant.Swatch = color_1.Swatch;\n Vibrant.DefaultOpts = {\n colorCount: 64,\n quality: 5,\n generator: Generator.Default,\n ImageClass: null,\n quantizer: Quantizer.MMCQ,\n filters: [Filters.Default]\n };\n return Vibrant;\n}());\nexports.default = Vibrant;\n//# sourceMappingURL=vibrant.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1474;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1474: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(52689)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","backgroundImage","loadState","shippedBackgroundList","themingDefaultBackground","defaultShippedBackground","prefixWithBaseUrl","url","generateFilePath","components","Check","Close","ImageEdit","NcButton","NcColorPicker","data","loading","Theming","computed","shippedBackgrounds","Object","keys","map","fileName","preview","details","filter","background","isGlobalBackgroundDeleted","isGlobalBackgroundDefault","isBackgroundDisabled","methods","invertTextColor","color","calculateLuma","red","green","blue","hexToRGB","hex","result","exec","parseInt","update","backgroundColor","setDefault","axios","post","generateUrl","setShipped","shipped","value","setFile","path","arguments","length","undefined","removeBackground","delete","pickColor","event","target","dataset","debouncePickColor","debounce","pickFile","getFilePickerBuilder","t","allowDirectories","setMimeTypeFilter","setMultiSelect","addButton","id","label","callback","nodes","applyFile","build","pick","trim","console","error","showError","response","fileUrl","generateRemoteUrl","getCurrentUser","uid","get","responseType","blobUrl","URL","createObjectURL","palette","getColorPaletteFromBlob","DarkVibrant","debug","Promise","resolve","reject","Vibrant","getPalette","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","class","style","defaultColor","model","$$v","$set","expression","_l","shippedBackground","key","primary_color","attribution","description","theming","NcCheckboxRadioSwitch","enforced","Boolean","selected","theme","required","unique","switchType","img","checked","set","enabled","onToggle","enableLabel","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","defineProperty","enumerable","configurable","writable","_extends","assign","i","source","hasOwnProperty","call","apply","_objectSpread","ownKeys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","forEach","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","fn","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","defaultView","getComputedStyle","currentStyle","indexOf","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","n","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","index","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","isRectEqual","rect1","rect2","Math","round","throttle","ms","args","setTimeout","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","expando","Date","getTime","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","push","pluginEvent","eventName","sortable","evt","_this","eventCanceled","cancel","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_ref","originalEvent","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","bind","dragEl","parentEl","ghostEl","rootEl","nextEl","lastDownEl","cloneEl","cloneHidden","dragStarted","moved","putSortable","activeSortable","active","oldIndex","oldDraggableIndex","newIndex","newDraggableIndex","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","targetEl","toEl","fromEl","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","from","item","pullMode","lastPutMode","allEventProperties","dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","join","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","some","rect","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","ret","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","animationCallbackId","animationStates","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","easing","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","captureAnimationState","slice","child","fromRect","thisAnimationDuration","childMatrix","f","e","addAnimationState","removeAnimationState","splice","arr","indexOfObject","animateAll","clearTimeout","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","sqrt","pow","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","offsetWidth","repaint","animated","_onMove","dragRect","targetRect","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","src","href","sum","charCodeAt","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","composedPath","root","inputs","idx","_saveInputCheckedState","button","isContentEditable","criteria","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","vertical","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","_ghostIsLast","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_dragElInRowColumn","side1","scrolledPastTop","scrollBefore","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_getSwapDirection","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","save","handleEvent","dropEffect","_globalDragOver","toArray","order","getAttribute","items","destroy","Array","querySelectorAll","removeAttribute","utils","is","extend","dst","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","version","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","clearAutoScrolls","autoScroll","pid","clearPointerElemChangedInterval","isFallback","scroll","scrollCustomFn","sens","scrollSensitivity","speed","scrollSpeed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","bubbleScroll","drop","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref2","_ref3","_ref4","parentSortable","AutoScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","ogElemScroller","newElem","util","warn","defineComponent","IconArrowDown","IconArrowUp","ariaDescribedby","ariaDetails","app","isFirst","isLast","move:up","move:down","update:focus","setup","emit","buttonUp","ref","buttonDown","needsFocus","moveUp","moveDown","keepFocus","$el","focus","_setupProxy","icon","directives","rawName","scopedSlots","_u","proxy","AppOrderSelectorElement","Fragment","isArray","listElement","appList","newValue","renderCount","resetOptions","defaultOptions","onUpdate","_valueIsRef","array","moveArrayElement","start","querySelector","stop","useSortable","selectorElements","onUpdated","statusInfo","before","statusInfoId","random","updateStatusInfo","position","total","_g","refInFor","AppOrderSelector","IconUndo","NcNoteCard","NcSettingsSection","userAppOrder","enforcedDefaultApp","initialAppOrder","values","hasCustomAppOrder","hasAppOrderChanged","appOrder","elementIdAppOrderChanged","elementIdEnforcedDefaultApp","ariaDetailsAppOrder","saveSetting","generateOcsUrl","appId","configKey","configValue","JSON","stringify","updateAppOrder","then","catch","resetAppOrder","headers","ocs","availableThemes","enforceTheme","shortcutsDisabled","isUserThemingDisabled","ItemPreview","BackgroundSettings","UserAppMenuSection","themes","fonts","selectedTheme","guidelinesLink","descriptionDetail","issuetrackerLink","designteamLink","watch","newState","changeShortcutsDisabled","refreshGlobalStyles","head","searchParams","now","newTheme","onload","remove","append","updateBackground","changeTheme","updateBodyAttributes","selectItem","changeFont","font","method","enabledThemesIDs","enabledFontsIDs","toggleAttribute","setAttribute","themeId","OC","Notification","showTemporary","meta","message","domProps","__webpack_nonce__","btoa","getRequestToken","Vue","App","$mount","$on","refreshStyles","___CSS_LOADER_EXPORT___","module","baseForOwn","baseEach","createBaseEach","exports","collection","predicate","baseFor","object","iteratee","isArrayLike","eachFunc","fromRight","iterable","baseRest","eq","isIterateeCall","keysIn","objectProto","sources","guard","propsIndex","propsLength","arrayFilter","baseFilter","baseIteratee","__importDefault","mod","__esModule","vibrant_1","browser_1","DefaultOpts","ImageClass","Builder","opts","_src","_opts","filters","maxColorCount","colorCount","maxDimension","addFilter","removeFilter","clearFilters","quality","q","useImageClass","imageClass","useGenerator","generator","useQuantizer","quantizer","cb","getSwatches","Swatch","util_1","rgb","population","_rgb","_population","applyFilter","colors","_a","r","g","_hsl","rgbToHsl","_hex","rgbToHex","toJSON","getRgb","getHsl","hsl","getPopulation","getHex","getYiq","_yiq","_titleTextColor","_bodyTextColor","getTitleTextColor","titleTextColor","getBodyTextColor","bodyTextColor","combineFilters","default_1","color_1","targetDarkLuma","maxDarkLuma","minLightLuma","targetLightLuma","minNormalLuma","targetNormalLuma","maxNormalLuma","targetMutesSaturation","maxMutesSaturation","targetVibrantSaturation","minVibrantSaturation","weightSaturation","weightLuma","weightPopulation","_findColorVariation","swatches","maxPopulation","targetLuma","minLuma","maxLuma","targetSaturation","minSaturation","maxSaturation","maxValue","swatch","s","l","LightVibrant","Muted","DarkMuted","LightMuted","_isAlreadySelected","saturation","luma","invertDiff","targetValue","_i","weightSum","weight","weightedMean","_createComparisonValue","p","_findMaxPopulation","_generateVariationColors","h","hslToRgb","_d","_f","_h","_j","_generateEmptySwatches","ImageBase","scaleDown","getWidth","getHeight","ratio","maxSide","resize","imageData","getImageData","pixels","offset","extendStatics","__extends","setPrototypeOf","__proto__","__","__createBinding","o","m","k","k2","__setModuleDefault","v","__importStar","base_1","Url","BrowserImage","_super","_initCanvas","image","canvas","_canvas","context","_context","getContext","_width","_height","drawImage","load","ua","ub","u","parse","protocol","port","location","hostname","crossOrigin","HTMLImageElement","Error","onImageLoad","complete","onerror","clearRect","putImageData","targetWidth","targetHeight","scale","getPixelCount","WebWorker","mmcq_1","vbox_1","pqueue_1","_splitBoxes","pq","lastSize","vbox","pop","count","vbox1","vbox2","hist","pq2","volume","contents","avg","generateSwatches","PQueue","comparator","_comparator","_sorted","_sort","peek","mapper","VBox","r1","r2","g1","g2","b1","b2","_volume","_count","dimension","shouldIgnore","rmax","rmin","gmax","gmin","bmax","bmin","hn","SIGBITS","Uint32Array","MAX_VALUE","RSHIFT","getColorIndex","invalidate","_avg","ntot","mult","rsum","gsum","bsum","rw","gw","bw","maxw","accSum","maxd","splitPoint","reverseSum","dim1","dim2","d1","d2","min","c2","doCut","hexToRgb","rgbToXyz","xyzToCIELab","z","rgbToCIELab","deltaE94","lab1","lab2","L1","a1","L2","a2","dL","da","db","xC1","xDL","xDC","xDE","xDH","rgbDiff","rgb1","rgb2","getColorDiffStatus","hexDiff","defer","DELTAE94_DIFF_STATUS","NA","PERFECT","CLOSE","GOOD","SIMILAR","promise","_resolve","_reject","hue2rgb","hex1","hex2","builder_1","Util","Quantizer","Generator","Filters","combinedFilter","_process","_palette","Filter","Default","MMCQ","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","getter","definition","chunkId","all","reduce","promises","globalThis","Function","done","script","needAttach","scripts","charset","timeout","nc","onScriptComplete","prev","doneFns","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","self","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"theming-personal-theming.js?v=eb9d7284a650de502fec","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ImageEdit.vue?e9bd","webpack:///nextcloud/node_modules/vue-material-design-icons/ImageEdit.vue?vue&type=template&id=7bb2aa9c","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?0f9a","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?65db","webpack://nextcloud/./apps/theming/src/components/BackgroundSettings.vue?da76","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?7631","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?69ad","webpack://nextcloud/./apps/theming/src/components/ItemPreview.vue?8797","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue","webpack:///nextcloud/node_modules/sortablejs/modular/sortable.esm.js","webpack:///nextcloud/node_modules/@vueuse/integrations/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?649a","webpack://nextcloud/./apps/theming/src/components/AppOrderSelectorElement.vue?aad4","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue","webpack:///nextcloud/node_modules/@vueuse/integrations/useSortable.mjs","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?a335","webpack://nextcloud/./apps/theming/src/components/AppOrderSelector.vue?dbd7","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Undo.vue?d998","webpack:///nextcloud/node_modules/vue-material-design-icons/Undo.vue?vue&type=template&id=bc8e3c2a","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/theming/src/components/UserAppMenuSection.vue?6b96","webpack://nextcloud/./apps/theming/src/components/UserAppMenuSection.vue?402e","webpack:///nextcloud/apps/theming/src/UserThemes.vue","webpack:///nextcloud/apps/theming/src/UserThemes.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/theming/src/UserThemes.vue?6be3","webpack://nextcloud/./apps/theming/src/UserThemes.vue?7eb2","webpack://nextcloud/./apps/theming/src/UserThemes.vue?b683","webpack:///nextcloud/apps/theming/src/personal-settings.js","webpack:///nextcloud/apps/theming/src/helpers/refreshStyles.js","webpack:///nextcloud/apps/theming/src/UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/theming/src/components/ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/theming/src/components/UserAppMenuSection.vue?vue&type=style&index=0&id=3d6952db&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/lodash/_baseEach.js","webpack:///nextcloud/node_modules/lodash/_baseFilter.js","webpack:///nextcloud/node_modules/lodash/_baseForOwn.js","webpack:///nextcloud/node_modules/lodash/_createBaseEach.js","webpack:///nextcloud/node_modules/lodash/defaults.js","webpack:///nextcloud/node_modules/lodash/filter.js","webpack:///nextcloud/node_modules/node-vibrant/lib/browser.js","webpack:///nextcloud/node_modules/node-vibrant/lib/builder.js","webpack:///nextcloud/node_modules/node-vibrant/lib/color.js","webpack:///nextcloud/node_modules/node-vibrant/lib/filter/default.js","webpack:///nextcloud/node_modules/node-vibrant/lib/filter/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/generator/default.js","webpack:///nextcloud/node_modules/node-vibrant/lib/generator/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/image/base.js","webpack:///nextcloud/node_modules/node-vibrant/lib/image/browser.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/index.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/mmcq.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/pqueue.js","webpack:///nextcloud/node_modules/node-vibrant/lib/quantizer/vbox.js","webpack:///nextcloud/node_modules/node-vibrant/lib/util.js","webpack:///nextcloud/node_modules/node-vibrant/lib/vibrant.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ImageEdit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ImageEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageEdit.vue?vue&type=template&id=7bb2aa9c\"\nimport script from \"./ImageEdit.vue?vue&type=script&lang=js\"\nexport * from \"./ImageEdit.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon image-edit-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.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!./BackgroundSettings.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BackgroundSettings.vue?vue&type=template&id=1175e65a&scoped=true\"\nimport script from \"./BackgroundSettings.vue?vue&type=script&lang=js\"\nexport * from \"./BackgroundSettings.vue?vue&type=script&lang=js\"\nimport style0 from \"./BackgroundSettings.vue?vue&type=style&index=0&id=1175e65a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1175e65a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-selector\",attrs:{\"data-user-theming-background-settings\":\"\"}},[_c('button',{class:{\n\t\t\t'icon-loading': _vm.loading === 'custom',\n\t\t\t'background background__filepicker': true,\n\t\t\t'background--active': _vm.backgroundImage === 'custom'\n\t\t},attrs:{\"aria-pressed\":_vm.backgroundImage === 'custom',\"data-color-bright\":_vm.invertTextColor(_vm.Theming.color),\"data-user-theming-background-custom\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.pickFile}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Custom background'))+\"\\n\\t\\t\"),(_vm.backgroundImage !== 'custom')?_c('ImageEdit',{attrs:{\"size\":26}}):_vm._e(),_vm._v(\" \"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_c('button',{class:{\n\t\t\t'icon-loading': _vm.loading === 'default',\n\t\t\t'background background__default': true,\n\t\t\t'background--active': _vm.backgroundImage === 'default'\n\t\t},style:({ '--border-color': _vm.Theming.defaultColor }),attrs:{\"aria-pressed\":_vm.backgroundImage === 'default',\"data-color-bright\":_vm.invertTextColor(_vm.Theming.defaultColor),\"data-user-theming-background-default\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.setDefault}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Default background'))+\"\\n\\t\\t\"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_c('div',{staticClass:\"background-color\",attrs:{\"data-user-theming-background-color\":\"\"}},[_c('NcColorPicker',{on:{\"input\":_vm.debouncePickColor},model:{value:(_vm.Theming.color),callback:function ($$v) {_vm.$set(_vm.Theming, \"color\", $$v)},expression:\"Theming.color\"}},[_c('NcButton',{attrs:{\"type\":\"ternary\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Change color'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('button',{class:{\n\t\t\t'background background__delete': true,\n\t\t\t'background--active': _vm.isBackgroundDisabled\n\t\t},attrs:{\"aria-pressed\":_vm.isBackgroundDisabled,\"data-user-theming-background-clear\":\"\",\"tabindex\":\"0\"},on:{\"click\":_vm.removeBackground}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'No background'))+\"\\n\\t\\t\"),(!_vm.isBackgroundDisabled)?_c('Close',{attrs:{\"size\":32}}):_vm._e(),_vm._v(\" \"),_c('Check',{attrs:{\"size\":44}})],1),_vm._v(\" \"),_vm._l((_vm.shippedBackgrounds),function(shippedBackground){return _c('button',{key:shippedBackground.name,class:{\n\t\t\t'background background__shipped': true,\n\t\t\t'icon-loading': _vm.loading === shippedBackground.name,\n\t\t\t'background--active': _vm.backgroundImage === shippedBackground.name\n\t\t},style:({ backgroundImage: 'url(' + shippedBackground.preview + ')', '--border-color': shippedBackground.details.primary_color }),attrs:{\"title\":shippedBackground.details.attribution,\"aria-label\":shippedBackground.details.description,\"aria-pressed\":_vm.backgroundImage === shippedBackground.name,\"data-color-bright\":shippedBackground.details.theming === 'dark',\"data-user-theming-background-shipped\":shippedBackground.name,\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.setShipped(shippedBackground.name)}}},[_c('Check',{attrs:{\"size\":44}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"theming__preview\",class:'theming__preview--' + _vm.theme.id},[_c('div',{staticClass:\"theming__preview-image\",style:({ backgroundImage: 'url(' + _vm.img + ')' }),on:{\"click\":_vm.onToggle}}),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-description\"},[_c('h3',[_vm._v(_vm._s(_vm.theme.title))]),_vm._v(\" \"),_c('p',{staticClass:\"theming__preview-explanation\"},[_vm._v(_vm._s(_vm.theme.description))]),_vm._v(\" \"),(_vm.enforced)?_c('span',{staticClass:\"theming__preview-warning\",attrs:{\"role\":\"note\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Theme selection is enforced'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{staticClass:\"theming__preview-toggle\",attrs:{\"checked\":_vm.checked,\"disabled\":_vm.enforced,\"name\":_vm.name,\"type\":_vm.switchType},on:{\"update:checked\":function($event){_vm.checked=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.theme.enableLabel)+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.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!./ItemPreview.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ItemPreview.vue?vue&type=template&id=1a08e35a&scoped=true\"\nimport script from \"./ItemPreview.vue?vue&type=script&lang=js\"\nexport * from \"./ItemPreview.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemPreview.vue?vue&type=style&index=0&id=1a08e35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a08e35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Navigation bar settings')}},[_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'You can configure the app order used for the navigation bar. The first entry will be the default app, opened after login or when clicking on the logo.'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.enforcedDefaultApp)?_c('NcNoteCard',{attrs:{\"id\":_vm.elementIdEnforcedDefaultApp,\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The default app can not be changed because it was configured by the administrator.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasAppOrderChanged)?_c('NcNoteCard',{attrs:{\"id\":_vm.elementIdAppOrderChanged,\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'The app order was changed, to see it in action you have to reload the page.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('AppOrderSelector',{staticClass:\"user-app-menu-order\",attrs:{\"aria-details\":_vm.ariaDetailsAppOrder,\"value\":_vm.appOrder},on:{\"update:value\":_vm.updateAppOrder}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"data-test-id\":\"btn-apporder-reset\",\"disabled\":!_vm.hasCustomAppOrder,\"type\":\"tertiary\"},on:{\"click\":_vm.resetAppOrder},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconUndo',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('theming', 'Reset default app order'))+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('li',{class:{\n\t\t'order-selector-element': true,\n\t\t'order-selector-element--disabled': _vm.app.default\n\t},attrs:{\"data-cy-app-order-element\":_vm.app.id},on:{\"focusin\":function($event){return _vm.$emit('update:focus')}}},[_c('svg',{attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"role\":\"presentation\"}},[_c('image',{staticClass:\"order-selector-element__icon\",attrs:{\"preserveAspectRatio\":\"xMinYMin meet\",\"x\":\"0\",\"y\":\"0\",\"width\":\"20\",\"height\":\"20\",\"xlink:href\":_vm.app.icon}})]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__label\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.label ?? _vm.app.id)+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"order-selector-element__actions\"},[_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFirst && !_vm.app.default),expression:\"!isFirst && !app.default\"}],ref:\"buttonUp\",attrs:{\"aria-label\":_vm.t('settings', 'Move up'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"up\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveUp},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowUp',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFirst || !!_vm.app.default),expression:\"isFirst || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('NcButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLast && !_vm.app.default),expression:\"!isLast && !app.default\"}],ref:\"buttonDown\",attrs:{\"aria-label\":_vm.t('settings', 'Move down'),\"aria-describedby\":_vm.ariaDescribedby,\"aria-details\":_vm.ariaDetails,\"data-cy-app-order-button\":\"down\",\"type\":\"tertiary-no-background\"},on:{\"click\":_vm.moveDown},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconArrowDown',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLast || !!_vm.app.default),expression:\"isLast || !!app.default\"}],staticClass:\"order-selector-element__placeholder\",attrs:{\"aria-hidden\":\"true\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelectorElement.vue?vue&type=template&id=081ebc45&scoped=true\"\nimport script from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelectorElement.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelectorElement.vue?vue&type=style&index=0&id=081ebc45&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081ebc45\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('div',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.statusInfoId,\"aria-live\":\"polite\",\"role\":\"status\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.statusInfo)+\"\\n\\t\")]),_vm._v(\" \"),_c('ol',{ref:\"listElement\",staticClass:\"order-selector\",attrs:{\"data-cy-app-order\":\"\"}},_vm._l((_vm.appList),function(app,index){return _c('AppOrderSelectorElement',_vm._g({key:`${app.id}${_vm.renderCount}`,ref:\"selectorElements\",refInFor:true,attrs:{\"app\":app,\"aria-details\":_vm.ariaDetails,\"aria-describedby\":_vm.statusInfoId,\"is-first\":index === 0 || !!_vm.appList[index - 1].default,\"is-last\":index === _vm.value.length - 1}},app.default ? {} : {\n\t\t\t\t'move:up': () => _vm.moveUp(index),\n\t\t\t\t'move:down': () => _vm.moveDown(index),\n\t\t\t\t'update:focus': () => _vm.updateStatusInfo(index),\n\t\t\t}))}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { tryOnMounted, tryOnScopeDispose, toValue, unrefElement, defaultDocument } from '@vueuse/core';\nimport Sortable from 'sortablejs';\nimport { isRef, nextTick } from 'vue-demi';\n\nfunction useSortable(el, list, options = {}) {\n let sortable;\n const { document = defaultDocument, ...resetOptions } = options;\n const defaultOptions = {\n onUpdate: (e) => {\n moveArrayElement(list, e.oldIndex, e.newIndex);\n }\n };\n const start = () => {\n const target = typeof el === \"string\" ? document == null ? void 0 : document.querySelector(el) : unrefElement(el);\n if (!target || sortable !== void 0)\n return;\n sortable = new Sortable(target, { ...defaultOptions, ...resetOptions });\n };\n const stop = () => {\n sortable == null ? void 0 : sortable.destroy();\n sortable = void 0;\n };\n const option = (name, value) => {\n if (value !== void 0)\n sortable == null ? void 0 : sortable.option(name, value);\n else\n return sortable == null ? void 0 : sortable.option(name);\n };\n tryOnMounted(start);\n tryOnScopeDispose(stop);\n return { stop, start, option };\n}\nfunction moveArrayElement(list, from, to) {\n const _valueIsRef = isRef(list);\n const array = _valueIsRef ? [...toValue(list)] : toValue(list);\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n nextTick(() => {\n array.splice(to, 0, element);\n if (_valueIsRef)\n list.value = array;\n });\n }\n}\n\nexport { moveArrayElement, useSortable };\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppOrderSelector.vue?vue&type=template&id=76d01da8&scoped=true\"\nimport script from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./AppOrderSelector.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppOrderSelector.vue?vue&type=style&index=0&id=76d01da8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76d01da8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Undo.vue?vue&type=template&id=bc8e3c2a\"\nimport script from \"./Undo.vue?vue&type=script&lang=js\"\nexport * from \"./Undo.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=style&index=0&id=3d6952db&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAppMenuSection.vue?vue&type=style&index=0&id=3d6952db&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserAppMenuSection.vue?vue&type=template&id=3d6952db&scoped=true\"\nimport script from \"./UserAppMenuSection.vue?vue&type=script&lang=ts\"\nexport * from \"./UserAppMenuSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserAppMenuSection.vue?vue&type=style&index=0&id=3d6952db&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d6952db\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.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!./UserThemes.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserThemes.vue?vue&type=template&id=d643b9e0&scoped=true\"\nimport script from \"./UserThemes.vue?vue&type=script&lang=js\"\nexport * from \"./UserThemes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserThemes.vue?vue&type=style&index=0&id=d643b9e0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d643b9e0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('NcSettingsSection',{staticClass:\"theming\",attrs:{\"name\":_vm.t('theming', 'Appearance and accessibility settings'),\"limit-width\":false}},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.description)}}),_vm._v(\" \"),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.descriptionDetail)}}),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-list\"},_vm._l((_vm.themes),function(theme){return _c('ItemPreview',{key:theme.id,attrs:{\"enforced\":theme.id === _vm.enforceTheme,\"selected\":_vm.selectedTheme.id === theme.id,\"theme\":theme,\"unique\":_vm.themes.length === 1,\"type\":\"theme\"},on:{\"change\":_vm.changeTheme}})}),1),_vm._v(\" \"),_c('div',{staticClass:\"theming__preview-list\"},_vm._l((_vm.fonts),function(theme){return _c('ItemPreview',{key:theme.id,attrs:{\"selected\":theme.enabled,\"theme\":theme,\"unique\":_vm.fonts.length === 1,\"type\":\"font\"},on:{\"change\":_vm.changeFont}})}),1)]),_vm._v(\" \"),_c('NcSettingsSection',{staticClass:\"background\",attrs:{\"name\":_vm.t('theming', 'Background'),\"data-user-theming-background-disabled\":\"\"}},[(_vm.isUserThemingDisabled)?[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'Customization has been disabled by your administrator')))])]:[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'Set a custom background')))]),_vm._v(\" \"),_c('BackgroundSettings',{staticClass:\"background__grid\",on:{\"update:background\":_vm.refreshGlobalStyles}})]],2),_vm._v(\" \"),_c('NcSettingsSection',{attrs:{\"name\":_vm.t('theming', 'Keyboard shortcuts')}},[_c('p',[_vm._v(_vm._s(_vm.t('theming', 'In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.')))]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{staticClass:\"theming__preview-toggle\",attrs:{\"checked\":_vm.shortcutsDisabled,\"type\":\"switch\"},on:{\"update:checked\":function($event){_vm.shortcutsDisabled=$event},\"change\":_vm.changeShortcutsDisabled}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Disable all keyboard shortcuts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('UserAppMenuSection')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\n\nimport { refreshStyles } from './helpers/refreshStyles.js'\nimport App from './UserThemes.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst theming = new View()\ntheming.$mount('#theming')\ntheming.$on('update:background', refreshStyles)\n","/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport const refreshStyles = () => {\n\t// Refresh server-side generated theming CSS\n\t[...document.head.querySelectorAll('link.theme')].forEach(theme => {\n\t\tconst url = new URL(theme.href)\n\t\turl.searchParams.set('v', Date.now())\n\t\tconst newTheme = theme.cloneNode()\n\t\tnewTheme.href = url.toString()\n\t\tnewTheme.onload = () => theme.remove()\n\t\tdocument.head.append(newTheme)\n\t})\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.theming p[data-v-d643b9e0]{max-width:800px}.theming[data-v-d643b9e0] a{font-weight:bold}.theming[data-v-d643b9e0] a:hover,.theming[data-v-d643b9e0] a:focus{text-decoration:underline}.theming__preview-list[data-v-d643b9e0]{--gap: 30px;display:grid;margin-top:var(--gap);column-gap:var(--gap);row-gap:var(--gap);grid-template-columns:1fr 1fr}.background__grid[data-v-d643b9e0]{margin-top:30px}@media(max-width: 1440px){.theming__preview-list[data-v-d643b9e0]{display:flex;flex-direction:column}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/UserThemes.vue\"],\"names\":[],\"mappings\":\"AAGC,4BACC,eAAA,CAID,4BACC,gBAAA,CAEA,oEAEC,yBAAA,CAIF,wCACC,WAAA,CAEA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,6BAAA,CAKD,mCACC,eAAA,CAIF,0BACC,wCACC,YAAA,CACA,qBAAA,CAAA\",\"sourcesContent\":[\"\\n.theming {\\n\\t// Limit width of settings sections for readability\\n\\tp {\\n\\t\\tmax-width: 800px;\\n\\t}\\n\\n\\t// Proper highlight for links and focus feedback\\n\\t&::v-deep a {\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview-list {\\n\\t\\t--gap: 30px;\\n\\n\\t\\tdisplay: grid;\\n\\t\\tmargin-top: var(--gap);\\n\\t\\tcolumn-gap: var(--gap);\\n\\t\\trow-gap: var(--gap);\\n\\t\\tgrid-template-columns: 1fr 1fr;\\n\\t}\\n}\\n\\n.background {\\n\\t&__grid {\\n\\t\\tmargin-top: 30px;\\n\\t}\\n}\\n\\n@media (max-width: 1440px) {\\n\\t.theming__preview-list {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector[data-v-76d01da8]{width:max-content;min-width:260px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelector.vue\"],\"names\":[],\"mappings\":\"AACA,iCACC,iBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.order-selector {\\n\\twidth: max-content;\\n\\tmin-width: 260px; // align with NcSelect\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.order-selector-element[data-v-081ebc45]{list-style:none;display:flex;flex-direction:row;align-items:center;gap:12px;padding-inline:12px}.order-selector-element[data-v-081ebc45]:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.order-selector-element--disabled[data-v-081ebc45]{border-color:var(--color-text-maxcontrast);color:var(--color-text-maxcontrast)}.order-selector-element--disabled .order-selector-element__icon[data-v-081ebc45]{opacity:75%}.order-selector-element__actions[data-v-081ebc45]{flex:0 0;display:flex;flex-direction:row;gap:6px}.order-selector-element__label[data-v-081ebc45]{flex:1 1;text-overflow:ellipsis;overflow:hidden}.order-selector-element__placeholder[data-v-081ebc45]{height:44px;width:44px}.order-selector-element__icon[data-v-081ebc45]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/AppOrderSelectorElement.vue\"],\"names\":[],\"mappings\":\"AACA,yCAEC,eAAA,CAEA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,QAAA,CACA,mBAAA,CAEA,+CACC,8CAAA,CACA,wCAAA,CAGD,mDACC,0CAAA,CACA,mCAAA,CAEA,iFACC,WAAA,CAIF,kDACC,QAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,gDACC,QAAA,CACA,sBAAA,CACA,eAAA,CAGD,sDACC,WAAA,CACA,UAAA,CAGD,+CACC,yCAAA\",\"sourcesContent\":[\"\\n.order-selector-element {\\n\\t// hide default styling\\n\\tlist-style: none;\\n\\t// Align children\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\talign-items: center;\\n\\t// Spacing\\n\\tgap: 12px;\\n\\tpadding-inline: 12px;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\tborder-color: var(--color-text-maxcontrast);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t.order-selector-element__icon {\\n\\t\\t\\topacity: 75%;\\n\\t\\t}\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 6px;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tflex: 1 1;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__placeholder {\\n\\t\\theight: 44px;\\n\\t\\twidth: 44px;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tfilter: var(--background-invert-if-bright);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.background-selector[data-v-1175e65a]{display:flex;flex-wrap:wrap;justify-content:center}.background-selector .background-color[data-v-1175e65a]{display:flex;justify-content:center;align-items:center;width:176px;height:96px;margin:8px;border-radius:var(--border-radius-large);background-color:var(--color-primary)}.background-selector .background[data-v-1175e65a]{overflow:hidden;width:176px;height:96px;margin:8px;text-align:center;border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);background-position:center center;background-size:cover}.background-selector .background__filepicker.background--active[data-v-1175e65a]{color:#fff;background-image:var(--image-background)}.background-selector .background__default[data-v-1175e65a]{background-color:var(--color-primary-default);background-image:linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)),var(--image-background-plain, var(--image-background-default))}.background-selector .background__filepicker[data-v-1175e65a],.background-selector .background__default[data-v-1175e65a],.background-selector .background__color[data-v-1175e65a]{border-color:var(--color-border)}.background-selector .background__default[data-v-1175e65a],.background-selector .background__shipped[data-v-1175e65a]{color:#fff}.background-selector .background[data-color-bright][data-v-1175e65a]{color:#000}.background-selector .background--active[data-v-1175e65a],.background-selector .background[data-v-1175e65a]:hover,.background-selector .background[data-v-1175e65a]:focus{outline:2px solid var(--color-main-text) !important;border-color:var(--color-main-background) !important}.background-selector .background span[data-v-1175e65a]{margin:4px}.background-selector .background .check-icon[data-v-1175e65a]{display:none}.background-selector .background--active:not(.icon-loading) .check-icon[data-v-1175e65a]{display:block !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/BackgroundSettings.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,YAAA,CACA,cAAA,CACA,sBAAA,CAEA,wDACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,wCAAA,CACA,qCAAA,CAGD,kDACC,eAAA,CACA,WAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,6CAAA,CACA,wCAAA,CACA,iCAAA,CACA,qBAAA,CAGC,iFACC,UAAA,CACA,wCAAA,CAIF,2DACC,6CAAA,CACA,wJAAA,CAGD,kLACC,gCAAA,CAID,sHAEC,UAAA,CAID,qEACC,UAAA,CAGD,0KAGC,mDAAA,CACA,oDAAA,CAID,uDACC,UAAA,CAGD,8DACC,YAAA,CAIA,yFAEC,wBAAA\",\"sourcesContent\":[\"\\n.background-selector {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tjustify-content: center;\\n\\n\\t.background-color {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 176px;\\n\\t\\theight: 96px;\\n\\t\\tmargin: 8px;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t.background {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: 176px;\\n\\t\\theight: 96px;\\n\\t\\tmargin: 8px;\\n\\t\\ttext-align: center;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: cover;\\n\\n\\t\\t&__filepicker {\\n\\t\\t\\t&.background--active {\\n\\t\\t\\t\\tcolor: white;\\n\\t\\t\\t\\tbackground-image: var(--image-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__default {\\n\\t\\t\\tbackground-color: var(--color-primary-default);\\n\\t\\t\\tbackground-image: linear-gradient(to bottom, rgba(23, 23, 23, 0.5), rgba(23, 23, 23, 0.5)), var(--image-background-plain, var(--image-background-default));\\n\\t\\t}\\n\\n\\t\\t&__filepicker, &__default, &__color {\\n\\t\\t\\tborder-color: var(--color-border);\\n\\t\\t}\\n\\n\\t\\t// Over a background image\\n\\t\\t&__default,\\n\\t\\t&__shipped {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t// Text and svg icon dark on bright background\\n\\t\\t&[data-color-bright] {\\n\\t\\t\\tcolor: black;\\n\\t\\t}\\n\\n\\t\\t&--active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\tborder-color: var(--color-main-background) !important;\\n\\t\\t}\\n\\n\\t\\t// Icon\\n\\t\\tspan {\\n\\t\\t\\tmargin: 4px;\\n\\t\\t}\\n\\n\\t\\t.check-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t&--active:not(.icon-loading) {\\n\\t\\t\\t.check-icon {\\n\\t\\t\\t\\t// Show checkmark\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.theming__preview[data-v-1a08e35a]{--ratio: 16;position:relative;display:flex;justify-content:flex-start;max-width:800px}.theming__preview[data-v-1a08e35a],.theming__preview *[data-v-1a08e35a]{user-select:none}.theming__preview-image[data-v-1a08e35a]{flex-basis:calc(16px*var(--ratio));flex-shrink:0;height:calc(10px*var(--ratio));margin-right:var(--gap);cursor:pointer;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:top left;background-size:cover}.theming__preview-explanation[data-v-1a08e35a]{margin-bottom:10px}.theming__preview-description[data-v-1a08e35a]{display:flex;flex-direction:column}.theming__preview-description h3[data-v-1a08e35a]{font-weight:bold;margin-bottom:0}.theming__preview-description label[data-v-1a08e35a]{padding:12px 0}.theming__preview--default[data-v-1a08e35a]{grid-column:span 2}.theming__preview-warning[data-v-1a08e35a]{color:var(--color-warning)}@media(max-width: 682.6666666667px){.theming__preview[data-v-1a08e35a]{flex-direction:column}.theming__preview-image[data-v-1a08e35a]{margin:0}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/ItemPreview.vue\"],\"names\":[],\"mappings\":\"AAGA,mCAEC,WAAA,CAEA,iBAAA,CACA,YAAA,CACA,0BAAA,CACA,eAAA,CAEA,wEAEC,gBAAA,CAGD,yCACC,kCAAA,CACA,aAAA,CACA,8BAAA,CACA,uBAAA,CACA,cAAA,CACA,kCAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBAAA,CAGD,+CACC,kBAAA,CAGD,+CACC,YAAA,CACA,qBAAA,CAEA,kDACC,gBAAA,CACA,eAAA,CAGD,qDACC,cAAA,CAIF,4CACC,kBAAA,CAGD,2CACC,0BAAA,CAIF,oCACC,mCACC,qBAAA,CAEA,yCACC,QAAA,CAAA\",\"sourcesContent\":[\"\\n@use 'sass:math';\\n\\n.theming__preview {\\n\\t// We make previews on 16/10 screens\\n\\t--ratio: 16;\\n\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tjustify-content: flex-start;\\n\\tmax-width: 800px;\\n\\n\\t&,\\n\\t* {\\n\\t\\tuser-select: none;\\n\\t}\\n\\n\\t&-image {\\n\\t\\tflex-basis: calc(16px * var(--ratio));\\n\\t\\tflex-shrink: 0;\\n\\t\\theight: calc(10px * var(--ratio));\\n\\t\\tmargin-right: var(--gap);\\n\\t\\tcursor: pointer;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: top left;\\n\\t\\tbackground-size: cover;\\n\\t}\\n\\n\\t&-explanation {\\n\\t\\tmargin-bottom: 10px;\\n\\t}\\n\\n\\t&-description {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\th3 {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\tlabel {\\n\\t\\t\\tpadding: 12px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&--default {\\n\\t\\tgrid-column: span 2;\\n\\t}\\n\\n\\t&-warning {\\n\\t\\tcolor: var(--color-warning);\\n\\t}\\n}\\n\\n@media (max-width: math.div(1024px, 1.5)) {\\n\\t.theming__preview {\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&-image {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-app-menu-order[data-v-3d6952db]{margin-block:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/theming/src/components/UserAppMenuSection.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,iBAAA\",\"sourcesContent\":[\"\\n.user-app-menu-order {\\n\\tmargin-block: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar vibrant_1 = __importDefault(require(\"./vibrant\"));\nvar browser_1 = __importDefault(require(\"./image/browser\"));\nvibrant_1.default.DefaultOpts.ImageClass = browser_1.default;\nmodule.exports = vibrant_1.default;\n//# sourceMappingURL=browser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar vibrant_1 = __importDefault(require(\"./vibrant\"));\nvar clone = require(\"lodash/clone\");\nvar Builder = /** @class */ (function () {\n function Builder(src, opts) {\n if (opts === void 0) { opts = {}; }\n this._src = src;\n this._opts = opts;\n this._opts.filters = clone(vibrant_1.default.DefaultOpts.filters);\n }\n Builder.prototype.maxColorCount = function (n) {\n this._opts.colorCount = n;\n return this;\n };\n Builder.prototype.maxDimension = function (d) {\n this._opts.maxDimension = d;\n return this;\n };\n Builder.prototype.addFilter = function (f) {\n this._opts.filters.push(f);\n return this;\n };\n Builder.prototype.removeFilter = function (f) {\n var i = this._opts.filters.indexOf(f);\n if (i > 0)\n this._opts.filters.splice(i);\n return this;\n };\n Builder.prototype.clearFilters = function () {\n this._opts.filters = [];\n return this;\n };\n Builder.prototype.quality = function (q) {\n this._opts.quality = q;\n return this;\n };\n Builder.prototype.useImageClass = function (imageClass) {\n this._opts.ImageClass = imageClass;\n return this;\n };\n Builder.prototype.useGenerator = function (generator) {\n this._opts.generator = generator;\n return this;\n };\n Builder.prototype.useQuantizer = function (quantizer) {\n this._opts.quantizer = quantizer;\n return this;\n };\n Builder.prototype.build = function () {\n return new vibrant_1.default(this._src, this._opts);\n };\n Builder.prototype.getPalette = function (cb) {\n return this.build().getPalette(cb);\n };\n Builder.prototype.getSwatches = function (cb) {\n return this.build().getPalette(cb);\n };\n return Builder;\n}());\nexports.default = Builder;\n//# sourceMappingURL=builder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Swatch = void 0;\nvar util_1 = require(\"./util\");\nvar filter = require(\"lodash/filter\");\nvar Swatch = /** @class */ (function () {\n function Swatch(rgb, population) {\n this._rgb = rgb;\n this._population = population;\n }\n Swatch.applyFilter = function (colors, f) {\n return typeof f === 'function'\n ? filter(colors, function (_a) {\n var r = _a.r, g = _a.g, b = _a.b;\n return f(r, g, b, 255);\n })\n : colors;\n };\n Object.defineProperty(Swatch.prototype, \"r\", {\n get: function () { return this._rgb[0]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"g\", {\n get: function () { return this._rgb[1]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"b\", {\n get: function () { return this._rgb[2]; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"rgb\", {\n get: function () { return this._rgb; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"hsl\", {\n get: function () {\n if (!this._hsl) {\n var _a = this._rgb, r = _a[0], g = _a[1], b = _a[2];\n this._hsl = util_1.rgbToHsl(r, g, b);\n }\n return this._hsl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"hex\", {\n get: function () {\n if (!this._hex) {\n var _a = this._rgb, r = _a[0], g = _a[1], b = _a[2];\n this._hex = util_1.rgbToHex(r, g, b);\n }\n return this._hex;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"population\", {\n get: function () { return this._population; },\n enumerable: false,\n configurable: true\n });\n Swatch.prototype.toJSON = function () {\n return {\n rgb: this.rgb,\n population: this.population\n };\n };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getRgb = function () { return this._rgb; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getHsl = function () { return this.hsl; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getPopulation = function () { return this._population; };\n // TODO: deprecate internally, use property instead\n Swatch.prototype.getHex = function () { return this.hex; };\n Swatch.prototype.getYiq = function () {\n if (!this._yiq) {\n var rgb = this._rgb;\n this._yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n }\n return this._yiq;\n };\n Object.defineProperty(Swatch.prototype, \"titleTextColor\", {\n get: function () {\n if (!this._titleTextColor) {\n this._titleTextColor = this.getYiq() < 200 ? '#fff' : '#000';\n }\n return this._titleTextColor;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Swatch.prototype, \"bodyTextColor\", {\n get: function () {\n if (!this._bodyTextColor) {\n this._bodyTextColor = this.getYiq() < 150 ? '#fff' : '#000';\n }\n return this._bodyTextColor;\n },\n enumerable: false,\n configurable: true\n });\n Swatch.prototype.getTitleTextColor = function () {\n return this.titleTextColor;\n };\n Swatch.prototype.getBodyTextColor = function () {\n return this.bodyTextColor;\n };\n return Swatch;\n}());\nexports.Swatch = Swatch;\n//# sourceMappingURL=color.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction defaultFilter(r, g, b, a) {\n return a >= 125 &&\n !(r > 250 && g > 250 && b > 250);\n}\nexports.default = defaultFilter;\n//# sourceMappingURL=default.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineFilters = void 0;\nvar default_1 = require(\"./default\");\nObject.defineProperty(exports, \"Default\", { enumerable: true, get: function () { return default_1.default; } });\nfunction combineFilters(filters) {\n // TODO: caching\n if (!Array.isArray(filters) || filters.length === 0)\n return null;\n return function (r, g, b, a) {\n if (a === 0)\n return false;\n for (var i = 0; i < filters.length; i++) {\n if (!filters[i](r, g, b, a))\n return false;\n }\n return true;\n };\n}\nexports.combineFilters = combineFilters;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"../color\");\nvar util_1 = require(\"../util\");\nvar defaults = require(\"lodash/defaults\");\nvar DefaultOpts = {\n targetDarkLuma: 0.26,\n maxDarkLuma: 0.45,\n minLightLuma: 0.55,\n targetLightLuma: 0.74,\n minNormalLuma: 0.3,\n targetNormalLuma: 0.5,\n maxNormalLuma: 0.7,\n targetMutesSaturation: 0.3,\n maxMutesSaturation: 0.4,\n targetVibrantSaturation: 1.0,\n minVibrantSaturation: 0.35,\n weightSaturation: 3,\n weightLuma: 6.5,\n weightPopulation: 0.5\n};\nfunction _findMaxPopulation(swatches) {\n var p = 0;\n swatches.forEach(function (s) {\n p = Math.max(p, s.getPopulation());\n });\n return p;\n}\nfunction _isAlreadySelected(palette, s) {\n return palette.Vibrant === s ||\n palette.DarkVibrant === s ||\n palette.LightVibrant === s ||\n palette.Muted === s ||\n palette.DarkMuted === s ||\n palette.LightMuted === s;\n}\nfunction _createComparisonValue(saturation, targetSaturation, luma, targetLuma, population, maxPopulation, opts) {\n function weightedMean() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var sum = 0;\n var weightSum = 0;\n for (var i = 0; i < values.length; i += 2) {\n var value = values[i];\n var weight = values[i + 1];\n sum += value * weight;\n weightSum += weight;\n }\n return sum / weightSum;\n }\n function invertDiff(value, targetValue) {\n return 1 - Math.abs(value - targetValue);\n }\n return weightedMean(invertDiff(saturation, targetSaturation), opts.weightSaturation, invertDiff(luma, targetLuma), opts.weightLuma, population / maxPopulation, opts.weightPopulation);\n}\nfunction _findColorVariation(palette, swatches, maxPopulation, targetLuma, minLuma, maxLuma, targetSaturation, minSaturation, maxSaturation, opts) {\n var max = null;\n var maxValue = 0;\n swatches.forEach(function (swatch) {\n var _a = swatch.getHsl(), s = _a[1], l = _a[2];\n if (s >= minSaturation && s <= maxSaturation &&\n l >= minLuma && l <= maxLuma &&\n !_isAlreadySelected(palette, swatch)) {\n var value = _createComparisonValue(s, targetSaturation, l, targetLuma, swatch.getPopulation(), maxPopulation, opts);\n if (max === null || value > maxValue) {\n max = swatch;\n maxValue = value;\n }\n }\n });\n return max;\n}\nfunction _generateVariationColors(swatches, maxPopulation, opts) {\n var palette = {};\n // mVibrantSwatch = findColor(TARGET_NORMAL_LUMA, MIN_NORMAL_LUMA, MAX_NORMAL_LUMA,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.Vibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetNormalLuma, opts.minNormalLuma, opts.maxNormalLuma, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mLightVibrantSwatch = findColor(TARGET_LIGHT_LUMA, MIN_LIGHT_LUMA, 1f,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.LightVibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetLightLuma, opts.minLightLuma, 1, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mDarkVibrantSwatch = findColor(TARGET_DARK_LUMA, 0f, MAX_DARK_LUMA,\n // TARGET_VIBRANT_SATURATION, MIN_VIBRANT_SATURATION, 1f);\n palette.DarkVibrant = _findColorVariation(palette, swatches, maxPopulation, opts.targetDarkLuma, 0, opts.maxDarkLuma, opts.targetVibrantSaturation, opts.minVibrantSaturation, 1, opts);\n // mMutedSwatch = findColor(TARGET_NORMAL_LUMA, MIN_NORMAL_LUMA, MAX_NORMAL_LUMA,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.Muted = _findColorVariation(palette, swatches, maxPopulation, opts.targetNormalLuma, opts.minNormalLuma, opts.maxNormalLuma, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n // mLightMutedColor = findColor(TARGET_LIGHT_LUMA, MIN_LIGHT_LUMA, 1f,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.LightMuted = _findColorVariation(palette, swatches, maxPopulation, opts.targetLightLuma, opts.minLightLuma, 1, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n // mDarkMutedSwatch = findColor(TARGET_DARK_LUMA, 0f, MAX_DARK_LUMA,\n // TARGET_MUTED_SATURATION, 0f, MAX_MUTED_SATURATION);\n palette.DarkMuted = _findColorVariation(palette, swatches, maxPopulation, opts.targetDarkLuma, 0, opts.maxDarkLuma, opts.targetMutesSaturation, 0, opts.maxMutesSaturation, opts);\n return palette;\n}\nfunction _generateEmptySwatches(palette, maxPopulation, opts) {\n if (palette.Vibrant === null && palette.DarkVibrant === null && palette.LightVibrant === null) {\n if (palette.DarkVibrant === null && palette.DarkMuted !== null) {\n var _a = palette.DarkMuted.getHsl(), h = _a[0], s = _a[1], l = _a[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightVibrant === null && palette.LightMuted !== null) {\n var _b = palette.LightMuted.getHsl(), h = _b[0], s = _b[1], l = _b[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n }\n if (palette.Vibrant === null && palette.DarkVibrant !== null) {\n var _c = palette.DarkVibrant.getHsl(), h = _c[0], s = _c[1], l = _c[2];\n l = opts.targetNormalLuma;\n palette.Vibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n else if (palette.Vibrant === null && palette.LightVibrant !== null) {\n var _d = palette.LightVibrant.getHsl(), h = _d[0], s = _d[1], l = _d[2];\n l = opts.targetNormalLuma;\n palette.Vibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.DarkVibrant === null && palette.Vibrant !== null) {\n var _e = palette.Vibrant.getHsl(), h = _e[0], s = _e[1], l = _e[2];\n l = opts.targetDarkLuma;\n palette.DarkVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightVibrant === null && palette.Vibrant !== null) {\n var _f = palette.Vibrant.getHsl(), h = _f[0], s = _f[1], l = _f[2];\n l = opts.targetLightLuma;\n palette.LightVibrant = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.Muted === null && palette.Vibrant !== null) {\n var _g = palette.Vibrant.getHsl(), h = _g[0], s = _g[1], l = _g[2];\n l = opts.targetMutesSaturation;\n palette.Muted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.DarkMuted === null && palette.DarkVibrant !== null) {\n var _h = palette.DarkVibrant.getHsl(), h = _h[0], s = _h[1], l = _h[2];\n l = opts.targetMutesSaturation;\n palette.DarkMuted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n if (palette.LightMuted === null && palette.LightVibrant !== null) {\n var _j = palette.LightVibrant.getHsl(), h = _j[0], s = _j[1], l = _j[2];\n l = opts.targetMutesSaturation;\n palette.LightMuted = new color_1.Swatch(util_1.hslToRgb(h, s, l), 0);\n }\n}\nvar DefaultGenerator = function (swatches, opts) {\n opts = defaults({}, opts, DefaultOpts);\n var maxPopulation = _findMaxPopulation(swatches);\n var palette = _generateVariationColors(swatches, maxPopulation, opts);\n _generateEmptySwatches(palette, maxPopulation, opts);\n return palette;\n};\nexports.default = DefaultGenerator;\n//# sourceMappingURL=default.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar default_1 = require(\"./default\");\nObject.defineProperty(exports, \"Default\", { enumerable: true, get: function () { return default_1.default; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageBase = void 0;\nvar ImageBase = /** @class */ (function () {\n function ImageBase() {\n }\n ImageBase.prototype.scaleDown = function (opts) {\n var width = this.getWidth();\n var height = this.getHeight();\n var ratio = 1;\n if (opts.maxDimension > 0) {\n var maxSide = Math.max(width, height);\n if (maxSide > opts.maxDimension)\n ratio = opts.maxDimension / maxSide;\n }\n else {\n ratio = 1 / opts.quality;\n }\n if (ratio < 1)\n this.resize(width * ratio, height * ratio, ratio);\n };\n ImageBase.prototype.applyFilter = function (filter) {\n var imageData = this.getImageData();\n if (typeof filter === 'function') {\n var pixels = imageData.data;\n var n = pixels.length / 4;\n var offset = void 0, r = void 0, g = void 0, b = void 0, a = void 0;\n for (var i = 0; i < n; i++) {\n offset = i * 4;\n r = pixels[offset + 0];\n g = pixels[offset + 1];\n b = pixels[offset + 2];\n a = pixels[offset + 3];\n // Mark ignored color\n if (!filter(r, g, b, a))\n pixels[offset + 3] = 0;\n }\n }\n return Promise.resolve(imageData);\n };\n return ImageBase;\n}());\nexports.ImageBase = ImageBase;\n//# sourceMappingURL=base.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar base_1 = require(\"./base\");\nvar Url = __importStar(require(\"url\"));\nfunction isRelativeUrl(url) {\n var u = Url.parse(url);\n return u.protocol === null &&\n u.host === null &&\n u.port === null;\n}\nfunction isSameOrigin(a, b) {\n var ua = Url.parse(a);\n var ub = Url.parse(b);\n // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n return ua.protocol === ub.protocol &&\n ua.hostname === ub.hostname &&\n ua.port === ub.port;\n}\nvar BrowserImage = /** @class */ (function (_super) {\n __extends(BrowserImage, _super);\n function BrowserImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BrowserImage.prototype._initCanvas = function () {\n var img = this.image;\n var canvas = this._canvas = document.createElement('canvas');\n var context = this._context = canvas.getContext('2d');\n canvas.className = 'vibrant-canvas';\n canvas.style.display = 'none';\n this._width = canvas.width = img.width;\n this._height = canvas.height = img.height;\n context.drawImage(img, 0, 0);\n document.body.appendChild(canvas);\n };\n BrowserImage.prototype.load = function (image) {\n var _this = this;\n var img = null;\n var src = null;\n if (typeof image === 'string') {\n img = document.createElement('img');\n if (!isRelativeUrl(image) && !isSameOrigin(window.location.href, image)) {\n img.crossOrigin = 'anonymous';\n }\n src = img.src = image;\n }\n else if (image instanceof HTMLImageElement) {\n img = image;\n src = image.src;\n }\n else {\n return Promise.reject(new Error(\"Cannot load buffer as an image in browser\"));\n }\n this.image = img;\n return new Promise(function (resolve, reject) {\n var onImageLoad = function () {\n _this._initCanvas();\n resolve(_this);\n };\n if (img.complete) {\n // Already loaded\n onImageLoad();\n }\n else {\n img.onload = onImageLoad;\n img.onerror = function (e) { return reject(new Error(\"Fail to load image: \" + src)); };\n }\n });\n };\n BrowserImage.prototype.clear = function () {\n this._context.clearRect(0, 0, this._width, this._height);\n };\n BrowserImage.prototype.update = function (imageData) {\n this._context.putImageData(imageData, 0, 0);\n };\n BrowserImage.prototype.getWidth = function () {\n return this._width;\n };\n BrowserImage.prototype.getHeight = function () {\n return this._height;\n };\n BrowserImage.prototype.resize = function (targetWidth, targetHeight, ratio) {\n var _a = this, canvas = _a._canvas, context = _a._context, img = _a.image;\n this._width = canvas.width = targetWidth;\n this._height = canvas.height = targetHeight;\n context.scale(ratio, ratio);\n context.drawImage(img, 0, 0);\n };\n BrowserImage.prototype.getPixelCount = function () {\n return this._width * this._height;\n };\n BrowserImage.prototype.getImageData = function () {\n return this._context.getImageData(0, 0, this._width, this._height);\n };\n BrowserImage.prototype.remove = function () {\n if (this._canvas && this._canvas.parentNode) {\n this._canvas.parentNode.removeChild(this._canvas);\n }\n };\n return BrowserImage;\n}(base_1.ImageBase));\nexports.default = BrowserImage;\n//# sourceMappingURL=browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebWorker = void 0;\nvar mmcq_1 = require(\"./mmcq\");\nObject.defineProperty(exports, \"MMCQ\", { enumerable: true, get: function () { return mmcq_1.default; } });\nexports.WebWorker = null;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"../color\");\nvar vbox_1 = __importDefault(require(\"./vbox\"));\nvar pqueue_1 = __importDefault(require(\"./pqueue\"));\nvar fractByPopulations = 0.75;\nfunction _splitBoxes(pq, target) {\n var lastSize = pq.size();\n while (pq.size() < target) {\n var vbox = pq.pop();\n if (vbox && vbox.count() > 0) {\n var _a = vbox.split(), vbox1 = _a[0], vbox2 = _a[1];\n pq.push(vbox1);\n if (vbox2 && vbox2.count() > 0)\n pq.push(vbox2);\n // No more new boxes, converged\n if (pq.size() === lastSize) {\n break;\n }\n else {\n lastSize = pq.size();\n }\n }\n else {\n break;\n }\n }\n}\nvar MMCQ = function (pixels, opts) {\n if (pixels.length === 0 || opts.colorCount < 2 || opts.colorCount > 256) {\n throw new Error('Wrong MMCQ parameters');\n }\n var vbox = vbox_1.default.build(pixels);\n var hist = vbox.hist;\n var colorCount = Object.keys(hist).length;\n var pq = new pqueue_1.default(function (a, b) { return a.count() - b.count(); });\n pq.push(vbox);\n // first set of colors, sorted by population\n _splitBoxes(pq, fractByPopulations * opts.colorCount);\n // Re-order\n var pq2 = new pqueue_1.default(function (a, b) { return a.count() * a.volume() - b.count() * b.volume(); });\n pq2.contents = pq.contents;\n // next set - generate the median cuts using the (npix * vol) sorting.\n _splitBoxes(pq2, opts.colorCount - pq2.size());\n // calculate the actual colors\n return generateSwatches(pq2);\n};\nfunction generateSwatches(pq) {\n var swatches = [];\n while (pq.size()) {\n var v = pq.pop();\n var color = v.avg();\n var r = color[0], g = color[1], b = color[2];\n swatches.push(new color_1.Swatch(color, v.count()));\n }\n return swatches;\n}\nexports.default = MMCQ;\n//# sourceMappingURL=mmcq.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PQueue = /** @class */ (function () {\n function PQueue(comparator) {\n this._comparator = comparator;\n this.contents = [];\n this._sorted = false;\n }\n PQueue.prototype._sort = function () {\n if (!this._sorted) {\n this.contents.sort(this._comparator);\n this._sorted = true;\n }\n };\n PQueue.prototype.push = function (item) {\n this.contents.push(item);\n this._sorted = false;\n };\n PQueue.prototype.peek = function (index) {\n this._sort();\n index = typeof index === 'number' ? index : this.contents.length - 1;\n return this.contents[index];\n };\n PQueue.prototype.pop = function () {\n this._sort();\n return this.contents.pop();\n };\n PQueue.prototype.size = function () {\n return this.contents.length;\n };\n PQueue.prototype.map = function (mapper) {\n this._sort();\n return this.contents.map(mapper);\n };\n return PQueue;\n}());\nexports.default = PQueue;\n//# sourceMappingURL=pqueue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"../util\");\nvar VBox = /** @class */ (function () {\n function VBox(r1, r2, g1, g2, b1, b2, hist) {\n this._volume = -1;\n this._count = -1;\n this.dimension = { r1: r1, r2: r2, g1: g1, g2: g2, b1: b1, b2: b2 };\n this.hist = hist;\n }\n VBox.build = function (pixels, shouldIgnore) {\n var hn = 1 << (3 * util_1.SIGBITS);\n var hist = new Uint32Array(hn);\n var rmax;\n var rmin;\n var gmax;\n var gmin;\n var bmax;\n var bmin;\n var r;\n var g;\n var b;\n var a;\n rmax = gmax = bmax = 0;\n rmin = gmin = bmin = Number.MAX_VALUE;\n var n = pixels.length / 4;\n var i = 0;\n while (i < n) {\n var offset = i * 4;\n i++;\n r = pixels[offset + 0];\n g = pixels[offset + 1];\n b = pixels[offset + 2];\n a = pixels[offset + 3];\n // Ignored pixels' alpha is marked as 0 in filtering stage\n if (a === 0)\n continue;\n r = r >> util_1.RSHIFT;\n g = g >> util_1.RSHIFT;\n b = b >> util_1.RSHIFT;\n var index = util_1.getColorIndex(r, g, b);\n hist[index] += 1;\n if (r > rmax)\n rmax = r;\n if (r < rmin)\n rmin = r;\n if (g > gmax)\n gmax = g;\n if (g < gmin)\n gmin = g;\n if (b > bmax)\n bmax = b;\n if (b < bmin)\n bmin = b;\n }\n return new VBox(rmin, rmax, gmin, gmax, bmin, bmax, hist);\n };\n VBox.prototype.invalidate = function () {\n this._volume = this._count = -1;\n this._avg = null;\n };\n VBox.prototype.volume = function () {\n if (this._volume < 0) {\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n this._volume = (r2 - r1 + 1) * (g2 - g1 + 1) * (b2 - b1 + 1);\n }\n return this._volume;\n };\n VBox.prototype.count = function () {\n if (this._count < 0) {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var c = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n c += hist[index];\n }\n }\n }\n this._count = c;\n }\n return this._count;\n };\n VBox.prototype.clone = function () {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n return new VBox(r1, r2, g1, g2, b1, b2, hist);\n };\n VBox.prototype.avg = function () {\n if (!this._avg) {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var ntot = 0;\n var mult = 1 << (8 - util_1.SIGBITS);\n var rsum = void 0;\n var gsum = void 0;\n var bsum = void 0;\n rsum = gsum = bsum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n var h = hist[index];\n ntot += h;\n rsum += (h * (r + 0.5) * mult);\n gsum += (h * (g + 0.5) * mult);\n bsum += (h * (b + 0.5) * mult);\n }\n }\n }\n if (ntot) {\n this._avg = [\n ~~(rsum / ntot),\n ~~(gsum / ntot),\n ~~(bsum / ntot)\n ];\n }\n else {\n this._avg = [\n ~~(mult * (r1 + r2 + 1) / 2),\n ~~(mult * (g1 + g2 + 1) / 2),\n ~~(mult * (b1 + b2 + 1) / 2)\n ];\n }\n }\n return this._avg;\n };\n VBox.prototype.contains = function (rgb) {\n var r = rgb[0], g = rgb[1], b = rgb[2];\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n r >>= util_1.RSHIFT;\n g >>= util_1.RSHIFT;\n b >>= util_1.RSHIFT;\n return r >= r1 && r <= r2 &&\n g >= g1 && g <= g2 &&\n b >= b1 && b <= b2;\n };\n VBox.prototype.split = function () {\n var hist = this.hist;\n var _a = this.dimension, r1 = _a.r1, r2 = _a.r2, g1 = _a.g1, g2 = _a.g2, b1 = _a.b1, b2 = _a.b2;\n var count = this.count();\n if (!count)\n return [];\n if (count === 1)\n return [this.clone()];\n var rw = r2 - r1 + 1;\n var gw = g2 - g1 + 1;\n var bw = b2 - b1 + 1;\n var maxw = Math.max(rw, gw, bw);\n var accSum = null;\n var sum;\n var total;\n sum = total = 0;\n var maxd = null;\n if (maxw === rw) {\n maxd = 'r';\n accSum = new Uint32Array(r2 + 1);\n for (var r = r1; r <= r2; r++) {\n sum = 0;\n for (var g = g1; g <= g2; g++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[r] = total;\n }\n }\n else if (maxw === gw) {\n maxd = 'g';\n accSum = new Uint32Array(g2 + 1);\n for (var g = g1; g <= g2; g++) {\n sum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var b = b1; b <= b2; b++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[g] = total;\n }\n }\n else {\n maxd = 'b';\n accSum = new Uint32Array(b2 + 1);\n for (var b = b1; b <= b2; b++) {\n sum = 0;\n for (var r = r1; r <= r2; r++) {\n for (var g = g1; g <= g2; g++) {\n var index = util_1.getColorIndex(r, g, b);\n sum += hist[index];\n }\n }\n total += sum;\n accSum[b] = total;\n }\n }\n var splitPoint = -1;\n var reverseSum = new Uint32Array(accSum.length);\n for (var i = 0; i < accSum.length; i++) {\n var d = accSum[i];\n if (splitPoint < 0 && d > total / 2)\n splitPoint = i;\n reverseSum[i] = total - d;\n }\n var vbox = this;\n function doCut(d) {\n var dim1 = d + '1';\n var dim2 = d + '2';\n var d1 = vbox.dimension[dim1];\n var d2 = vbox.dimension[dim2];\n var vbox1 = vbox.clone();\n var vbox2 = vbox.clone();\n var left = splitPoint - d1;\n var right = d2 - splitPoint;\n if (left <= right) {\n d2 = Math.min(d2 - 1, ~~(splitPoint + right / 2));\n d2 = Math.max(0, d2);\n }\n else {\n d2 = Math.max(d1, ~~(splitPoint - 1 - left / 2));\n d2 = Math.min(vbox.dimension[dim2], d2);\n }\n while (!accSum[d2])\n d2++;\n var c2 = reverseSum[d2];\n while (!c2 && accSum[d2 - 1])\n c2 = reverseSum[--d2];\n vbox1.dimension[dim2] = d2;\n vbox2.dimension[dim1] = d2 + 1;\n return [vbox1, vbox2];\n }\n return doCut(maxd);\n };\n return VBox;\n}());\nexports.default = VBox;\n//# sourceMappingURL=vbox.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getColorIndex = exports.getColorDiffStatus = exports.hexDiff = exports.rgbDiff = exports.deltaE94 = exports.rgbToCIELab = exports.xyzToCIELab = exports.rgbToXyz = exports.hslToRgb = exports.rgbToHsl = exports.rgbToHex = exports.hexToRgb = exports.defer = exports.RSHIFT = exports.SIGBITS = exports.DELTAE94_DIFF_STATUS = void 0;\nexports.DELTAE94_DIFF_STATUS = {\n NA: 0,\n PERFECT: 1,\n CLOSE: 2,\n GOOD: 10,\n SIMILAR: 50\n};\nexports.SIGBITS = 5;\nexports.RSHIFT = 8 - exports.SIGBITS;\nfunction defer() {\n var resolve;\n var reject;\n // eslint-disable-next-line promise/param-names\n var promise = new Promise(function (_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n });\n // @ts-ignore\n return { resolve: resolve, reject: reject, promise: promise };\n}\nexports.defer = defer;\nfunction hexToRgb(hex) {\n var m = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return m === null ? null : [m[1], m[2], m[3]].map(function (s) { return parseInt(s, 16); });\n}\nexports.hexToRgb = hexToRgb;\nfunction rgbToHex(r, g, b) {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1, 7);\n}\nexports.rgbToHex = rgbToHex;\nfunction rgbToHsl(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n // @ts-ignore\n h /= 6;\n }\n // @ts-ignore\n return [h, s, l];\n}\nexports.rgbToHsl = rgbToHsl;\nfunction hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n function hue2rgb(p, q, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - (l * s);\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - (1 / 3));\n }\n return [\n r * 255,\n g * 255,\n b * 255\n ];\n}\nexports.hslToRgb = hslToRgb;\nfunction rgbToXyz(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n r = r > 0.04045 ? Math.pow((r + 0.005) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.005) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.005) / 1.055, 2.4) : b / 12.92;\n r *= 100;\n g *= 100;\n b *= 100;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x, y, z];\n}\nexports.rgbToXyz = rgbToXyz;\nfunction xyzToCIELab(x, y, z) {\n var REF_X = 95.047;\n var REF_Y = 100;\n var REF_Z = 108.883;\n x /= REF_X;\n y /= REF_Y;\n z /= REF_Z;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var L = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [L, a, b];\n}\nexports.xyzToCIELab = xyzToCIELab;\nfunction rgbToCIELab(r, g, b) {\n var _a = rgbToXyz(r, g, b), x = _a[0], y = _a[1], z = _a[2];\n return xyzToCIELab(x, y, z);\n}\nexports.rgbToCIELab = rgbToCIELab;\nfunction deltaE94(lab1, lab2) {\n var WEIGHT_L = 1;\n var WEIGHT_C = 1;\n var WEIGHT_H = 1;\n var L1 = lab1[0], a1 = lab1[1], b1 = lab1[2];\n var L2 = lab2[0], a2 = lab2[1], b2 = lab2[2];\n var dL = L1 - L2;\n var da = a1 - a2;\n var db = b1 - b2;\n var xC1 = Math.sqrt(a1 * a1 + b1 * b1);\n var xC2 = Math.sqrt(a2 * a2 + b2 * b2);\n var xDL = L2 - L1;\n var xDC = xC2 - xC1;\n var xDE = Math.sqrt(dL * dL + da * da + db * db);\n var xDH = (Math.sqrt(xDE) > Math.sqrt(Math.abs(xDL)) + Math.sqrt(Math.abs(xDC)))\n ? Math.sqrt(xDE * xDE - xDL * xDL - xDC * xDC)\n : 0;\n var xSC = 1 + 0.045 * xC1;\n var xSH = 1 + 0.015 * xC1;\n xDL /= WEIGHT_L;\n xDC /= WEIGHT_C * xSC;\n xDH /= WEIGHT_H * xSH;\n return Math.sqrt(xDL * xDL + xDC * xDC + xDH * xDH);\n}\nexports.deltaE94 = deltaE94;\nfunction rgbDiff(rgb1, rgb2) {\n var lab1 = rgbToCIELab.apply(undefined, rgb1);\n var lab2 = rgbToCIELab.apply(undefined, rgb2);\n return deltaE94(lab1, lab2);\n}\nexports.rgbDiff = rgbDiff;\nfunction hexDiff(hex1, hex2) {\n var rgb1 = hexToRgb(hex1);\n var rgb2 = hexToRgb(hex2);\n return rgbDiff(rgb1, rgb2);\n}\nexports.hexDiff = hexDiff;\nfunction getColorDiffStatus(d) {\n if (d < exports.DELTAE94_DIFF_STATUS.NA) {\n return 'N/A';\n }\n // Not perceptible by human eyes\n if (d <= exports.DELTAE94_DIFF_STATUS.PERFECT) {\n return 'Perfect';\n }\n // Perceptible through close observation\n if (d <= exports.DELTAE94_DIFF_STATUS.CLOSE) {\n return 'Close';\n }\n // Perceptible at a glance\n if (d <= exports.DELTAE94_DIFF_STATUS.GOOD) {\n return 'Good';\n }\n // Colors are more similar than opposite\n if (d < exports.DELTAE94_DIFF_STATUS.SIMILAR) {\n return 'Similar';\n }\n return 'Wrong';\n}\nexports.getColorDiffStatus = getColorDiffStatus;\nfunction getColorIndex(r, g, b) {\n return (r << (2 * exports.SIGBITS)) + (g << exports.SIGBITS) + b;\n}\nexports.getColorIndex = getColorIndex;\n//# sourceMappingURL=util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar color_1 = require(\"./color\");\nvar builder_1 = __importDefault(require(\"./builder\"));\nvar Util = __importStar(require(\"./util\"));\nvar Quantizer = __importStar(require(\"./quantizer\"));\nvar Generator = __importStar(require(\"./generator\"));\nvar Filters = __importStar(require(\"./filter\"));\nvar defaults = require(\"lodash/defaults\");\nvar Vibrant = /** @class */ (function () {\n function Vibrant(_src, opts) {\n this._src = _src;\n this.opts = defaults({}, opts, Vibrant.DefaultOpts);\n this.opts.combinedFilter = Filters.combineFilters(this.opts.filters);\n }\n Vibrant.from = function (src) {\n return new builder_1.default(src);\n };\n Vibrant.prototype._process = function (image, opts) {\n var quantizer = opts.quantizer, generator = opts.generator;\n image.scaleDown(opts);\n return image.applyFilter(opts.combinedFilter)\n .then(function (imageData) { return quantizer(imageData.data, opts); })\n .then(function (colors) { return color_1.Swatch.applyFilter(colors, opts.combinedFilter); })\n .then(function (colors) { return Promise.resolve(generator(colors)); });\n };\n Vibrant.prototype.palette = function () {\n return this.swatches();\n };\n Vibrant.prototype.swatches = function () {\n return this._palette;\n };\n Vibrant.prototype.getPalette = function (cb) {\n var _this = this;\n var image = new this.opts.ImageClass();\n var result = image.load(this._src)\n .then(function (image) { return _this._process(image, _this.opts); })\n .then(function (palette) {\n _this._palette = palette;\n image.remove();\n return palette;\n }, function (err) {\n image.remove();\n throw err;\n });\n if (cb)\n result.then(function (palette) { return cb(null, palette); }, function (err) { return cb(err); });\n return result;\n };\n Vibrant.Builder = builder_1.default;\n Vibrant.Quantizer = Quantizer;\n Vibrant.Generator = Generator;\n Vibrant.Filter = Filters;\n Vibrant.Util = Util;\n Vibrant.Swatch = color_1.Swatch;\n Vibrant.DefaultOpts = {\n colorCount: 64,\n quality: 5,\n generator: Generator.Default,\n ImageClass: null,\n quantizer: Quantizer.MMCQ,\n filters: [Filters.Default]\n };\n return Vibrant;\n}());\nexports.default = Vibrant;\n//# sourceMappingURL=vibrant.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4720\":\"67ff1816113751e83e78\",\"6512\":\"930a9f0a458cd206d9d1\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1474;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1474: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(72347)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","backgroundImage","loadState","shippedBackgroundList","themingDefaultBackground","defaultShippedBackground","prefixWithBaseUrl","url","generateFilePath","components","Check","Close","ImageEdit","NcButton","NcColorPicker","data","loading","Theming","computed","shippedBackgrounds","Object","keys","map","fileName","preview","details","filter","background","isGlobalBackgroundDeleted","isGlobalBackgroundDefault","isBackgroundDisabled","methods","invertTextColor","color","calculateLuma","red","green","blue","hexToRGB","hex","result","exec","parseInt","update","backgroundColor","setDefault","axios","post","generateUrl","setShipped","shipped","value","setFile","path","arguments","length","undefined","removeBackground","delete","pickColor","event","target","dataset","debouncePickColor","debounce","pickFile","getFilePickerBuilder","t","allowDirectories","setMimeTypeFilter","setMultiSelect","addButton","id","label","callback","nodes","applyFile","build","pick","trim","console","error","showError","response","fileUrl","generateRemoteUrl","getCurrentUser","uid","get","responseType","blobUrl","URL","createObjectURL","palette","getColorPaletteFromBlob","DarkVibrant","debug","Promise","resolve","reject","Vibrant","getPalette","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","class","style","defaultColor","model","$$v","$set","expression","_l","shippedBackground","key","primary_color","attribution","description","theming","NcCheckboxRadioSwitch","enforced","Boolean","selected","theme","required","unique","switchType","img","checked","set","enabled","onToggle","enableLabel","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","defineProperty","enumerable","configurable","writable","_extends","assign","i","source","hasOwnProperty","call","apply","_objectSpread","ownKeys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","forEach","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","fn","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","defaultView","getComputedStyle","currentStyle","indexOf","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","n","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","index","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","isRectEqual","rect1","rect2","Math","round","throttle","ms","args","setTimeout","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","expando","Date","getTime","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","push","pluginEvent","eventName","sortable","evt","_this","eventCanceled","cancel","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_ref","originalEvent","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","bind","dragEl","parentEl","ghostEl","rootEl","nextEl","lastDownEl","cloneEl","cloneHidden","dragStarted","moved","putSortable","activeSortable","active","oldIndex","oldDraggableIndex","newIndex","newDraggableIndex","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","targetEl","toEl","fromEl","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","from","item","pullMode","lastPutMode","allEventProperties","dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","join","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","some","rect","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","ret","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","animationCallbackId","animationStates","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","easing","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","captureAnimationState","slice","child","fromRect","thisAnimationDuration","childMatrix","f","e","addAnimationState","removeAnimationState","splice","arr","indexOfObject","animateAll","clearTimeout","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","sqrt","pow","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","offsetWidth","repaint","animated","_onMove","dragRect","targetRect","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","src","href","sum","charCodeAt","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","composedPath","root","inputs","idx","_saveInputCheckedState","button","isContentEditable","criteria","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","vertical","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","_ghostIsLast","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_dragElInRowColumn","side1","scrolledPastTop","scrollBefore","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_getSwapDirection","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","save","handleEvent","dropEffect","_globalDragOver","toArray","order","getAttribute","items","destroy","Array","querySelectorAll","removeAttribute","utils","is","extend","dst","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","version","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","clearAutoScrolls","autoScroll","pid","clearPointerElemChangedInterval","isFallback","scroll","scrollCustomFn","sens","scrollSensitivity","speed","scrollSpeed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","bubbleScroll","drop","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref2","_ref3","_ref4","parentSortable","AutoScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","ogElemScroller","newElem","util","warn","defineComponent","IconArrowDown","IconArrowUp","ariaDescribedby","ariaDetails","app","isFirst","isLast","move:up","move:down","update:focus","setup","emit","buttonUp","ref","buttonDown","needsFocus","moveUp","moveDown","keepFocus","$el","focus","_setupProxy","icon","directives","rawName","scopedSlots","_u","proxy","AppOrderSelectorElement","Fragment","isArray","listElement","appList","newValue","renderCount","resetOptions","defaultOptions","onUpdate","_valueIsRef","array","moveArrayElement","start","querySelector","stop","useSortable","selectorElements","onUpdated","statusInfo","before","statusInfoId","random","updateStatusInfo","position","total","_g","refInFor","AppOrderSelector","IconUndo","NcNoteCard","NcSettingsSection","userAppOrder","enforcedDefaultApp","initialAppOrder","values","hasCustomAppOrder","hasAppOrderChanged","appOrder","elementIdAppOrderChanged","elementIdEnforcedDefaultApp","ariaDetailsAppOrder","saveSetting","generateOcsUrl","appId","configKey","configValue","JSON","stringify","updateAppOrder","then","catch","resetAppOrder","headers","ocs","availableThemes","enforceTheme","shortcutsDisabled","isUserThemingDisabled","ItemPreview","BackgroundSettings","UserAppMenuSection","themes","fonts","selectedTheme","guidelinesLink","descriptionDetail","issuetrackerLink","designteamLink","watch","newState","changeShortcutsDisabled","refreshGlobalStyles","head","searchParams","now","newTheme","onload","remove","append","updateBackground","changeTheme","updateBodyAttributes","selectItem","changeFont","font","method","enabledThemesIDs","enabledFontsIDs","toggleAttribute","setAttribute","themeId","OC","Notification","showTemporary","meta","message","domProps","__webpack_nonce__","btoa","getRequestToken","Vue","App","$mount","$on","refreshStyles","___CSS_LOADER_EXPORT___","module","baseForOwn","baseEach","createBaseEach","exports","collection","predicate","baseFor","object","iteratee","isArrayLike","eachFunc","fromRight","iterable","baseRest","eq","isIterateeCall","keysIn","objectProto","sources","guard","propsIndex","propsLength","arrayFilter","baseFilter","baseIteratee","__importDefault","mod","__esModule","vibrant_1","browser_1","DefaultOpts","ImageClass","Builder","opts","_src","_opts","filters","maxColorCount","colorCount","maxDimension","addFilter","removeFilter","clearFilters","quality","q","useImageClass","imageClass","useGenerator","generator","useQuantizer","quantizer","cb","getSwatches","Swatch","util_1","rgb","population","_rgb","_population","applyFilter","colors","_a","r","g","_hsl","rgbToHsl","_hex","rgbToHex","toJSON","getRgb","getHsl","hsl","getPopulation","getHex","getYiq","_yiq","_titleTextColor","_bodyTextColor","getTitleTextColor","titleTextColor","getBodyTextColor","bodyTextColor","combineFilters","default_1","color_1","targetDarkLuma","maxDarkLuma","minLightLuma","targetLightLuma","minNormalLuma","targetNormalLuma","maxNormalLuma","targetMutesSaturation","maxMutesSaturation","targetVibrantSaturation","minVibrantSaturation","weightSaturation","weightLuma","weightPopulation","_findColorVariation","swatches","maxPopulation","targetLuma","minLuma","maxLuma","targetSaturation","minSaturation","maxSaturation","maxValue","swatch","s","l","LightVibrant","Muted","DarkMuted","LightMuted","_isAlreadySelected","saturation","luma","invertDiff","targetValue","_i","weightSum","weight","weightedMean","_createComparisonValue","p","_findMaxPopulation","_generateVariationColors","h","hslToRgb","_d","_f","_h","_j","_generateEmptySwatches","ImageBase","scaleDown","getWidth","getHeight","ratio","maxSide","resize","imageData","getImageData","pixels","offset","extendStatics","__extends","setPrototypeOf","__proto__","__","__createBinding","o","m","k","k2","__setModuleDefault","v","__importStar","base_1","Url","BrowserImage","_super","_initCanvas","image","canvas","_canvas","context","_context","getContext","_width","_height","drawImage","load","ua","ub","u","parse","protocol","port","location","hostname","crossOrigin","HTMLImageElement","Error","onImageLoad","complete","onerror","clearRect","putImageData","targetWidth","targetHeight","scale","getPixelCount","WebWorker","mmcq_1","vbox_1","pqueue_1","_splitBoxes","pq","lastSize","vbox","pop","count","vbox1","vbox2","hist","pq2","volume","contents","avg","generateSwatches","PQueue","comparator","_comparator","_sorted","_sort","peek","mapper","VBox","r1","r2","g1","g2","b1","b2","_volume","_count","dimension","shouldIgnore","rmax","rmin","gmax","gmin","bmax","bmin","hn","SIGBITS","Uint32Array","MAX_VALUE","RSHIFT","getColorIndex","invalidate","_avg","ntot","mult","rsum","gsum","bsum","rw","gw","bw","maxw","accSum","maxd","splitPoint","reverseSum","dim1","dim2","d1","d2","min","c2","doCut","hexToRgb","rgbToXyz","xyzToCIELab","z","rgbToCIELab","deltaE94","lab1","lab2","L1","a1","L2","a2","dL","da","db","xC1","xDL","xDC","xDE","xDH","rgbDiff","rgb1","rgb2","getColorDiffStatus","hexDiff","defer","DELTAE94_DIFF_STATUS","NA","PERFECT","CLOSE","GOOD","SIMILAR","promise","_resolve","_reject","hue2rgb","hex1","hex2","builder_1","Util","Quantizer","Generator","Filters","combinedFilter","_process","_palette","Filter","Default","MMCQ","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","getter","definition","chunkId","all","reduce","promises","globalThis","Function","done","script","needAttach","scripts","charset","timeout","nc","onScriptComplete","prev","doneFns","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","self","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file