(()=>{"use strict";var e,s,t,n={4114:(e,s,t)=>{t.d(s,{u:()=>i});var n=t(65899);const i=()=>(window._nc_files_pinia||(window._nc_files_pinia=(0,n.Ey)()),window._nc_files_pinia)},4735:(e,s,t)=>{t.d(s,{L:()=>i,P:()=>a});var n=t(81222);function i(){return 0!==(0,n.C)("files","storageStats",{quota:-1}).quota}function a(){const{default_view:e}=(0,n.C)("files","config",{default_view:"files"});return"personal"!==e||i()?e:"files"}},9165:(e,s,t)=>{t.d(s,{Brj:()=>m,HzW:()=>f,IyB:()=>n,NZC:()=>a,WBH:()=>g,ZL5:()=>u,bFE:()=>o,fEr:()=>l,jUz:()=>c,kHm:()=>d,kOJ:()=>r,u4v:()=>i});var n="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",i="M7 11H9V13H7V11M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 7H19V5H5V7M19 19V9H5V19H19M15 13H17V11H15V13M11 13H13V11H11V13Z",a="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z",o="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z",l="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",r="M1,1V5H2V19H1V23H5V22H19V23H23V19H22V5H23V1H19V2H5V1M5,4H19V5H20V19H19V20H5V19H4V5H5M6,6V14H9V18H18V9H14V6M8,8H12V12H8M14,11H16V16H11V14H14",m="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z",d="M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z",g="M9,2A7,7 0 0,1 16,9C16,10.5 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.5,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M11.12,5.46L9,7.59L6.88,5.46L5.46,6.88L7.59,9L5.46,11.12L6.88,12.54L9,10.41L11.12,12.54L12.54,11.12L10.41,9L12.54,6.88L11.12,5.46Z",c="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",u="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",f="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"},9558:(e,s,t)=>{t.d(s,{A:()=>n});const n=(0,t(35947).YK)().setApp("files").detectUser().build()},11112:(e,s,t)=>{var n=t(35810),i=t(81222),a=t(49264),o=t(5655),l=t(3153),r=t(53334),m=t(21777),d=t(71225),g=t(85471),c=t(77764);const u=new n.VP({id:"files_trashbin--original-location",title:(0,r.t)("files_trashbin","Original location"),render(e){const s=h(e),t=document.createElement("span");return t.title=s,t.textContent=s,t},sort(e,s){const t=h(e),n=h(s);return t.localeCompare(n,[(0,r.Z0)(),(0,r.lO)()],{numeric:!0,usage:"sort"})}}),f=new n.VP({id:"files_trashbin--deleted-by",title:(0,r.t)("files_trashbin","Deleted by"),render(e){const{userId:s,displayName:t,label:n}=w(e);if(n){const e=document.createElement("span");return e.textContent=n,e}return new(g.Ay.extend(c.A))({propsData:{size:32,user:s??void 0,displayName:t??s}}).$mount().$el},sort(e,s){const t=w(e),n=t.label??t.displayName??t.userId,i=w(s),a=i.label??i.displayName??i.userId;return n.localeCompare(a,[(0,r.Z0)(),(0,r.lO)()],{numeric:!0,usage:"sort"})}}),p=new n.VP({id:"files_trashbin--deleted",title:(0,r.t)("files_trashbin","Deleted"),render(e){const s=e.attributes?.["trashbin-deletion-time"]||(e?.mtime?.getTime()??0)/1e3,t=document.createElement("span");if(s){const e=Intl.DateTimeFormat([(0,r.lO)()],{dateStyle:"long",timeStyle:"short"}),n=new Date(1e3*s);return t.title=e.format(n),t.textContent=(0,r.fw)(n,{ignoreSeconds:(0,r.t)("files","few seconds ago")}),t}return t.textContent=(0,r.t)("files_trashbin","A long time ago"),t},sort(e,s){const t=e.attributes?.["trashbin-deletion-time"]||(e?.mtime?.getTime()??0)/1e3;return(s.attributes?.["trashbin-deletion-time"]||(s?.mtime?.getTime()??0)/1e3)-t}});function h(e){const s=v(e.attributes?.["trashbin-original-location"]);if(!s)return(0,r.t)("files_trashbin","Unknown");const t=(0,d.pD)(s);return t===s?(0,r.t)("files_trashbin","All files"):t.replace(/^\//,"")}function w(e){const s=v(e.attributes?.["trashbin-deleted-by-id"]),t=v(e.attributes?.["trashbin-deleted-by-display-name"]);let n;const i=(0,m.HW)()?.uid;return s===i&&(n=(0,r.t)("files_trashbin","You")),s||t||(n=(0,r.t)("files_trashbin","Unknown")),{userId:s,displayName:t,label:n}}function v(e){return e?String(e):null}const k=`/trashbin/${(0,m.HW)()?.uid}/trash`,b=(0,n.H4)();var y=t(63814);const T=`\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t${(0,n.VX)()}\n\t\n`,x=e=>{const s=(0,n.Al)(e,k);return s.attributes.previewUrl=(0,y.Jv)("/apps/files_trashbin/preview?fileId={fileid}&x=32&y=32",{fileid:s.fileid}),s},C="trashbin";new n.Ss({id:C,name:(0,r.t)("files_trashbin","Deleted files"),caption:(0,r.t)("files_trashbin","List of files that have been deleted."),emptyTitle:(0,r.t)("files_trashbin","No deleted files"),emptyCaption:(0,r.t)("files_trashbin","Files and folders you have deleted will show up here"),icon:l,order:50,sticky:!0,defaultSortKey:"deleted",columns:[u,f,p],getContents:async(e="/")=>{const s=(await b.getDirectoryContents(`${k}${e}`,{details:!0,data:T,includeSelf:!0})).data.map(x),[t]=s.splice(s.findIndex(s=>s.path===e),1);return{folder:t,contents:s}}});var U=t(61338),S=t(87485),L=t(19051),F=t(65899);const A=(0,i.C)("files","config",{crop_image_previews:!0,default_view:"files",grid_view:!1,show_files_extensions:!0,show_hidden:!1,show_mime_column:!0,sort_favorites_first:!0,sort_folders_first:!0,show_dialog_deletion:!1,show_dialog_file_extension:!0}),_=(0,F.nY)("userconfig",()=>{const e=(0,g.KR)({...A});return(0,U.B1)("files:config:updated",({key:s,value:t})=>function(s,t){(0,g.hZ)(e.value,s,t)}(s,t)),{userConfig:e,update:async function(e,s){null!==(0,m.HW)()&&await L.Ay.put((0,y.Jv)("/apps/files/api/v1/config/{key}",{key:e}),{value:s}),(0,U.Ic)("files:config:updated",{key:e,value:s})}}});var N=t(4114);const P=()=>!0===(0,S.F)()?.files?.undelete,z=e=>e.every(e=>!0===e.attributes["is-mount-root"]&&"shared"===e.attributes["mount-type"]),j=e=>e.every(e=>!0===e.attributes["is-mount-root"]&&"external"===e.attributes["mount-type"]),I=(e,s)=>z(e)?1===e.length?(0,r.t)("files","Leave this share"):(0,r.t)("files","Leave these shares"):j(e)?1===e.length?(0,r.t)("files","Disconnect storage"):(0,r.t)("files","Disconnect storages"):"trashbin"!==s.id&&P()?(e=>{if(1===e.length)return!1;const s=e.some(e=>z([e])),t=e.some(e=>!z([e]));return s&&t})(e)?(0,r.t)("files","Delete and unshare"):(e=>!e.some(e=>e.type!==n.pt.File))(e)?1===e.length?(0,r.t)("files","Delete file"):(0,r.t)("files","Delete files"):(e=>!e.some(e=>e.type!==n.pt.Folder))(e)?1===e.length?(0,r.t)("files","Delete folder"):(0,r.t)("files","Delete folders"):(0,r.t)("files","Delete"):(0,r.t)("files","Delete permanently"),E=()=>!1!==_((0,N.u)()).userConfig.show_dialog_deletion,B=async(e,s)=>{const t="trashbin"!==s.id&&P()?(0,r.n)("files","You are about to delete {count} item","You are about to delete {count} items",e.length,{count:e.length}):(0,r.n)("files","You are about to permanently delete {count} item","You are about to permanently delete {count} items",e.length,{count:e.length});return new Promise(n=>{window.OC.dialogs.confirmDestructive(t,(0,r.t)("files","Confirm deletion"),{type:window.OC.dialogs.YES_NO_BUTTONS,confirm:I(e,s),confirmClasses:"error",cancel:(0,r.t)("files","Cancel")},e=>{n(e)})})},H=async e=>{await L.Ay.delete(e.encodedSource),(0,U.Ic)("files:node:deleted",e)};var R=t(9558);const V=new a.A({concurrency:5}),W=new n.hY({id:"delete",displayName:I,iconSvgInline:e=>z(e)?o:j(e)?'':l,enabled:(e,s)=>(s.id!==C||!1!==(0,i.C)("files_trashbin","config",{allow_delete:!0}).allow_delete)&&(e.length>0&&e.map(e=>e.permissions).every(e=>0!==(e&n.aX.DELETE))),async exec(e,s){try{let t=!0;const n=((new Error).stack||"").toLocaleLowerCase().includes("keydown");return(E()||n)&&(t=await B([e],s)),!1===t?null:(await H(e),!0)}catch(s){return R.A.error("Error while deleting a file",{error:s,source:e.source,node:e}),!1}},async execBatch(e,s){let t=!0;if((E()||e.length>=5&&!z(e)&&!j(e))&&(t=await B(e,s)),!1===t)return Promise.all(e.map(()=>null));const n=e.map(e=>new Promise(s=>{V.add(async()=>{try{await H(e),s(!0)}catch(t){R.A.error("Error while deleting a file",{error:t,source:e.source,node:e}),s(!1)}})}));return Promise.all(n)},destructive:!0,order:100});var O=t(85168);function M(e){if(0===(e.permissions&n.aX.READ))return!1;if(!0===e.attributes["hide-download"]||"true"===e.attributes["hide-download"])return!1;if(e.attributes["share-attributes"]){const s=JSON.parse(e.attributes["share-attributes"]||"[]").find(({scope:e,key:s})=>"permissions"===e&&"download"===s);if(void 0!==s)return!0===s.value}return!0}var D=t(45238),Y=t(89761);async function q(e,s){await L.Ay.head(e);const t=document.createElement("a");t.download=s??"",t.href=e,t.click()}function $(e,s){const t=e.split("/").filter(Boolean),n=s.split("/").filter(Boolean);let i="";for(const[e,a]of t.entries()){if(e>=s.length)break;if(a!==n[e])break;i=`${i}${""===i?"":"/"}${a}`}return i}async function K(e){let s;if(1===e.length){if(e[0].type===n.pt.File)return void await q(e[0].encodedSource,e[0].displayname);s=new URL(e[0].encodedSource),s.searchParams.append("accept","zip")}else{s=new URL(e[0].encodedSource);let t=s.pathname;for(const s of e.slice(1))t=$(t,new URL(s.encodedSource).pathname);s.pathname=t;const n=e.map(e=>decodeURIComponent(e.encodedSource.slice(s.href.length+1)));s.searchParams.append("accept","zip"),s.searchParams.append("files",JSON.stringify(n))}"/"!==s.pathname.at(-1)&&(s.pathname=`${s.pathname}/`),await q(s.href)}const G=new n.hY({id:"download",default:n.m9.DEFAULT,displayName:()=>(0,r.t)("files","Download"),iconSvgInline:()=>'',enabled:(e,s)=>0!==e.length&&!e.some(e=>!e.isDavResource)&&!(e.length>1&&"trashbin"===s.id)&&e.every(M),async exec(e){try{await K([e])}catch(s){(0,O.Qg)((0,r.t)("files","The requested file is not available.")),(0,U.Ic)("files:node:deleted",e)}return null},async execBatch(e,s,t){try{await K(e)}catch(e){(0,O.Qg)((0,r.t)("files","The requested files are not available."));const n=function(e,s){const t=(0,Y._)((0,N.u)()),n=(0,D.B)((0,N.u)());if(!e?.id)return null;if("/"===s)return t.getRoot(e.id)||null;const i=n.getPath(e.id,s);return t.getNode(i)||null}(s,t);(0,U.Ic)("files:node:updated",n)}return new Array(e.length).fill(null)},order:30});var J=t(32505);const Z=new n.hY({id:"edit-locally",displayName:()=>(0,r.Tl)("files","Open locally"),iconSvgInline:()=>'',enabled:e=>1===e.length&&!(0,J.f)()&&0!==(e[0].permissions&n.aX.UPDATE),exec:async e=>(await async function(e){await Q(e);const s=await async function(){let e=!1;const s=(new O.ik).setName((0,r.Tl)("files","Open file locally")).setText((0,r.Tl)("files","The file should now open on your device. If it doesn't, please check that you have the desktop app installed.")).setButtons([{label:(0,r.Tl)("files","Retry and close"),type:"secondary",callback:()=>{e="local"}},{label:(0,r.Tl)("files","Open online"),icon:'',type:"primary",callback:()=>{e="online"}}]).build();return await s.show(),e}();"local"===s?await Q(e):"online"===s&&window.OCA.Viewer.open({path:e})}(e.path),null),order:25});async function Q(e){const s=(0,y.KT)("apps/files/api/v1")+"/openlocaleditor?format=json";try{const t=await L.Ay.post(s,{path:e}),n=(0,m.HW)()?.uid;let i=`nc://open/${n}@`+window.location.host+(0,d.O0)(e);i+="?token="+t.data.ocs.data.token,window.open(i,"_self")}catch(e){(0,O.Qg)((0,r.Tl)("files","Failed to redirect to client"))}}var X=t(63006),ee=t(11459);const se=new a.A({concurrency:5}),te=e=>e.some(e=>1!==e.attributes.favorite),ne=async(e,s,t)=>{try{const n=(0,y.Jv)("/apps/files/api/v1/files")+(0,d.O0)(e.path);return await L.Ay.post(n,{tags:t?[window.OC.TAG_FAVORITE]:[]}),"favorites"!==s.id||t||"/"!==e.dirname||(0,U.Ic)("files:node:deleted",e),g.Ay.set(e.attributes,"favorite",t?1:0),t?(0,U.Ic)("files:favorites:added",e):(0,U.Ic)("files:favorites:removed",e),!0}catch(s){const n=t?"adding a file to favourites":"removing a file from favourites";return R.A.error("Error while "+n,{error:s,source:e.source,node:e}),!1}},ie=new n.hY({id:"favorite",displayName:e=>te(e)?(0,r.Tl)("files","Add to favorites"):(0,r.Tl)("files","Remove from favorites"),iconSvgInline:e=>te(e)?X:ee,enabled:e=>!(0,J.f)()&&e.every(e=>e.root?.startsWith?.("/files"))&&e.every(e=>e.permissions!==n.aX.NONE),async exec(e,s){const t=te([e]);return await ne(e,s,t)},async execBatch(e,s){const t=te(e),n=e.map(e=>new Promise(n=>{se.add(async()=>{try{await ne(e,s,t),n(!0)}catch(s){R.A.error("Error while adding file to favorite",{error:s,source:e.source,node:e}),n(!1)}})}));return Promise.all(n)},order:-50});var ae=t(90231),oe=t(43627),le=t(21363);const re='',me=(0,i.C)("files_sharing","sharePermissions",n.aX.NONE);let de;var ge;!function(e){e.MOVE="Move",e.COPY="Copy",e.MOVE_OR_COPY="move-or-copy"}(ge||(ge={}));const ce=e=>{const s=e.reduce((e,s)=>Math.min(e,s.permissions),n.aX.ALL);return Boolean(s&n.aX.DELETE)},ue=e=>!!(e=>e.every(e=>!JSON.parse(e.attributes?.["share-attributes"]??"[]").some(e=>"permissions"===e.scope&&!1===e.value&&"download"===e.key)))(e)&&!e.some(e=>e.permissions===n.aX.NONE)&&(!(0,J.f)()||Boolean(me&n.aX.CREATE));var fe=t(16954);const pe=e=>ce(e)?ue(e)?ge.MOVE_OR_COPY:ge.MOVE:ge.COPY,he=async(e,s,t,i=!1)=>{if(!s)return;if(s.type!==n.pt.Folder)throw new Error((0,r.Tl)("files","Destination is not a folder"));if(t===ge.MOVE&&e.dirname===s.path)throw new Error((0,r.Tl)("files","This file/folder is already in that directory"));if(`${s.path}/`.startsWith(`${e.path}/`))throw new Error((0,r.Tl)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));g.Ay.set(e,"status",n.zI.LOADING);const o=function(e,s,t){const n=e===ge.MOVE?(0,r.Tl)("files",'Moving "{source}" to "{destination}" …',{source:s,destination:t}):(0,r.Tl)("files",'Copying "{source}" to "{destination}" …',{source:s,destination:t});let i;return i=(0,O.cf)(` ${n}`,{isHTML:!0,timeout:O.DH,onRemove:()=>{i?.hideToast(),i=void 0}}),()=>i&&i.hideToast()}(t,e.basename,s.path),l=(de||(de=new a.A({concurrency:5})),de);return await l.add(async()=>{const a=e=>1===e?(0,r.Tl)("files","(copy)"):(0,r.Tl)("files","(copy %n)",void 0,e);try{const o=(0,n.H4)(),l=(0,oe.join)(n.lJ,e.path),r=(0,oe.join)(n.lJ,s.path);if(t===ge.COPY){let t=e.basename;if(!i){const s=await o.getDirectoryContents(r);t=(0,n.E6)(e.basename,s.map(e=>e.basename),{suffix:a,ignoreFileExtension:e.type===n.pt.Folder})}if(await o.copyFile(l,(0,oe.join)(r,t)),e.dirname===s.path){const{data:e}=await o.stat((0,oe.join)(r,t),{details:!0,data:(0,n.VL)()});(0,U.Ic)("files:node:created",(0,n.Al)(e))}}else{if(!i){const t=await(0,fe.hE)(s.path);if((0,ae.h)([e],t.contents))try{const{selected:n,renamed:i}=await(0,ae.o)(s.path,[e],t.contents);if(!n.length&&!i.length)return}catch(e){return}}try{await o.moveFile(l,(0,oe.join)(r,e.basename))}catch(e){const s=new DOMParser,t=await(e.response?.text()),n=s.parseFromString(t??"","text/xml").querySelector("message")?.textContent;throw n&&(0,O.Qg)(n),e}(0,U.Ic)("files:node:deleted",e)}}catch(e){if((0,L.F0)(e)){if(412===e.response?.status)throw new Error((0,r.Tl)("files","A file or folder with that name already exists in this folder"));if(423===e.response?.status)throw new Error((0,r.Tl)("files","The files are locked"));if(404===e.response?.status)throw new Error((0,r.Tl)("files","The file does not exist anymore"));if(e.message)throw new Error(e.message)}throw R.A.debug(e),new Error}finally{g.Ay.set(e,"status",""),o()}})};async function we(e,s="/",t){const{resolve:i,reject:a,promise:o}=Promise.withResolvers(),l=t.map(e=>e.fileid).filter(Boolean),m=(0,O.a1)((0,r.Tl)("files","Choose destination")).allowDirectories(!0).setFilter(e=>!l.includes(e.fileid)).setCanPick(e=>(e.permissions&n.aX.CREATE)===n.aX.CREATE).setMimeTypeFilter([]).setMultiSelect(!1).startAt(s).setButtonFactory((s,a)=>{const o=[],l=(0,oe.basename)(a),m=t.map(e=>e.dirname),d=t.map(e=>e.path);return e!==ge.COPY&&e!==ge.MOVE_OR_COPY||o.push({label:l?(0,r.Tl)("files","Copy to {target}",{target:l},void 0,{escape:!1,sanitize:!1}):(0,r.Tl)("files","Copy"),type:"primary",icon:le,async callback(e){i({destination:e[0],action:ge.COPY})}}),m.includes(a)||d.includes(a)||s.some(e=>0===(e.permissions&n.aX.CREATE))||e!==ge.MOVE&&e!==ge.MOVE_OR_COPY||o.push({label:l?(0,r.Tl)("files","Move to {target}",{target:l},void 0,{escape:!1,sanitize:!1}):(0,r.Tl)("files","Move"),type:e===ge.MOVE?"primary":"secondary",icon:re,async callback(e){i({destination:e[0],action:ge.MOVE})}}),o}).build();return m.pick().catch(e=>{R.A.debug(e),e instanceof O.vT?i(!1):a(new Error((0,r.Tl)("files","Move or copy operation failed")))}),o}const ve=new n.hY({id:"move-copy",displayName(e){switch(pe(e)){case ge.MOVE:return(0,r.Tl)("files","Move");case ge.COPY:return(0,r.Tl)("files","Copy");case ge.MOVE_OR_COPY:return(0,r.Tl)("files","Move or copy")}},iconSvgInline:()=>re,enabled:(e,s)=>"public-file-share"!==s.id&&!!e.every(e=>e.root?.startsWith("/files/"))&&e.length>0&&(ce(e)||ue(e)),async exec(e,s,t){const n=pe([e]);let i;try{i=await we(n,t,[e])}catch(e){return R.A.error(e),!1}if(!1===i)return null;try{return await he(e,i.destination,i.action),!0}catch(e){return!!(e instanceof Error&&e.message)&&((0,O.Qg)(e.message),null)}},async execBatch(e,s,t){const n=pe(e),i=await we(n,t,e);if(!1===i)return e.map(()=>null);const a=e.map(async e=>{try{return await he(e,i.destination,i.action),!0}catch(s){return R.A.error(`Failed to ${i.action} node`,{node:e,error:s}),!1}});return await Promise.all(a)},order:15}),ke='',be=new n.hY({id:"open-folder",displayName(e){const s=e[0].displayname;return(0,r.Tl)("files","Open folder {displayName}",{displayName:s})},iconSvgInline:()=>ke,enabled(e){if(1!==e.length)return!1;const s=e[0];return!!s.isDavRessource&&s.type===n.pt.Folder&&0!==(s.permissions&n.aX.READ)},exec:async(e,s)=>!(!e||e.type!==n.pt.Folder)&&(window.OCP.Files.Router.goToRoute(null,{view:s.id,fileid:String(e.fileid)},{dir:e.path}),null),default:n.m9.HIDDEN,order:-100});var ye=t(53775);const Te=new n.hY({id:"open-in-files",displayName:()=>(0,r.t)("files","Open in Files"),iconSvgInline:()=>"",enabled:(e,s)=>"recent"===s.id||s.id===ye.w,async exec(e){let s=e.dirname;return e.type===n.pt.Folder&&(s=s+"/"+e.basename),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:String(e.fileid)},{dir:s,openfile:"true"}),null},order:-1e3,default:n.m9.HIDDEN});var xe=t(38225);const Ce=new n.hY({id:"rename",displayName:()=>(0,r.Tl)("files","Rename"),iconSvgInline:()=>xe,enabled:(e,s)=>{if(0===e.length)return!1;if("public-file-share"===s.id)return!1;const t=e[0],i=(0,Y._)((0,N.u)()),a="/"===t.dirname?i.getRoot(s.id):i.getNode((0,oe.dirname)(t.source)),o=a?.permissions||n.aX.NONE;return Boolean(t.permissions&n.aX.DELETE)&&Boolean(o&n.aX.CREATE)},exec:async e=>((0,U.Ic)("files:node:rename",e),null),order:10});var Ue=t(61780);const Se=new n.hY({id:"details",displayName:()=>(0,r.Tl)("files","Details"),iconSvgInline:()=>Ue,enabled:e=>!(0,J.f)()&&1===e.length&&!!e[0]&&!!window?.OCA?.Files?.Sidebar&&((e[0].root?.startsWith("/files/")&&e[0].permissions!==n.aX.NONE)??!1),async exec(e,s,t){try{return window.OCA.Files.Sidebar.file===e.path?(R.A.debug("Sidebar already open for this file",{node:e}),null):(window.OCA.Files.Sidebar.setActiveTab("sharing"),await window.OCA.Files.Sidebar.open(e.path),window.OCP?.Files?.Router?.goToRoute(null,{view:s.id,fileid:String(e.fileid)},{...window.OCP.Files.Router.query,dir:t,opendetails:"true"},!0),null)}catch(e){return R.A.error("Error while opening sidebar",{error:e}),!1}},order:-50}),Le=new n.hY({id:"view-in-folder",displayName:()=>(0,r.t)("files","View in folder"),iconSvgInline:()=>re,enabled(e,s){if((0,J.f)())return!1;if("files"===s.id)return!1;if(1!==e.length)return!1;const t=e[0];return!!t.isDavRessource&&!!t.root?.startsWith("/files")&&t.permissions!==n.aX.NONE&&t.type===n.pt.File},exec:async e=>!(!e||e.type!==n.pt.File)&&(window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:String(e.fileid)},{dir:e.dirname}),null),order:80});class Fe extends n.L3{constructor(){var e,s,t;super("files:hidden",0),e=this,t=void 0,(s=function(e){var s=function(e){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var t=s.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof s?s:s+""}(s="showHidden"))in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,this.showHidden=(0,i.C)("files","config",{show_hidden:!1}).show_hidden,(0,U.B1)("files:config:updated",({key:e,value:s})=>{"show_hidden"===e&&(this.showHidden=Boolean(s),this.filterUpdated())})}filter(e){return this.showHidden?e:e.filter(e=>!0!==e.attributes.hidden&&!e.basename.startsWith("."))}}var Ae=t(9165),_e=t(57505),Ne=t(6695),Pe=t(24764),ze=t(15502);const je=(0,g.pM)({__name:"FileListFilter",props:{isActive:{type:Boolean},filterName:null},emits:["reset-filter"],setup:e=>({__sfc:!0,t:r.t,NcActions:Pe.A,NcActionButton:_e.A,NcActionSeparator:ze.A})});var Ie=t(85072),Ee=t.n(Ie),Be=t(97825),He=t.n(Be),Re=t(77659),Ve=t.n(Re),We=t(55056),Oe=t.n(We),Me=t(10540),De=t.n(Me),Ye=t(41113),qe=t.n(Ye),$e=t(30610),Ke={};Ke.styleTagTransform=qe(),Ke.setAttributes=Oe(),Ke.insert=Ve().bind(null,"head"),Ke.domAPI=He(),Ke.insertStyleElement=De(),Ee()($e.A,Ke),$e.A&&$e.A.locals&&$e.A.locals;var Ge=t(14486);const Je=(0,Ge.A)(je,function(){var e=this,s=e._self._c,t=e._self._setupProxy;return s(t.NcActions,{attrs:{"force-menu":"",type:e.isActive?"secondary":"tertiary","menu-name":e.filterName},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0}],null,!0)},[e._v(" "),e._t("default"),e._v(" "),e.isActive?[s(t.NcActionSeparator),e._v(" "),s(t.NcActionButton,{staticClass:"files-list-filter__clear-button",attrs:{"close-after-click":""},on:{click:function(s){return e.$emit("reset-filter")}}},[e._v("\n\t\t\t"+e._s(t.t("files","Clear filter"))+"\n\t\t")])]:e._e()],2)},[],!1,null,"21c6ff6c",null).exports,Ze=(0,g.pM)({name:"FileListFilterType",components:{FileListFilter:Je,NcActionButton:_e.A,NcIconSvgWrapper:Ne.A},props:{presets:{type:Array,default:()=>[]},typePresets:{type:Array,required:!0}},setup:()=>({mdiFileOutline:Ae.bFE,t:r.Tl}),data:()=>({selectedOptions:[]}),computed:{isActive(){return this.selectedOptions.length>0}},watch:{presets(){this.selectedOptions=this.presets??[]},selectedOptions(e,s){0===this.selectedOptions.length?0!==s.length&&this.$emit("update:presets"):this.$emit("update:presets",this.selectedOptions)}},mounted(){this.selectedOptions=this.presets??[]},methods:{resetFilter(){this.selectedOptions=[]},toggleOption(e){const s=this.selectedOptions.indexOf(e);-1!==s?this.selectedOptions.splice(s,1):this.selectedOptions.push(e)}}});var Qe=t(73470),Xe={};Xe.styleTagTransform=qe(),Xe.setAttributes=Oe(),Xe.insert=Ve().bind(null,"head"),Xe.domAPI=He(),Xe.insertStyleElement=De(),Ee()(Qe.A,Xe),Qe.A&&Qe.A.locals&&Qe.A.locals;const es=(0,Ge.A)(Ze,function(){var e=this,s=e._self._c;return e._self._setupProxy,s("FileListFilter",{staticClass:"file-list-filter-type",attrs:{"is-active":e.isActive,"filter-name":e.t("files","Type")},on:{"reset-filter":e.resetFilter},scopedSlots:e._u([{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{path:e.mdiFileOutline}})]},proxy:!0}])},[e._v(" "),e._l(e.typePresets,function(t){return s("NcActionButton",{key:t.id,attrs:{type:"checkbox","model-value":e.selectedOptions.includes(t)},on:{click:function(s){return e.toggleOption(t)}},scopedSlots:e._u([{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{svg:t.icon}})]},proxy:!0}],null,!0)},[e._v("\n\t\t"+e._s(t.label)+"\n\t")])})],2)},[],!1,null,null,null).exports;function ss(e,s,t){return(s=function(e){var s=function(e){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var t=s.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof s?s:s+""}(s))in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}const ts=(e,s)=>e.replace("[{id:"document",label:(0,r.t)("files","Documents"),icon:ts('',"#49abea"),mime:["x-office/document"]},{id:"spreadsheet",label:(0,r.t)("files","Spreadsheets"),icon:ts('',"#9abd4e"),mime:["x-office/spreadsheet"]},{id:"presentation",label:(0,r.t)("files","Presentations"),icon:ts('',"#f0965f"),mime:["x-office/presentation"]},{id:"pdf",label:(0,r.t)("files","PDFs"),icon:ts('',"#dc5047"),mime:["application/pdf"]},{id:"folder",label:(0,r.t)("files","Folders"),icon:ts(ke,window.getComputedStyle(document.body).getPropertyValue("--color-primary-element")),mime:["httpd/unix-directory"]},{id:"audio",label:(0,r.t)("files","Audio"),icon:'',mime:["audio"]},{id:"image",label:(0,r.t)("files","Images"),icon:'',mime:["image"]},{id:"video",label:(0,r.t)("files","Videos"),icon:'',mime:["video"]}])()),this.currentInstance&&(this.currentInstance.$destroy(),delete this.currentInstance);const s=g.Ay.extend(es);this.currentInstance=new s({propsData:{presets:this.currentPresets,typePresets:this.allPresets},el:e}).$on("update:presets",this.setPresets.bind(this)).$mount()}filter(e){if(!this.currentPresets||0===this.currentPresets.length)return e;const s=this.currentPresets.reduce((e,s)=>[...e,...s.mime],[]);return e.filter(e=>{if(!e.mime)return!1;const t=e.mime.toLowerCase();return!!s.includes(t)||!!s.includes(window.OC.MimeTypeList.aliases[t])||!!s.includes(t.split("/")[0])})}reset(){this.setPresets()}setPresets(e){this.currentPresets=e??[],void 0!==this.currentInstance&&(this.currentInstance.$props.presets=e),this.filterUpdated();const s=[];if(e&&e.length>0)for(const t of e)s.push({icon:t.icon,text:t.label,onclick:()=>this.removeFilterPreset(t.id)});else this.currentInstance?.resetFilter();this.updateChips(s)}removeFilterPreset(e){const s=this.currentPresets.filter(({id:s})=>s!==e);this.setPresets(s)}}const is=(0,g.pM)({components:{FileListFilter:Je,NcActionButton:_e.A,NcIconSvgWrapper:Ne.A},props:{timePresets:{type:Array,required:!0}},setup:()=>({mdiCalendarRangeOutline:Ae.u4v}),data:()=>({selectedOption:null,timeRangeEnd:null,timeRangeStart:null}),computed:{isActive(){return null!==this.selectedOption},currentPreset(){return this.timePresets.find(({id:e})=>e===this.selectedOption)??null}},watch:{selectedOption(){if(null===this.selectedOption)this.$emit("update:preset");else{const e=this.currentPreset;this.$emit("update:preset",e)}}},methods:{t:r.Tl,resetFilter(){this.selectedOption=null,this.timeRangeEnd=null,this.timeRangeStart=null}}});var as=t(31891),os={};os.styleTagTransform=qe(),os.setAttributes=Oe(),os.insert=Ve().bind(null,"head"),os.domAPI=He(),os.insertStyleElement=De(),Ee()(as.A,os),as.A&&as.A.locals&&as.A.locals;const ls=(0,Ge.A)(is,function(){var e=this,s=e._self._c;return e._self._setupProxy,s("FileListFilter",{attrs:{"is-active":e.isActive,"filter-name":e.t("files","Modified")},on:{"reset-filter":e.resetFilter},scopedSlots:e._u([{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{path:e.mdiCalendarRangeOutline}})]},proxy:!0}])},[e._v(" "),e._l(e.timePresets,function(t){return s("NcActionButton",{key:t.id,attrs:{type:"radio","close-after-click":"","model-value":e.selectedOption,value:t.id},on:{"update:modelValue":function(s){e.selectedOption=s},"update:model-value":function(s){e.selectedOption=s}}},[e._v("\n\t\t"+e._s(t.label)+"\n\t")])})],2)},[],!1,null,"35fd0c81",null).exports;function rs(e,s,t){return(s=function(e){var s=function(e){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var t=s.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof s?s:s+""}(s))in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}const ms=()=>(new Date).setHours(0,0,0,0),ds=[{id:"today",label:(0,r.t)("files","Today"),filter:e=>e>ms()},{id:"last-7",label:(0,r.t)("files","Last 7 days"),filter:e=>e>ms()-6048e5},{id:"last-30",label:(0,r.t)("files","Last 30 days"),filter:e=>e>ms()-2592e6},{id:"this-year",label:(0,r.t)("files","This year ({year})",{year:(new Date).getFullYear()}),filter:e=>e>new Date(ms()).setMonth(0,1)},{id:"last-year",label:(0,r.t)("files","Last year ({year})",{year:(new Date).getFullYear()-1}),filter:e=>e>new Date(ms()).setFullYear((new Date).getFullYear()-1,0,1)&&evoid 0===e.mtime||this.currentPreset.filter(e.mtime.getTime())):e}reset(){this.setPreset()}setPreset(e){this.currentPreset=e,this.filterUpdated();const s=[];e?s.push({icon:'',text:e.label,onclick:()=>this.setPreset()}):this.currentInstance?.resetFilter(),this.updateChips(s)}}var cs=t(21376),us=t(94219),fs=t(82182),ps=t(3226);const hs=(0,g.pM)({__name:"NewNodeDialog",props:{defaultName:{type:String,default:(0,r.t)("files","New folder")},otherNames:{type:Array,default:()=>[]},open:{type:Boolean,default:!0},name:{type:String,default:(0,r.t)("files","Create new folder")},label:{type:String,default:(0,r.t)("files","Folder name")}},emits:["close"],setup(e,{emit:s}){const t=e,i=(0,g.KR)(t.defaultName),a=(0,g.KR)(),o=(0,g.KR)(),l=(0,g.KR)(""),m=(0,g.EW)(()=>i.value.trim().startsWith("."));function d(){(0,g.dY)(()=>{const e=a.value?.$el.querySelector("input");if(!t.open||!e)return;const s=i.value.length-(0,oe.extname)(i.value).length;e.focus(),e.setSelectionRange(0,s)})}return(0,g.wB)(()=>[t.defaultName,t.otherNames],()=>{i.value=(0,n.E6)(t.defaultName,t.otherNames).trim()}),(0,g.nT)(()=>{t.otherNames.includes(i.value.trim())?l.value=(0,r.t)("files","This name is already in use."):l.value=function(e,s=!1){if(""===e.trim())return(0,r.t)("files","Filename must not be empty.");try{return(0,n.KT)(e),""}catch(e){if(!(e instanceof n.di))throw e;switch(e.reason){case n.nF.Character:return(0,r.t)("files",'"{char}" is not allowed inside a filename.',{char:e.segment},void 0,{escape:s});case n.nF.ReservedName:return(0,r.t)("files",'"{segment}" is a reserved name and not allowed for filenames.',{segment:e.segment},void 0,{escape:!1});case n.nF.Extension:return e.segment.match(/\.[a-z]/i)?(0,r.t)("files",'"{extension}" is not an allowed filetype.',{extension:e.segment},void 0,{escape:!1}):(0,r.t)("files",'Filenames must not end with "{extension}".',{extension:e.segment},void 0,{escape:!1});default:return(0,r.t)("files","Invalid filename.")}}}(i.value.trim());const e=a.value?.$el.querySelector("input");e&&(e.setCustomValidity(l.value),e.reportValidity())}),(0,g.wB)(()=>t.open,()=>{(0,g.dY)(()=>{d()})}),(0,g.sV)(()=>{i.value=(0,n.E6)(i.value,t.otherNames).trim(),(0,g.dY)(()=>d())}),{__sfc:!0,props:t,emit:s,localDefaultName:i,nameInput:a,formElement:o,validity:l,isHiddenFileName:m,focusInput:d,submit:function(){o.value?.requestSubmit()},t:r.t,NcButton:cs.A,NcDialog:us.A,NcTextField:fs.A,NcNoteCard:ps.A}}});var ws=t(96102),vs={};vs.styleTagTransform=qe(),vs.setAttributes=Oe(),vs.insert=Ve().bind(null,"head"),vs.domAPI=He(),vs.insertStyleElement=De(),Ee()(ws.A,vs),ws.A&&ws.A.locals&&ws.A.locals;const ks=(0,Ge.A)(hs,function(){var e=this,s=e._self._c,t=e._self._setupProxy;return s(t.NcDialog,{attrs:{"data-cy-files-new-node-dialog":"",name:e.name,open:e.open,"close-on-click-outside":"","out-transition":""},on:{"update:open":function(e){return t.emit("close",null)}},scopedSlots:e._u([{key:"actions",fn:function(){return[s(t.NcButton,{attrs:{"data-cy-files-new-node-dialog-submit":"",type:"primary",disabled:""!==t.validity},on:{click:t.submit}},[e._v("\n\t\t\t"+e._s(t.t("files","Create"))+"\n\t\t")])]},proxy:!0}])},[e._v(" "),s("form",{ref:"formElement",staticClass:"new-node-dialog__form",on:{submit:function(e){return e.preventDefault(),t.emit("close",t.localDefaultName)}}},[s(t.NcTextField,{ref:"nameInput",attrs:{"data-cy-files-new-node-dialog-input":"",error:""!==t.validity,"helper-text":t.validity,label:e.label,value:t.localDefaultName},on:{"update:value":function(e){t.localDefaultName=e}}}),e._v(" "),t.isHiddenFileName?s(t.NcNoteCard,{attrs:{type:"warning",text:t.t("files","Files starting with a dot are hidden by default")}}):e._e()],1)])},[],!1,null,"04462327",null).exports;function bs(e,s,t={}){const n=s.map(e=>e.basename);return new Promise(s=>{(0,O.Ss)(ks,{...t,defaultName:e,otherNames:n},e=>{s(e)})})}const ys={id:"newFolder",displayName:(0,r.Tl)("files","New folder"),enabled:e=>Boolean(e.permissions&n.aX.CREATE)&&Boolean(e.permissions&n.aX.READ),iconSvgInline:''.replace(/viewBox/gi,'style="color: var(--color-primary-element)" viewBox'),order:0,async handler(e,s){const t=await bs((0,r.Tl)("files","New folder"),s);if(null!==t)try{const{fileid:s,source:i}=await(async(e,s)=>{const t=e.source+"/"+s,n=e.encodedSource+"/"+encodeURIComponent(s),i=await(0,L.Ay)({method:"MKCOL",url:n,headers:{Overwrite:"F"}});return{fileid:parseInt(i.headers["oc-fileid"]),source:t}})(e,t.trim()),a=new n.vd({source:i,id:s,mtime:new Date,owner:e.owner,permissions:n.aX.ALL,root:e?.root||"/files/"+(0,m.HW)()?.uid,attributes:{"mount-type":e.attributes?.["mount-type"],"owner-id":e.attributes?.["owner-id"],"owner-display-name":e.attributes?.["owner-display-name"]}});(0,U.Ic)("files:node:created",a),(0,O.Te)((0,r.Tl)("files",'Created new folder "{name}"',{name:(0,oe.basename)(i)})),R.A.debug("Created new folder",{folder:a,source:i}),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:String(s)},{dir:e.path})}catch(e){R.A.error("Creating new folder failed",{error:e}),(0,O.Qg)("Creating new folder failed")}}},Ts=(0,i.C)("files","templates_enabled",!0);let xs=(0,i.C)("files","templates_path",!1);R.A.debug("Templates folder enabled",{templatesEnabled:Ts}),R.A.debug("Initial templates folder",{templatesPath:xs});const Cs={id:"template-picker",displayName:(0,r.Tl)("files","Create templates folder"),iconSvgInline:'',order:30,enabled:e=>!(!Ts||xs)&&e.owner===(0,m.HW)()?.uid&&0!==(e.permissions&n.aX.CREATE),async handler(e,s){const t=await bs((0,r.Tl)("files","Templates"),s,{name:(0,r.Tl)("files","New template folder")});null!==t&&(async function(e,s){const t=(0,oe.join)(e.path,s);try{R.A.debug("Initializing the templates directory",{templatePath:t});const{data:e}=await L.Ay.post((0,y.KT)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:void 0},{dir:t}),R.A.info("Created new templates folder",{...e.ocs.data}),xs=e.ocs.data.templates_path}catch(e){R.A.error("Unable to initialize the templates directory"),(0,O.Qg)((0,r.Tl)("files","Unable to initialize the templates directory"))}}(e,t),(0,n.gj)("template-picker"))}},Us=(0,g.$V)(()=>Promise.all([t.e(4208),t.e(6916)]).then(t.bind(t,6916)));let Ss=null;const Ls=async e=>{if(null===Ss){const s=document.createElement("div");s.id="template-picker",document.body.appendChild(s),Ss=new g.Ay({render:s=>s(Us,{ref:"picker",props:{parent:e}}),methods:{open(...e){this.$refs.picker.open(...e)}},el:s})}return Ss};var Fs=t(77815),As=t(43690),_s=t(56908),Ns=t(36117);const Ps=(e="/")=>"/"!==e?(0,fe.hE)(e):new Ns.CancelablePromise((e,s,t)=>{const i=(0,n.Q$)(_s.S).catch(s).then(t=>{t?e({contents:t,folder:new n.vd({id:0,source:`${n.PY}${n.lJ}`,root:n.lJ,owner:(0,m.HW)()?.uid||null,permissions:n.aX.READ})}):s()});t(()=>i.cancel())}),zs=function(e,s=0){return new n.Ss({id:js(e.path),name:e.displayname,icon:As,order:s,params:{dir:e.path,fileid:String(e.fileid),view:"favorites"},parent:"favorites",columns:[],getContents:Ps})},js=function(e){return`favorite-${function(e){let s=0;for(let t=0;t>>0}(e)}`},Is=Math.round(Date.now()/1e3-1209600),Es=e=>(0,n.Al)(e,n.lJ,(0,y.$_)()),Bs=(0,m.HW)()?.uid,Hs=function(e){const s=e.attributes["mount-type"];return Bs===e.owner&&!["group","shared"].includes(s)},Rs=(e="/")=>(0,fe.hE)(e).then(e=>(e.contents=e.contents.filter(Hs),e));var Vs=t(4735);const Ws="personal";var Os=t(25682);const Ms="folders",Ds=`${n.PY}/files/${(0,m.HW)()?.uid}`,Ys=Intl.Collator([(0,r.Z0)(),(0,r.lO)()],{numeric:!0,usage:"sort"}),qs=(e,s)=>Ys.compare(e.displayName??e.basename,s.displayName??s.basename),$s=(e,s="/",t=[])=>{const n=e.toSorted(qs);for(const{id:e,basename:i,displayName:a,children:o}of n){const n=(0,d.HS)(s,i),l=`${Ds}${n}`,r={source:l,encodedSource:Gs(l),path:n,fileid:e,basename:i};a&&(r.displayName=a),t.push(r),o.length>0&&$s(o,n,t)}return t},Ks=e=>(0,fe.hE)(e),Gs=e=>{const{origin:s}=new URL(e);return s+(0,d.O0)(e.slice(s.length))},Js=e=>{const s=(0,d.pD)(e);return s===Ds?Ms:Gs(s)},Zs=(0,i.C)("files","config",{folder_tree:!0}).folder_tree;let Qs=(0,i.C)("files","config",{show_hidden:!1}).show_hidden;const Xs=(0,n.bh)(),et=new a.A({concurrency:5,intervalCap:5,interval:200}),st=new a.A({concurrency:5,intervalCap:5,interval:200}),tt=async(e="/")=>{await et.add(async()=>{const s=await(async(e="/",s=1)=>{const{data:t}=await L.Ay.get((0,y.KT)("/apps/files/api/v1/folder-tree"),{params:new URLSearchParams({path:e,depth:String(s)})});return $s(t,e)})(e),t=s.map(e=>st.add(()=>it(e)));await Promise.allSettled(t)})},nt=e=>async s=>{s.loading||s.loaded||(s.loading=!0,await tt(e.path),s.loading=!1,s.loaded=!0,(0,U.Ic)("files:navigation:updated"),(0,U.Ic)("files:folder-tree:expanded"))},it=e=>{const s=Xs.views.find(s=>s.id===e.encodedSource);s&&Xs.remove(s.id),!Qs&&e.basename.startsWith(".")||Xs.register(new n.Ss({id:e.encodedSource,parent:Js(e.source),name:e.displayName??e.displayname??e.basename,icon:As,getContents:Ks,loadChildViews:nt(e),params:{view:Ms,fileid:String(e.fileid),dir:e.path}}))},at=e=>{e.type===n.pt.Folder&&it(e)},ot=e=>{e.type===n.pt.Folder&&(e=>{const s=e.encodedSource;Xs.remove(s)})(e)},lt=({node:e,oldSource:s})=>{if(e.type!==n.pt.Folder)return;var t;t=s,Xs.remove(t),it(e);const i=e.source.replace(Ds,""),a=s.replace(Ds,""),o=Xs.views.filter(e=>!!e.params?.dir&&!(0,d.ys)(e.params.dir,a)&&e.params.dir.startsWith(a));for(const s of o)s.parent=Js(e.source),s.params.dir=s.params.dir.replace(a,i)},rt=async({key:e,value:s})=>{"show_hidden"===e&&(Qs=s,await tt(),(0,U.Ic)("files:folder-tree:initialized"))},mt=new a.A({concurrency:5}),dt=function(e,s){return L.Ay.post((0,y.KT)("/apps/files/api/v1/convert"),{fileId:e,targetMimeType:s})},gt="convert";var ct=t(82736);class ut extends n.L3{constructor(){var e,s,t;super("files:filename",5),e=this,t="",(s=function(e){var s=function(e){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var t=s.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof s?s:s+""}(s="searchQuery"))in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,(0,U.B1)("files:search:updated",({query:e,scope:s})=>{"filter"===s&&this.updateQuery(e)})}filter(e){const s=this.searchQuery.toLocaleLowerCase().split(" ").filter(Boolean);return e.filter(e=>{const t=e.displayname.toLocaleLowerCase();return s.every(e=>t.includes(e))})}reset(){this.updateQuery("")}updateQuery(e){if((e=(e||"").trim())!==this.searchQuery){this.searchQuery=e,this.filterUpdated();const s=[];if(""!==e)s.push({text:e,onclick:()=>{this.updateQuery("")}});else{const e=(0,ct.j)((0,N.u)());"filter"===e.scope&&(e.query="")}this.updateChips(s)}}}const ft=(0,g.pM)({__name:"FileListFilterToSearch",setup(e,{expose:s}){const t=(0,g.KR)(!1);function n(){t.value=!1}function i(){t.value=!0}return s({hideButton:n,showButton:i}),{__sfc:!0,isVisible:t,hideButton:n,showButton:i,onClick:function(){(0,ct.j)((0,N.u)()).scope="globally"},t:r.t,NcButton:cs.A}}}),pt=(0,Ge.A)(ft,function(){var e=this,s=e._self._c,t=e._self._setupProxy;return s(t.NcButton,{directives:[{name:"show",rawName:"v-show",value:t.isVisible,expression:"isVisible"}],on:{click:t.onClick}},[e._v("\n\t"+e._s(t.t("files","Search everywhere"))+"\n")])},[],!1,null,null,null).exports;class ht extends n.L3{constructor(){var e,s,t;super("files:filter-to-search",999),e=this,t=void 0,(s=function(e){var s=function(e){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var t=s.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof s?s:s+""}(s="currentInstance"))in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,(0,U.B1)("files:search:updated",({query:e,scope:s})=>{e&&"filter"===s?this.currentInstance?.showButton():this.currentInstance?.hideButton()})}mount(e){this.currentInstance&&this.currentInstance.$destroy();const s=g.Ay.extend(pt);this.currentInstance=(new s).$mount(e)}filter(e){return e}}(()=>{const e=((0,S.F)()?.files?.file_conversions??[]).map(({to:e,from:s,displayName:t})=>new n.hY({id:`convert-${s}-${e}`,displayName:()=>(0,r.t)("files","Save as {displayName}",{displayName:t}),iconSvgInline:()=>{return s=e,``;var s},enabled:e=>e.every(e=>s===e.mime),exec:async s=>(async function(e,s){const t=(0,O.Cs)((0,r.t)("files","Converting file …"));try{const t=await mt.add(()=>dt(e,s));(0,O.Te)((0,r.t)("files","File successfully converted"));const n=await(0,_s.t)(t.data.ocs.data.path);(0,U.Ic)("files:node:created",n);const i=t.data.ocs.data.fileId;window.OCP.Files.Router.goToRoute(null,{...window.OCP.Files.Router.params,fileid:i.toString()},window.OCP.Files.Router.query)}catch(t){if((0,L.F0)(t)&&t.response?.data?.ocs?.meta?.message)return void(0,O.Qg)((0,r.t)("files","Failed to convert file: {message}",{message:t.response.data.ocs.meta.message}));R.A.error("Failed to convert file",{fileId:e,targetMimeType:s,error:t}),(0,O.Qg)((0,r.t)("files","Failed to convert file"))}finally{t.hideToast()}}(s.fileid,e),null),execBatch:async s=>(async function(e,s){const t=e.map(e=>mt.add(()=>dt(e,s))),n=(0,O.Cs)((0,r.t)("files","Converting files …"));try{const n=await Promise.allSettled(t),i=n.filter(e=>"rejected"===e.status);if(i.length>0){const t=i.map(e=>e.reason?.response?.data?.ocs?.meta?.message);return R.A.error("Failed to convert files",{fileIds:e,targetMimeType:s,messages:t}),1===new Set(t).size&&"string"==typeof t[0]?void(0,O.Qg)((0,r.t)("files","Failed to convert files: {message}",{message:t[0]})):i.length===e.length?void(0,O.Qg)((0,r.t)("files","All files failed to be converted")):1===i.length&&t[0]?void(0,O.Qg)((0,r.t)("files","One file could not be converted: {message}",{message:t[0]})):((0,O.Qg)((0,r.n)("files","%n file could not be converted","%n files could not be converted",i.length)),void(0,O.Te)((0,r.n)("files","%n file converted","%n files converted",e.length-i.length)))}(0,O.Te)((0,r.t)("files","Files converted"));const a=window.OCP.Files.Router.query.dir,o=n.filter(e=>"fulfilled"===e.status).map(e=>e.value.data.ocs.data.path).filter(e=>e.startsWith(a));R.A.debug("Files to fetch",{newPaths:o}),(await Promise.all(o.map(e=>(0,_s.t)(e)))).forEach(e=>(0,U.Ic)("files:node:created",e));const l=n[0].value.data.ocs.data.fileId;window.OCP.Files.Router.goToRoute(null,{...window.OCP.Files.Router.params,fileid:l.toString()},window.OCP.Files.Router.query)}catch(t){(0,O.Qg)((0,r.t)("files","Failed to convert files")),R.A.error("Failed to convert files",{fileIds:e,targetMimeType:s,error:t})}finally{n.hideToast()}}(s.map(e=>e.fileid).filter(Boolean),e),Array(s.length).fill(null)),parent:gt}));(0,n.Gg)(new n.hY({id:gt,displayName:()=>(0,r.t)("files","Save as …"),iconSvgInline:()=>'',enabled:(s,t)=>e.some(e=>e.enabled(s,t)),exec:async()=>null,order:25})),e.forEach(n.Gg)})(),(0,n.Gg)(W),(0,n.Gg)(G),(0,n.Gg)(Z),(0,n.Gg)(ie),(0,n.Gg)(ve),(0,n.Gg)(be),(0,n.Gg)(Te),(0,n.Gg)(Ce),(0,n.Gg)(Se),(0,n.Gg)(Le),(0,n.zj)(ys),(0,n.zj)(Cs),function(){let e;e=(0,J.f)()?(0,i.C)("files_sharing","templates",[]):(0,i.C)("files","templates",[]),e.forEach((e,s)=>{(0,n.zj)({id:`template-new-${e.app}-${s}`,displayName:e.label,iconClass:e.iconClass||"icon-file",iconSvgInline:e.iconSvgInline,enabled:e=>0!==(e.permissions&n.aX.CREATE),order:11,async handler(s,t){const n=Ls(s),i=await bs(`${e.label}${e.extension}`,t,{label:(0,r.Tl)("files","Filename"),name:e.label});null!==i&&(await n).open(i.trim(),e)}})})}(),!1===(0,J.f)()&&((async()=>{const e=(0,n.bh)();e.register(new n.Ss({id:"favorites",name:(0,r.t)("files","Favorites"),caption:(0,r.t)("files","List of favorite files and folders."),emptyTitle:(0,r.t)("files","No favorites yet"),emptyCaption:(0,r.t)("files","Files and folders you mark as favorite will show up here"),icon:X,order:15,columns:[],getContents:Ps}));const s=(await(0,Fs.Q$)(_s.S)).filter(e=>e.type===n.pt.Folder),t=s.map((e,s)=>zs(e,s));R.A.debug("Generating favorites view",{favoriteFolders:s}),t.forEach(s=>e.register(s)),(0,U.B1)("files:favorites:added",e=>{e.type===n.pt.Folder&&(null!==e.path&&e.root?.startsWith("/files")?a(e):R.A.error("Favorite folder is not within user files root",{node:e}))}),(0,U.B1)("files:favorites:removed",e=>{e.type===n.pt.Folder&&(null!==e.path&&e.root?.startsWith("/files")?o(e.path):R.A.error("Favorite folder is not within user files root",{node:e}))}),(0,U.B1)("files:node:renamed",e=>{e.type===n.pt.Folder&&1===e.attributes.favorite&&l(e)});const i=function(){s.sort((e,s)=>e.basename.localeCompare(s.basename,[(0,r.Z0)(),(0,r.lO)()],{ignorePunctuation:!0,numeric:!0,usage:"sort"})),s.forEach((e,s)=>{const n=t.find(s=>s.id===js(e.path));n&&(n.order=s)})},a=function(n){const a=zs(n);s.find(e=>e.path===n.path)||(s.push(n),t.push(a),i(),e.register(a))},o=function(n){const a=js(n),o=s.findIndex(e=>e.path===n);-1!==o&&(s.splice(o,1),t.splice(o,1),e.remove(a),i())},l=function(e){const t=s.find(s=>s.fileid===e.fileid);void 0!==t&&(o(t.path),a(e))};i()})(),(0,Os.g)(),(0,Vs.L)()&&(0,n.bh)().register(new n.Ss({id:Ws,name:(0,r.t)("files","Personal files"),caption:(0,r.t)("files","List of your files and folders that are not shared."),emptyTitle:(0,r.t)("files","No personal files found"),emptyCaption:(0,r.t)("files","Files that are not shared will show up here."),icon:'',order:(0,Vs.P)()===Ws?0:5,getContents:Rs})),(0,n.bh)().register(new n.Ss({id:"recent",name:(0,r.Tl)("files","Recent"),caption:(0,r.Tl)("files","List of recently modified files and folders."),emptyTitle:(0,r.Tl)("files","No recently modified files"),emptyCaption:(0,r.Tl)("files","Files and folders you recently modified will show up here."),icon:'',order:10,defaultSortKey:"mtime",getContents:(e="/")=>{const s=_((0,N.u)()),t=t=>"/"!==e||s.userConfig.show_hidden||!t.dirname.split("/").some(e=>e.startsWith(".")),i=new AbortController;return new Ns.CancelablePromise(async(e,s,a)=>{a(()=>i.abort()),e((async()=>{const e=(await _s.S.search("/",{signal:i.signal,details:!0,data:(0,n.R3)(Is)})).data.results.map(Es).filter(t);return{folder:new n.vd({id:0,source:`${n.PY}${n.lJ}`,root:n.lJ,owner:(0,m.HW)()?.uid||null,permissions:n.aX.READ}),contents:e}})())})}})),(0,ye.d)(),(async()=>{Zs&&(Xs.register(new n.Ss({id:Ms,name:(0,r.Tl)("files","Folder tree"),caption:(0,r.Tl)("files","List of your files and folders."),icon:le,order:50,getContents:Ks})),await tt(),(0,U.B1)("files:node:created",at),(0,U.B1)("files:node:deleted",ot),(0,U.B1)("files:node:moved",lt),(0,U.B1)("files:config:updated",rt),(0,U.Ic)("files:folder-tree:initialized"))})()),(0,n.cZ)(new Fe),(0,n.cZ)(new ns),(0,n.cZ)(new gs),(0,n.cZ)(new ut),(0,n.cZ)(new ht),"serviceWorker"in navigator?window.addEventListener("load",async()=>{try{const e=(0,y.Jv)("/apps/files/preview-service-worker.js",{},{noRewrite:!0});let s=(0,y.aU)();""===s&&(s="/");const t=await navigator.serviceWorker.register(e,{scope:s});R.A.debug("SW registered: ",{registration:t})}catch(e){R.A.error("SW registration failed: ",{error:e})}}):R.A.debug("Service Worker is not enabled on this browser."),(0,n.Yc)("nc:hidden",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:is-mount-root",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:metadata-blurhash",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:metadata-files-live-photo",{nc:"http://nextcloud.org/ns"})},16954:(e,s,t)=>{t.d(s,{hE:()=>u});var n=t(77815),i=t(36117),a=t(43627),o=t(56908),l=t(21976),r=t(4114),m=t(89761),d=t(82736),g=t(9558);const c=e=>(0,n.pO)(e);function u(e="/"){const s=new AbortController,t=(0,d.j)((0,r.u)());return t.query.length>=3?new i.CancelablePromise((i,d,g)=>{g(()=>s.abort()),async function(e,s,t){let i=(0,m._)((0,r.u)()).getDirectoryByPath("files",e);if(!i){const s=(0,a.join)(n.VA,e),t=await o.S.stat(s,{details:!0});i=c(t.data)}return{folder:i,contents:await(0,l.E)(s,{dir:e,signal:t})}}(e,t.query,s.signal).then(i).catch(d)}):function(e){e=(0,a.join)(n.VA,e);const s=new AbortController,t=(0,n.aN)();return new i.CancelablePromise(async(n,i,a)=>{a(()=>s.abort());try{const i=await o.S.getDirectoryContents(e,{details:!0,data:t,includeSelf:!0,signal:s.signal}),a=i.data[0],l=i.data.slice(1);if(a.filename!==e&&`${a.filename}/`!==e)throw g.A.debug(`Exepected "${e}" but got filename "${a.filename}" instead.`),new Error("Root node does not match requested path");n({folder:c(a),contents:l.map(e=>{try{return c(e)}catch(s){return g.A.error(`Invalid node detected '${e.basename}'`,{error:s}),null}}).filter(Boolean)})}catch(e){i(e)}})}(e)}},21976:(e,s,t)=>{t.d(s,{E:()=>r});var n=t(21777),i=t(77815),a=t(63814),o=t(56908),l=t(9558);async function r(e,{dir:s,signal:t}){const r=(0,n.HW)();if(!r)return[];if((e=e.trim()).length<3)return[];s&&!s.startsWith("/")&&(s=`/${s}`),l.A.debug("Searching for nodes",{query:e,dir:s});const{data:m}=await o.S.search("/",{details:!0,signal:t,data:`\n\n\t \n\t\t \n\t\t\t \n\t\t\t ${(0,i.VX)()}\n\t\t\t \n\t\t \n\t\t \n\t\t\t \n\t\t\t\t /files/${r.uid}${s||""}\n\t\t\t\t infinity\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 %${e.replace("%","")}%\n\t\t\t \n\t\t \n\t\t \n\t\n`});return t?.aborted?[]:m.results.map(e=>(0,i.pO)(e,i.VA,(0,a.$_)()))}},25682:(e,s,t)=>{t.d(s,{g:()=>g,w:()=>d});var n=t(61338),i=t(35810),a=t(53334),o=t(16954),l=t(49542),r=t(4735),m=t(43690);const d="files";function g(){let e="";const s=(0,i.bh)();s.register(new i.Ss({id:d,name:(0,a.t)("files","All files"),caption:(0,a.t)("files","List of your files and folders."),icon:m,order:(0,r.P)()===d?0:5,getContents:o.hE})),(0,n.B1)("files:search:updated",({scope:t,query:i})=>{if("globally"===t)return;if(s.active?.id!==d)return;if(e.length<3&&i.length<3)return;const a=(0,l.F)();a.activeFolder&&(e=i,(0,n.Ic)("files:node:updated",a.activeFolder))})}},30610:(e,s,t)=>{t.d(s,{A:()=>l});var n=t(71354),i=t.n(n),a=t(76314),o=t.n(a)()(i());o.push([e.id,"\n.files-list-filter__clear-button[data-v-21c6ff6c] .action-button__text {\n\tcolor: var(--color-text-error, var(--color-error-text));\n}\n[data-v-21c6ff6c] .button-vue {\n\tfont-weight: normal !important;\n*[data-v-21c6ff6c] {\n\t\tfont-weight: normal !important;\n}\n}\n","",{version:3,sources:["webpack://./apps/files/src/components/FileListFilter/FileListFilter.vue"],names:[],mappings:";AAyCA;CACA,uDAAA;AACA;AAEA;CACA,8BAAA;AAEA;EACA,8BAAA;AACA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{{ t('files', 'Clear filter') }}\n\t\t\t\n\t\t\n\t\n\n\n