, 2024\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:["還剩幾秒"]},Cancel:{msgid:"Cancel",msgstr:["取消"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",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} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Upload progress":{msgid:"Upload progress",msgstr:["上傳進度"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",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(e=>S.addTranslation(e.locale,e.json));const E=S.build(),F=E.ngettext.bind(E),L=E.gettext.bind(E);class N extends Error{constructor(e){super(L("Upload has been cancelled"),{cause:e})}}const B=(0,p.YK)().setApp("@nextcloud/upload").detectUser().build();async function U(e,t,s){const n={headers:{},onUploadProgress:()=>{},onUploadRetry:()=>{},retries:5,...s};let i;return i=t instanceof Blob?t:await t(),n.destinationFile&&(n.headers.Destination=n.destinationFile),n.headers["Content-Type"]||(n.headers["Content-Type"]="application/octet-stream"),await d.Ay.request({method:"PUT",url:e,data:i,signal:n.signal,onUploadProgress:n.onUploadProgress,headers:n.headers,"axios-retry":{retries:n.retries,retryDelay:(e,t)=>(0,f.Nv)(e,t,1e3),retryCondition:e=>507!==e.status&&(423===e.status||(0,f.Gp)(e)),onRetry:n.onUploadRetry}})}(0,f.Ay)(d.Ay,{retries:0});const I=function(e,t,s){return 0===t&&e.size<=s?Promise.resolve(new Blob([e],{type:e.type||"application/octet-stream"})):Promise.resolve(new Blob([e.slice(t,t+s)],{type:"application/octet-stream"}))},P=function(e=void 0){const t=window.OC?.appConfig?.files?.max_chunk_size;if(t<=0)return 0;if(!Number(t))return 10485760;const s=Math.max(Number(t),5242880);return void 0===e?s:Math.max(s,Math.ceil(e/1e4))};var D=(e=>(e[e.INITIALIZED=0]="INITIALIZED",e[e.UPLOADING=1]="UPLOADING",e[e.ASSEMBLING=2]="ASSEMBLING",e[e.FINISHED=3]="FINISHED",e[e.CANCELLED=4]="CANCELLED",e[e.FAILED=5]="FAILED",e))(D||{});class z{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(e,t=!1,s,n){const i=Math.min(P()>0?Math.ceil(s/P()):1,1e4);this._source=e,this._isChunked=t&&P()>0&&i>1,this._chunks=this._isChunked?i:1,this._size=s,this._file=n,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(e){this._response=e}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(e){if(e>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=e,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(e){this._status=e}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}}const R=e=>"FileSystemFileEntry"in window&&e instanceof FileSystemFileEntry,O=e=>"FileSystemEntry"in window&&e instanceof FileSystemEntry;class j extends File{_originalName;_path;_children;constructor(e){super([],(0,o.P8)(e),{type:"httpd/unix-directory",lastModified:0}),this._children=new Map,this._originalName=(0,o.P8)(e),this._path=e}get size(){return this.children.reduce((e,t)=>e+t.size,0)}get lastModified(){return this.children.reduce((e,t)=>Math.max(e,t.lastModified),0)}get originalName(){return this._originalName}get children(){return Array.from(this._children.values())}get webkitRelativePath(){return this._path}getChild(e){return this._children.get(e)??null}async addChildren(e){for(const t of e)await this.addChild(t)}async addChild(e){const t=this._path&&`${this._path}/`;if(R(e))e=await new Promise((t,s)=>e.file(t,s));else if("FileSystemDirectoryEntry"in window&&e instanceof FileSystemDirectoryEntry){const s=e.createReader(),n=await new Promise((e,t)=>s.readEntries(e,t)),i=new j(`${t}${e.name}`);return await i.addChildren(n),void this._children.set(e.name,i)}const s=e.webkitRelativePath??e.name;if(s.includes("/")){if(!s.startsWith(this._path))throw new Error(`File ${s} is not a child of ${this._path}`);const n=s.slice(t.length),i=(0,o.P8)(n);if(i===n)this._children.set(i,e);else{const s=n.slice(0,n.indexOf("/"));if(this._children.has(s))await this._children.get(s).addChild(e);else{const n=new j(`${t}${s}`);await n.addChild(e),this._children.set(s,n)}}}else this._children.set(e.name,e)}}class M extends h.m{_done=0;_total=0;_progress=0;_status=0;_startTime=-1;_elapsedTime=0;_speed=-1;_eta=1/0;_cutoffTime=2.5;constructor(e={}){super(),e.start&&this.resume(),e.total&&this.update(0,e.total),this._cutoffTime=e.cutoffTime??2.5}add(e){this.update(this._done+e)}update(e,t){if(2!==this.status)return;t&&t>0&&(this._total=t);const s=e-this._done,n=(Date.now()-this._startTime)/1e3;this._startTime=Date.now(),this._elapsedTime+=n,this._done=e,this._progress=this._done/this._total;const i=this._cutoffTime+n;if(this._elapsedTime>i){const e=n/(n+1/this._cutoffTime),t=this._done-s+(1-e)*s;this._speed=Math.round(t/this._elapsedTime)}else if(-1===this._speed&&this._elapsedTime>n){const t=(this._total-e)/(e/this._elapsedTime);(this._eta!==1/0||t<=2*this._cutoffTime)&&(this._eta=t)}this._speed>0&&(this._eta=Math.round((this._total-this._done)/this._speed)),this.dispatchTypedEvent("update",new CustomEvent("update",{cancelable:!1}))}reset(){this._done=0,this._total=0,this._progress=0,this._elapsedTime=0,this._eta=1/0,this._speed=-1,this._startTime=-1,this._status=0,this.dispatchTypedEvent("reset",new CustomEvent("reset"))}pause(){2===this._status&&(this._status=1,this._elapsedTime+=(Date.now()-this._startTime)/1e3,this.dispatchTypedEvent("pause",new CustomEvent("pause")))}resume(){2!==this._status&&(this._startTime=Date.now(),this._status=2,this.dispatchTypedEvent("resume",new CustomEvent("resume")))}get status(){return this._status}get progress(){return Math.round(1e4*this._progress)/100}get time(){return this._eta}get timeReadable(){if(this._eta===1/0)return L("estimating time left");if(this._eta<10)return L("a few seconds left");if(this._eta<60)return F("{seconds} seconds left","{seconds} seconds left",this._eta,{seconds:this._eta});const e=String(Math.floor(this._eta/3600)).padStart(2,"0"),t=String(Math.floor(this._eta%3600/60)).padStart(2,"0"),s=String(this._eta%60).padStart(2,"0");return L("{time} left",{time:`${e}:${t}:${s}`})}get speed(){return this._speed}get speedReadable(){return this._speed>0?`${(0,a.v7)(this._speed,!0)}∕s`:""}}var V=(e=>(e[e.IDLE=0]="IDLE",e[e.UPLOADING=1]="UPLOADING",e[e.PAUSED=2]="PAUSED",e))(V||{});class H{_destinationFolder;_isPublic;_customHeaders;_uploadQueue=[];_jobQueue=new m.A({concurrency:(0,l.F)().files?.chunked_upload?.max_parallel_count??5});_queueSize=0;_queueProgress=0;_queueStatus=0;_eta=new M;_notifiers=[];constructor(e=!1,t){if(this._isPublic=e,this._customHeaders={},!t){const s=`${a.PY}${a.lJ}`;let n;if(e)n="anonymous";else{const e=(0,i.HW)()?.uid;if(!e)throw new Error("User is not logged in");n=e}t=new a.vd({id:0,owner:n,permissions:a.aX.ALL,root:a.lJ,source:s})}this.destination=t,B.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:e,maxChunksSize:P()})}get destination(){return this._destinationFolder}set destination(e){if(!e||e.type!==a.pt.Folder||!e.source)throw new Error("Invalid destination folder");B.debug("Destination set",{folder:e}),this._destinationFolder=e}get root(){return this._destinationFolder.source}get customHeaders(){return structuredClone(this._customHeaders)}setCustomHeader(e,t=""){this._customHeaders[e]=t}deleteCustomerHeader(e){delete this._customHeaders[e]}get queue(){return this._uploadQueue}reset(){this._eta.reset(),0===this._uploadQueue.length&&0===this._jobQueue.size||(this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0,B.debug("Uploader state reset"))}pause(){this._eta.pause(),this._jobQueue.pause(),this._queueStatus=2,this.updateStats(),B.debug("Uploader paused")}start(){this._eta.resume(),this._jobQueue.start(),this._queueStatus=1,this.updateStats(),B.debug("Uploader resumed")}get eta(){return this._eta}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const e=this._uploadQueue.map(e=>e.size).reduce((e,t)=>e+t,0),t=this._uploadQueue.map(e=>e.uploaded).reduce((e,t)=>e+t,0);if(this._eta.update(t,e),this._queueSize=e,this._queueProgress=t,2!==this._queueStatus){const e=this._uploadQueue.find(({status:e})=>[D.INITIALIZED,D.UPLOADING,D.ASSEMBLING].includes(e));this._jobQueue.size>0||e?this._queueStatus=1:(this.eta.reset(),this._queueStatus=0)}}addNotifier(e){this._notifiers.push(e)}_notifyAll(e){for(const t of this._notifiers)try{t(e)}catch(t){B.warn("Error in upload notifier",{error:t,source:e.source})}}batchUpload(e,t,s){return s||(s=async e=>e),new c.A(async(n,i,o)=>{const r=new j("");await r.addChildren(t);const l=`${this.root.replace(/\/$/,"")}/${e.replace(/^\//,"")}`,c=new z(l,!1,0,r);c.status=D.UPLOADING,this._uploadQueue.push(c),B.debug("Starting new batch upload",{target:l});try{const t=(0,a.H4)(this.root,this._customHeaders),i=this.uploadDirectory(e,r,s,t);o(()=>i.cancel());const l=await i;c.status=D.FINISHED,n(l)}catch(e){(0,d.FZ)(e)||e instanceof N?(B.info("Upload cancelled by user",{error:e}),c.status=D.CANCELLED,i(new N(e))):(B.error("Error in batch upload",{error:e}),c.status=D.FAILED,i(e))}finally{this._notifyAll(c),this.updateStats()}})}createDirectory(e,t,s){const n=(0,r.normalize)(`${e}/${t.name}`).replace(/\/$/,""),i=`${this.root.replace(/\/$/,"")}/${n.replace(/^\//,"")}`;if(!t.name)throw new Error("Can not create empty directory");const a=new z(i,!1,0,t);return this._uploadQueue.push(a),new c.A(async(e,i,o)=>{const r=new AbortController;o(()=>r.abort()),a.signal.addEventListener("abort",()=>i(L("Upload has been cancelled"))),await this._jobQueue.add(async()=>{a.status=D.UPLOADING;try{await s.createDirectory(n,{signal:r.signal}),e(a)}catch(s){(0,d.FZ)(s)||s instanceof N?(a.status=D.CANCELLED,i(new N(s))):s&&"object"==typeof s&&"status"in s&&405===s.status?(B.debug("Directory already exists, writing into it",{directory:t.name}),a.status=D.FINISHED,e(a)):(a.status=D.FAILED,i(s))}finally{this._notifyAll(a),this.updateStats()}})})}uploadDirectory(e,t,s,n){const i=(0,r.normalize)(`${e}/${t.name}`).replace(/\/$/,"");return new c.A(async(a,o,r)=>{const l=new AbortController;r(()=>l.abort());const d=await s(t.children,i);if(!1===d)return B.debug("Upload canceled by user",{directory:t}),void o(new N("Conflict resolution cancelled by user"));if(0===d.length&&t.children.length>0)return B.debug("Skipping directory, as all files were skipped by user",{directory:t}),void a([]);const c=[],m=[];l.signal.addEventListener("abort",()=>{c.forEach(e=>e.cancel()),m.forEach(e=>e.cancel())}),B.debug("Start directory upload",{directory:t});try{t.name&&(m.push(this.createDirectory(e,t,n)),await m.at(-1));for(const e of d)e instanceof j?c.push(this.uploadDirectory(i,e,s,n)):m.push(this.upload(`${i}/${e.name}`,e));a([await Promise.all(m),...await Promise.all(c)].flat())}catch(e){l.abort(e),o(e)}})}upload(e,t,s,a=5){const r=`${(s=s||this.root).replace(/\/$/,"")}/${e.replace(/^\//,"")}`,{origin:m}=new URL(r),u=m+(0,o.O0)(r.slice(m.length));return this.eta.resume(),B.debug(`Uploading ${t.name} to ${u}`),new c.A(async(e,s,o)=>{R(t)&&(t=await new Promise(e=>t.file(e,s)));const c=t,m=(0,l.F)().dav?.public_shares_chunking??!1,p=P("size"in c?c.size:void 0),h=this._isPublic&&!m||0===p||"size"in c&&c.size{try{A.response=await U(u,t,{signal:A.signal,onUploadProgress:({bytes:e})=>{A.uploaded+=.9*e,this.updateStats()},onUploadRetry:()=>{A.uploaded=0,this.updateStats()},headers:{...this._customHeaders,...this._mtimeHeader(c),"Content-Type":c.type}}),A.uploaded=A.size,this.updateStats(),B.debug(`Successfully uploaded ${c.name}`,{file:c,upload:A}),e(A)}catch(e){if((0,d.FZ)(e)||e instanceof N)return A.status=D.CANCELLED,void s(new N(e));e?.response&&(A.response=e.response),A.status=D.FAILED,B.error(`Failed uploading ${c.name}`,{error:e,file:c,upload:A}),s(L("Failed to upload the file"))}this._notifyAll(A)};this._jobQueue.add(n),this.updateStats()}else{B.debug("Initializing chunked upload",{file:c,upload:A});const t=await async function(e,t=5,s=!1){let a;a=s?`${(0,g.$_)()}/public.php/dav/uploads/${(0,n.G)()}`:(0,g.dC)(`dav/uploads/${(0,i.HW)()?.uid}`);const o=`${a}/web-file-upload-${[...Array(16)].map(()=>Math.floor(16*Math.random()).toString(16)).join("")}`,r=e?{Destination:e}:void 0;return await d.Ay.request({method:"MKCOL",url:o,headers:r,"axios-retry":{retries:t,retryDelay:(e,t)=>(0,f.Nv)(e,t,1e3)}}),B.debug("Created temporary upload workspace",{url:o}),o}(u,a,this._isPublic),o=[];for(let e=0;eI(c,s,p),r=()=>{let o=0;return U(`${t}/${e+1}`,i,{signal:A.signal,destinationFile:u,retries:a,onUploadProgress:({bytes:e})=>{const t=.9*e;o+=t,A.uploaded+=t,this.updateStats()},onUploadRetry:()=>{A.uploaded-=o,o=0,this.updateStats()},headers:{...this._customHeaders,...this._mtimeHeader(c),"OC-Total-Length":c.size,"Content-Type":"application/octet-stream"}}).then(()=>{A.uploaded+=n-s-o,this.updateStats()}).catch(t=>{if(507===t?.response?.status)throw B.error("Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks",{error:t,upload:A}),A.cancel(),A.status=D.FAILED,t;throw(0,d.FZ)(t)||(B.error(`Chunk ${e+1} ${s} - ${n} uploading failed`,{error:t,upload:A}),A.cancel(),A.status=D.FAILED),t})};o.push(this._jobQueue.add(r))}const r=async()=>{try{await Promise.all(o),A.status=D.ASSEMBLING,this.updateStats(),A.response=await d.Ay.request({method:"MOVE",url:`${t}/.file`,headers:{...this._customHeaders,...this._mtimeHeader(c),"OC-Total-Length":c.size,Destination:u}}),A.status=D.FINISHED,this.updateStats(),B.debug(`Successfully uploaded ${c.name}`,{file:c,upload:A}),e(A)}catch(e){(0,d.FZ)(e)||e instanceof N?(A.status=D.CANCELLED,s(new N(e))):(A.status=D.FAILED,s(L("Failed to assemble the chunks together"))),d.Ay.request({method:"DELETE",url:`${t}`})}finally{this._notifyAll(A)}};this._jobQueue.add(r)}return this._jobQueue.onIdle().then(()=>this.reset()),A})}_mtimeHeader(e){const t=Math.floor(e.lastModified/1e3);return t>0?{"X-OC-Mtime":t}:{}}}function G(e=(0,n.f)(),t=!1){return(t||void 0===window._nc_uploader)&&(window._nc_uploader=new H(e)),window._nc_uploader}function $(e,t){return W(e,t).length>0}function W(e,t){const s=t.map(e=>e.basename);return e.filter(e=>{const t="basename"in e?e.basename:e.name;return-1!==s.indexOf(t)})}async function q(e,t,n,i){const a=(0,A.$V)(()=>Promise.all([s.e(4208),s.e(9107)]).then(s.bind(s,99107)));return new Promise((s,o)=>{const r=new A.Ay({name:"ConflictPickerRoot",render:l=>l(a,{props:{dirname:e,conflicts:t,content:n,recursiveUpload:!0===i?.recursive},on:{submit(e){s(e),r.$destroy(),r.$el?.parentNode?.removeChild(r.$el)},cancel(e){o(e??new Error("Canceled")),r.$destroy(),r.$el?.parentNode?.removeChild(r.$el)}}})});r.$mount(),document.body.appendChild(r.$el)})}function Y(e){const t=(0,A.$V)(()=>Promise.all([s.e(4208),s.e(6590)]).then(s.bind(s,11352))),{promise:n,reject:i,resolve:o}=Promise.withResolvers();return(0,v.Ss)(t,{error:e,validateFilename:a.KT},(...e)=>{const[{skip:t,rename:s}]=e;t?o(!1):s?o(s):i()}),n}function X(e,t,s,n,i,a,o,r){var l="function"==typeof e?e.options:e;return t&&(l.render=t,l.staticRenderFns=s,l._compiled=!0),a&&(l._scopeId="data-v-"+a),{exports:e,options:l}}const K=X({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":e.title?null:"true","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:"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"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},[],0,0,null).exports,Q=X({name:"FolderUploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon folder-upload-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},[],0,0,null).exports,J=X({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},[],0,0,null).exports,Z=X({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":e.title?null:"true","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:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},[],0,0,null).exports,ee=X((0,A.pM)({name:"UploadPicker",components:{IconCancel:K,IconFolderUpload:Q,IconPlus:J,IconUpload:Z,NcActionButton:b.A,NcActionCaption:_.A,NcActionSeparator:C.A,NcActions:y.A,NcButton:k.A,NcIconSvgWrapper:x.A,NcProgressBar:T.A},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noMenu:{type:Boolean,default:!1},noLabel:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},destination:{type:a.vd,default:void 0},allowFolders:{type:Boolean,default:!1},content:{type:[Array,Function],default:()=>[]},forbiddenCharacters:{type:Array,default:()=>[]}},setup:()=>({t:L,progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`}),data:()=>({newFileMenuEntries:[],openedMenu:!1,uploadManager:G()}),computed:{menuEntriesUpload(){return this.newFileMenuEntries.filter(e=>e.category===a.a7.UploadFromDevice)},menuEntriesNew(){return this.newFileMenuEntries.filter(e=>e.category===a.a7.CreateNew)},menuEntriesOther(){return this.newFileMenuEntries.filter(e=>e.category===a.a7.Other)},canUploadFolders(){return this.allowFolders&&"webkitdirectory"in document.createElement("input")},queue(){return this.uploadManager.queue},hasFailure(){return this.queue.some(e=>e.status===D.FAILED)},isAssembling(){return this.queue.some(e=>e.status===D.ASSEMBLING)},isUploading(){return this.queue.some(e=>e.status!==D.CANCELLED)},isOnlyAssembling(){return this.isAssembling&&this.queue.every(e=>0===e.size||e.status===D.ASSEMBLING||e.status===D.FINISHED)},isPaused(){return this.uploadManager.info?.status===V.PAUSED},buttonLabel(){return this.noMenu?L("Upload"):L("New")},haveMenu(){return!((this.noMenu||0===this.newFileMenuEntries.length)&&!this.canUploadFolders)}},watch:{allowFolders:{immediate:!0,handler(){"function"!=typeof this.content&&this.allowFolders&&B.error("[UploadPicker] Setting `allowFolders` is only allowed if `content` is a function")}},destination(e){this.setDestination(e)},isPaused(e){e?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),(0,w.C)("u",this.onKeyDown,{stop:!0,prevent:!0,shift:!0}),(0,w.C)("Escape",this.onKeyDown,{stop:!0,prevent:!0}),B.debug("UploadPicker initialised")},methods:{etaTimeAndSpeed(){const e=this.uploadManager.eta.speedReadable;return e?`${this.uploadManager.eta.timeReadable} (${e})`:this.uploadManager.eta.timeReadable},async onClick(e){e.handler(this.destination,await this.getContent().catch(()=>[]))},onTriggerPick(e=!1){const t=this.$refs.input;this.canUploadFolders&&(t.webkitdirectory=e),this.$nextTick(()=>t.click())},async getContent(e){return Array.isArray(this.content)?this.content:await this.content(e)},async onPick(){const e=this.$refs.input,t=e.files?Array.from(e.files):[];try{await this.uploadManager.batchUpload("",t,(s=this.getContent,async(e,t)=>{try{const n=await s(t).catch(()=>[]),i=W(e,n);if(i.length>0){const{selected:s,renamed:a}=await q(t,i,n,{recursive:!0});e=[...e.filter(e=>!i.includes(e)),...s,...a]}const r=[];for(const t of e)try{(0,a.KT)(t.name),r.push(t)}catch(s){if(!(s instanceof a.di))throw B.error(`Unexpected error while validating ${t.name}`,{error:s}),s;let n=await Y(s);!1!==n&&(n=(0,a.E6)(n,e.map(e=>e.name)),Object.defineProperty(t,"name",{value:n}),r.push(t))}if(0===r.length&&e.length>0){const e=(0,o.P8)(t);(0,v.cf)(e?L('Upload of "{folder}" has been skipped',{folder:e}):L("Upload has been skipped"))}return r}catch(e){return B.debug("Upload has been cancelled",{error:e}),(0,v.I9)(L("Upload has been cancelled")),!1}}))}catch(e){B.debug("Error while uploading",{error:e})}finally{this.resetForm()}var s},resetForm(){const e=this.$refs.form;e?.reset()},onCancel(){this.uploadManager.queue.forEach(e=>{e.cancel()}),this.resetForm()},setDestination(e){this.destination?(this.uploadManager.destination=e,this.newFileMenuEntries=(0,a.m1)(e)):B.debug("Invalid destination")},onUploadCompletion(e){e.status===D.FAILED?this.$emit("failed",e):this.$emit("uploaded",e)},onKeyDown(e){if("u"===e.key){if(this.haveMenu)return void(this.openedMenu=!0);this.onTriggerPick()}"Escape"===e.key&&this.openedMenu&&(this.openedMenu=!1)}}}),function(){var e=this,t=e._self._c;return e._self._setupProxy,e.destination?t("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":e.isUploading,"upload-picker--paused":e.isPaused},attrs:{"data-cy-upload-picker":""}},[e.haveMenu?t("NcActions",{attrs:{"aria-label":e.buttonLabel,"menu-name":e.noLabel?void 0:e.buttonLabel,open:e.openedMenu,type:e.primary?"primary":"secondary"},on:{"update:open":function(t){e.openedMenu=t}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconPlus",{attrs:{size:20}})]},proxy:!0}],null,!1,1991456921)},[t("NcActionCaption",{attrs:{name:e.t("Upload from device")}}),t("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","data-cy-upload-picker-menu-entry":"upload-file","close-after-click":!0},on:{click:function(t){return e.onTriggerPick()}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconUpload",{attrs:{size:20}})]},proxy:!0}],null,!1,337456192)},[e._v(" "+e._s(e.t("Upload files"))+" ")]),e.canUploadFolders?t("NcActionButton",{attrs:{"close-after-click":"","data-cy-upload-picker-add-folders":"","data-cy-upload-picker-menu-entry":"upload-folder"},on:{click:function(t){return e.onTriggerPick(!0)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconFolderUpload",{attrs:{size:20}})]},proxy:!0}],null,!1,931184598)},[e._v(" "+e._s(e.t("Upload folders"))+" ")]):e._e(),e.noMenu?e._e():e._l(e.menuEntriesUpload,function(s){return t("NcActionButton",{key:s.id,staticClass:"upload-picker__menu-entry",attrs:{icon:s.iconClass,"close-after-click":!0,"data-cy-upload-picker-menu-entry":s.id},on:{click:function(t){return e.onClick(s)}},scopedSlots:e._u([s.iconSvgInline?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:s.iconSvgInline}})]},proxy:!0}:null],null,!0)},[e._v(" "+e._s(s.displayName)+" ")])}),!e.noMenu&&e.menuEntriesNew.length>0?[t("NcActionSeparator"),t("NcActionCaption",{attrs:{name:e.t("Create new")}}),e._l(e.menuEntriesNew,function(s){return t("NcActionButton",{key:s.id,staticClass:"upload-picker__menu-entry",attrs:{icon:s.iconClass,"close-after-click":!0,"data-cy-upload-picker-menu-entry":s.id},on:{click:function(t){return e.onClick(s)}},scopedSlots:e._u([s.iconSvgInline?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:s.iconSvgInline}})]},proxy:!0}:null],null,!0)},[e._v(" "+e._s(s.displayName)+" ")])})]:e._e(),!e.noMenu&&e.menuEntriesOther.length>0?[t("NcActionSeparator"),e._l(e.menuEntriesOther,function(s){return t("NcActionButton",{key:s.id,staticClass:"upload-picker__menu-entry",attrs:{icon:s.iconClass,"close-after-click":!0,"data-cy-upload-picker-menu-entry":s.id},on:{click:function(t){return e.onClick(s)}},scopedSlots:e._u([s.iconSvgInline?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:s.iconSvgInline}})]},proxy:!0}:null],null,!0)},[e._v(" "+e._s(s.displayName)+" ")])})]:e._e()],2):t("NcButton",{attrs:{"aria-label":e.buttonLabel,disabled:e.disabled,"data-cy-upload-picker-add":"","data-cy-upload-picker-menu-entry":"upload-file",type:e.primary?"primary":"secondary"},on:{click:function(t){return e.onTriggerPick()}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconPlus",{attrs:{size:20}})]},proxy:!0},e.isUploading?null:{key:"default",fn:function(){return[e._v(" "+e._s(e.buttonLabel)+" ")]},proxy:!0}],null,!0)}),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[t("NcProgressBar",{attrs:{"aria-label":e.t("Upload progress"),"aria-describedby":e.progressTimeId,"data-cy-upload-picker-progress":"",error:e.hasFailure,value:e.uploadManager.eta.progress,size:"medium"}}),t("p",{attrs:{id:e.progressTimeId,"data-cy-upload-picker-progress-label":""}},[e.isPaused?t("span",[e._v(" "+e._s(e.t("paused"))+" ")]):e.isOnlyAssembling?t("span",[e._v(" "+e._s(e.t("assembling"))+" ")]):t("span",{attrs:{title:e.etaTimeAndSpeed()}},[e._v(" "+e._s(e.uploadManager.eta.timeReadable)+" "),e.uploadManager.eta.speedReadable&&e.uploadManager.eta.time>=60?t("span",[e._v(" ("+e._s(e.uploadManager.eta.speedReadable)+") ")]):e._e()])])],1),e.isUploading&&!e.isOnlyAssembling?t("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":e.t("Cancel uploads"),"data-cy-upload-picker-cancel":""},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconCancel",{attrs:{size:20}})]},proxy:!0}],null,!1,3076329829)}):e._e(),t("input",{ref:"input",staticClass:"hidden-visually",attrs:{accept:e.accept?.join?.(", "),multiple:e.multiple,"data-cy-upload-picker-input":"",type:"file"},on:{change:e.onPick}})],1):e._e()},[],0,0,"a66c1264").exports},93841:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var n=s(71354),i=s.n(n),a=s(76314),o=s.n(a)()(i());o.push([e.id,"/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n._material-design-icon_1euqq_12 {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n._radioGroupButton_1euqq_20 {\n --radio-group-button--border-radius: var(--border-radius-small);\n --radio-group-button--border-width: 1px;\n --radio-group-button--color: var(--color-primary-element-light-text);\n --radio-group-button--background-color: var(--color-primary-element-light);\n --radio-group-button--background-color-hover: var(--color-primary-element-light-hover);\n --radio-group-button--padding: 1px;\n cursor: pointer;\n color: var(--radio-group-button--color);\n background-color: var(--radio-group-button--background-color);\n transition: var(--animation-quick) background-color;\n border: var(--radio-group-button--border-width) solid var(--radio-group-button--background-color-hover);\n border-bottom-width: 2px;\n border-radius: var(--radio-group-button--border-radius);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n text-align: center;\n min-height: var(--default-clickable-area);\n padding-block: var(--radio-group-button--padding) 0;\n padding-inline: var(--radio-group-button--padding);\n}\n._radioGroupButton_1euqq_20 * {\n cursor: pointer;\n}\n._radioGroupButton_1euqq_20:has(._radioGroupButton__label_1euqq_46) {\n padding-inline: calc(var(--radio-group-button--padding) + var(--border-radius-element));\n}\n._radioGroupButton_1euqq_20:has(._radioGroupButton__icon_1euqq_49) {\n padding-inline-start: var(--radio-group-button--padding);\n}\n._radioGroupButton_1euqq_20:hover {\n background-color: var(--radio-group-button--background-color-hover);\n}\n._radioGroupButton_1euqq_20:focus-within {\n --radio-group-button--border-width: 2px;\n --radio-group-button--padding: 0px;\n border: var(--radio-group-button--border-width) solid var(--color-main-text) !important;\n outline: calc(var(--default-grid-baseline) / 2) var(--color-main-background);\n}\n._radioGroupButton_active_1euqq_62 {\n --radio-group-button--color: var(--color-primary-element-text);\n --radio-group-button--background-color: var(--color-primary-element);\n --radio-group-button--background-color-hover: var(--color-primary-element-hover);\n}\n._radioGroupButton__label_1euqq_46 {\n font-weight: bold;\n}\n._radioGroupButton__icon_1euqq_49 {\n --radio-group-button--icon-size: calc(var(--default-clickable-area) - 4px);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: var(--radio-group-button--icon-size);\n}\n._radioGroupButton__icon_1euqq_49 * {\n --default-clickable-area: var(--radio-group-button--icon-size);\n}","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRadioGroupButton-DRZ1_-yY.css"],names:[],mappings:"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,+DAA+D;EAC/D,uCAAuC;EACvC,oEAAoE;EACpE,0EAA0E;EAC1E,sFAAsF;EACtF,kCAAkC;EAClC,eAAe;EACf,uCAAuC;EACvC,6DAA6D;EAC7D,mDAAmD;EACnD,uGAAuG;EACvG,wBAAwB;EACxB,uDAAuD;EACvD,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,yCAAyC;EACzC,mDAAmD;EACnD,kDAAkD;AACpD;AACA;EACE,eAAe;AACjB;AACA;EACE,uFAAuF;AACzF;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,mEAAmE;AACrE;AACA;EACE,uCAAuC;EACvC,kCAAkC;EAClC,uFAAuF;EACvF,4EAA4E;AAC9E;AACA;EACE,8DAA8D;EAC9D,oEAAoE;EACpE,gFAAgF;AAClF;AACA;EACE,iBAAiB;AACnB;AACA;EACE,0EAA0E;EAC1E,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,YAAY;EACZ,2CAA2C;AAC7C;AACA;EACE,8DAA8D;AAChE",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n._material-design-icon_1euqq_12 {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n._radioGroupButton_1euqq_20 {\n --radio-group-button--border-radius: var(--border-radius-small);\n --radio-group-button--border-width: 1px;\n --radio-group-button--color: var(--color-primary-element-light-text);\n --radio-group-button--background-color: var(--color-primary-element-light);\n --radio-group-button--background-color-hover: var(--color-primary-element-light-hover);\n --radio-group-button--padding: 1px;\n cursor: pointer;\n color: var(--radio-group-button--color);\n background-color: var(--radio-group-button--background-color);\n transition: var(--animation-quick) background-color;\n border: var(--radio-group-button--border-width) solid var(--radio-group-button--background-color-hover);\n border-bottom-width: 2px;\n border-radius: var(--radio-group-button--border-radius);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n text-align: center;\n min-height: var(--default-clickable-area);\n padding-block: var(--radio-group-button--padding) 0;\n padding-inline: var(--radio-group-button--padding);\n}\n._radioGroupButton_1euqq_20 * {\n cursor: pointer;\n}\n._radioGroupButton_1euqq_20:has(._radioGroupButton__label_1euqq_46) {\n padding-inline: calc(var(--radio-group-button--padding) + var(--border-radius-element));\n}\n._radioGroupButton_1euqq_20:has(._radioGroupButton__icon_1euqq_49) {\n padding-inline-start: var(--radio-group-button--padding);\n}\n._radioGroupButton_1euqq_20:hover {\n background-color: var(--radio-group-button--background-color-hover);\n}\n._radioGroupButton_1euqq_20:focus-within {\n --radio-group-button--border-width: 2px;\n --radio-group-button--padding: 0px;\n border: var(--radio-group-button--border-width) solid var(--color-main-text) !important;\n outline: calc(var(--default-grid-baseline) / 2) var(--color-main-background);\n}\n._radioGroupButton_active_1euqq_62 {\n --radio-group-button--color: var(--color-primary-element-text);\n --radio-group-button--background-color: var(--color-primary-element);\n --radio-group-button--background-color-hover: var(--color-primary-element-hover);\n}\n._radioGroupButton__label_1euqq_46 {\n font-weight: bold;\n}\n._radioGroupButton__icon_1euqq_49 {\n --radio-group-button--icon-size: calc(var(--default-clickable-area) - 4px);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: var(--radio-group-button--icon-size);\n}\n._radioGroupButton__icon_1euqq_49 * {\n --default-clickable-area: var(--radio-group-button--icon-size);\n}"],sourceRoot:""}]);const r=o},97013:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var n=s(71354),i=s.n(n),a=s(76314),o=s.n(a)()(i());o.push([e.id,".files-list[data-v-e4638e0a]{--row-height: 44px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: var(--default-clickable-area);--icon-preview-size: 24px;--fixed-block-start-position: var(--default-clickable-area);display:flex;flex-direction:column;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-e4638e0a]:has(.file-list-filters__active){--fixed-block-start-position: calc(var(--default-clickable-area) + var(--default-grid-baseline) + var(--clickable-area-small))}.files-list[data-v-e4638e0a] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-e4638e0a] tbody tr{contain:strict}.files-list[data-v-e4638e0a] tbody tr:hover,.files-list[data-v-e4638e0a] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-e4638e0a] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-e4638e0a] .files-list__selected{padding-inline-end:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.files-list[data-v-e4638e0a] .files-list__table{display:block}.files-list[data-v-e4638e0a] .files-list__table.files-list__table--with-thead-overlay{margin-block-start:calc(-1*var(--row-height))}.files-list[data-v-e4638e0a] .files-list__table--hidden{visibility:hidden;z-index:-1;opacity:0}.files-list[data-v-e4638e0a] .files-list__filters{position:sticky;top:0;background-color:var(--color-main-background);z-index:10;padding-inline:var(--row-height) var(--default-grid-baseline, 4px);height:var(--fixed-block-start-position);width:100%}.files-list[data-v-e4638e0a] .files-list__thead-overlay{position:sticky;top:var(--fixed-block-start-position);margin-inline-start:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-block-end:1px solid var(--color-border);height:var(--row-height);flex:0 0 var(--row-height)}.files-list[data-v-e4638e0a] .files-list__thead,.files-list[data-v-e4638e0a] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-e4638e0a] .files-list__thead{position:sticky;z-index:10;top:var(--fixed-block-start-position)}.files-list[data-v-e4638e0a] .files-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.files-list[data-v-e4638e0a] tr{position:relative;display:flex;align-items:center;width:100%;border-block-end:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-e4638e0a] td,.files-list[data-v-e4638e0a] th{display:flex;align-items:center;flex:0 0 auto;justify-content:start;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-e4638e0a] td span,.files-list[data-v-e4638e0a] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-e4638e0a] .files-list__row--failed{position:absolute;display:block;top:0;inset-inline:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-e4638e0a] .files-list__row-checkbox{justify-content:center}.files-list[data-v-e4638e0a] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-e4638e0a] .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-e4638e0a] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-e4638e0a] .files-list__row:hover,.files-list[data-v-e4638e0a] .files-list__row:focus,.files-list[data-v-e4638e0a] .files-list__row:active,.files-list[data-v-e4638e0a] .files-list__row--active,.files-list[data-v-e4638e0a] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-e4638e0a] .files-list__row:hover>*,.files-list[data-v-e4638e0a] .files-list__row:focus>*,.files-list[data-v-e4638e0a] .files-list__row:active>*,.files-list[data-v-e4638e0a] .files-list__row--active>*,.files-list[data-v-e4638e0a] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-e4638e0a] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-e4638e0a] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-e4638e0a] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-e4638e0a] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-e4638e0a] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-e4638e0a] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-e4638e0a] .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-inline-end:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-e4638e0a] .files-list__row-icon *{cursor:pointer}.files-list[data-v-e4638e0a] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-e4638e0a] .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-e4638e0a] .files-list__row-icon>span.folder-icon,.files-list[data-v-e4638e0a] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-e4638e0a] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-e4638e0a] .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-e4638e0a] .files-list__row-icon-preview-container{position:relative;overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius)}.files-list[data-v-e4638e0a] .files-list__row-icon-blurhash{position:absolute;inset-block-start:0;inset-inline-start:0;height:100%;width:100%;object-fit:cover}.files-list[data-v-e4638e0a] .files-list__row-icon-preview{object-fit:contain;object-position:center;height:100%;width:100%}.files-list[data-v-e4638e0a] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-e4638e0a] .files-list__row-icon-favorite{position:absolute;top:0px;inset-inline-end:-10px}.files-list[data-v-e4638e0a] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.6);max-width:calc(var(--icon-preview-size)*.6);color:var(--color-primary-element-text);margin-block-start:2px}.files-list[data-v-e4638e0a] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-e4638e0a] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-e4638e0a] .files-list__row-name button.files-list__row-name-link{display:flex;align-items:center;text-align:start;width:100%;height:100%;min-width:0;margin:0;padding:0}.files-list[data-v-e4638e0a] .files-list__row-name button.files-list__row-name-link:focus-visible{outline:none !important}.files-list[data-v-e4638e0a] .files-list__row-name button.files-list__row-name-link:focus .files-list__row-name-text{outline:var(--border-width-input-focused) solid var(--color-main-text) !important;border-radius:var(--border-radius-element)}.files-list[data-v-e4638e0a] .files-list__row-name button.files-list__row-name-link:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-e4638e0a] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:var(--default-grid-baseline) calc(2*var(--default-grid-baseline));padding-inline-start:-10px;display:inline-flex}.files-list[data-v-e4638e0a] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-e4638e0a] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-e4638e0a] .files-list__row-rename input{width:100%;margin-inline-start:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-e4638e0a] .files-list__row-rename input:invalid{border-color:var(--color-border-error);color:var(--color-text-error)}.files-list[data-v-e4638e0a] .files-list__row-actions{width:auto}.files-list[data-v-e4638e0a] .files-list__row-actions~td,.files-list[data-v-e4638e0a] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-e4638e0a] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-e4638e0a] .files-list__row-action--inline{margin-inline-end:7px}.files-list[data-v-e4638e0a] .files-list__row-mime,.files-list[data-v-e4638e0a] .files-list__row-mtime,.files-list[data-v-e4638e0a] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-e4638e0a] .files-list__row-size{width:calc(var(--row-height)*2);justify-content:flex-end}.files-list[data-v-e4638e0a] .files-list__row-mtime{width:calc(var(--row-height)*2.5)}.files-list[data-v-e4638e0a] .files-list__row-mime{width:calc(var(--row-height)*3.5)}.files-list[data-v-e4638e0a] .files-list__row-column-custom{width:calc(var(--row-height)*2.5)}@media screen and (max-width: 512px){.files-list[data-v-e4638e0a] .files-list__filters{padding-inline:var(--default-grid-baseline, 4px)}}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,+CAAA,CACA,yBAAA,CAEA,2DAAA,CACA,YAAA,CACA,qBAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,6DACC,8HAAA,CAKA,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,oDACC,uBAAA,CACA,kBAAA,CACA,iCAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,6CAAA,CAID,yDACC,iBAAA,CACA,UAAA,CACA,SAAA,CAIF,mDAEC,eAAA,CACA,KAAA,CAEA,6CAAA,CACA,UAAA,CAEA,kEAAA,CACA,wCAAA,CACA,UAAA,CAGD,yDAEC,eAAA,CACA,qCAAA,CAEA,qCAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,8CAAA,CACA,wBAAA,CACA,0BAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAID,iDAEC,eAAA,CACA,UAAA,CACA,qCAAA,CAID,iDACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,8CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,qBAAA,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,cAAA,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,yCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,sEACC,iBAAA,CACA,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAGD,6DACC,iBAAA,CACA,mBAAA,CACA,oBAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CAGD,4DAEC,kBAAA,CACA,sBAAA,CAEA,WAAA,CACA,UAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,sBAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,sBAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,qFACC,YAAA,CACA,kBAAA,CACA,gBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CACA,QAAA,CACA,SAAA,CAGA,mGACC,uBAAA,CAID,sHACC,iFAAA,CACA,0CAAA,CAED,0IACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,yEAAA,CACA,0BAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,wBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,sCAAA,CACA,6BAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,qBAAA,CAGD,6JAGC,mCAAA,CAGD,oDACC,+BAAA,CAEA,wBAAA,CAGD,qDACC,iCAAA,CAGD,oDACC,iCAAA,CAGD,6DACC,iCAAA,CAKH,qCACC,kDAEC,gDAAA,CAAA",sourcesContent:["\n.files-list {\n\t--row-height: 44px;\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: var(--default-clickable-area);\n\t--icon-preview-size: 24px;\n\n\t--fixed-block-start-position: var(--default-clickable-area);\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t&:has(.file-list-filters__active) {\n\t\t--fixed-block-start-position: calc(var(--default-clickable-area) + var(--default-grid-baseline) + var(--clickable-area-small));\n\t}\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__selected {\n\t\t\tpadding-inline-end: 12px;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-variant-numeric: tabular-nums;\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-block-start: calc(-1 * var(--row-height));\n\t\t\t}\n\n\t\t\t// Visually hide the table when there are no files\n\t\t\t&--hidden {\n\t\t\t\tvisibility: hidden;\n\t\t\t\tz-index: -1;\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__filters {\n\t\t\t// Pinned on top when scrolling above table header\n\t\t\tposition: sticky;\n\t\t\ttop: 0;\n\t\t\t// ensure there is a background to hide the file list on scroll\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tz-index: 10;\n\t\t\t// fixed the size\n\t\t\tpadding-inline: var(--row-height) var(--default-grid-baseline, 4px);\n\t\t\theight: var(--fixed-block-start-position);\n\t\t\twidth: 100%;\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: var(--fixed-block-start-position);\n\t\t\t// Save space for a row checkbox\n\t\t\tmargin-inline-start: 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-block-end: 1px solid var(--color-border);\n\t\t\theight: var(--row-height);\n\t\t\tflex: 0 0 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\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: var(--fixed-block-start-position);\n\t\t}\n\n\t\t// Empty content\n\t\t.files-list__empty {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\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\tborder-block-end: 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: start;\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\tinset-inline: 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-inline-end: 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-container {\n\t\t\t\tposition: relative; // Needed for the blurshash to be positioned correctly\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}\n\n\t\t\t&-blurhash {\n\t\t\t\tposition: absolute;\n\t\t\t\tinset-block-start: 0;\n\t\t\t\tinset-inline-start: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 100%;\n\t\t\t\tobject-fit: cover;\n\t\t\t}\n\n\t\t\t&-preview {\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\theight: 100%;\n\t\t\t\twidth: 100%;\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\tinset-inline-end: -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.6);\n\t\t\t\tmax-width: calc(var(--icon-preview-size) * 0.6);\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-block-start: 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\tbutton.files-list__row-name-link {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\ttext-align: start;\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\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 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 !important;\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: var(--border-width-input-focused) solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: var(--border-radius-element);\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: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline));\n\t\t\t\tpadding-inline-start: -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-inline-start: -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-border-error);\n\t\t\t\t\tcolor: var(--color-text-error);\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-inline-end: 7px;\n\t\t}\n\n\t\t.files-list__row-mime,\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\n\t\t.files-list__row-size {\n\t\t\twidth: calc(var(--row-height) * 2);\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.5);\n\t\t}\n\n\t\t.files-list__row-mime {\n\t\t\twidth: calc(var(--row-height) * 3.5);\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2.5);\n\t\t}\n\t}\n}\n\n@media screen and (max-width: 512px) {\n\t.files-list :deep(.files-list__filters) {\n\t\t// Reduce padding on mobile\n\t\tpadding-inline: var(--default-grid-baseline, 4px);\n\t}\n}\n\n"],sourceRoot:""}]);const r=o}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var s=a[e]={id:e,loaded:!1,exports:{}};return i[e].call(s.exports,s,s.exports,o),s.loaded=!0,s.exports}o.m=i,e=[],o.O=(t,s,n,i)=>{if(!s){var a=1/0;for(c=0;c=i)&&Object.keys(o.O).every(e=>o.O[e](s[l]))?s.splice(l--,1):(r=!1,i0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[s,n,i]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var s in t)o.o(t,s)&&!o.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce((t,s)=>(o.f[s](e,t),t),[])),o.u=e=>e+"-"+e+".js?v="+{594:"2c86902dfae9a5006399",620:"1faa6454ab9a6286ffeb",1082:"0c5f2744a0d853c23325",2391:"908fc68e4bc9b878c937",2880:"96ff2de012f3b8c1e3a4",4325:"11e9d860db6a9bc25aac",4357:"5b1d29cd886fa8dcd81a",5862:"d020c05f13d21afee82a",6590:"11dec11c3cc04b5eb63f",7145:"d9c518ca34bfdbd7ff70",8091:"e6cbb3ee29cdc3e100a8",8339:"6cdca71a6b3b2d7bef33",8352:"37462dde7ef86a9d7462",8970:"a5c0e42287ca33182fab",9107:"1ba61b038e6f657f143a",9165:"99b59dd36fe5dbcb82b9",9688:"9755f246158bb15dee01"}[e],o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},n="nextcloud-ui-legacy:",o.l=(e,t,i,a)=>{if(s[e])s[e].push(t);else{var r,l;if(void 0!==i)for(var d=document.getElementsByTagName("script"),c=0;c{r.onerror=r.onload=null,clearTimeout(g);var i=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},g=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),l&&document.head.appendChild(r)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2882,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var n=s.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=s[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2882:0,9165:0};o.f.j=(t,s)=>{var n=o.o(e,t)?e[t]:void 0;if(0!==n)if(n)s.push(n[2]);else{var i=new Promise((s,i)=>n=e[t]=[s,i]);s.push(n[2]=i);var a=o.p+o.u(t),r=new Error;o.l(a,s=>{if(o.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=s&&("load"===s.type?"missing":s.type),a=s&&s.target&&s.target.src;r.message="Loading chunk "+t+" failed.\n("+i+": "+a+")",r.name="ChunkLoadError",r.type=i,r.request=a,n[1](r)}},"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,s)=>{var n,i,[a,r,l]=s,d=0;if(a.some(t=>0!==e[t])){for(n in r)o.o(r,n)&&(o.m[n]=r[n]);if(l)var c=l(o)}for(t&&t(s);do(50738));r=o.O(r)})();
//# sourceMappingURL=files-main.js.map?v=d56aaa4096b78667a67a