diff --git a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs similarity index 58% rename from dist/ActivityCommentAction-B7OKFkM4.chunk.mjs rename to dist/ActivityCommentAction-ClMlRMld.chunk.mjs index 28bdae9c96fd1..45288770ab643 100644 --- a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs +++ b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs @@ -1,2 +1,2 @@ -import{a as t}from"./index--e26xJaU.chunk.mjs";import{t as e}from"./fileSize-G68jp3EG.chunk.mjs";import{C as m,a}from"./CommentView-DnzWMLuu.chunk.mjs";import{l as p}from"./activity-D3DGugVa.chunk.mjs";import{b as i,r as s,o as n,c,m as u}from"./preload-helper-CseRDAJ7.chunk.mjs";import{_ as l}from"./public-Cpb8_kIm.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";import"./ArrowRight-gS7jb_sQ.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";/* empty css */import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./GetComments-BMsBPleK.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const d=i({components:{Comment:a},mixins:[m],props:{reloadCallback:{type:Function,required:!0}},methods:{onNewComment(){try{this.reloadCallback()}catch(o){t(e("comments","Could not reload comments")),p.error("Could not reload comments",{error:o})}}}});function C(o,f,y,w,D,N){const r=s("Comment");return n(),c(r,u(o.editorData,{autoComplete:o.autoComplete,resourceType:o.resourceType,editor:!0,userData:o.userData,resourceId:o.resourceId,class:"comments-action",onNew:o.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"])}const R=l(d,[["render",C],["__scopeId","data-v-29a1e244"]]);export{R as default}; -//# sourceMappingURL=ActivityCommentAction-B7OKFkM4.chunk.mjs.map +import{a as t}from"./index-CIl948Sr.chunk.mjs";import{t as e}from"./fileSize-G68jp3EG.chunk.mjs";import{C as m,a}from"./CommentView-C1OxkMFD.chunk.mjs";import{l as p}from"./activity-D3DGugVa.chunk.mjs";import{b as i,r as s,o as n,c,m as u}from"./preload-helper-CseRDAJ7.chunk.mjs";import{_ as l}from"./public-Cpb8_kIm.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";import"./ArrowRight-Df3E_Asm.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";/* empty css */import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./GetComments-BMsBPleK.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const d=i({components:{Comment:a},mixins:[m],props:{reloadCallback:{type:Function,required:!0}},methods:{onNewComment(){try{this.reloadCallback()}catch(o){t(e("comments","Could not reload comments")),p.error("Could not reload comments",{error:o})}}}});function C(o,f,y,w,D,N){const r=s("Comment");return n(),c(r,u(o.editorData,{autoComplete:o.autoComplete,resourceType:o.resourceType,editor:!0,userData:o.userData,resourceId:o.resourceId,class:"comments-action",onNew:o.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"])}const R=l(d,[["render",C],["__scopeId","data-v-29a1e244"]]);export{R as default}; +//# sourceMappingURL=ActivityCommentAction-ClMlRMld.chunk.mjs.map diff --git a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.license b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs.license similarity index 100% rename from dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.license rename to dist/ActivityCommentAction-ClMlRMld.chunk.mjs.license diff --git a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.map b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs.map similarity index 96% rename from dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.map rename to dist/ActivityCommentAction-ClMlRMld.chunk.mjs.map index 10098ee9ef2ad..e9b07500222d1 100644 --- a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.map +++ b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ActivityCommentAction-B7OKFkM4.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentAction.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Comment","CommentView","error","showError","t","logger","_createBlock","_component_Comment","_mergeProps","_ctx"],"mappings":"gnCAyBA,MAAAA,EAAeC,EAAgB,CAC9B,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,QAAS,CACR,cAAe,CACd,GAAI,CAEH,KAAK,eAAA,CACN,OAASC,EAAO,CACfC,EAAUC,EAAE,WAAY,2BAA2B,CAAC,EACpDC,EAAO,MAAM,4BAA6B,CAAE,MAAAH,CAAA,CAAO,CACpD,CACD,CAAA,CAEF,CAAC,0DA3CAI,EAQuBC,EARvBC,EAQuBC,EAPd,WAAU,CACjB,aAAcA,EAAA,aACd,aAAcA,EAAA,aACd,OAAQ,GACR,SAAUA,EAAA,SACV,WAAYA,EAAA,WACb,MAAM,kBACL,MAAKA,EAAA,YAAA,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,WAAA,aAAA,OAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"ActivityCommentAction-ClMlRMld.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentAction.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Comment","CommentView","error","showError","t","logger","_createBlock","_component_Comment","_mergeProps","_ctx"],"mappings":"gnCAyBA,MAAAA,EAAeC,EAAgB,CAC9B,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,QAAS,CACR,cAAe,CACd,GAAI,CAEH,KAAK,eAAA,CACN,OAASC,EAAO,CACfC,EAAUC,EAAE,WAAY,2BAA2B,CAAC,EACpDC,EAAO,MAAM,4BAA6B,CAAE,MAAAH,CAAA,CAAO,CACpD,CACD,CAAA,CAEF,CAAC,0DA3CAI,EAQuBC,EARvBC,EAQuBC,EAPd,WAAU,CACjB,aAAcA,EAAA,aACd,aAAcA,EAAA,aACd,OAAQ,GACR,SAAUA,EAAA,SACV,WAAYA,EAAA,WACb,MAAM,kBACL,MAAKA,EAAA,YAAA,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,WAAA,aAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.map.license b/dist/ActivityCommentAction-ClMlRMld.chunk.mjs.map.license similarity index 100% rename from dist/ActivityCommentAction-B7OKFkM4.chunk.mjs.map.license rename to dist/ActivityCommentAction-ClMlRMld.chunk.mjs.map.license diff --git a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs similarity index 64% rename from dist/ActivityCommentEntry-DmQabqxH.chunk.mjs rename to dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs index ff51d4e6cec08..1dd5601ae6c48 100644 --- a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs +++ b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs @@ -1,2 +1,2 @@ -import{t as s}from"./fileSize-G68jp3EG.chunk.mjs";import{C as p,a}from"./CommentView-DnzWMLuu.chunk.mjs";import{_ as i}from"./public-Cpb8_kIm.chunk.mjs";import{r as n,o as c,c as u,m as l}from"./preload-helper-CseRDAJ7.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";import"./ArrowRight-gS7jb_sQ.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";/* empty css */import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./index--e26xJaU.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./activity-D3DGugVa.chunk.mjs";import"./GetComments-BMsBPleK.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const d={name:"ActivityCommentEntry",components:{Comment:a},mixins:[p],props:{comment:{type:Object,required:!0},reloadCallback:{type:Function,required:!0}},data(){return{commentMessage:""}},watch:{comment(){this.commentMessage=this.comment.props.message}},mounted(){this.commentMessage=this.comment.props.message},methods:{t:s}};function g(t,o,e,f,m,C){const r=n("Comment");return c(),u(r,l({ref:"comment",tag:"li"},e.comment.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,message:m.commentMessage,resourceId:t.resourceId,userData:t.genMentionsData(e.comment.props.mentions),class:"comments-activity",onDelete:o[0]||(o[0]=y=>e.reloadCallback())}),null,16,["autoComplete","resourceType","message","resourceId","userData"])}const P=i(d,[["render",g],["__scopeId","data-v-afc310f1"]]);export{P as default}; -//# sourceMappingURL=ActivityCommentEntry-DmQabqxH.chunk.mjs.map +import{t as s}from"./fileSize-G68jp3EG.chunk.mjs";import{C as p,a}from"./CommentView-C1OxkMFD.chunk.mjs";import{_ as i}from"./public-Cpb8_kIm.chunk.mjs";import{r as n,o as c,c as u,m as l}from"./preload-helper-CseRDAJ7.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";import"./ArrowRight-Df3E_Asm.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";/* empty css */import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./index-CIl948Sr.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./activity-D3DGugVa.chunk.mjs";import"./GetComments-BMsBPleK.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const d={name:"ActivityCommentEntry",components:{Comment:a},mixins:[p],props:{comment:{type:Object,required:!0},reloadCallback:{type:Function,required:!0}},data(){return{commentMessage:""}},watch:{comment(){this.commentMessage=this.comment.props.message}},mounted(){this.commentMessage=this.comment.props.message},methods:{t:s}};function g(t,o,e,f,m,C){const r=n("Comment");return c(),u(r,l({ref:"comment",tag:"li"},e.comment.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,message:m.commentMessage,resourceId:t.resourceId,userData:t.genMentionsData(e.comment.props.mentions),class:"comments-activity",onDelete:o[0]||(o[0]=y=>e.reloadCallback())}),null,16,["autoComplete","resourceType","message","resourceId","userData"])}const P=i(d,[["render",g],["__scopeId","data-v-afc310f1"]]);export{P as default}; +//# sourceMappingURL=ActivityCommentEntry-nj2yyFcA.chunk.mjs.map diff --git a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.license b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.license similarity index 100% rename from dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.license rename to dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.license diff --git a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.map b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.map similarity index 97% rename from dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.map rename to dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.map index 9ed389b5eba39..263dc18fea042 100644 --- a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.map +++ b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ActivityCommentEntry-DmQabqxH.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentEntry.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","Comment","CommentView","t","_openBlock","_createBlock","_component_Comment","_mergeProps","$props","_ctx","$data","_cache"],"mappings":"slCA0BA,MAAAA,EAAe,CACd,KAAM,uBAEN,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,QAAS,CACR,KAAM,OACN,SAAU,EAAA,EAGX,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,MAAO,CACN,MAAO,CACN,eAAgB,EAAA,CAElB,EAEA,MAAO,CACN,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,CAAA,EAGD,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,EAEA,QAAS,CAAA,EACRC,CAAA,CAEF,+CA3DC,OAAAC,EAAA,EAAAC,EAU8BC,EAV9BC,EAU8B,CAT7B,IAAI,UACJ,IAAI,IAAA,EACIC,UAAQ,MAAK,CACpB,aAAcC,EAAA,aACd,aAAcA,EAAA,aACd,QAASC,EAAA,eACT,WAAYD,EAAA,WACZ,SAAUA,EAAA,gBAAgBD,EAAA,QAAQ,MAAM,QAAQ,EACjD,MAAM,oBACL,SAAMG,eAAEH,EAAA,eAAA,EAAc,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,UAAA,aAAA,UAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"ActivityCommentEntry-nj2yyFcA.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentEntry.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","Comment","CommentView","t","_openBlock","_createBlock","_component_Comment","_mergeProps","$props","_ctx","$data","_cache"],"mappings":"slCA0BA,MAAAA,EAAe,CACd,KAAM,uBAEN,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,QAAS,CACR,KAAM,OACN,SAAU,EAAA,EAGX,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,MAAO,CACN,MAAO,CACN,eAAgB,EAAA,CAElB,EAEA,MAAO,CACN,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,CAAA,EAGD,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,EAEA,QAAS,CAAA,EACRC,CAAA,CAEF,+CA3DC,OAAAC,EAAA,EAAAC,EAU8BC,EAV9BC,EAU8B,CAT7B,IAAI,UACJ,IAAI,IAAA,EACIC,UAAQ,MAAK,CACpB,aAAcC,EAAA,aACd,aAAcA,EAAA,aACd,QAASC,EAAA,eACT,WAAYD,EAAA,WACZ,SAAUA,EAAA,gBAAgBD,EAAA,QAAQ,MAAM,QAAQ,EACjD,MAAM,oBACL,SAAMG,eAAEH,EAAA,eAAA,EAAc,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,UAAA,aAAA,UAAA,CAAA"} \ No newline at end of file diff --git a/dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.map.license b/dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.map.license similarity index 100% rename from dist/ActivityCommentEntry-DmQabqxH.chunk.mjs.map.license rename to dist/ActivityCommentEntry-nj2yyFcA.chunk.mjs.map.license diff --git a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs similarity index 80% rename from dist/AppstoreBrowse-BIs8H13U.chunk.mjs rename to dist/AppstoreBrowse-CKlX_LPz.chunk.mjs index 6e16d1a1e8b23..56e698667cc00 100644 --- a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs +++ b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs @@ -1,2 +1,2 @@ -import{t as e}from"./fileSize-G68jp3EG.chunk.mjs";import{N as $,u as U}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{N}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{N as L}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{u as V,a as z,b as D}from"./UpdateAllDialog-CKJ1aIOz.chunk.mjs";import{q as E}from"./index--e26xJaU.chunk.mjs";import{_ as A,l as G}from"./public-Cpb8_kIm.chunk.mjs";import{N as R}from"./NcNoteCard-RF8V1iI7.chunk.mjs";import{b as j,q as T,O as H,o,f as S,n as f,g as d,u as t,j as B,t as n,h as F,k as I,I as M,F as x,B as P,w as b,x as J,l as k,p as q,z as K,c as v,C as Q}from"./preload-helper-CseRDAJ7.chunk.mjs";import{N as W}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{u as C,c as X,n as Y,a as Z,b as ee,d as te}from"./appstore-main.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";import"./NcUploadPicker-BJMAFsMJ.chunk.mjs";import"./NcContent-DoB90luu.chunk.mjs";import"./index-B7TgNgsG.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./TrayArrowDown-CLFpJyV3.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./NcBreadcrumbs-D4M-QnlN.chunk.mjs";import"./NcPasswordField-BX7X04-n.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./Plus-Bl5-jpoS.chunk.mjs";import"./index-DsOMad5k.chunk.mjs";import"./zh-TW-BJ8VSONq.chunk.mjs";import"./NcEmojiPicker-UppgRqTk.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-SGcz6ixT.chunk.mjs";/* empty css */import"./NcProfileHoverCard-CFyzDpam.chunk.mjs";import"./index-BsUuWzEt.chunk.mjs";import"./index-Lwk3gi9p.chunk.mjs";import"./NcSelectTags-C6-ZzHjd.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CkjJ6CBQ.chunk.mjs";const ie=["id"],ae={key:0},se=["aria-label"],oe=j({__name:"OfficeSuiteSwitcherItem",props:J({suite:{},loading:{type:Boolean}},{selected:{},selectedModifiers:{}}),emits:["update:selected"],setup(c){const r=T(c,"selected"),m=H(),_=C(),s=k(()=>_.getAppById(c.suite.appId)),y=k(()=>!!s.value?.installed),w=k(()=>!s.value||!y.value&&!X(s.value));return(a,l)=>(o(),S("div",{class:f([a.$style.officeSuiteSwitcherItem,{[a.$style.officeSuiteSwitcherItem_selected]:r.value===c.suite.id}]),onClick:l[3]||(l[3]=i=>r.value=c.suite.id)},[d("div",{class:f(a.$style.officeSuiteSwitcherItem__header)},[d("h3",{id:t(m),class:f(a.$style.officeSuiteSwitcherItem__title)},[B(n(c.suite.name)+" ",1),y.value?(o(),S("span",ae,"("+n(t(e)("appstore","installed"))+")",1)):F("",!0)],10,ie),I(t(W),{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=i=>r.value=i),"aria-labelledby":t(m),disabled:w.value,loading:c.loading,type:"radio",name:"office-suite",value:c.suite.id,onClick:l[1]||(l[1]=M(()=>{},["stop"]))},null,8,["modelValue","aria-labelledby","disabled","loading","value"])],2),d("ul",{"aria-label":t(e)("appstore","Features"),class:f(a.$style.officeSuiteSwitcherItem__features)},[(o(!0),S(x,null,P(c.suite.features,(i,p)=>(o(),S("li",{key:p},n(i),1))),128))],10,se),I(t($),{href:c.suite.learnMoreUrl,onClick:l[2]||(l[2]=M(()=>{},["stop"]))},{default:b(()=>[B(n(t(e)("appstore","Learn more"))+"↗ ",1)]),_:1},8,["href"])],2))}}),re="_officeSuiteSwitcherItem_1x2g7_2",le="_officeSuiteSwitcherItem_selected_1x2g7_23",pe="_officeSuiteSwitcherItem__header_1x2g7_29",ce="_officeSuiteSwitcherItem__title_1x2g7_36",ue="_officeSuiteSwitcherItem__features_1x2g7_42",fe="_officeSuiteSwitcherItem__link_1x2g7_55",ne={officeSuiteSwitcherItem:re,officeSuiteSwitcherItem_selected:le,officeSuiteSwitcherItem__header:pe,officeSuiteSwitcherItem__title:ce,officeSuiteSwitcherItem__features:ue,officeSuiteSwitcherItem__link:fe},me={$style:ne},de=A(oe,[["__cssModules",me]]),g=Object.freeze([{id:"nextcloud-office",appId:"eurooffice",name:"Nextcloud Office",features:[e("settings","Powered by Euro-Office"),e("settings","Good Nextcloud integration"),e("settings","Open source"),e("settings","Best performance"),e("settings","Limited ODF compatibility"),e("settings","Best Microsoft compatibility")],learnMoreUrl:"https://github.com/Euro-Office",isPrimary:!0},{id:"collabora-office",appId:"richdocuments",name:"Collabora Office",features:[e("settings","Best Nextcloud integration"),e("settings","Open source"),e("settings","Good performance"),e("settings","Best security: documents never leave your server"),e("settings","Best ODF compatibility"),e("settings","Best support for legacy files")],learnMoreUrl:"https://nextcloud.com/collaboraonline/",isPrimary:!1}]),_e=j({__name:"OfficeSuiteSwitcher",setup(c){const r=C(),m=G("appstore","isAllInOne",!1),_=q(!1),s=q(y());K(s,l);function y(){for(const i of g){const p=r.apps.find(u=>u.id===i.appId&&u.installed);if(p&&p.active)return i.id}return g.find(i=>i.isPrimary)?.id??null}function w(){s.value=null}async function a(i){const p=r.getAppById(i.appId);p&&Z(p)&&await r.disableApp(i.appId)}async function l(i,p){if(!(_.value||i===p))try{_.value=!0;const u=g.find(h=>h.id===i);if(!u){for(const h of g)await a(h);return}const O=r.getAppById(u.appId);if(Y(O))if(await E({name:e("appstore","Force enable {suite}?",{suite:u.name}),text:e("appstore","Enabling {suite} requires force enabling the app. This may cause issues with your Nextcloud instance. Are you sure you want to proceed?",{suite:u.name}),labelConfirm:e("appstore","Force enable"),labelReject:e("appstore","Cancel"),severity:"warning"}))await r.enableApp(u.appId,!0);else{s.value=p;return}for(const h of g)h.id===i?await r.enableApp(h.appId):await a(h)}finally{_.value=!1}}return(i,p)=>t(m)?(o(),v(t(R),{key:0,type:"info"},{default:b(()=>[d("p",null,n(t(e)("appstore","Office suite switching is managed through the Nextcloud All-in-One interface.")),1),d("p",null,n(t(e)("appstore","Please use the AIO interface to switch between office suites.")),1)]),_:1})):(o(),S("section",{key:1,class:f(i.$style.officeSuiteSwitcher)},[d("h3",{class:f(i.$style.officeSuiteSwitcher__title)},n(t(e)("appstore","Select your preferred office suite.")),3),d("p",null,n(t(e)("appstore","Please note that installing requires manual server setup.")),1),d("fieldset",{class:f(i.$style.officeSuiteSwitcher__cards)},[(o(!0),S(x,null,P(t(g),u=>(o(),v(de,{key:u.id,selected:s.value,"onUpdate:selected":p[0]||(p[0]=O=>s.value=O),class:f(i.$style.officeSuiteSwitcher__cardsItem),suite:u,loading:_.value},null,8,["selected","class","suite","loading"]))),128))],2),d("div",{class:f(i.$style.officeSuiteSwitcher__actions)},[I(t($),{disabled:!s.value,onClick:w},{default:b(()=>[B(n(t(e)("appstore","Disable office suites")),1)]),_:1},8,["disabled"])],2)],2))}}),Se="_officeSuiteSwitcher_1ajfj_2",he="_officeSuiteSwitcher__cards_1ajfj_19",ye="_officeSuiteSwitcher__cardsItem_1ajfj_25",we="_officeSuiteSwitcher__actions_1ajfj_29",ge="_officeSuiteSwitcher__disableButton_1ajfj_33",ve={officeSuiteSwitcher:Se,officeSuiteSwitcher__cards:he,officeSuiteSwitcher__cardsItem:ye,officeSuiteSwitcher__actions:we,officeSuiteSwitcher__disableButton:ge},Ie={$style:ve},be=A(_e,[["__cssModules",Ie]]),ke=j({__name:"AppstoreBrowse",setup(c){const r=U(),m=C(),_=ee(),s=k(()=>r.params.category),y=k(()=>s.value==="featured"?m.apps.filter(a=>a.level===200):s.value==="supported"?m.apps.filter(a=>a.level===300):m.getAppsByCategory(s.value)),w=V(y);return(a,l)=>(o(),S(x,null,[I(z),t(m).isLoadingApps?(o(),v(t(N),{key:0,name:t(e)("appstore","Loading app list")},{icon:b(()=>[I(t(L),{size:64})]),_:1},8,["name"])):(o(),S(x,{key:1},[s.value==="office"?(o(),v(be,{key:0})):F("",!0),t(w).length?(o(),v(Q(t(_).isGridView?D:te),{key:1,class:f(a.$style.appstoreBrowse),apps:t(w)},null,8,["class","apps"])):(o(),v(t(N),{key:2,name:t(e)("appstore","No matching apps found")},{action:b(()=>[I(t($),{variant:"primary",onClick:l[0]||(l[0]=i=>a.$router.push({query:a.$route.query,name:"apps-search"}))},{default:b(()=>[B(n(t(e)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))],64))}}),Be="_appstoreBrowse_1w3np_2",xe={appstoreBrowse:Be},Oe={$style:xe},kt=A(ke,[["__cssModules",Oe]]);export{kt as default}; -//# sourceMappingURL=AppstoreBrowse-BIs8H13U.chunk.mjs.map +import{t as e}from"./fileSize-G68jp3EG.chunk.mjs";import{N as $,u as U}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{N}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{N as L}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{u as V,a as z,b as D}from"./UpdateAllDialog-Dygx2ybe.chunk.mjs";import{q as E}from"./index-CIl948Sr.chunk.mjs";import{_ as A,l as G}from"./public-Cpb8_kIm.chunk.mjs";import{N as R}from"./NcNoteCard-BclmmzV9.chunk.mjs";import{b as j,q as T,O as H,o,f as S,n as f,g as d,u as t,j as B,t as n,h as F,k as I,I as M,F as x,B as P,w as b,x as J,l as k,p as q,z as K,c as v,C as Q}from"./preload-helper-CseRDAJ7.chunk.mjs";import{N as W}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{u as C,c as X,n as Y,a as Z,b as ee,d as te}from"./appstore-main.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";import"./NcUploadPicker-cchZ72tr.chunk.mjs";import"./NcContent-DAs3Oz9q.chunk.mjs";import"./index-Dz7vUkRa.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./TrayArrowDown-CE5R5Ey_.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./NcBreadcrumbs-Bkz4spNb.chunk.mjs";import"./NcPasswordField-j1sClNYM.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./Plus-qUaYhFss.chunk.mjs";import"./index-DNNJyabc.chunk.mjs";import"./zh-TW-7zF1slI5.chunk.mjs";import"./NcEmojiPicker-DMSYl3Iz.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-D0KNDwXS.chunk.mjs";/* empty css */import"./NcProfileHoverCard-BJs4RYKo.chunk.mjs";import"./index-DYjiTP4W.chunk.mjs";import"./index--GjTq3oQ.chunk.mjs";import"./NcSelectTags-D301iF-P.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-BhGyc-Fl.chunk.mjs";const ie=["id"],ae={key:0},se=["aria-label"],oe=j({__name:"OfficeSuiteSwitcherItem",props:J({suite:{},loading:{type:Boolean}},{selected:{},selectedModifiers:{}}),emits:["update:selected"],setup(c){const r=T(c,"selected"),m=H(),_=C(),s=k(()=>_.getAppById(c.suite.appId)),y=k(()=>!!s.value?.installed),w=k(()=>!s.value||!y.value&&!X(s.value));return(a,l)=>(o(),S("div",{class:f([a.$style.officeSuiteSwitcherItem,{[a.$style.officeSuiteSwitcherItem_selected]:r.value===c.suite.id}]),onClick:l[3]||(l[3]=i=>r.value=c.suite.id)},[d("div",{class:f(a.$style.officeSuiteSwitcherItem__header)},[d("h3",{id:t(m),class:f(a.$style.officeSuiteSwitcherItem__title)},[B(n(c.suite.name)+" ",1),y.value?(o(),S("span",ae,"("+n(t(e)("appstore","installed"))+")",1)):F("",!0)],10,ie),I(t(W),{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=i=>r.value=i),"aria-labelledby":t(m),disabled:w.value,loading:c.loading,type:"radio",name:"office-suite",value:c.suite.id,onClick:l[1]||(l[1]=M(()=>{},["stop"]))},null,8,["modelValue","aria-labelledby","disabled","loading","value"])],2),d("ul",{"aria-label":t(e)("appstore","Features"),class:f(a.$style.officeSuiteSwitcherItem__features)},[(o(!0),S(x,null,P(c.suite.features,(i,p)=>(o(),S("li",{key:p},n(i),1))),128))],10,se),I(t($),{href:c.suite.learnMoreUrl,onClick:l[2]||(l[2]=M(()=>{},["stop"]))},{default:b(()=>[B(n(t(e)("appstore","Learn more"))+"↗ ",1)]),_:1},8,["href"])],2))}}),re="_officeSuiteSwitcherItem_1x2g7_2",le="_officeSuiteSwitcherItem_selected_1x2g7_23",pe="_officeSuiteSwitcherItem__header_1x2g7_29",ce="_officeSuiteSwitcherItem__title_1x2g7_36",ue="_officeSuiteSwitcherItem__features_1x2g7_42",fe="_officeSuiteSwitcherItem__link_1x2g7_55",ne={officeSuiteSwitcherItem:re,officeSuiteSwitcherItem_selected:le,officeSuiteSwitcherItem__header:pe,officeSuiteSwitcherItem__title:ce,officeSuiteSwitcherItem__features:ue,officeSuiteSwitcherItem__link:fe},me={$style:ne},de=A(oe,[["__cssModules",me]]),g=Object.freeze([{id:"nextcloud-office",appId:"eurooffice",name:"Nextcloud Office",features:[e("settings","Powered by Euro-Office"),e("settings","Good Nextcloud integration"),e("settings","Open source"),e("settings","Best performance"),e("settings","Limited ODF compatibility"),e("settings","Best Microsoft compatibility")],learnMoreUrl:"https://github.com/Euro-Office",isPrimary:!0},{id:"collabora-office",appId:"richdocuments",name:"Collabora Office",features:[e("settings","Best Nextcloud integration"),e("settings","Open source"),e("settings","Good performance"),e("settings","Best security: documents never leave your server"),e("settings","Best ODF compatibility"),e("settings","Best support for legacy files")],learnMoreUrl:"https://nextcloud.com/collaboraonline/",isPrimary:!1}]),_e=j({__name:"OfficeSuiteSwitcher",setup(c){const r=C(),m=G("appstore","isAllInOne",!1),_=q(!1),s=q(y());K(s,l);function y(){for(const i of g){const p=r.apps.find(u=>u.id===i.appId&&u.installed);if(p&&p.active)return i.id}return g.find(i=>i.isPrimary)?.id??null}function w(){s.value=null}async function a(i){const p=r.getAppById(i.appId);p&&Z(p)&&await r.disableApp(i.appId)}async function l(i,p){if(!(_.value||i===p))try{_.value=!0;const u=g.find(h=>h.id===i);if(!u){for(const h of g)await a(h);return}const O=r.getAppById(u.appId);if(Y(O))if(await E({name:e("appstore","Force enable {suite}?",{suite:u.name}),text:e("appstore","Enabling {suite} requires force enabling the app. This may cause issues with your Nextcloud instance. Are you sure you want to proceed?",{suite:u.name}),labelConfirm:e("appstore","Force enable"),labelReject:e("appstore","Cancel"),severity:"warning"}))await r.enableApp(u.appId,!0);else{s.value=p;return}for(const h of g)h.id===i?await r.enableApp(h.appId):await a(h)}finally{_.value=!1}}return(i,p)=>t(m)?(o(),v(t(R),{key:0,type:"info"},{default:b(()=>[d("p",null,n(t(e)("appstore","Office suite switching is managed through the Nextcloud All-in-One interface.")),1),d("p",null,n(t(e)("appstore","Please use the AIO interface to switch between office suites.")),1)]),_:1})):(o(),S("section",{key:1,class:f(i.$style.officeSuiteSwitcher)},[d("h3",{class:f(i.$style.officeSuiteSwitcher__title)},n(t(e)("appstore","Select your preferred office suite.")),3),d("p",null,n(t(e)("appstore","Please note that installing requires manual server setup.")),1),d("fieldset",{class:f(i.$style.officeSuiteSwitcher__cards)},[(o(!0),S(x,null,P(t(g),u=>(o(),v(de,{key:u.id,selected:s.value,"onUpdate:selected":p[0]||(p[0]=O=>s.value=O),class:f(i.$style.officeSuiteSwitcher__cardsItem),suite:u,loading:_.value},null,8,["selected","class","suite","loading"]))),128))],2),d("div",{class:f(i.$style.officeSuiteSwitcher__actions)},[I(t($),{disabled:!s.value,onClick:w},{default:b(()=>[B(n(t(e)("appstore","Disable office suites")),1)]),_:1},8,["disabled"])],2)],2))}}),Se="_officeSuiteSwitcher_1ajfj_2",he="_officeSuiteSwitcher__cards_1ajfj_19",ye="_officeSuiteSwitcher__cardsItem_1ajfj_25",we="_officeSuiteSwitcher__actions_1ajfj_29",ge="_officeSuiteSwitcher__disableButton_1ajfj_33",ve={officeSuiteSwitcher:Se,officeSuiteSwitcher__cards:he,officeSuiteSwitcher__cardsItem:ye,officeSuiteSwitcher__actions:we,officeSuiteSwitcher__disableButton:ge},Ie={$style:ve},be=A(_e,[["__cssModules",Ie]]),ke=j({__name:"AppstoreBrowse",setup(c){const r=U(),m=C(),_=ee(),s=k(()=>r.params.category),y=k(()=>s.value==="featured"?m.apps.filter(a=>a.level===200):s.value==="supported"?m.apps.filter(a=>a.level===300):m.getAppsByCategory(s.value)),w=V(y);return(a,l)=>(o(),S(x,null,[I(z),t(m).isLoadingApps?(o(),v(t(N),{key:0,name:t(e)("appstore","Loading app list")},{icon:b(()=>[I(t(L),{size:64})]),_:1},8,["name"])):(o(),S(x,{key:1},[s.value==="office"?(o(),v(be,{key:0})):F("",!0),t(w).length?(o(),v(Q(t(_).isGridView?D:te),{key:1,class:f(a.$style.appstoreBrowse),apps:t(w)},null,8,["class","apps"])):(o(),v(t(N),{key:2,name:t(e)("appstore","No matching apps found")},{action:b(()=>[I(t($),{variant:"primary",onClick:l[0]||(l[0]=i=>a.$router.push({query:a.$route.query,name:"apps-search"}))},{default:b(()=>[B(n(t(e)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))],64))}}),Be="_appstoreBrowse_1w3np_2",xe={appstoreBrowse:Be},Oe={$style:xe},kt=A(ke,[["__cssModules",Oe]]);export{kt as default}; +//# sourceMappingURL=AppstoreBrowse-CKlX_LPz.chunk.mjs.map diff --git a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs.license b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.license similarity index 100% rename from dist/AppstoreBrowse-BIs8H13U.chunk.mjs.license rename to dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.license diff --git a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs.map b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.map similarity index 99% rename from dist/AppstoreBrowse-BIs8H13U.chunk.mjs.map rename to dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.map index 041e8e993c85b..ab4a8ca08f2cb 100644 --- a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs.map +++ b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"AppstoreBrowse-BIs8H13U.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcherItem.vue","../build/frontend/apps/appstore/src/service/OfficeSuites.ts","../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcher.vue","../build/frontend/apps/appstore/src/views/AppstoreBrowse.vue"],"sourcesContent":["\n\n\n\n\n\n\n","/*\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\nexport const OFFICE_SUITES = Object.freeze([\n\t{\n\t\tid: 'nextcloud-office',\n\t\tappId: 'eurooffice',\n\t\tname: 'Nextcloud Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Powered by Euro-Office'),\n\t\t\tt('settings', 'Good Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Best performance'),\n\t\t\tt('settings', 'Limited ODF compatibility'),\n\t\t\tt('settings', 'Best Microsoft compatibility'),\n\t\t],\n\t\tlearnMoreUrl: 'https://github.com/Euro-Office',\n\t\tisPrimary: true,\n\t},\n\t{\n\t\tid: 'collabora-office',\n\t\tappId: 'richdocuments',\n\t\tname: 'Collabora Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Best Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Good performance'),\n\t\t\tt('settings', 'Best security: documents never leave your server'),\n\t\t\tt('settings', 'Best ODF compatibility'),\n\t\t\tt('settings', 'Best support for legacy files'),\n\t\t],\n\t\tlearnMoreUrl: 'https://nextcloud.com/collaboraonline/',\n\t\tisPrimary: false,\n\t},\n])\n\n/**\n * Get office suite configuration by ID\n *\n * @param id - The suite ID\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteById(id: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.id === id)\n}\n\n/**\n * Get office suite configuration by app ID\n *\n * @param appId - The app ID (richdocuments, onlyoffice, etc.)\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteByAppId(appId: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.appId === appId)\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["selectedSuiteId","_useModel","__props","headerId","useId","store","useAppsStore","app","computed","isInstalled","cannotInstall","canInstall","_createElementBlock","_normalizeClass","$style","_cache","$event","_createElementVNode","_unref","_openBlock","_hoisted_2","_toDisplayString","t","_createVNode","NcCheckboxRadioSwitch","_Fragment","feature","index","NcButton","_createTextVNode","OFFICE_SUITES","isAllInOne","loadState","isProcessing","ref","getInitialSuite","watch","onSuiteChanged","suite","a","s","disableSuites","disableSuite","canDisable","newSuiteId","oldSuiteId","needForceEnable","showConfirmation","_createBlock","NcNoteCard","_renderList","OfficeSuiteSwitcherItem","route","useRoute","userSettings","useUserSettingsStore","currentCategory","apps","visibleApps","useFilteredApps","AppToolbar","NcEmptyContent","NcLoadingIcon","OfficeSuiteSwitcher","_resolveDynamicComponent","AppGrid","AppTable","$router","$route"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AppstoreBrowse-CKlX_LPz.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcherItem.vue","../build/frontend/apps/appstore/src/service/OfficeSuites.ts","../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcher.vue","../build/frontend/apps/appstore/src/views/AppstoreBrowse.vue"],"sourcesContent":["\n\n\n\n\n\n\n","/*\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\nexport const OFFICE_SUITES = Object.freeze([\n\t{\n\t\tid: 'nextcloud-office',\n\t\tappId: 'eurooffice',\n\t\tname: 'Nextcloud Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Powered by Euro-Office'),\n\t\t\tt('settings', 'Good Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Best performance'),\n\t\t\tt('settings', 'Limited ODF compatibility'),\n\t\t\tt('settings', 'Best Microsoft compatibility'),\n\t\t],\n\t\tlearnMoreUrl: 'https://github.com/Euro-Office',\n\t\tisPrimary: true,\n\t},\n\t{\n\t\tid: 'collabora-office',\n\t\tappId: 'richdocuments',\n\t\tname: 'Collabora Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Best Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Good performance'),\n\t\t\tt('settings', 'Best security: documents never leave your server'),\n\t\t\tt('settings', 'Best ODF compatibility'),\n\t\t\tt('settings', 'Best support for legacy files'),\n\t\t],\n\t\tlearnMoreUrl: 'https://nextcloud.com/collaboraonline/',\n\t\tisPrimary: false,\n\t},\n])\n\n/**\n * Get office suite configuration by ID\n *\n * @param id - The suite ID\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteById(id: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.id === id)\n}\n\n/**\n * Get office suite configuration by app ID\n *\n * @param appId - The app ID (richdocuments, onlyoffice, etc.)\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteByAppId(appId: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.appId === appId)\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["selectedSuiteId","_useModel","__props","headerId","useId","store","useAppsStore","app","computed","isInstalled","cannotInstall","canInstall","_createElementBlock","_normalizeClass","$style","_cache","$event","_createElementVNode","_unref","_openBlock","_hoisted_2","_toDisplayString","t","_createVNode","NcCheckboxRadioSwitch","_Fragment","feature","index","NcButton","_createTextVNode","OFFICE_SUITES","isAllInOne","loadState","isProcessing","ref","getInitialSuite","watch","onSuiteChanged","suite","a","s","disableSuites","disableSuite","canDisable","newSuiteId","oldSuiteId","needForceEnable","showConfirmation","_createBlock","NcNoteCard","_renderList","OfficeSuiteSwitcherItem","route","useRoute","userSettings","useUserSettingsStore","currentCategory","apps","visibleApps","useFilteredApps","AppToolbar","NcEmptyContent","NcLoadingIcon","OfficeSuiteSwitcher","_resolveDynamicComponent","AppGrid","AppTable","$router","$route"],"mappings":"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"} \ No newline at end of file diff --git a/dist/AppstoreBrowse-BIs8H13U.chunk.mjs.map.license b/dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.map.license similarity index 100% rename from dist/AppstoreBrowse-BIs8H13U.chunk.mjs.map.license rename to dist/AppstoreBrowse-CKlX_LPz.chunk.mjs.map.license diff --git a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs similarity index 65% rename from dist/AppstoreDiscover-DqwVU6KH.chunk.mjs rename to dist/AppstoreDiscover-C2J3BUaA.chunk.mjs index eff705caa3d3d..85de49ee70a63 100644 --- a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs +++ b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-VQp1g1-F.chunk.mjs'),window.OC.filePath('', '', 'dist/index--e26xJaU.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CseRDAJ7.chunk.mjs'),window.OC.filePath('', '', 'dist/index-C34MMVmr.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-71nQ0O0g.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-gS7jb_sQ.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-Dh4E-ofN.chunk.mjs'),window.OC.filePath('', '', 'dist/fileSize-G68jp3EG.chunk.mjs'),window.OC.filePath('', '', 'dist/public-Cpb8_kIm.chunk.mjs'),window.OC.filePath('', '', 'dist/formatRelative-CRa9J-kT.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-3plNpBrB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-Cclh_O_-.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Cfr8gsXf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-B7Bbzm8f.chunk.css'),window.OC.filePath('', '', 'dist/NcNoteCard-RF8V1iI7.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcNoteCard-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-BQvrkX0t.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-DoB90luu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-Cb2hocgW.chunk.css'),window.OC.filePath('', '', 'dist/NcActionButton-e8yDlmyF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcActionButton-BQBDvDX2.chunk.css'),window.OC.filePath('', '', 'dist/NcUploadPicker-BJMAFsMJ.chunk.mjs'),window.OC.filePath('', '', 'dist/index-B7TgNgsG.chunk.mjs'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-B-Jofi4I.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-B5YBBomo.chunk.css'),window.OC.filePath('', '', 'dist/common-index-CRfKBhKV.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-CLFpJyV3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-HI1jFdhm.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-DwcDrXRM.chunk.mjs'),window.OC.filePath('', '', 'dist/autolink-e8hCDu5_.chunk.mjs'),window.OC.filePath('', '', 'dist/common-autolink-B8CEsDGb.chunk.css'),window.OC.filePath('', '', 'dist/colors-Bnsgqd1Q.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-bqRVJR4A.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-nu2hAc7o.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-C_ZSEW-_.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-DdkCG_JC.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-D4M-QnlN.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BX7X04-n.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-CQNCEdEQ.chunk.css'),window.OC.filePath('', '', 'dist/externalStorageUtils-D5mNQ-cb.chunk.mjs'),window.OC.filePath('', '', 'dist/dav-Dn-NvZjS.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DWUoveEY.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUploadPicker-VgXS738p.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-wO334SEx.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-BAaFbykd.chunk.css'),window.OC.filePath('', '', 'dist/Plus-Bl5-jpoS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-DsOMad5k.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/zh-TW-BJ8VSONq.chunk.mjs'),window.OC.filePath('', '', 'dist/common-zh-TW-DBPTxogX.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-UppgRqTk.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-FRq4TQ2p.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/NcRichText-SGcz6ixT.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcRichText-DVtX8ulO.chunk.css'),window.OC.filePath('', '', 'dist/NcProfileHoverCard-CFyzDpam.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcProfileHoverCard-ONd1A-xb.chunk.css'),window.OC.filePath('', '', 'dist/index-BsUuWzEt.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Lwk3gi9p.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-Bkq_iXjX.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DBjOe6uk.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-C6-ZzHjd.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-CENjD2Uc.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-DjSSJ27b.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CkjJ6CBQ.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-C0vSpMnG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs'),window.OC.filePath('', '', 'dist/UpdateAllDialog-CKJ1aIOz.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); -import{b as _,A as x,o as i,c as u,w as v,k as y,u as e,f as h,F as A,B as N,m as C,C as I,p as w,a as d,_ as l}from"./preload-helper-CseRDAJ7.chunk.mjs";import{a as L,f as O}from"./index--e26xJaU.chunk.mjs";import{t as a}from"./fileSize-G68jp3EG.chunk.mjs";import{N as D}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{N as P}from"./createElementId-Dh4E-ofN.chunk.mjs";import{N as R}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{c as T}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{c as V}from"./formatRelative-CRa9J-kT.chunk.mjs";import{l as g}from"./appstore-main.mjs";import{_ as b}from"./public-Cpb8_kIm.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";import"./ArrowRight-gS7jb_sQ.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcContent-DoB90luu.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";import"./NcUploadPicker-BJMAFsMJ.chunk.mjs";import"./index-B7TgNgsG.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./TrayArrowDown-CLFpJyV3.chunk.mjs";import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./NcBreadcrumbs-D4M-QnlN.chunk.mjs";import"./NcPasswordField-BX7X04-n.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-Bl5-jpoS.chunk.mjs";import"./index-DsOMad5k.chunk.mjs";import"./zh-TW-BJ8VSONq.chunk.mjs";import"./NcEmojiPicker-UppgRqTk.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-SGcz6ixT.chunk.mjs";/* empty css */import"./NcProfileHoverCard-CFyzDpam.chunk.mjs";import"./index-BsUuWzEt.chunk.mjs";import"./index-Lwk3gi9p.chunk.mjs";import"./NcSelectTags-C6-ZzHjd.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CkjJ6CBQ.chunk.mjs";function z(o){const t={...o};if(t.date&&(t.date=Date.parse(t.date)),t.expiryDate&&(t.expiryDate=Date.parse(t.expiryDate)),t.type==="post"||t.type==="showcase"||t.type==="carousel")return t;throw new Error(`Invalid argument, app discover element with type ${o.type??"unknown"} is unknown`)}function F(o){const t=Date.now();return!(o.date&&o.date>t||o.expiryDate&&o.expiryDate(s.order??1/0)<(n.order??1/0)?-1:1),p}function q(o){for(let t=o.length-1;t>0;t--){const p=Math.floor(Math.random()*(t+1));[o[t],o[p]]=[o[p],o[t]]}return o}async function B(){const o=await T.get(V("/apps/appstore/api/v1/discover")),{data:t}=o.data.ocs;return t}const U={key:2,class:"app-discover"},$=_({__name:"AppstoreDiscover",setup(o){const t=d(()=>l(()=>import("./DiscoverTypePost-VQp1g1-F.chunk.mjs").then(r=>r.a),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]),import.meta.url)),p=d(()=>l(()=>import("./DiscoverTypeCarousel-BxAvf0m1.chunk.mjs"),__vite__mapDeps([82,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,0,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83]),import.meta.url)),s=d(()=>l(()=>import("./DiscoverTypeShowcase-DutV8pwg.chunk.mjs"),__vite__mapDeps([84,4,2,5,6,7,8,9,10,11,12,85,1,3,13,14,15,16,17,22,23,24,20,21,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,18,19,76,77,78,79,80,86,0,81,87]),import.meta.url)),n=w(!1),m=w([]);x(async()=>{try{m.value=await M()}catch(r){n.value=!0,g.error(r),L(a("appstore","Could not load app discover section"))}});function k(r){return r==="post"?t:r==="carousel"?p:r==="showcase"?s:_({mounted:()=>g.error("Unknown component requested ",r),render:f=>f("div",a("appstore","Could not render element"))})}return(r,f)=>n.value?(i(),u(e(D),{key:0,name:e(a)("appstore","Nothing to show"),description:e(a)("appstore","Could not load section content from app store.")},{icon:v(()=>[y(e(P),{path:e(O),size:64},null,8,["path"])]),_:1},8,["name","description"])):m.value.length===0?(i(),u(e(D),{key:1,name:e(a)("appstore","Loading"),description:e(a)("appstore","Fetching the latest news…")},{icon:v(()=>[y(e(R),{size:64})]),_:1},8,["name","description"])):(i(),h("div",U,[(i(!0),h(A,null,N(m.value,(c,E)=>(i(),u(I(k(c.type)),C({key:c.id??E},{ref_for:!0},c),null,16))),128))]))}}),Mt=b($,[["__scopeId","data-v-daf7ec3e"]]);export{Mt as default}; -//# sourceMappingURL=AppstoreDiscover-DqwVU6KH.chunk.mjs.map +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CIl948Sr.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CseRDAJ7.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BdZYurIK.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-BiE9lNuC.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-Df3E_Asm.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-Dh4E-ofN.chunk.mjs'),window.OC.filePath('', '', 'dist/fileSize-G68jp3EG.chunk.mjs'),window.OC.filePath('', '', 'dist/public-Cpb8_kIm.chunk.mjs'),window.OC.filePath('', '', 'dist/formatRelative-CRa9J-kT.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-3plNpBrB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-Cclh_O_-.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Cfr8gsXf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-B7Bbzm8f.chunk.css'),window.OC.filePath('', '', 'dist/NcNoteCard-BclmmzV9.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcNoteCard-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-BQvrkX0t.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-DAs3Oz9q.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-Cb2hocgW.chunk.css'),window.OC.filePath('', '', 'dist/NcActionButton-DrNkZJlL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcActionButton-BQBDvDX2.chunk.css'),window.OC.filePath('', '', 'dist/NcUploadPicker-cchZ72tr.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Dz7vUkRa.chunk.mjs'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-BP0iTyVP.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-B5YBBomo.chunk.css'),window.OC.filePath('', '', 'dist/common-index-CRfKBhKV.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-CE5R5Ey_.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-DOAqo5-K.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-DwcDrXRM.chunk.mjs'),window.OC.filePath('', '', 'dist/autolink-tBB0cdjL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-autolink-B8CEsDGb.chunk.css'),window.OC.filePath('', '', 'dist/colors-Bnsgqd1Q.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-7DgqLTNh.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-nu2hAc7o.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-C_ZSEW-_.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-DdkCG_JC.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-Bkz4spNb.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-j1sClNYM.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-CQNCEdEQ.chunk.css'),window.OC.filePath('', '', 'dist/externalStorageUtils-D5mNQ-cb.chunk.mjs'),window.OC.filePath('', '', 'dist/dav-Dn-NvZjS.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DWUoveEY.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUploadPicker-VgXS738p.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-wO334SEx.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-BAaFbykd.chunk.css'),window.OC.filePath('', '', 'dist/Plus-qUaYhFss.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-DNNJyabc.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/zh-TW-7zF1slI5.chunk.mjs'),window.OC.filePath('', '', 'dist/common-zh-TW-DBPTxogX.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-DMSYl3Iz.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-FRq4TQ2p.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/NcRichText-D0KNDwXS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcRichText-DVtX8ulO.chunk.css'),window.OC.filePath('', '', 'dist/NcProfileHoverCard-BJs4RYKo.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcProfileHoverCard-ONd1A-xb.chunk.css'),window.OC.filePath('', '', 'dist/index-DYjiTP4W.chunk.mjs'),window.OC.filePath('', '', 'dist/index--GjTq3oQ.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-Bkq_iXjX.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DBjOe6uk.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-D301iF-P.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-CENjD2Uc.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BMel2src.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BhGyc-Fl.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-C0vSpMnG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs'),window.OC.filePath('', '', 'dist/UpdateAllDialog-Dygx2ybe.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); +import{b as _,A as x,o as i,c as u,w as v,k as y,u as e,f as h,F as A,B as N,m as C,C as I,p as w,a as d,_ as l}from"./preload-helper-CseRDAJ7.chunk.mjs";import{a as L,f as O}from"./index-CIl948Sr.chunk.mjs";import{t as a}from"./fileSize-G68jp3EG.chunk.mjs";import{N as D}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{N as P}from"./createElementId-Dh4E-ofN.chunk.mjs";import{N as R}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{c as T}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{c as V}from"./formatRelative-CRa9J-kT.chunk.mjs";import{l as g}from"./appstore-main.mjs";import{_ as b}from"./public-Cpb8_kIm.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";import"./ArrowRight-Df3E_Asm.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcContent-DAs3Oz9q.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";import"./NcUploadPicker-cchZ72tr.chunk.mjs";import"./index-Dz7vUkRa.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./TrayArrowDown-CE5R5Ey_.chunk.mjs";import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./NcBreadcrumbs-Bkz4spNb.chunk.mjs";import"./NcPasswordField-j1sClNYM.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-qUaYhFss.chunk.mjs";import"./index-DNNJyabc.chunk.mjs";import"./zh-TW-7zF1slI5.chunk.mjs";import"./NcEmojiPicker-DMSYl3Iz.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-D0KNDwXS.chunk.mjs";/* empty css */import"./NcProfileHoverCard-BJs4RYKo.chunk.mjs";import"./index-DYjiTP4W.chunk.mjs";import"./index--GjTq3oQ.chunk.mjs";import"./NcSelectTags-D301iF-P.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-BhGyc-Fl.chunk.mjs";function z(o){const t={...o};if(t.date&&(t.date=Date.parse(t.date)),t.expiryDate&&(t.expiryDate=Date.parse(t.expiryDate)),t.type==="post"||t.type==="showcase"||t.type==="carousel")return t;throw new Error(`Invalid argument, app discover element with type ${o.type??"unknown"} is unknown`)}function F(o){const t=Date.now();return!(o.date&&o.date>t||o.expiryDate&&o.expiryDate(s.order??1/0)<(n.order??1/0)?-1:1),p}function q(o){for(let t=o.length-1;t>0;t--){const p=Math.floor(Math.random()*(t+1));[o[t],o[p]]=[o[p],o[t]]}return o}async function B(){const o=await T.get(V("/apps/appstore/api/v1/discover")),{data:t}=o.data.ocs;return t}const U={key:2,class:"app-discover"},$=_({__name:"AppstoreDiscover",setup(o){const t=d(()=>l(()=>import("./DiscoverTypePost-A2Qt0Ncj.chunk.mjs").then(r=>r.a),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]),import.meta.url)),p=d(()=>l(()=>import("./DiscoverTypeCarousel-DXlK4lHA.chunk.mjs"),__vite__mapDeps([82,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,0,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83]),import.meta.url)),s=d(()=>l(()=>import("./DiscoverTypeShowcase-CfRm2cPO.chunk.mjs"),__vite__mapDeps([84,4,2,5,6,7,8,9,10,11,12,85,1,3,13,14,15,16,17,22,23,24,20,21,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,18,19,76,77,78,79,80,86,0,81,87]),import.meta.url)),n=w(!1),m=w([]);x(async()=>{try{m.value=await M()}catch(r){n.value=!0,g.error(r),L(a("appstore","Could not load app discover section"))}});function k(r){return r==="post"?t:r==="carousel"?p:r==="showcase"?s:_({mounted:()=>g.error("Unknown component requested ",r),render:f=>f("div",a("appstore","Could not render element"))})}return(r,f)=>n.value?(i(),u(e(D),{key:0,name:e(a)("appstore","Nothing to show"),description:e(a)("appstore","Could not load section content from app store.")},{icon:v(()=>[y(e(P),{path:e(O),size:64},null,8,["path"])]),_:1},8,["name","description"])):m.value.length===0?(i(),u(e(D),{key:1,name:e(a)("appstore","Loading"),description:e(a)("appstore","Fetching the latest news…")},{icon:v(()=>[y(e(R),{size:64})]),_:1},8,["name","description"])):(i(),h("div",U,[(i(!0),h(A,null,N(m.value,(c,E)=>(i(),u(I(k(c.type)),C({key:c.id??E},{ref_for:!0},c),null,16))),128))]))}}),Mt=b($,[["__scopeId","data-v-daf7ec3e"]]);export{Mt as default}; +//# sourceMappingURL=AppstoreDiscover-C2J3BUaA.chunk.mjs.map diff --git a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.license b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.license similarity index 100% rename from dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.license rename to dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.license diff --git a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.map b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.map similarity index 99% rename from dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.map rename to dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.map index dd35c146cef1d..d8c356d6fe2d4 100644 --- a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.map +++ b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["parseApiResponse","element","appElement","filterElements","now","getDiscoverElements","data","loadDiscoverElements","parsedElements","shuffledElements","shuffleArray","a","b","array","i","j","response","axios","generateOcsUrl","PostType","defineAsyncComponent","__vitePreload","n","CarouselType","ShowcaseType","hasError","ref","elements","onBeforeMount","error","logger","showError","t","getComponent","type","defineComponent","h","_createBlock","_unref","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiEyeOffOutline","NcLoadingIcon","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","entry","index","_resolveDynamicComponent","_mergeProps"],"ignoreList":[],"sources":["../build/frontend/apps/appstore/src/utils/appDiscoverParser.ts","../build/frontend/apps/appstore/src/service/app-discover.ts","../build/frontend/apps/appstore/src/views/AppstoreDiscover.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppDiscoverCarousel, IAppDiscoverElement, IAppDiscoverElements, IAppDiscoverPost, IAppDiscoverShowcase } from '../constants/AppDiscoverTypes.ts'\n\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element: Record): IAppDiscoverElements {\n\tconst appElement = { ...element }\n\tif (appElement.date) {\n\t\tappElement.date = Date.parse(appElement.date as string)\n\t}\n\tif (appElement.expiryDate) {\n\t\tappElement.expiryDate = Date.parse(appElement.expiryDate as string)\n\t}\n\n\tif (appElement.type === 'post') {\n\t\treturn appElement as unknown as IAppDiscoverPost\n\t} else if (appElement.type === 'showcase') {\n\t\treturn appElement as unknown as IAppDiscoverShowcase\n\t} else if (appElement.type === 'carousel') {\n\t\treturn appElement as unknown as IAppDiscoverCarousel\n\t}\n\tthrow new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`)\n}\n\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element: IAppDiscoverElement) {\n\tconst now = Date.now()\n\t// Element not yet published\n\tif (element.date && element.date > now) {\n\t\treturn false\n\t}\n\n\t// Element expired\n\tif (element.expiryDate && element.expiryDate < now) {\n\t\treturn false\n\t}\n\treturn true\n}\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { filterElements, parseApiResponse } from '../utils/appDiscoverParser.ts'\n\n/**\n * Get app discover elements\n */\nexport async function getDiscoverElements() {\n\tconst data = await loadDiscoverElements()\n\tif (data.length === 0) {\n\t\tthrow new Error('No app discover elements available (empty response)')\n\t}\n\n\t// Parse data to ensure dates are useable and then filter out expired or future elements\n\tconst parsedElements = data.map(parseApiResponse)\n\t\t.filter(filterElements)\n\n\t// Shuffle elements to make it looks more interesting\n\tconst shuffledElements = shuffleArray(parsedElements)\n\t// Sort pinned elements first\n\tshuffledElements.sort((a, b) => (a.order ?? Infinity) < (b.order ?? Infinity) ? -1 : 1)\n\treturn shuffledElements\n}\n\n/**\n * Shuffle using the Fisher-Yates algorithm\n *\n * @param array The array to shuffle (in place)\n */\nfunction shuffleArray(array: T[]): T[] {\n\tfor (let i = array.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[array[i], array[j]] = [array[j]!, array[i]!]\n\t}\n\treturn array\n}\n\n/**\n * Load discover elements from the API\n */\nasync function loadDiscoverElements() {\n\tconst response = await axios.get[]>>(generateOcsUrl('/apps/appstore/api/v1/discover'))\n\tconst { data } = response.data.ocs\n\treturn data\n}\n","\n\n\n\n\n\n\n"],"file":"AppstoreDiscover-DqwVU6KH.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["parseApiResponse","element","appElement","filterElements","now","getDiscoverElements","data","loadDiscoverElements","parsedElements","shuffledElements","shuffleArray","a","b","array","i","j","response","axios","generateOcsUrl","PostType","defineAsyncComponent","__vitePreload","n","CarouselType","ShowcaseType","hasError","ref","elements","onBeforeMount","error","logger","showError","t","getComponent","type","defineComponent","h","_createBlock","_unref","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiEyeOffOutline","NcLoadingIcon","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","entry","index","_resolveDynamicComponent","_mergeProps"],"ignoreList":[],"sources":["../build/frontend/apps/appstore/src/utils/appDiscoverParser.ts","../build/frontend/apps/appstore/src/service/app-discover.ts","../build/frontend/apps/appstore/src/views/AppstoreDiscover.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppDiscoverCarousel, IAppDiscoverElement, IAppDiscoverElements, IAppDiscoverPost, IAppDiscoverShowcase } from '../constants/AppDiscoverTypes.ts'\n\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element: Record): IAppDiscoverElements {\n\tconst appElement = { ...element }\n\tif (appElement.date) {\n\t\tappElement.date = Date.parse(appElement.date as string)\n\t}\n\tif (appElement.expiryDate) {\n\t\tappElement.expiryDate = Date.parse(appElement.expiryDate as string)\n\t}\n\n\tif (appElement.type === 'post') {\n\t\treturn appElement as unknown as IAppDiscoverPost\n\t} else if (appElement.type === 'showcase') {\n\t\treturn appElement as unknown as IAppDiscoverShowcase\n\t} else if (appElement.type === 'carousel') {\n\t\treturn appElement as unknown as IAppDiscoverCarousel\n\t}\n\tthrow new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`)\n}\n\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element: IAppDiscoverElement) {\n\tconst now = Date.now()\n\t// Element not yet published\n\tif (element.date && element.date > now) {\n\t\treturn false\n\t}\n\n\t// Element expired\n\tif (element.expiryDate && element.expiryDate < now) {\n\t\treturn false\n\t}\n\treturn true\n}\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { filterElements, parseApiResponse } from '../utils/appDiscoverParser.ts'\n\n/**\n * Get app discover elements\n */\nexport async function getDiscoverElements() {\n\tconst data = await loadDiscoverElements()\n\tif (data.length === 0) {\n\t\tthrow new Error('No app discover elements available (empty response)')\n\t}\n\n\t// Parse data to ensure dates are useable and then filter out expired or future elements\n\tconst parsedElements = data.map(parseApiResponse)\n\t\t.filter(filterElements)\n\n\t// Shuffle elements to make it looks more interesting\n\tconst shuffledElements = shuffleArray(parsedElements)\n\t// Sort pinned elements first\n\tshuffledElements.sort((a, b) => (a.order ?? Infinity) < (b.order ?? Infinity) ? -1 : 1)\n\treturn shuffledElements\n}\n\n/**\n * Shuffle using the Fisher-Yates algorithm\n *\n * @param array The array to shuffle (in place)\n */\nfunction shuffleArray(array: T[]): T[] {\n\tfor (let i = array.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[array[i], array[j]] = [array[j]!, array[i]!]\n\t}\n\treturn array\n}\n\n/**\n * Load discover elements from the API\n */\nasync function loadDiscoverElements() {\n\tconst response = await axios.get[]>>(generateOcsUrl('/apps/appstore/api/v1/discover'))\n\tconst { data } = response.data.ocs\n\treturn data\n}\n","\n\n\n\n\n\n\n"],"file":"AppstoreDiscover-C2J3BUaA.chunk.mjs"} \ No newline at end of file diff --git a/dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.map.license b/dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.map.license similarity index 100% rename from dist/AppstoreDiscover-DqwVU6KH.chunk.mjs.map.license rename to dist/AppstoreDiscover-C2J3BUaA.chunk.mjs.map.license diff --git a/dist/ArrowRight-Df3E_Asm.chunk.mjs b/dist/ArrowRight-Df3E_Asm.chunk.mjs new file mode 100644 index 0000000000000..7dd8364837d81 --- /dev/null +++ b/dist/ArrowRight-Df3E_Asm.chunk.mjs @@ -0,0 +1,2 @@ +import{R as p,b as x,o as m,c as S,w as B,g as M,i as y,j as k,t as V,m as g,u as H,C as O,l as L,f as b,h as j}from"./preload-helper-CseRDAJ7.chunk.mjs";import{_ as E}from"./createElementId-Dh4E-ofN.chunk.mjs";import{g as T}from"./formatRelative-CRa9J-kT.chunk.mjs";import{_ as $}from"./public-Cpb8_kIm.chunk.mjs";const l1=t=>t.startsWith("/");function z(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function L1(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&z(t.default)}const I=Object.assign;function u1(t,a){const e={};for(const s in a){const n=a[s];e[s]=N(n)?n.map(t):t(n)}return e}const c1=()=>{},N=Array.isArray;function d1(t,a){const e={};for(const s in t)e[s]=s in a?a[s]:t[s];return e}const h=Symbol("");function f1(t,a){return I(new Error,{type:t,[h]:!0},a)}function p1(t,a){return t instanceof Error&&h in t&&(a==null||!!(t.type&a))}const v1=Symbol(""),A1=Symbol(""),w=Symbol(""),P=Symbol(""),m1=Symbol(""),M1=Symbol("");function H1(){return p(w)}function b1(t){return p(P)}var C1="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z",y1="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",V1="M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z",g1="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",h1="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z",w1="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1",Z1="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",_1="M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z",x1="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z",S1="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",B1="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",k1="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",O1="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",j1="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z",E1="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",T1="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",$1="M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z",z1="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z",I1="M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z",N1="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z",P1="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",R1="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z",D1="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",F1="M14,19H18V5H14M6,19H10V5H6V19Z",U1="M8,5.14V19.14L19,12.14L8,5.14Z",W1="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";const[R]=window.OC?.config?.version?.split(".")??[],C=Number.parseInt(R??"35"),D=C<32,F=C<34,K1=C<35,U=Symbol.for("NcFormBox:context");function W(){return p(U,{isInFormBox:!1,formBoxItemClass:void 0})}const K={class:"button-vue__wrapper"},X={class:"button-vue__icon"},Y={class:"button-vue__text"},q=x({__name:"NcButton",props:{alignment:{default:"center"},ariaLabel:{default:void 0},disabled:{type:Boolean},download:{type:[String,Boolean],default:void 0},href:{default:void 0},pressed:{type:Boolean,default:void 0},size:{default:"normal"},target:{default:"_self"},text:{default:void 0},to:{default:void 0},type:{default:"button"},variant:{default:"secondary"},wide:{type:Boolean}},emits:["click","update:pressed"],setup(t,{emit:a}){const e=t,s=a,{formBoxItemClass:n}=W(),u=p(w,null)!==null,o=L(()=>u&&e.to?"RouterLink":e.href?"a":"button"),v=L(()=>o.value==="button"&&typeof e.pressed=="boolean"),r=L(()=>e.pressed?"primary":e.pressed===!1&&e.variant==="primary"?"secondary":e.variant),c=L(()=>r.value.startsWith("tertiary")),d=L(()=>e.alignment.split("-")[0]),i=L(()=>e.alignment.includes("-")),l=p("NcPopover:trigger:attrs",()=>({}),!1),f=L(()=>l()),Z=L(()=>{if(o.value==="RouterLink")return{to:e.to,activeClass:"active"};if(o.value==="a")return{href:e.href||"#",target:e.target,rel:"nofollow noreferrer noopener",download:e.download||void 0};if(o.value==="button")return{...f.value,"aria-pressed":e.pressed,type:e.type,disabled:e.disabled}});function _(A){v.value&&s("update:pressed",!e.pressed),s("click",A)}return(A,o1)=>(m(),S(O(o.value),g({class:["button-vue",[`button-vue--size-${t.size}`,{[`button-vue--${r.value}`]:r.value,"button-vue--tertiary":c.value,"button-vue--wide":t.wide,[`button-vue--${d.value}`]:d.value!=="center","button-vue--reverse":i.value,"button-vue--legacy":H(D),"button-vue--legacy34":H(F)},H(n)]],"aria-label":t.ariaLabel},Z.value,{onClick:_}),{default:B(()=>[M("span",K,[M("span",X,[y(A.$slots,"icon",{},void 0,!0)]),M("span",Y,[y(A.$slots,"default",{},()=>[k(V(t.text),1)],!0)])])]),_:3},16,["class","aria-label"]))}}),X1=E(q,[["__scopeId","data-v-47ce59a3"]]),Y1=T().detectUser().setApp("@nextcloud/vue").build();function q1(t,a=100,e={}){if(typeof t!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof t}\`.`);if(a<0)throw new RangeError("`wait` must not be negative.");if(typeof e=="boolean")throw new TypeError("The `options` parameter must be an object, not a boolean. Use `{immediate: true}` instead.");const{immediate:s}=e;let n,u,o,v,r;function c(){const l=n,f=u;return n=void 0,u=void 0,r=t.apply(l,f),r}function d(){const l=Date.now()-v;l=0?o=setTimeout(d,a-l):(o=void 0,s||(r=c()))}const i=function(...l){if(n&&this!==n&&Object.getPrototypeOf(this)===Object.getPrototypeOf(n))throw new Error("Debounced method called with different contexts of the same prototype.");n=this,u=l,v=Date.now();const f=s&&!o;if(o||(o=setTimeout(d,a)),f)return r=c(),r};return Object.defineProperty(i,"isPending",{get(){return o!==void 0}}),i.clear=()=>{o&&(clearTimeout(o),o=void 0,n=void 0,u=void 0)},i.flush=()=>{o&&i.trigger()},i.trigger=()=>{r=c(),i.clear()},i}const G={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},J=["aria-hidden","aria-label"],Q=["fill","width","height"],t1={d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"},e1={key:0};function a1(t,a,e,s,n,u){return m(),b("span",g(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon arrow-right-icon",role:"img",onClick:a[0]||(a[0]=o=>t.$emit("click",o))}),[(m(),b("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[M("path",t1,[e.title?(m(),b("title",e1,V(e.title),1)):j("",!0)])],8,Q))],16,J)}const G1=$(G,[["render",a1]]);export{G1 as A,u1 as B,I as C,d1 as D,w as E,P as F,m1 as G,c1 as H,A1 as I,p1 as J,v1 as K,M1 as L,x1 as M,X1 as N,_1 as O,H1 as P,F1 as Q,U1 as R,k1 as S,z1 as T,I1 as U,j1 as V,B1 as W,E1 as X,w1 as Y,D1 as a,S1 as b,V1 as c,h1 as d,W1 as e,T1 as f,q1 as g,R1 as h,D as i,P1 as j,O1 as k,Y1 as l,C1 as m,Z1 as n,F as o,K1 as p,$1 as q,g1 as r,N1 as s,y1 as t,b1 as u,N as v,l1 as w,z as x,L1 as y,f1 as z}; +//# sourceMappingURL=ArrowRight-Df3E_Asm.chunk.mjs.map diff --git a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.license b/dist/ArrowRight-Df3E_Asm.chunk.mjs.license similarity index 96% rename from dist/ArrowRight-gS7jb_sQ.chunk.mjs.license rename to dist/ArrowRight-Df3E_Asm.chunk.mjs.license index 69d101b30b68c..90e8434d5cd48 100644 --- a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.license +++ b/dist/ArrowRight-Df3E_Asm.chunk.mjs.license @@ -16,5 +16,5 @@ This file is generated from multiple sources. Included packages: - version: 5.3.1 - license: MIT - vue-router - - version: 5.3.1 + - version: 5.4.0 - license: MIT diff --git a/dist/ArrowRight-Df3E_Asm.chunk.mjs.map b/dist/ArrowRight-Df3E_Asm.chunk.mjs.map new file mode 100644 index 0000000000000..6ace7e11afa8d --- /dev/null +++ b/dist/ArrowRight-Df3E_Asm.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ArrowRight-Df3E_Asm.chunk.mjs","sources":["../node_modules/vue-router/dist/useApi-CUWMwLLw.js","../node_modules/@nextcloud/vue/dist/chunks/mdi.mjs","../node_modules/@nextcloud/vue/dist/chunks/legacy.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcFormBox.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcButton.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger.mjs","../node_modules/debounce/index.js","../node_modules/vue-material-design-icons/ArrowRight.vue"],"sourcesContent":["/*!\n* vue-router v5.4.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { createConsoleReporter, defineDiagnostics } from \"nostics\";\nimport { inject } from \"vue\";\n//#region src/utils/index.ts\n/**\n* Identity function that returns the value as is.\n*\n* @param v - the value to return\n*\n* @internal\n*/\nconst identityFn = (v) => v;\n/**\n* Checks if a path is absolute, meaning it starts with a `/`.\n*\n* @param path - path to check\n*\n* @internal\n*/\nconst isAbsolutePath = (path) => path.startsWith(\"/\");\n/**\n* Allows differentiating lazy components from functional components and vue-class-component\n* @internal\n*\n* @param component\n*/\nfunction isRouteComponent(component) {\n\treturn typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction isESModule(obj) {\n\treturn obj.__esModule || obj[Symbol.toStringTag] === \"Module\" || obj.default && isRouteComponent(obj.default);\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n\tconst newParams = {};\n\tfor (const key in params) {\n\t\tconst value = params[key];\n\t\tnewParams[key] = isArray(value) ? value.map(fn) : fn(value);\n\t}\n\treturn newParams;\n}\n/**\n* Transforms a value or a function that returns a value to a value.\n*\n* @param valFn either a value or a function that returns a value\n* @param args arguments to pass to the function if `valFn` is a function\n*\n* @internal\n*/\nfunction toValueWithArgs(valFn, ...args) {\n\treturn typeof valFn === \"function\" ? valFn(...args) : valFn;\n}\nconst noop = () => {};\n/**\n* Typesafe alternative to Array.isArray\n* https://github.com/microsoft/TypeScript/pull/48228\n*\n* @internal\n*/\nconst isArray = Array.isArray;\nfunction mergeOptions(defaults, partialOptions) {\n\tconst options = {};\n\tfor (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n\treturn options;\n}\n//#endregion\n//#region src/errors.ts\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\n/**\n* Enumeration with all possible types for navigation failures. Can be passed to\n* {@link isNavigationFailure} to check for specific failures.\n*/\nlet NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) {\n\t/**\n\t* An aborted navigation is a navigation that failed because a navigation\n\t* guard returned `false` or called `next(false)`\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n\t/**\n\t* A cancelled navigation is a navigation that failed because a more recent\n\t* navigation finished started (not necessarily finished).\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n\t/**\n\t* A duplicated navigation is a navigation that failed because it was\n\t* initiated while already being at the exact same location.\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n\treturn NavigationFailureType;\n}({});\nconst ErrorTypeMessages = {\n\t[1]({ location, currentLocation }) {\n\t\treturn `No match for\\n ${JSON.stringify(location)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n\t},\n\t[2]({ from, to }) {\n\t\treturn `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n\t},\n\t[4]({ from, to }) {\n\t\treturn `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n\t},\n\t[8]({ from, to }) {\n\t\treturn `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n\t},\n\t[16]({ from, to: _to }) {\n\t\treturn `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n\t}\n};\n/**\n* Creates a typed NavigationFailure object.\n* @internal\n* @param type - NavigationFailureType\n* @param params - { from, to }\n*/\nfunction createRouterError(type, params) {\n\tif (process.env.NODE_ENV !== \"production\" || false) return assign(new Error(ErrorTypeMessages[type](params)), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n\telse return assign(/* @__PURE__ */ new Error(), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n}\nfunction isNavigationFailure(error, type) {\n\treturn error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));\n}\nconst propertiesToLog = [\n\t\"params\",\n\t\"query\",\n\t\"hash\"\n];\n/**\n* Stringifies a raw location for display in dev warnings.\n*\n* @internal\n*/\nfunction stringifyRoute(to) {\n\tif (!to || typeof to === \"string\") return to;\n\tif (to.path != null) return to.path;\n\tconst location = {};\n\tfor (const key of propertiesToLog) if (key in to) location[key] = to[key];\n\treturn JSON.stringify(location, null, 2);\n}\n//#endregion\n//#region src/diagnostics.ts\n/**\n* Runtime diagnostics catalog for Vue Router.\n*\n* Every entry has a stable `VUE_ROUTER_X####` code, a `why` that states the problem\n* (the diagnosis only, never the remedy) and a `fix` that states the remedy\n* (only, never the diagnosis). They are complementary: the reporter prints\n* both, so neither repeats the other. The diagnosis substrings asserted by the\n* warning tests stay in `why`. All call sites stay behind the existing `__DEV__` (or\n* `process.env.NODE_ENV !== 'production'`) guards and remain bare expression\n* statements so they tree-shake out of production builds.\n*\n* Codes are permanent: never rename or reuse one.\n* - `VUE_ROUTER_R0###` core runtime warnings\n* - `VUE_ROUTER_R1###` experimental data-loaders\n* - `VUE_ROUTER_D0###` deprecations\n*/\nconst diagnostics = /*#__PURE__*/ defineDiagnostics({\n\treporters: [/*#__PURE__*/ createConsoleReporter()],\n\tcodes: {\n\t\tVUE_ROUTER_R0122: {\n\t\t\twhy: (p) => `The optional path param \"${p.param}\" is being removed with ${p.value}.`,\n\t\t\tfix: \"Use null to remove an optional path param.\"\n\t\t},\n\t\tVUE_ROUTER_D0001: {\n\t\t\twhy: (p) => `Route \"${p.name}\" uses beforeEnter, which is deprecated in the experimental router.`,\n\t\t\tfix: \"Move the condition to the route meta field and check to.meta in router.beforeEach().\"\n\t\t},\n\t\tVUE_ROUTER_D0002: {\n\t\t\twhy: (p) => `The query value of \"${p.key}\" is not an array (${p.value}). Non array query values are deprecated in the experimental router.`,\n\t\t\tfix: (p) => `Wrap the value in an array: \\`{ ${JSON.stringify(p.key)}: [${p.value}] }\\`. Use undefined to remove the key.`\n\t\t},\n\t\tVUE_ROUTER_R0001: {\n\t\t\twhy: (p) => `Parent route \"${p.name}\" not found when adding child route`,\n\t\t\tfix: \"Add the parent route before its children, or check the parent name for typos.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/dynamic-routing.html#Adding-nested-routes\"\n\t\t},\n\t\tVUE_ROUTER_R0002: {\n\t\t\twhy: (p) => `Cannot remove non-existent route \"${p.name}\"`,\n\t\t\tfix: \"Check the route name; it may already have been removed or was never added.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/dynamic-routing.html#Removing-routes\"\n\t\t},\n\t\tVUE_ROUTER_R0003: {\n\t\t\twhy: (p) => `Location \"${stringifyRoute(p.location)}\" resolved to \"${p.href}\". A resolved location cannot start with multiple slashes.`,\n\t\t\tfix: \"Remove the leading slashes from the location or fix the route configuration.\"\n\t\t},\n\t\tVUE_ROUTER_R0004: {\n\t\t\twhy: (p) => `No match found for location with path \"${stringifyRoute(p.path)}\"`,\n\t\t\tfix: \"Add a route matching this path or check for typos in the location.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/dynamic-matching.html#Catch-all-404-Not-found-Route\"\n\t\t},\n\t\tVUE_ROUTER_R0005: {\n\t\t\twhy: (p) => `router.resolve() was passed an invalid location. This will fail in production.\\nLocation: ${stringifyRoute(p.rawLocation)}`,\n\t\t\tfix: \"Pass a valid route location: a string path or an object with `path` or `name`.\"\n\t\t},\n\t\tVUE_ROUTER_R0006: {\n\t\t\twhy: (p) => `Path \"${p.path}\" was passed with params but they will be ignored because a \"path\" was passed.`,\n\t\t\tfix: \"Use a named route `{ name, params }` instead of `{ path, params }`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/navigation.html#Navigate-to-a-different-location\"\n\t\t},\n\t\tVUE_ROUTER_R0007: {\n\t\t\twhy: (p) => `A \\`hash\\` should always start with the character \"#\" but received \"${p.hash}\".`,\n\t\t\tfix: (p) => `Prepend \"#\" to the hash in your route location: use \"#${p.hash}\".`\n\t\t},\n\t\tVUE_ROUTER_R0008: {\n\t\t\twhy: (p) => `Invalid redirect found:\\n${p.target}\\n when navigating to \"${p.to}\".\\nThis will break in production.`,\n\t\t\tfix: \"A redirect must resolve to a location with a `name` or `path`; return one of those (or a string path) from `redirect`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Redirect\"\n\t\t},\n\t\tVUE_ROUTER_R0009: {\n\t\t\twhy: (p) => `Detected a possibly infinite redirection in a navigation guard when going from \"${p.from}\" to \"${p.to}\". Aborting to avoid a Stack Overflow. This might break in production if not fixed.`,\n\t\t\tfix: \"A guard is returning a new location on every call; make that return conditional so it only redirects when actually needed.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Global-Before-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0010: {\n\t\t\twhy: \"Uncaught error during route navigation\",\n\t\t\tfix: \"Register an error handler with `router.onError()` to handle navigation errors.\"\n\t\t},\n\t\tVUE_ROUTER_R0011: {\n\t\t\twhy: \"Unexpected error when starting the router:\",\n\t\t\tfix: \"Inspect the actual cause; a navigation guard or async component likely threw during the initial navigation.\"\n\t\t},\n\t\tVUE_ROUTER_R0020: {\n\t\t\twhy: (p) => `No active route record was found when calling \\`${p.fn}()\\`. Maybe you called it inside of App.vue?`,\n\t\t\tfix: \"Call it from a component rendered inside (a page component or one of its children), not from App.vue.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0021: {\n\t\t\twhy: \"No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router.\",\n\t\t\tfix: \"Report with a minimal reproduction at https://github.com/vuejs/router/issues/new/choose.\"\n\t\t},\n\t\tVUE_ROUTER_R0022: {\n\t\t\twhy: (p) => `${p.fn}() was called outside of component setup but it must be called at the top of a setup function`,\n\t\t\tfix: \"Call it synchronously at the top of `setup()`, before any `await`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0023: {\n\t\t\twhy: (p) => `The \"next\" callback was never called inside of ${p.name ? `\"${p.name}\"` : \"\"}:\\n${p.guard}`,\n\t\t\tfix: \"Make sure `next()` runs on every branch, including early returns and async paths, or drop the `next` parameter and return the value instead.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0024: {\n\t\t\twhy: (p) => `The \"next\" callback was called more than once in one navigation guard when going from \"${p.from}\" to \"${p.to}\". This will fail in production.`,\n\t\t\tfix: \"Call `next()` exactly once per guard: remove the extra call, or migrate to returning the value you passed to `next()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0025: {\n\t\t\twhy: \"The `next()` callback in navigation guards is deprecated.\",\n\t\t\tfix: \"Return the value instead: `next()` becomes `return`, `next(false)` becomes `return false`, `next(\\\"/path\\\")` becomes `return \\\"/path\\\"`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0026: {\n\t\t\twhy: (p) => `Record with path \"${p.path}\" is either missing a \"component(s)\" or \"children\" property.`,\n\t\t\tfix: \"Add a `component`, `components`, or `children` to the route record.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html\"\n\t\t},\n\t\tVUE_ROUTER_R0027: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is not a valid component. Received \"${p.received}\".`,\n\t\t\tfix: \"Pass a component or a function returning a Promise that resolves to one.\"\n\t\t},\n\t\tVUE_ROUTER_R0028: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is a Promise instead of a function that returns a Promise. This will break in production if not fixed.`,\n\t\t\tfix: `Defer the import in an arrow function so it loads lazily: write \"() => import('./MyPage.vue')\", not \"import('./MyPage.vue')\".`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html\"\n\t\t},\n\t\tVUE_ROUTER_R0029: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is defined using \"defineAsyncComponent()\".`,\n\t\t\tfix: `Drop the wrapper and pass \"() => import('./MyPage.vue')\" directly; the router handles lazy components itself.`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html#Relationship-to-async-components\"\n\t\t},\n\t\tVUE_ROUTER_R0030: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is a function that does not return a Promise. This will break in production if not fixed.`,\n\t\t\tfix: \"Return a dynamic import (`() => import(\\\"./MyPage.vue\\\")`) from the function, or add a `displayName` if it is a functional component.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html\"\n\t\t},\n\t\tVUE_ROUTER_R0040: {\n\t\t\twhy: (p) => `Because \"${p.el}\" starts with \"#\", scrollBehavior resolves it as an element id via document.getElementById(\"${p.el.slice(1)}\"), not as a CSS selector. No element has that id, but \"${p.el}\" does match an element with document.querySelector().`,\n\t\t\tfix: (p) => `Resolve the element yourself and return the node: el: document.querySelector('${p.el}').`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0041: {\n\t\t\twhy: (p) => `The selector \"${p.el}\" is invalid. See https://mathiasbynens.be/notes/css-escapes or CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape) for the escaping rules.`,\n\t\t\tfix: \"Build an id selector as `#${CSS.escape(id)}` so special characters in the id are escaped.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0042: {\n\t\t\twhy: (p) => `Couldn't find element using selector \"${p.el}\" returned by scrollBehavior.`,\n\t\t\tfix: \"Return a selector that matches an existing element, or guard against missing elements.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0043: {\n\t\t\twhy: (p) => `Several active useScrollRestoration() calls use the key \"${p.key}\" with different \"capture\" or \"restore\" options. They overwrite each other's saved entry.`,\n\t\t\tfix: \"Give each call a different \\\"key\\\", or combine them if they are in the same component.\"\n\t\t},\n\t\tVUE_ROUTER_R0044: {\n\t\t\twhy: \"No ScrollRestoration plugin is available to useScrollRestoration().\",\n\t\t\tfix: \"Install ScrollRestoration on the app before calling useScrollRestoration().\"\n\t\t},\n\t\tVUE_ROUTER_R0050: {\n\t\t\twhy: (p) => {\n\t\t\t\tlet to;\n\t\t\t\ttry {\n\t\t\t\t\tto = p.to === void 0 ? \"undefined\" : JSON.stringify(p.to);\n\t\t\t\t} catch {\n\t\t\t\t\tto = String(p.to);\n\t\t\t\t}\n\t\t\t\treturn `Invalid value for prop \"to\" in useLink()\\n- to: ${to}`;\n\t\t\t},\n\t\t\tfix: \"Pass a valid route location (a string path or an object) to the \\\"to\\\" prop.\"\n\t\t},\n\t\tVUE_ROUTER_R0060: {\n\t\t\twhy: (p) => ` can no longer be used directly inside <${p.comp}>.`,\n\t\t\tfix: (p) => `Wrap the slot's resolved component with <${p.comp}> instead of nesting in it:\\n\\n\\n <${p.comp}>\\n \\n \\n`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/router-view-slot.html#KeepAlive-Transition\"\n\t\t},\n\t\tVUE_ROUTER_R0070: {\n\t\t\twhy: (p) => `Cannot resolve a relative location without an absolute path. Trying to resolve \"${p.to}\" from \"${p.from}\".`,\n\t\t\tfix: (p) => `Resolve from an absolute \\`from\\` path that starts with \"/\", e.g. \"/${p.from}\".`\n\t\t},\n\t\tVUE_ROUTER_R0080: {\n\t\t\twhy: (p) => `Error decoding \"${p.text}\". Using original value`,\n\t\t\tfix: \"Ensure the value is correctly percent-encoded.\"\n\t\t},\n\t\tVUE_ROUTER_R0090: {\n\t\t\twhy: (p) => `Found duplicated params with name \"${p.name}\" for path \"${p.path}\". Only the last one will be available on \"$route.params\".`,\n\t\t\tfix: \"Give each param a unique name within the path.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/route-matching-syntax.html\"\n\t\t},\n\t\tVUE_ROUTER_R0100: {\n\t\t\twhy: (p) => `Discarded invalid param(s) \"${p.params}\" when navigating.` + p.inherited + ` See https://github.com/vuejs/router/commit/e887570 for more details.`,\n\t\t\tfix: \"Only pass params that exist on the target route.\"\n\t\t},\n\t\tVUE_ROUTER_R0101: {\n\t\t\twhy: (p) => `The Matcher cannot resolve relative paths but received \"${p.path}\". Unless you directly called \\`matcher.resolve(\"${p.path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`,\n\t\t\tfix: \"Pass an absolute path (starting with \\\"/\\\") to the matcher.\"\n\t\t},\n\t\tVUE_ROUTER_R0102: {\n\t\t\twhy: (p) => `Alias \"${p.alias}\" and the original record: \"${p.original}\" must have the exact same param named \"${p.name}\"`,\n\t\t\tfix: \"Use the same param names in the alias as in the original route.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Alias\"\n\t\t},\n\t\tVUE_ROUTER_R0103: {\n\t\t\twhy: (p) => `The route named \"${p.name}\" has a child without a name, an empty path, and no children. Using that name won't render the empty path child, so this is probably a mistake.`,\n\t\t\tfix: \"Move the `name` onto the empty-path child; or, if intentional, give the child its own name to silence this.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html#Nested-Named-Routes\"\n\t\t},\n\t\tVUE_ROUTER_R0104: {\n\t\t\twhy: (p) => `Absolute path \"${p.path}\" must have the exact same param named \"${p.name}\" as its parent \"${p.parent}\".`,\n\t\t\tfix: \"Include the parent route params in the absolute child path.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html\"\n\t\t},\n\t\tVUE_ROUTER_R0105: {\n\t\t\twhy: (p) => `Finding ancestor route \"${p.ancestor}\" failed for \"${p.record}\"`,\n\t\t\tfix: \"Report a reproduction at https://github.com/vuejs/router/issues/new/choose.\"\n\t\t},\n\t\tVUE_ROUTER_R0110: {\n\t\t\twhy: `A hash base must end with a \"#\"`,\n\t\t\tfix: (p) => `Append \"#\" to the \"base\" argument passed to \"createWebHashHistory()\": \"${p.base}\" should be \"${p.suggestion}\".`\n\t\t},\n\t\tVUE_ROUTER_R0120: {\n\t\t\twhy: \"Error with push/replace State\",\n\t\t\tfix: \"The browser rejected the history API call; check for cross-origin or rate-limit issues.\"\n\t\t},\n\t\tVUE_ROUTER_R0121: {\n\t\t\twhy: \"history.state seems to have been manually replaced without preserving the necessary values.\\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state\",\n\t\t\tfix: \"Merge the router's state into your own when calling it manually: `history.replaceState({ ...history.state, ...yourState }, '', url)`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/migration.html#Usage-of-history-state\"\n\t\t},\n\t\tVUE_ROUTER_R1001: {\n\t\t\twhy: (p) => `Data loader \"${String(p.key)}\" has a different parent than the current context. This shouldn't be happening.`,\n\t\t\tfix: \"Report a bug with a minimal reproduction at https://github.com/vuejs/router/.\"\n\t\t},\n\t\tVUE_ROUTER_R1002: {\n\t\t\twhy: \"Returning a NavigationResult is deprecated.\",\n\t\t\tfix: \"Replace `return new NavigationResult(to)` with `reroute(to)`, which throws internally to reroute.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-\"\n\t\t},\n\t\tVUE_ROUTER_R1003: {\n\t\t\twhy: (p) => `Loader \"${p.key}\"'s \"commit()\" was called but there is no staged data.`,\n\t\t\tfix: \"Ensure the loader resolved before calling `commit()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/defining-loaders.html#Delaying-data-updates-with-commit\"\n\t\t},\n\t\tVUE_ROUTER_R1004: {\n\t\t\twhy: (p) => \"A loader returned a NavigationResult but is not registered on the route.\" + p.key,\n\t\t\tfix: \"Export the loader from the page component so it gets registered, e.g. `export const useUserData = defineLoader(...)`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/organization.html\"\n\t\t},\n\t\tVUE_ROUTER_R1005: {\n\t\t\twhy: (p) => `Data loader \"${p.key}\" has itself as parent. This shouldn't be happening.`,\n\t\t\tfix: \"Report a bug with a minimal reproduction at https://github.com/vuejs/router/.\"\n\t\t},\n\t\tVUE_ROUTER_R1006: {\n\t\t\twhy: (p) => `A query was defined with the same key as the loader \"[${p.key}]\".\\nSee https://pinia-colada.esm.dev/#TODO`,\n\t\t\tfix: \"If the key is meant to match, use the data loader directly; otherwise rename the `useQuery()` key so it no longer collides.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/colada.html\"\n\t\t},\n\t\tVUE_ROUTER_R1007: {\n\t\t\twhy: \"Data Loader was setup twice.\",\n\t\t\tfix: \"Register `DataLoaderPlugin` a single time via `app.use()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders.html#Installation\"\n\t\t},\n\t\tVUE_ROUTER_R1008: {\n\t\t\twhy: \"Data Loader is experimental and subject to breaking changes in the future.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders.html\"\n\t\t},\n\t\tVUE_ROUTER_R1009: {\n\t\t\twhy: \"Returning a NavigationResult from a loader is deprecated.\",\n\t\t\tfix: \"Call `reroute(to)` inside the loader instead of returning `new NavigationResult(to)`; it throws internally to reroute.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-\"\n\t\t}\n\t}\n});\n//#endregion\n//#region src/injectionSymbols.ts\n/**\n* RouteRecord being rendered by the closest ancestor Router View. Used for\n* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n* Location Matched\n*\n* @internal\n*/\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\n/**\n* Allows overriding the router view depth to control which component in\n* `matched` is rendered. rvd stands for Router View Depth\n*\n* @internal\n*/\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\n/**\n* Allows overriding the router instance returned by `useRouter` in tests. r\n* stands for router\n*\n* @internal\n*/\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\n/**\n* Allows overriding the current route returned by `useRoute` in tests. rl\n* stands for route location\n*\n* @internal\n*/\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\n/**\n* Allows overriding the current route used by router-view. Internally this is\n* used when the `route` prop is passed.\n*\n* @internal\n*/\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\n/**\n* Callbacks called by the closest ancestor router-view once it displays a new\n* route. Used by `onRouteRendered()`.\n*\n* @internal\n*/\nconst routerViewOnRouteRenderedKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view on route rendered\" : \"\");\n//#endregion\n//#region src/useApi.ts\n/**\n* Returns the router instance. Equivalent to using `$router` inside\n* templates.\n*/\nfunction useRouter() {\n\treturn inject(routerKey);\n}\n/**\n* Returns the current route location. Equivalent to using `$route` inside\n* templates.\n*/\nfunction useRoute(_name) {\n\treturn inject(routeLocationKey);\n}\n//#endregion\nexport { toValueWithArgs as S, isArray as _, routerKey as a, mergeOptions as b, viewDepthKey as c, createRouterError as d, isNavigationFailure as f, isAbsolutePath as g, identityFn as h, routeLocationKey as i, diagnostics as l, assign as m, useRouter as n, routerViewLocationKey as o, applyToParams as p, matchedRouteKey as r, routerViewOnRouteRenderedKey as s, useRoute as t, NavigationFailureType as u, isESModule as v, noop as x, isRouteComponent as y };\n","var mdiAlert = \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\";\nvar mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\nvar mdiAlertDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\";\nvar mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\nvar mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\nvar mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\nvar mdiCalendarBlank = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\";\nvar mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\nvar mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\nvar mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nvar mdiCheckboxMarkedCircle = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiChevronDown = \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\";\nvar mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\nvar mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\nvar mdiChevronUp = \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\";\nvar mdiClock = \"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\";\nvar mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nvar mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\nvar mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\nvar mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\nvar mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\nvar mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\nvar mdiDockLeft = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\";\nvar mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\nvar mdiEye = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\";\nvar mdiEyeOff = \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\";\nvar mdiInformation = \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nvar mdiPause = \"M14,19H18V5H14M6,19H10V5H6V19Z\";\nvar mdiPlay = \"M8,5.14V19.14L19,12.14L8,5.14Z\";\nvar mdiPlus = \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\";\nvar mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nvar mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\nexport {\n mdiPlay as A,\n mdiChevronLeft as B,\n mdiPlus as C,\n mdiDockLeft as D,\n mdiChevronUp as E,\n mdiChevronDown as F,\n mdiClock as G,\n mdiCalendarBlank as H,\n mdiUndo as a,\n mdiClose as b,\n mdiChevronRight as c,\n mdiCheck as d,\n mdiContentCopy as e,\n mdiRadioboxMarked as f,\n mdiRadioboxBlank as g,\n mdiCheckboxMarked as h,\n mdiCheckboxBlankOutline as i,\n mdiAlertCircleOutline as j,\n mdiAlert as k,\n mdiInformation as l,\n mdiArrowRight as m,\n mdiCheckboxMarkedCircle as n,\n mdiAlertDecagram as o,\n mdiCreation as p,\n mdiEyeOff as q,\n mdiEye as r,\n mdiOpenInNew as s,\n mdiArrowTopRight as t,\n mdiCloseCircleOutline as u,\n mdiArrowLeft as v,\n mdiDotsHorizontal as w,\n mdiCog as x,\n mdiCogOutline as y,\n mdiPause as z\n};\n//# sourceMappingURL=mdi.mjs.map\n","const [majorVersion] = window.OC?.config?.version?.split(\".\") ?? [];\nconst major = Number.parseInt(majorVersion ?? \"35\");\nconst isLegacy = major < 32;\nconst isLegacy34 = major < 34;\nconst isLegacy35 = major < 35;\nexport {\n isLegacy as a,\n isLegacy35 as b,\n isLegacy34 as i\n};\n//# sourceMappingURL=legacy.mjs.map\n","import { inject } from \"vue\";\nconst NC_FORM_BOX_CONTEXT_KEY = /* @__PURE__ */ Symbol.for(\"NcFormBox:context\");\nfunction useNcFormBox() {\n return inject(NC_FORM_BOX_CONTEXT_KEY, {\n isInFormBox: false,\n formBoxItemClass: void 0\n });\n}\nexport {\n NC_FORM_BOX_CONTEXT_KEY as N,\n useNcFormBox as u\n};\n//# sourceMappingURL=useNcFormBox.mjs.map\n","import '../assets/NcButton.css';\nimport { defineComponent, inject, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { routerKey } from \"vue-router\";\nimport { i as isLegacy34, a as isLegacy } from \"./legacy.mjs\";\nimport { u as useNcFormBox } from \"./useNcFormBox.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _hoisted_1 = { class: \"button-vue__wrapper\" };\nconst _hoisted_2 = { class: \"button-vue__icon\" };\nconst _hoisted_3 = { class: \"button-vue__text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcButton\",\n props: {\n alignment: { default: \"center\" },\n ariaLabel: { default: void 0 },\n disabled: { type: Boolean },\n download: { type: [String, Boolean], default: void 0 },\n href: { default: void 0 },\n pressed: { type: Boolean, default: void 0 },\n size: { default: \"normal\" },\n target: { default: \"_self\" },\n text: { default: void 0 },\n to: { default: void 0 },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n wide: { type: Boolean }\n },\n emits: [\"click\", \"update:pressed\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const { formBoxItemClass } = useNcFormBox();\n const hasVueRouterContext = inject(routerKey, null) !== null;\n const tag = computed(() => {\n if (hasVueRouterContext && props.to) {\n return \"RouterLink\";\n } else if (props.href) {\n return \"a\";\n } else {\n return \"button\";\n }\n });\n const hasPressedState = computed(() => tag.value === \"button\" && typeof props.pressed === \"boolean\");\n const variantWithPressed = computed(() => {\n if (props.pressed) {\n return \"primary\";\n }\n if (props.pressed === false && props.variant === \"primary\") {\n return \"secondary\";\n }\n return props.variant;\n });\n const isTertiaryVariant = computed(() => variantWithPressed.value.startsWith(\"tertiary\"));\n const flexAlignment = computed(() => props.alignment.split(\"-\")[0]);\n const isReverseAligned = computed(() => props.alignment.includes(\"-\"));\n const getNcPopoverTriggerAttrs = inject(\"NcPopover:trigger:attrs\", () => ({}), false);\n const ncPopoverTriggerAttrs = computed(() => getNcPopoverTriggerAttrs());\n const attrs = computed(() => {\n if (tag.value === \"RouterLink\") {\n return {\n to: props.to,\n activeClass: \"active\"\n };\n } else if (tag.value === \"a\") {\n return {\n href: props.href || \"#\",\n target: props.target,\n rel: \"nofollow noreferrer noopener\",\n download: props.download || void 0\n };\n } else if (tag.value === \"button\") {\n return {\n ...ncPopoverTriggerAttrs.value,\n \"aria-pressed\": props.pressed,\n type: props.type,\n disabled: props.disabled\n };\n }\n return void 0;\n });\n function onClick(event) {\n if (hasPressedState.value) {\n emit(\"update:pressed\", !props.pressed);\n }\n emit(\"click\", event);\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tag.value), mergeProps({\n class: [\"button-vue\", [\n `button-vue--size-${__props.size}`,\n {\n [`button-vue--${variantWithPressed.value}`]: variantWithPressed.value,\n \"button-vue--tertiary\": isTertiaryVariant.value,\n \"button-vue--wide\": __props.wide,\n [`button-vue--${flexAlignment.value}`]: flexAlignment.value !== \"center\",\n \"button-vue--reverse\": isReverseAligned.value,\n \"button-vue--legacy\": unref(isLegacy),\n \"button-vue--legacy34\": unref(isLegacy34)\n },\n unref(formBoxItemClass)\n ]],\n \"aria-label\": __props.ariaLabel\n }, attrs.value, { onClick }), {\n default: withCtx(() => [\n createElementVNode(\"span\", _hoisted_1, [\n createElementVNode(\"span\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n createElementVNode(\"span\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(__props.text), 1)\n ], true)\n ])\n ])\n ]),\n _: 3\n }, 16, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-47ce59a3\"]]);\nexport {\n NcButton as N\n};\n//# sourceMappingURL=NcButton.mjs.map\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nconst logger = getLoggerBuilder().detectUser().setApp(\"@nextcloud/vue\").build();\nexport {\n logger as l\n};\n//# sourceMappingURL=logger.mjs.map\n","export default function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\tif (typeof options === 'boolean') {\n\t\tthrow new TypeError('The `options` parameter must be an object, not a boolean. Use `{immediate: true}` instead.');\n\t}\n\n\tconst {immediate} = options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t\treturn result;\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n","\n\n"],"names":["isAbsolutePath","path","isRouteComponent","component","isESModule","obj","assign","applyToParams","fn","params","newParams","key","value","isArray","noop","mergeOptions","defaults","partialOptions","options","NavigationFailureSymbol","createRouterError","type","isNavigationFailure","error","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","routerViewOnRouteRenderedKey","useRouter","inject","useRoute","_name","mdiAlert","mdiAlertCircleOutline","mdiAlertDecagram","mdiArrowLeft","mdiArrowRight","mdiCalendarBlank","mdiCheck","mdiCheckboxBlankOutline","mdiCheckboxMarked","mdiCheckboxMarkedCircle","mdiChevronDown","mdiChevronLeft","mdiChevronRight","mdiChevronUp","mdiClock","mdiClose","mdiCloseCircleOutline","mdiContentCopy","mdiDockLeft","mdiDotsHorizontal","mdiEye","mdiEyeOff","mdiInformation","mdiPause","mdiPlay","mdiUndo","majorVersion","major","isLegacy","isLegacy34","isLegacy35","NC_FORM_BOX_CONTEXT_KEY","useNcFormBox","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","__emit","props","emit","formBoxItemClass","hasVueRouterContext","tag","computed","hasPressedState","variantWithPressed","isTertiaryVariant","flexAlignment","isReverseAligned","getNcPopoverTriggerAttrs","ncPopoverTriggerAttrs","attrs","onClick","event","_ctx","_cache","openBlock","createBlock","resolveDynamicComponent","mergeProps","unref","withCtx","createElementVNode","renderSlot","createTextVNode","toDisplayString","NcButton","_export_sfc","logger","getLoggerBuilder","debounce","function_","wait","immediate","storedContext","storedArguments","timeoutId","timestamp","result","run","callContext","callArguments","later","last","debounced","arguments_","callNow","_createElementBlock","_mergeProps","$props","$event","_createElementVNode","_openBlock"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]} \ No newline at end of file diff --git a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.map.license b/dist/ArrowRight-Df3E_Asm.chunk.mjs.map.license similarity index 96% rename from dist/ArrowRight-gS7jb_sQ.chunk.mjs.map.license rename to dist/ArrowRight-Df3E_Asm.chunk.mjs.map.license index 69d101b30b68c..90e8434d5cd48 100644 --- a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.map.license +++ b/dist/ArrowRight-Df3E_Asm.chunk.mjs.map.license @@ -16,5 +16,5 @@ This file is generated from multiple sources. Included packages: - version: 5.3.1 - license: MIT - vue-router - - version: 5.3.1 + - version: 5.4.0 - license: MIT diff --git a/dist/ArrowRight-gS7jb_sQ.chunk.mjs b/dist/ArrowRight-gS7jb_sQ.chunk.mjs deleted file mode 100644 index bf0821df5fe04..0000000000000 --- a/dist/ArrowRight-gS7jb_sQ.chunk.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{R as p,b as x,o as M,c as S,w as B,g as m,i as y,j as k,t as V,m as g,u as H,C as O,l as L,f as b,h as j}from"./preload-helper-CseRDAJ7.chunk.mjs";import{_ as E}from"./createElementId-Dh4E-ofN.chunk.mjs";import{g as T}from"./formatRelative-CRa9J-kT.chunk.mjs";import{_ as $}from"./public-Cpb8_kIm.chunk.mjs";const l1=t=>t.startsWith("/");function z(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function L1(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&z(t.default)}const I=Object.assign;function u1(t,a){const e={};for(const s in a){const n=a[s];e[s]=N(n)?n.map(t):t(n)}return e}const c1=()=>{},N=Array.isArray;function d1(t,a){const e={};for(const s in t)e[s]=s in a?a[s]:t[s];return e}const h=Symbol("");function f1(t,a){return I(new Error,{type:t,[h]:!0},a)}function p1(t,a){return t instanceof Error&&h in t&&(a==null||!!(t.type&a))}const v1=Symbol(""),A1=Symbol(""),w=Symbol(""),P=Symbol(""),M1=Symbol("");function m1(){return p(w)}function H1(t){return p(P)}var b1="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z",C1="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",y1="M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z",V1="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",g1="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z",h1="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1",w1="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",Z1="M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z",_1="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z",x1="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",S1="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",B1="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",k1="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",O1="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z",j1="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",E1="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",T1="M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z",$1="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z",z1="M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z",I1="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z",N1="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",P1="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z",R1="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",D1="M14,19H18V5H14M6,19H10V5H6V19Z",F1="M8,5.14V19.14L19,12.14L8,5.14Z",U1="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";const[R]=window.OC?.config?.version?.split(".")??[],C=Number.parseInt(R??"35"),D=C<32,F=C<34,W1=C<35,U=Symbol.for("NcFormBox:context");function W(){return p(U,{isInFormBox:!1,formBoxItemClass:void 0})}const K={class:"button-vue__wrapper"},X={class:"button-vue__icon"},q={class:"button-vue__text"},G=x({__name:"NcButton",props:{alignment:{default:"center"},ariaLabel:{default:void 0},disabled:{type:Boolean},download:{type:[String,Boolean],default:void 0},href:{default:void 0},pressed:{type:Boolean,default:void 0},size:{default:"normal"},target:{default:"_self"},text:{default:void 0},to:{default:void 0},type:{default:"button"},variant:{default:"secondary"},wide:{type:Boolean}},emits:["click","update:pressed"],setup(t,{emit:a}){const e=t,s=a,{formBoxItemClass:n}=W(),u=p(w,null)!==null,o=L(()=>u&&e.to?"RouterLink":e.href?"a":"button"),v=L(()=>o.value==="button"&&typeof e.pressed=="boolean"),r=L(()=>e.pressed?"primary":e.pressed===!1&&e.variant==="primary"?"secondary":e.variant),c=L(()=>r.value.startsWith("tertiary")),d=L(()=>e.alignment.split("-")[0]),i=L(()=>e.alignment.includes("-")),l=p("NcPopover:trigger:attrs",()=>({}),!1),f=L(()=>l()),Z=L(()=>{if(o.value==="RouterLink")return{to:e.to,activeClass:"active"};if(o.value==="a")return{href:e.href||"#",target:e.target,rel:"nofollow noreferrer noopener",download:e.download||void 0};if(o.value==="button")return{...f.value,"aria-pressed":e.pressed,type:e.type,disabled:e.disabled}});function _(A){v.value&&s("update:pressed",!e.pressed),s("click",A)}return(A,o1)=>(M(),S(O(o.value),g({class:["button-vue",[`button-vue--size-${t.size}`,{[`button-vue--${r.value}`]:r.value,"button-vue--tertiary":c.value,"button-vue--wide":t.wide,[`button-vue--${d.value}`]:d.value!=="center","button-vue--reverse":i.value,"button-vue--legacy":H(D),"button-vue--legacy34":H(F)},H(n)]],"aria-label":t.ariaLabel},Z.value,{onClick:_}),{default:B(()=>[m("span",K,[m("span",X,[y(A.$slots,"icon",{},void 0,!0)]),m("span",q,[y(A.$slots,"default",{},()=>[k(V(t.text),1)],!0)])])]),_:3},16,["class","aria-label"]))}}),K1=E(G,[["__scopeId","data-v-47ce59a3"]]),X1=T().detectUser().setApp("@nextcloud/vue").build();function q1(t,a=100,e={}){if(typeof t!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof t}\`.`);if(a<0)throw new RangeError("`wait` must not be negative.");if(typeof e=="boolean")throw new TypeError("The `options` parameter must be an object, not a boolean. Use `{immediate: true}` instead.");const{immediate:s}=e;let n,u,o,v,r;function c(){const l=n,f=u;return n=void 0,u=void 0,r=t.apply(l,f),r}function d(){const l=Date.now()-v;l=0?o=setTimeout(d,a-l):(o=void 0,s||(r=c()))}const i=function(...l){if(n&&this!==n&&Object.getPrototypeOf(this)===Object.getPrototypeOf(n))throw new Error("Debounced method called with different contexts of the same prototype.");n=this,u=l,v=Date.now();const f=s&&!o;if(o||(o=setTimeout(d,a)),f)return r=c(),r};return Object.defineProperty(i,"isPending",{get(){return o!==void 0}}),i.clear=()=>{o&&(clearTimeout(o),o=void 0,n=void 0,u=void 0)},i.flush=()=>{o&&i.trigger()},i.trigger=()=>{r=c(),i.clear()},i}const J={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Q=["aria-hidden","aria-label"],Y=["fill","width","height"],t1={d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"},e1={key:0};function a1(t,a,e,s,n,u){return M(),b("span",g(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon arrow-right-icon",role:"img",onClick:a[0]||(a[0]=o=>t.$emit("click",o))}),[(M(),b("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[m("path",t1,[e.title?(M(),b("title",e1,V(e.title),1)):j("",!0)])],8,Y))],16,Q)}const G1=$(J,[["render",a1]]);export{G1 as A,u1 as B,I as C,d1 as D,w as E,P as F,M1 as G,c1 as H,A1 as I,p1 as J,v1 as K,_1 as L,Z1 as M,K1 as N,m1 as O,D1 as P,F1 as Q,B1 as R,$1 as S,z1 as T,O1 as U,S1 as V,j1 as W,h1 as X,R1 as a,x1 as b,y1 as c,g1 as d,U1 as e,E1 as f,q1 as g,P1 as h,D as i,N1 as j,k1 as k,X1 as l,b1 as m,w1 as n,F as o,W1 as p,T1 as q,V1 as r,I1 as s,C1 as t,H1 as u,N as v,l1 as w,z as x,L1 as y,f1 as z}; -//# sourceMappingURL=ArrowRight-gS7jb_sQ.chunk.mjs.map diff --git a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.map b/dist/ArrowRight-gS7jb_sQ.chunk.mjs.map deleted file mode 100644 index 93ba518076c63..0000000000000 --- a/dist/ArrowRight-gS7jb_sQ.chunk.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ArrowRight-gS7jb_sQ.chunk.mjs","sources":["../node_modules/vue-router/dist/useApi-BPuI6ZR9.js","../node_modules/@nextcloud/vue/dist/chunks/mdi.mjs","../node_modules/@nextcloud/vue/dist/chunks/legacy.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcFormBox.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcButton.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger.mjs","../node_modules/debounce/index.js","../node_modules/vue-material-design-icons/ArrowRight.vue"],"sourcesContent":["/*!\n* vue-router v5.3.1\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { createConsoleReporter, defineDiagnostics } from \"nostics\";\nimport { inject } from \"vue\";\n//#region src/utils/index.ts\n/**\n* Identity function that returns the value as is.\n*\n* @param v - the value to return\n*\n* @internal\n*/\nconst identityFn = (v) => v;\n/**\n* Checks if a path is absolute, meaning it starts with a `/`.\n*\n* @param path - path to check\n*\n* @internal\n*/\nconst isAbsolutePath = (path) => path.startsWith(\"/\");\n/**\n* Allows differentiating lazy components from functional components and vue-class-component\n* @internal\n*\n* @param component\n*/\nfunction isRouteComponent(component) {\n\treturn typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction isESModule(obj) {\n\treturn obj.__esModule || obj[Symbol.toStringTag] === \"Module\" || obj.default && isRouteComponent(obj.default);\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n\tconst newParams = {};\n\tfor (const key in params) {\n\t\tconst value = params[key];\n\t\tnewParams[key] = isArray(value) ? value.map(fn) : fn(value);\n\t}\n\treturn newParams;\n}\nconst noop = () => {};\n/**\n* Typesafe alternative to Array.isArray\n* https://github.com/microsoft/TypeScript/pull/48228\n*\n* @internal\n*/\nconst isArray = Array.isArray;\nfunction mergeOptions(defaults, partialOptions) {\n\tconst options = {};\n\tfor (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n\treturn options;\n}\n//#endregion\n//#region src/errors.ts\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\n/**\n* Enumeration with all possible types for navigation failures. Can be passed to\n* {@link isNavigationFailure} to check for specific failures.\n*/\nlet NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) {\n\t/**\n\t* An aborted navigation is a navigation that failed because a navigation\n\t* guard returned `false` or called `next(false)`\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n\t/**\n\t* A cancelled navigation is a navigation that failed because a more recent\n\t* navigation finished started (not necessarily finished).\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n\t/**\n\t* A duplicated navigation is a navigation that failed because it was\n\t* initiated while already being at the exact same location.\n\t*/\n\tNavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n\treturn NavigationFailureType;\n}({});\nconst ErrorTypeMessages = {\n\t[1]({ location, currentLocation }) {\n\t\treturn `No match for\\n ${JSON.stringify(location)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n\t},\n\t[2]({ from, to }) {\n\t\treturn `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n\t},\n\t[4]({ from, to }) {\n\t\treturn `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n\t},\n\t[8]({ from, to }) {\n\t\treturn `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n\t},\n\t[16]({ from, to: _to }) {\n\t\treturn `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n\t}\n};\n/**\n* Creates a typed NavigationFailure object.\n* @internal\n* @param type - NavigationFailureType\n* @param params - { from, to }\n*/\nfunction createRouterError(type, params) {\n\tif (process.env.NODE_ENV !== \"production\" || false) return assign(new Error(ErrorTypeMessages[type](params)), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n\telse return assign(/* @__PURE__ */ new Error(), {\n\t\ttype,\n\t\t[NavigationFailureSymbol]: true\n\t}, params);\n}\nfunction isNavigationFailure(error, type) {\n\treturn error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));\n}\nconst propertiesToLog = [\n\t\"params\",\n\t\"query\",\n\t\"hash\"\n];\n/**\n* Stringifies a raw location for display in dev warnings.\n*\n* @internal\n*/\nfunction stringifyRoute(to) {\n\tif (!to || typeof to === \"string\") return to;\n\tif (to.path != null) return to.path;\n\tconst location = {};\n\tfor (const key of propertiesToLog) if (key in to) location[key] = to[key];\n\treturn JSON.stringify(location, null, 2);\n}\n//#endregion\n//#region src/diagnostics.ts\n/**\n* Runtime diagnostics catalog for Vue Router.\n*\n* Every entry has a stable `VUE_ROUTER_R####` code, a `why` that states the problem\n* (the diagnosis only, never the remedy) and a `fix` that states the remedy\n* (only, never the diagnosis). They are complementary: the reporter prints\n* both, so neither repeats the other. The diagnosis substrings asserted by the\n* warning tests stay in `why`. All call sites stay behind the existing `__DEV__` (or\n* `process.env.NODE_ENV !== 'production'`) guards and remain bare expression\n* statements so they tree-shake out of production builds.\n*\n* Codes are permanent: never rename or reuse one.\n* - `VUE_ROUTER_R0###` core runtime warnings\n* - `VUE_ROUTER_R1###` experimental data-loaders\n*/\nconst diagnostics = /*#__PURE__*/ defineDiagnostics({\n\treporters: [/*#__PURE__*/ createConsoleReporter()],\n\tcodes: {\n\t\tVUE_ROUTER_R0001: {\n\t\t\twhy: (p) => `Parent route \"${p.name}\" not found when adding child route`,\n\t\t\tfix: \"Add the parent route before its children, or check the parent name for typos.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/dynamic-routing.html#Adding-nested-routes\"\n\t\t},\n\t\tVUE_ROUTER_R0002: {\n\t\t\twhy: (p) => `Cannot remove non-existent route \"${p.name}\"`,\n\t\t\tfix: \"Check the route name; it may already have been removed or was never added.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/dynamic-routing.html#Removing-routes\"\n\t\t},\n\t\tVUE_ROUTER_R0003: {\n\t\t\twhy: (p) => `Location \"${stringifyRoute(p.location)}\" resolved to \"${p.href}\". A resolved location cannot start with multiple slashes.`,\n\t\t\tfix: \"Remove the leading slashes from the location or fix the route configuration.\"\n\t\t},\n\t\tVUE_ROUTER_R0004: {\n\t\t\twhy: (p) => `No match found for location with path \"${stringifyRoute(p.path)}\"`,\n\t\t\tfix: \"Add a route matching this path or check for typos in the location.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/dynamic-matching.html#Catch-all-404-Not-found-Route\"\n\t\t},\n\t\tVUE_ROUTER_R0005: {\n\t\t\twhy: (p) => `router.resolve() was passed an invalid location. This will fail in production.\\nLocation: ${stringifyRoute(p.rawLocation)}`,\n\t\t\tfix: \"Pass a valid route location: a string path or an object with `path` or `name`.\"\n\t\t},\n\t\tVUE_ROUTER_R0006: {\n\t\t\twhy: (p) => `Path \"${p.path}\" was passed with params but they will be ignored because a \"path\" was passed.`,\n\t\t\tfix: \"Use a named route `{ name, params }` instead of `{ path, params }`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/navigation.html#Navigate-to-a-different-location\"\n\t\t},\n\t\tVUE_ROUTER_R0007: {\n\t\t\twhy: (p) => `A \\`hash\\` should always start with the character \"#\" but received \"${p.hash}\".`,\n\t\t\tfix: (p) => `Prepend \"#\" to the hash in your route location: use \"#${p.hash}\".`\n\t\t},\n\t\tVUE_ROUTER_R0008: {\n\t\t\twhy: (p) => `Invalid redirect found:\\n${p.target}\\n when navigating to \"${p.to}\".\\nThis will break in production.`,\n\t\t\tfix: \"A redirect must resolve to a location with a `name` or `path`; return one of those (or a string path) from `redirect`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Redirect\"\n\t\t},\n\t\tVUE_ROUTER_R0009: {\n\t\t\twhy: (p) => `Detected a possibly infinite redirection in a navigation guard when going from \"${p.from}\" to \"${p.to}\". Aborting to avoid a Stack Overflow. This might break in production if not fixed.`,\n\t\t\tfix: \"A guard is returning a new location on every call; make that return conditional so it only redirects when actually needed.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Global-Before-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0010: {\n\t\t\twhy: \"Uncaught error during route navigation\",\n\t\t\tfix: \"Register an error handler with `router.onError()` to handle navigation errors.\"\n\t\t},\n\t\tVUE_ROUTER_R0011: {\n\t\t\twhy: \"Unexpected error when starting the router:\",\n\t\t\tfix: \"Inspect the actual cause; a navigation guard or async component likely threw during the initial navigation.\"\n\t\t},\n\t\tVUE_ROUTER_R0020: {\n\t\t\twhy: (p) => `No active route record was found when calling \\`${p.fn}()\\`. Maybe you called it inside of App.vue?`,\n\t\t\tfix: \"Call it from a component rendered inside (a page component or one of its children), not from App.vue.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0021: {\n\t\t\twhy: \"No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router.\",\n\t\t\tfix: \"Report with a minimal reproduction at https://github.com/vuejs/router/issues/new/choose.\"\n\t\t},\n\t\tVUE_ROUTER_R0022: {\n\t\t\twhy: (p) => `${p.fn}() was called outside of component setup but it must be called at the top of a setup function`,\n\t\t\tfix: \"Call it synchronously at the top of `setup()`, before any `await`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards\"\n\t\t},\n\t\tVUE_ROUTER_R0023: {\n\t\t\twhy: (p) => `The \"next\" callback was never called inside of ${p.name ? `\"${p.name}\"` : \"\"}:\\n${p.guard}`,\n\t\t\tfix: \"Make sure `next()` runs on every branch, including early returns and async paths, or drop the `next` parameter and return the value instead.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0024: {\n\t\t\twhy: (p) => `The \"next\" callback was called more than once in one navigation guard when going from \"${p.from}\" to \"${p.to}\". This will fail in production.`,\n\t\t\tfix: \"Call `next()` exactly once per guard: remove the extra call, or migrate to returning the value you passed to `next()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0025: {\n\t\t\twhy: \"The `next()` callback in navigation guards is deprecated.\",\n\t\t\tfix: \"Return the value instead: `next()` becomes `return`, `next(false)` becomes `return false`, `next(\\\"/path\\\")` becomes `return \\\"/path\\\"`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next\"\n\t\t},\n\t\tVUE_ROUTER_R0026: {\n\t\t\twhy: (p) => `Record with path \"${p.path}\" is either missing a \"component(s)\" or \"children\" property.`,\n\t\t\tfix: \"Add a `component`, `components`, or `children` to the route record.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html\"\n\t\t},\n\t\tVUE_ROUTER_R0027: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is not a valid component. Received \"${p.received}\".`,\n\t\t\tfix: \"Pass a component or a function returning a Promise that resolves to one.\"\n\t\t},\n\t\tVUE_ROUTER_R0028: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is a Promise instead of a function that returns a Promise. This will break in production if not fixed.`,\n\t\t\tfix: `Defer the import in an arrow function so it loads lazily: write \"() => import('./MyPage.vue')\", not \"import('./MyPage.vue')\".`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html\"\n\t\t},\n\t\tVUE_ROUTER_R0029: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is defined using \"defineAsyncComponent()\".`,\n\t\t\tfix: `Drop the wrapper and pass \"() => import('./MyPage.vue')\" directly; the router handles lazy components itself.`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html#Relationship-to-async-components\"\n\t\t},\n\t\tVUE_ROUTER_R0030: {\n\t\t\twhy: (p) => `Component \"${p.name}\" in record with path \"${p.path}\" is a function that does not return a Promise. This will break in production if not fixed.`,\n\t\t\tfix: \"Return a dynamic import (`() => import(\\\"./MyPage.vue\\\")`) from the function, or add a `displayName` if it is a functional component.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/lazy-loading.html\"\n\t\t},\n\t\tVUE_ROUTER_R0040: {\n\t\t\twhy: (p) => `Because \"${p.el}\" starts with \"#\", scrollBehavior resolves it as an element id via document.getElementById(\"${p.el.slice(1)}\"), not as a CSS selector. No element has that id, but \"${p.el}\" does match an element with document.querySelector().`,\n\t\t\tfix: (p) => `Resolve the element yourself and return the node: el: document.querySelector('${p.el}').`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0041: {\n\t\t\twhy: (p) => `The selector \"${p.el}\" is invalid. See https://mathiasbynens.be/notes/css-escapes or CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape) for the escaping rules.`,\n\t\t\tfix: \"Build an id selector as `#${CSS.escape(id)}` so special characters in the id are escaped.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0042: {\n\t\t\twhy: (p) => `Couldn't find element using selector \"${p.el}\" returned by scrollBehavior.`,\n\t\t\tfix: \"Return a selector that matches an existing element, or guard against missing elements.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/scroll-behavior.html\"\n\t\t},\n\t\tVUE_ROUTER_R0050: {\n\t\t\twhy: (p) => {\n\t\t\t\tlet to;\n\t\t\t\ttry {\n\t\t\t\t\tto = p.to === void 0 ? \"undefined\" : JSON.stringify(p.to);\n\t\t\t\t} catch {\n\t\t\t\t\tto = String(p.to);\n\t\t\t\t}\n\t\t\t\treturn `Invalid value for prop \"to\" in useLink()\\n- to: ${to}`;\n\t\t\t},\n\t\t\tfix: \"Pass a valid route location (a string path or an object) to the \\\"to\\\" prop.\"\n\t\t},\n\t\tVUE_ROUTER_R0060: {\n\t\t\twhy: (p) => ` can no longer be used directly inside <${p.comp}>.`,\n\t\t\tfix: (p) => `Wrap the slot's resolved component with <${p.comp}> instead of nesting in it:\\n\\n\\n <${p.comp}>\\n \\n \\n`,\n\t\t\tdocs: \"https://router.vuejs.org/guide/advanced/router-view-slot.html#KeepAlive-Transition\"\n\t\t},\n\t\tVUE_ROUTER_R0070: {\n\t\t\twhy: (p) => `Cannot resolve a relative location without an absolute path. Trying to resolve \"${p.to}\" from \"${p.from}\".`,\n\t\t\tfix: (p) => `Resolve from an absolute \\`from\\` path that starts with \"/\", e.g. \"/${p.from}\".`\n\t\t},\n\t\tVUE_ROUTER_R0080: {\n\t\t\twhy: (p) => `Error decoding \"${p.text}\". Using original value`,\n\t\t\tfix: \"Ensure the value is correctly percent-encoded.\"\n\t\t},\n\t\tVUE_ROUTER_R0090: {\n\t\t\twhy: (p) => `Found duplicated params with name \"${p.name}\" for path \"${p.path}\". Only the last one will be available on \"$route.params\".`,\n\t\t\tfix: \"Give each param a unique name within the path.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/route-matching-syntax.html\"\n\t\t},\n\t\tVUE_ROUTER_R0100: {\n\t\t\twhy: (p) => `Discarded invalid param(s) \"${p.params}\" when navigating.` + p.inherited + ` See https://github.com/vuejs/router/commit/e887570 for more details.`,\n\t\t\tfix: \"Only pass params that exist on the target route.\"\n\t\t},\n\t\tVUE_ROUTER_R0101: {\n\t\t\twhy: (p) => `The Matcher cannot resolve relative paths but received \"${p.path}\". Unless you directly called \\`matcher.resolve(\"${p.path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`,\n\t\t\tfix: \"Pass an absolute path (starting with \\\"/\\\") to the matcher.\"\n\t\t},\n\t\tVUE_ROUTER_R0102: {\n\t\t\twhy: (p) => `Alias \"${p.alias}\" and the original record: \"${p.original}\" must have the exact same param named \"${p.name}\"`,\n\t\t\tfix: \"Use the same param names in the alias as in the original route.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Alias\"\n\t\t},\n\t\tVUE_ROUTER_R0103: {\n\t\t\twhy: (p) => `The route named \"${p.name}\" has a child without a name, an empty path, and no children. Using that name won't render the empty path child, so this is probably a mistake.`,\n\t\t\tfix: \"Move the `name` onto the empty-path child; or, if intentional, give the child its own name to silence this.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html#Nested-Named-Routes\"\n\t\t},\n\t\tVUE_ROUTER_R0104: {\n\t\t\twhy: (p) => `Absolute path \"${p.path}\" must have the exact same param named \"${p.name}\" as its parent \"${p.parent}\".`,\n\t\t\tfix: \"Include the parent route params in the absolute child path.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/essentials/nested-routes.html\"\n\t\t},\n\t\tVUE_ROUTER_R0105: {\n\t\t\twhy: (p) => `Finding ancestor route \"${p.ancestor}\" failed for \"${p.record}\"`,\n\t\t\tfix: \"Report a reproduction at https://github.com/vuejs/router/issues/new/choose.\"\n\t\t},\n\t\tVUE_ROUTER_R0110: {\n\t\t\twhy: `A hash base must end with a \"#\"`,\n\t\t\tfix: (p) => `Append \"#\" to the \"base\" argument passed to \"createWebHashHistory()\": \"${p.base}\" should be \"${p.suggestion}\".`\n\t\t},\n\t\tVUE_ROUTER_R0120: {\n\t\t\twhy: \"Error with push/replace State\",\n\t\t\tfix: \"The browser rejected the history API call; check for cross-origin or rate-limit issues.\"\n\t\t},\n\t\tVUE_ROUTER_R0121: {\n\t\t\twhy: \"history.state seems to have been manually replaced without preserving the necessary values.\\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state\",\n\t\t\tfix: \"Merge the router's state into your own when calling it manually: `history.replaceState({ ...history.state, ...yourState }, '', url)`.\",\n\t\t\tdocs: \"https://router.vuejs.org/guide/migration.html#Usage-of-history-state\"\n\t\t},\n\t\tVUE_ROUTER_R1001: {\n\t\t\twhy: (p) => `Data loader \"${String(p.key)}\" has a different parent than the current context. This shouldn't be happening.`,\n\t\t\tfix: \"Report a bug with a minimal reproduction at https://github.com/vuejs/router/.\"\n\t\t},\n\t\tVUE_ROUTER_R1002: {\n\t\t\twhy: \"Returning a NavigationResult is deprecated.\",\n\t\t\tfix: \"Replace `return new NavigationResult(to)` with `reroute(to)`, which throws internally to reroute.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-\"\n\t\t},\n\t\tVUE_ROUTER_R1003: {\n\t\t\twhy: (p) => `Loader \"${p.key}\"'s \"commit()\" was called but there is no staged data.`,\n\t\t\tfix: \"Ensure the loader resolved before calling `commit()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/defining-loaders.html#Delaying-data-updates-with-commit\"\n\t\t},\n\t\tVUE_ROUTER_R1004: {\n\t\t\twhy: (p) => \"A loader returned a NavigationResult but is not registered on the route.\" + p.key,\n\t\t\tfix: \"Export the loader from the page component so it gets registered, e.g. `export const useUserData = defineLoader(...)`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/organization.html\"\n\t\t},\n\t\tVUE_ROUTER_R1005: {\n\t\t\twhy: (p) => `Data loader \"${p.key}\" has itself as parent. This shouldn't be happening.`,\n\t\t\tfix: \"Report a bug with a minimal reproduction at https://github.com/vuejs/router/.\"\n\t\t},\n\t\tVUE_ROUTER_R1006: {\n\t\t\twhy: (p) => `A query was defined with the same key as the loader \"[${p.key}]\".\\nSee https://pinia-colada.esm.dev/#TODO`,\n\t\t\tfix: \"If the key is meant to match, use the data loader directly; otherwise rename the `useQuery()` key so it no longer collides.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/colada.html\"\n\t\t},\n\t\tVUE_ROUTER_R1007: {\n\t\t\twhy: \"Data Loader was setup twice.\",\n\t\t\tfix: \"Register `DataLoaderPlugin` a single time via `app.use()`.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders.html#Installation\"\n\t\t},\n\t\tVUE_ROUTER_R1008: {\n\t\t\twhy: \"Data Loader is experimental and subject to breaking changes in the future.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders.html\"\n\t\t},\n\t\tVUE_ROUTER_R1009: {\n\t\t\twhy: \"Returning a NavigationResult from a loader is deprecated.\",\n\t\t\tfix: \"Call `reroute(to)` inside the loader instead of returning `new NavigationResult(to)`; it throws internally to reroute.\",\n\t\t\tdocs: \"https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-\"\n\t\t}\n\t}\n});\n//#endregion\n//#region src/injectionSymbols.ts\n/**\n* RouteRecord being rendered by the closest ancestor Router View. Used for\n* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n* Location Matched\n*\n* @internal\n*/\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\n/**\n* Allows overriding the router view depth to control which component in\n* `matched` is rendered. rvd stands for Router View Depth\n*\n* @internal\n*/\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\n/**\n* Allows overriding the router instance returned by `useRouter` in tests. r\n* stands for router\n*\n* @internal\n*/\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\n/**\n* Allows overriding the current route returned by `useRoute` in tests. rl\n* stands for route location\n*\n* @internal\n*/\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\n/**\n* Allows overriding the current route used by router-view. Internally this is\n* used when the `route` prop is passed.\n*\n* @internal\n*/\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\n//#endregion\n//#region src/useApi.ts\n/**\n* Returns the router instance. Equivalent to using `$router` inside\n* templates.\n*/\nfunction useRouter() {\n\treturn inject(routerKey);\n}\n/**\n* Returns the current route location. Equivalent to using `$route` inside\n* templates.\n*/\nfunction useRoute(_name) {\n\treturn inject(routeLocationKey);\n}\n//#endregion\nexport { isESModule as _, routerKey as a, noop as b, diagnostics as c, isNavigationFailure as d, applyToParams as f, isArray as g, isAbsolutePath as h, routeLocationKey as i, NavigationFailureType as l, identityFn as m, useRouter as n, routerViewLocationKey as o, assign as p, matchedRouteKey as r, viewDepthKey as s, useRoute as t, createRouterError as u, isRouteComponent as v, mergeOptions as y };\n","var mdiAlert = \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\";\nvar mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\nvar mdiAlertDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\";\nvar mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\nvar mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\nvar mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\nvar mdiCalendarBlank = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\";\nvar mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\nvar mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\nvar mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nvar mdiCheckboxMarkedCircle = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiChevronDown = \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\";\nvar mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\nvar mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\nvar mdiChevronUp = \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\";\nvar mdiClock = \"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\";\nvar mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nvar mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\nvar mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\nvar mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\nvar mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\nvar mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\nvar mdiDockLeft = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\";\nvar mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\nvar mdiEye = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\";\nvar mdiEyeOff = \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\";\nvar mdiInformation = \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nvar mdiPause = \"M14,19H18V5H14M6,19H10V5H6V19Z\";\nvar mdiPlay = \"M8,5.14V19.14L19,12.14L8,5.14Z\";\nvar mdiPlus = \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\";\nvar mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nvar mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\nexport {\n mdiPlay as A,\n mdiChevronLeft as B,\n mdiPlus as C,\n mdiDockLeft as D,\n mdiChevronUp as E,\n mdiChevronDown as F,\n mdiClock as G,\n mdiCalendarBlank as H,\n mdiUndo as a,\n mdiClose as b,\n mdiChevronRight as c,\n mdiCheck as d,\n mdiContentCopy as e,\n mdiRadioboxMarked as f,\n mdiRadioboxBlank as g,\n mdiCheckboxMarked as h,\n mdiCheckboxBlankOutline as i,\n mdiAlertCircleOutline as j,\n mdiAlert as k,\n mdiInformation as l,\n mdiArrowRight as m,\n mdiCheckboxMarkedCircle as n,\n mdiAlertDecagram as o,\n mdiCreation as p,\n mdiEyeOff as q,\n mdiEye as r,\n mdiOpenInNew as s,\n mdiArrowTopRight as t,\n mdiCloseCircleOutline as u,\n mdiArrowLeft as v,\n mdiDotsHorizontal as w,\n mdiCog as x,\n mdiCogOutline as y,\n mdiPause as z\n};\n//# sourceMappingURL=mdi.mjs.map\n","const [majorVersion] = window.OC?.config?.version?.split(\".\") ?? [];\nconst major = Number.parseInt(majorVersion ?? \"35\");\nconst isLegacy = major < 32;\nconst isLegacy34 = major < 34;\nconst isLegacy35 = major < 35;\nexport {\n isLegacy as a,\n isLegacy35 as b,\n isLegacy34 as i\n};\n//# sourceMappingURL=legacy.mjs.map\n","import { inject } from \"vue\";\nconst NC_FORM_BOX_CONTEXT_KEY = /* @__PURE__ */ Symbol.for(\"NcFormBox:context\");\nfunction useNcFormBox() {\n return inject(NC_FORM_BOX_CONTEXT_KEY, {\n isInFormBox: false,\n formBoxItemClass: void 0\n });\n}\nexport {\n NC_FORM_BOX_CONTEXT_KEY as N,\n useNcFormBox as u\n};\n//# sourceMappingURL=useNcFormBox.mjs.map\n","import '../assets/NcButton.css';\nimport { defineComponent, inject, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { routerKey } from \"vue-router\";\nimport { i as isLegacy34, a as isLegacy } from \"./legacy.mjs\";\nimport { u as useNcFormBox } from \"./useNcFormBox.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _hoisted_1 = { class: \"button-vue__wrapper\" };\nconst _hoisted_2 = { class: \"button-vue__icon\" };\nconst _hoisted_3 = { class: \"button-vue__text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcButton\",\n props: {\n alignment: { default: \"center\" },\n ariaLabel: { default: void 0 },\n disabled: { type: Boolean },\n download: { type: [String, Boolean], default: void 0 },\n href: { default: void 0 },\n pressed: { type: Boolean, default: void 0 },\n size: { default: \"normal\" },\n target: { default: \"_self\" },\n text: { default: void 0 },\n to: { default: void 0 },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n wide: { type: Boolean }\n },\n emits: [\"click\", \"update:pressed\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const { formBoxItemClass } = useNcFormBox();\n const hasVueRouterContext = inject(routerKey, null) !== null;\n const tag = computed(() => {\n if (hasVueRouterContext && props.to) {\n return \"RouterLink\";\n } else if (props.href) {\n return \"a\";\n } else {\n return \"button\";\n }\n });\n const hasPressedState = computed(() => tag.value === \"button\" && typeof props.pressed === \"boolean\");\n const variantWithPressed = computed(() => {\n if (props.pressed) {\n return \"primary\";\n }\n if (props.pressed === false && props.variant === \"primary\") {\n return \"secondary\";\n }\n return props.variant;\n });\n const isTertiaryVariant = computed(() => variantWithPressed.value.startsWith(\"tertiary\"));\n const flexAlignment = computed(() => props.alignment.split(\"-\")[0]);\n const isReverseAligned = computed(() => props.alignment.includes(\"-\"));\n const getNcPopoverTriggerAttrs = inject(\"NcPopover:trigger:attrs\", () => ({}), false);\n const ncPopoverTriggerAttrs = computed(() => getNcPopoverTriggerAttrs());\n const attrs = computed(() => {\n if (tag.value === \"RouterLink\") {\n return {\n to: props.to,\n activeClass: \"active\"\n };\n } else if (tag.value === \"a\") {\n return {\n href: props.href || \"#\",\n target: props.target,\n rel: \"nofollow noreferrer noopener\",\n download: props.download || void 0\n };\n } else if (tag.value === \"button\") {\n return {\n ...ncPopoverTriggerAttrs.value,\n \"aria-pressed\": props.pressed,\n type: props.type,\n disabled: props.disabled\n };\n }\n return void 0;\n });\n function onClick(event) {\n if (hasPressedState.value) {\n emit(\"update:pressed\", !props.pressed);\n }\n emit(\"click\", event);\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tag.value), mergeProps({\n class: [\"button-vue\", [\n `button-vue--size-${__props.size}`,\n {\n [`button-vue--${variantWithPressed.value}`]: variantWithPressed.value,\n \"button-vue--tertiary\": isTertiaryVariant.value,\n \"button-vue--wide\": __props.wide,\n [`button-vue--${flexAlignment.value}`]: flexAlignment.value !== \"center\",\n \"button-vue--reverse\": isReverseAligned.value,\n \"button-vue--legacy\": unref(isLegacy),\n \"button-vue--legacy34\": unref(isLegacy34)\n },\n unref(formBoxItemClass)\n ]],\n \"aria-label\": __props.ariaLabel\n }, attrs.value, { onClick }), {\n default: withCtx(() => [\n createElementVNode(\"span\", _hoisted_1, [\n createElementVNode(\"span\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n createElementVNode(\"span\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(__props.text), 1)\n ], true)\n ])\n ])\n ]),\n _: 3\n }, 16, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-47ce59a3\"]]);\nexport {\n NcButton as N\n};\n//# sourceMappingURL=NcButton.mjs.map\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nconst logger = getLoggerBuilder().detectUser().setApp(\"@nextcloud/vue\").build();\nexport {\n logger as l\n};\n//# sourceMappingURL=logger.mjs.map\n","export default function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\tif (typeof options === 'boolean') {\n\t\tthrow new TypeError('The `options` parameter must be an object, not a boolean. Use `{immediate: true}` instead.');\n\t}\n\n\tconst {immediate} = options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t\treturn result;\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n","\n\n"],"names":["isAbsolutePath","path","isRouteComponent","component","isESModule","obj","assign","applyToParams","fn","params","newParams","key","value","isArray","noop","mergeOptions","defaults","partialOptions","options","NavigationFailureSymbol","createRouterError","type","isNavigationFailure","error","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useRouter","inject","useRoute","_name","mdiAlert","mdiAlertCircleOutline","mdiAlertDecagram","mdiArrowLeft","mdiArrowRight","mdiCalendarBlank","mdiCheck","mdiCheckboxBlankOutline","mdiCheckboxMarked","mdiCheckboxMarkedCircle","mdiChevronDown","mdiChevronLeft","mdiChevronRight","mdiChevronUp","mdiClock","mdiClose","mdiCloseCircleOutline","mdiContentCopy","mdiDockLeft","mdiDotsHorizontal","mdiEye","mdiEyeOff","mdiInformation","mdiPause","mdiPlay","mdiUndo","majorVersion","major","isLegacy","isLegacy34","isLegacy35","NC_FORM_BOX_CONTEXT_KEY","useNcFormBox","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","__emit","props","emit","formBoxItemClass","hasVueRouterContext","tag","computed","hasPressedState","variantWithPressed","isTertiaryVariant","flexAlignment","isReverseAligned","getNcPopoverTriggerAttrs","ncPopoverTriggerAttrs","attrs","onClick","event","_ctx","_cache","openBlock","createBlock","resolveDynamicComponent","mergeProps","unref","withCtx","createElementVNode","renderSlot","createTextVNode","toDisplayString","NcButton","_export_sfc","logger","getLoggerBuilder","debounce","function_","wait","immediate","storedContext","storedArguments","timeoutId","timestamp","result","run","callContext","callArguments","later","last","debounced","arguments_","callNow","_createElementBlock","_mergeProps","$props","$event","_createElementVNode","_openBlock"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]} \ No newline at end of file diff --git a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs similarity index 86% rename from dist/AuthMechanismRsa-B38Om0yA.chunk.mjs rename to dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs index 3ecd430adfb83..acb527e6a246f 100644 --- a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs +++ b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs @@ -1,2 +1,2 @@ -import{b as g,q as _,u as o,o as r,c as p,C as x,n as d,w as v,j as V,t as b,x as k,z as E,f,F as M,B as q,a2 as K,a3 as U,k as c,p as j}from"./preload-helper-CseRDAJ7.chunk.mjs";import{c as w}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{a as C}from"./index--e26xJaU.chunk.mjs";import{t as s}from"./fileSize-G68jp3EG.chunk.mjs";import{b as N}from"./formatRelative-CRa9J-kT.chunk.mjs";import{N as S}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{N as z}from"./index-B7TgNgsG.chunk.mjs";import{N as A}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{N as B}from"./NcPasswordField-BX7X04-n.chunk.mjs";import{_ as L}from"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import{a as y,C as O}from"./types-D2WU_JBy.chunk.mjs";import{_ as $}from"./public-Cpb8_kIm.chunk.mjs";import{l as P}from"./logger-DbE0eg35.chunk.mjs";const R=g({__name:"ConfigurationEntry",props:k({configKey:{},configOption:{}},{modelValue:{type:[String,Boolean],default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue");return(l,i)=>e.configOption.type!==o(y).Boolean?(r(),p(x(e.configOption.type===o(y).Password?o(B):o(L)),{key:0,modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=t=>a.value=t),name:e.configKey,required:!(e.configOption.flags&o(O).Optional),label:e.configOption.value,title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},null,8,["modelValue","name","required","label","title","class"])):(r(),p(o(A),{key:1,modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=t=>a.value=t),type:"switch",title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},{default:v(()=>[V(b(e.configOption.value),1)]),_:1},8,["modelValue","title","class"]))}}),F="_configurationEntry_1cmcq_2",G={configurationEntry:F},H={$style:G},T=$(R,[["__cssModules",H]]),D=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),l=j();E(l,()=>{l.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await w.post(N("/apps/files_external/ajax/public_key.php"),{keyLength:l.value});a.value.private_key=t.data.private_key,a.value.public_key=t.data.public_key}catch(t){P.error("Error generating RSA key pair",{error:t}),C(s("files_external","Error generating key pair"))}}return(t,m)=>(r(),f("div",null,[(r(!0),f(M,null,q(e.authMechanism.configuration,(n,u)=>K((r(),p(T,{key:n.value,modelValue:a.value[u],"onUpdate:modelValue":h=>a.value[u]=h,configKey:u,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[U,!(n.flags&o(O).Hidden)]])),128)),c(o(z),{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=n=>l.value=n),clearable:!1,inputLabel:o(s)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),c(o(S),{disabled:!l.value,wide:"",onClick:i},{default:v(()=>[V(b(o(s)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ne=Object.freeze(Object.defineProperty({__proto__:null,default:D},Symbol.toStringTag,{value:"Module"}));export{ne as A,T as C}; -//# sourceMappingURL=AuthMechanismRsa-B38Om0yA.chunk.mjs.map +import{b as g,q as _,u as o,o as r,c as p,C as x,n as d,w as v,j as V,t as b,x as k,z as E,f,F as M,B as q,a2 as K,a3 as U,k as c,p as j}from"./preload-helper-CseRDAJ7.chunk.mjs";import{c as w}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{a as C}from"./index-CIl948Sr.chunk.mjs";import{t as s}from"./fileSize-G68jp3EG.chunk.mjs";import{b as N}from"./formatRelative-CRa9J-kT.chunk.mjs";import{N as S}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{N as z}from"./index-Dz7vUkRa.chunk.mjs";import{N as A}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{N as B}from"./NcPasswordField-j1sClNYM.chunk.mjs";import{_ as L}from"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import{a as y,C as O}from"./types-DG7JweUq.chunk.mjs";import{_ as $}from"./public-Cpb8_kIm.chunk.mjs";import{l as P}from"./logger-DbE0eg35.chunk.mjs";const R=g({__name:"ConfigurationEntry",props:k({configKey:{},configOption:{}},{modelValue:{type:[String,Boolean],default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue");return(l,i)=>e.configOption.type!==o(y).Boolean?(r(),p(x(e.configOption.type===o(y).Password?o(B):o(L)),{key:0,modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=t=>a.value=t),name:e.configKey,required:!(e.configOption.flags&o(O).Optional),label:e.configOption.value,title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},null,8,["modelValue","name","required","label","title","class"])):(r(),p(o(A),{key:1,modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=t=>a.value=t),type:"switch",title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},{default:v(()=>[V(b(e.configOption.value),1)]),_:1},8,["modelValue","title","class"]))}}),F="_configurationEntry_1cmcq_2",G={configurationEntry:F},H={$style:G},T=$(R,[["__cssModules",H]]),D=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),l=j();E(l,()=>{l.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await w.post(N("/apps/files_external/ajax/public_key.php"),{keyLength:l.value});a.value.private_key=t.data.private_key,a.value.public_key=t.data.public_key}catch(t){P.error("Error generating RSA key pair",{error:t}),C(s("files_external","Error generating key pair"))}}return(t,m)=>(r(),f("div",null,[(r(!0),f(M,null,q(e.authMechanism.configuration,(n,u)=>K((r(),p(T,{key:n.value,modelValue:a.value[u],"onUpdate:modelValue":h=>a.value[u]=h,configKey:u,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[U,!(n.flags&o(O).Hidden)]])),128)),c(o(z),{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=n=>l.value=n),clearable:!1,inputLabel:o(s)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),c(o(S),{disabled:!l.value,wide:"",onClick:i},{default:v(()=>[V(b(o(s)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ne=Object.freeze(Object.defineProperty({__proto__:null,default:D},Symbol.toStringTag,{value:"Module"}));export{ne as A,T as C}; +//# sourceMappingURL=AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map diff --git a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.license b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.license similarity index 100% rename from dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.license rename to dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.license diff --git a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.map b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map similarity index 98% rename from dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.map rename to dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map index dba5df0e7cdec..921da1b3f6a93 100644 --- a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.map +++ b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"AuthMechanismRsa-B38Om0yA.chunk.mjs","sources":["../build/frontend/apps/files_external/src/components/AddExternalStorageDialog/ConfigurationEntry.vue","../build/frontend/apps/files_external/src/views/AuthMechanismRsa.vue"],"sourcesContent":["\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["value","_useModel","__props","_unref","ConfigurationType","_createBlock","_resolveDynamicComponent","NcPasswordField","NcTextField","$event","ConfigurationFlag","_normalizeClass","$style","NcCheckboxRadioSwitch","_createTextVNode","_toDisplayString","modelValue","keySize","ref","watch","generateKeys","data","axios","generateUrl","error","logger","showError","t","_createElementBlock","_openBlock","_Fragment","configOption","configKey","ConfigurationEntry","_vShow","_createVNode","NcSelect","NcButton"],"mappings":"qgCAaA,MAAMA,EAAQC,EAA6BC,EAAC,YAA6B,eAWjEA,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,aAF/CC,EAQsCC,EAPhCJ,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,SAAWD,EAAAI,CAAA,EAAkBJ,EAAAK,CAAA,CAAW,EAAA,kBAE5ER,EAAA,2CAAAA,EAAK,MAAAS,GACb,KAAMP,EAAA,UACN,WAAYA,EAAA,aAAa,MAAQC,EAAAO,CAAA,EAAkB,UACnD,MAAOR,EAAA,aAAa,MACpB,MAAOA,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,yEAClCP,EAOwBF,EAAAU,CAAA,EAAA,kBALdb,EAAA,2CAAAA,EAAK,MAAAS,GACd,KAAK,SACJ,MAAOP,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,aACjC,IAAwB,CAArBE,EAAAC,EAAAb,EAAA,aAAa,KAAK,EAAA,CAAA,CAAA,6RClBvB,MAAMc,EAAaf,EAA6CC,EAAA,YAAmB,EAM7Ee,EAAUC,EAAA,EAChBC,EAAMF,EAAS,IAAM,CAChBA,EAAQ,QACXD,EAAW,MAAM,YAAc,GAC/BA,EAAW,MAAM,WAAa,GAEhC,CAAC,EAKD,eAAeI,GAAe,CAC7B,GAAI,CAEH,KAAM,CAAE,KAAAC,GAAS,MAAMC,EAAM,KAAKC,EAAY,0CAA0C,EAAG,CAC1F,UAAWN,EAAQ,KAAA,CACnB,EAEDD,EAAW,MAAM,YAAcK,EAAK,KAAK,YACzCL,EAAW,MAAM,WAAaK,EAAK,KAAK,UACzC,OAASG,EAAO,CACfC,EAAO,MAAM,gCAAiC,CAAE,MAAAD,CAAA,CAAO,EACvDE,EAAUC,EAAE,iBAAkB,2BAA2B,CAAC,CAC3D,CACD,mBAICC,EAsBM,MAAA,KAAA,EArBLC,EAAA,EAAA,EAAAD,EAMgCE,SALG5B,EAAA,cAAc,cAAa,CAAtD6B,EAAcC,WADtB3B,EAMgC4B,EAAA,CAH9B,IAAKF,EAAa,MACV,WAAAf,EAAA,MAAWgB,CAAS,EAApB,sBAAAvB,GAAAO,EAAA,MAAWgB,CAAS,EAAAvB,EAC5B,UAAAuB,EACA,aAAAD,CAAA,4EAJS,CAAAG,EAAA,EAAAH,EAAa,MAAQ5B,EAAAO,CAAA,EAAkB,OAAM,CAAA,UAMxDyB,EAKYhC,EAAAiC,CAAA,EAAA,YAJFnB,EAAA,2CAAAA,EAAO,MAAAR,GACf,UAAW,GACX,WAAYN,EAAAwB,CAAA,EAAC,iBAAA,UAAA,EACb,QAAS,CAAA,KAAA,KAAA,IAAA,EACV,SAAA,EAAA,sCAEDQ,EAKWhC,EAAAkC,CAAA,EAAA,CAJT,UAAWpB,EAAA,MACZ,KAAA,GACC,QAAOG,CAAA,aACR,IAA0C,KAAvCjB,EAAAwB,CAAA,EAAC,iBAAA,eAAA,CAAA,EAAA,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"AuthMechanismRsa-gt_1fdSZ.chunk.mjs","sources":["../build/frontend/apps/files_external/src/components/AddExternalStorageDialog/ConfigurationEntry.vue","../build/frontend/apps/files_external/src/views/AuthMechanismRsa.vue"],"sourcesContent":["\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["value","_useModel","__props","_unref","ConfigurationType","_createBlock","_resolveDynamicComponent","NcPasswordField","NcTextField","$event","ConfigurationFlag","_normalizeClass","$style","NcCheckboxRadioSwitch","_createTextVNode","_toDisplayString","modelValue","keySize","ref","watch","generateKeys","data","axios","generateUrl","error","logger","showError","t","_createElementBlock","_openBlock","_Fragment","configOption","configKey","ConfigurationEntry","_vShow","_createVNode","NcSelect","NcButton"],"mappings":"qgCAaA,MAAMA,EAAQC,EAA6BC,EAAC,YAA6B,eAWjEA,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,aAF/CC,EAQsCC,EAPhCJ,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,SAAWD,EAAAI,CAAA,EAAkBJ,EAAAK,CAAA,CAAW,EAAA,kBAE5ER,EAAA,2CAAAA,EAAK,MAAAS,GACb,KAAMP,EAAA,UACN,WAAYA,EAAA,aAAa,MAAQC,EAAAO,CAAA,EAAkB,UACnD,MAAOR,EAAA,aAAa,MACpB,MAAOA,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,yEAClCP,EAOwBF,EAAAU,CAAA,EAAA,kBALdb,EAAA,2CAAAA,EAAK,MAAAS,GACd,KAAK,SACJ,MAAOP,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,aACjC,IAAwB,CAArBE,EAAAC,EAAAb,EAAA,aAAa,KAAK,EAAA,CAAA,CAAA,6RClBvB,MAAMc,EAAaf,EAA6CC,EAAA,YAAmB,EAM7Ee,EAAUC,EAAA,EAChBC,EAAMF,EAAS,IAAM,CAChBA,EAAQ,QACXD,EAAW,MAAM,YAAc,GAC/BA,EAAW,MAAM,WAAa,GAEhC,CAAC,EAKD,eAAeI,GAAe,CAC7B,GAAI,CAEH,KAAM,CAAE,KAAAC,GAAS,MAAMC,EAAM,KAAKC,EAAY,0CAA0C,EAAG,CAC1F,UAAWN,EAAQ,KAAA,CACnB,EAEDD,EAAW,MAAM,YAAcK,EAAK,KAAK,YACzCL,EAAW,MAAM,WAAaK,EAAK,KAAK,UACzC,OAASG,EAAO,CACfC,EAAO,MAAM,gCAAiC,CAAE,MAAAD,CAAA,CAAO,EACvDE,EAAUC,EAAE,iBAAkB,2BAA2B,CAAC,CAC3D,CACD,mBAICC,EAsBM,MAAA,KAAA,EArBLC,EAAA,EAAA,EAAAD,EAMgCE,SALG5B,EAAA,cAAc,cAAa,CAAtD6B,EAAcC,WADtB3B,EAMgC4B,EAAA,CAH9B,IAAKF,EAAa,MACV,WAAAf,EAAA,MAAWgB,CAAS,EAApB,sBAAAvB,GAAAO,EAAA,MAAWgB,CAAS,EAAAvB,EAC5B,UAAAuB,EACA,aAAAD,CAAA,4EAJS,CAAAG,EAAA,EAAAH,EAAa,MAAQ5B,EAAAO,CAAA,EAAkB,OAAM,CAAA,UAMxDyB,EAKYhC,EAAAiC,CAAA,EAAA,YAJFnB,EAAA,2CAAAA,EAAO,MAAAR,GACf,UAAW,GACX,WAAYN,EAAAwB,CAAA,EAAC,iBAAA,UAAA,EACb,QAAS,CAAA,KAAA,KAAA,IAAA,EACV,SAAA,EAAA,sCAEDQ,EAKWhC,EAAAkC,CAAA,EAAA,CAJT,UAAWpB,EAAA,MACZ,KAAA,GACC,QAAOG,CAAA,aACR,IAA0C,KAAvCjB,EAAAwB,CAAA,EAAC,iBAAA,eAAA,CAAA,EAAA,CAAA,CAAA"} \ No newline at end of file diff --git a/dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.map.license b/dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map.license similarity index 100% rename from dist/AuthMechanismRsa-B38Om0yA.chunk.mjs.map.license rename to dist/AuthMechanismRsa-gt_1fdSZ.chunk.mjs.map.license diff --git a/dist/CommentView-DnzWMLuu.chunk.mjs b/dist/CommentView-C1OxkMFD.chunk.mjs similarity index 89% rename from dist/CommentView-DnzWMLuu.chunk.mjs rename to dist/CommentView-C1OxkMFD.chunk.mjs index 6d962bdeb7cdd..62cfd8e5b1d86 100644 --- a/dist/CommentView-DnzWMLuu.chunk.mjs +++ b/dist/CommentView-C1OxkMFD.chunk.mjs @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/index-BsUuWzEt.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-gS7jb_sQ.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CseRDAJ7.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-Dh4E-ofN.chunk.mjs'),window.OC.filePath('', '', 'dist/fileSize-G68jp3EG.chunk.mjs'),window.OC.filePath('', '', 'dist/public-Cpb8_kIm.chunk.mjs'),window.OC.filePath('', '', 'dist/formatRelative-CRa9J-kT.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-3plNpBrB.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-HI1jFdhm.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-DwcDrXRM.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-71nQ0O0g.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-Cclh_O_-.chunk.css'),window.OC.filePath('', '', 'dist/autolink-e8hCDu5_.chunk.mjs'),window.OC.filePath('', '', 'dist/common-autolink-B8CEsDGb.chunk.css'),window.OC.filePath('', '', 'dist/colors-Bnsgqd1Q.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-bqRVJR4A.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcActionButton-e8yDlmyF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcActionButton-BQBDvDX2.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-nu2hAc7o.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Cfr8gsXf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-C_ZSEW-_.chunk.css'),window.OC.filePath('', '', 'dist/emoji-FRq4TQ2p.chunk.mjs'),window.OC.filePath('', '', 'dist/NcRichText-SGcz6ixT.chunk.mjs'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-wO334SEx.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-BAaFbykd.chunk.css'),window.OC.filePath('', '', 'dist/common-NcRichText-DVtX8ulO.chunk.css'),window.OC.filePath('', '', 'dist/index-Lwk3gi9p.chunk.mjs'),window.OC.filePath('', '', 'dist/index-B7TgNgsG.chunk.mjs'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-B-Jofi4I.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-B5YBBomo.chunk.css'),window.OC.filePath('', '', 'dist/common-index-CRfKBhKV.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-DdkCG_JC.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/common-index-Bkq_iXjX.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DBjOe6uk.chunk.css')])))=>i.map(i=>d[i]); -import{o as n,f as h,g as u,t as y,h as N,m as V,a as L,_ as v,r as c,a2 as U,a3 as W,c as p,w as m,k as d,F as H,j as _,I as Z,n as w,C as G,b as J}from"./preload-helper-CseRDAJ7.chunk.mjs";import{a as f,c as K}from"./formatRelative-CRa9J-kT.chunk.mjs";import{t as Q}from"./fileSize-G68jp3EG.chunk.mjs";import{d as X,m as A}from"./pinia-BQvrkX0t.chunk.mjs";import{N as Y}from"./NcActionButton-e8yDlmyF.chunk.mjs";import{d as ee}from"./NcModal-71nQ0O0g.chunk.mjs";/* empty css */import{_ as te}from"./createElementId-Dh4E-ofN.chunk.mjs";import{N as oe}from"./NcAvatar-HI1jFdhm.chunk.mjs";import{N as ie,A as se}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{_ as ae}from"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import{N as re,P as ne}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{N as ce}from"./NcUserBubble-DjSSJ27b.chunk.mjs";import{_ as S,l as me}from"./public-Cpb8_kIm.chunk.mjs";import{c as x,D as de}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{a as I,T as le,u as ue}from"./index--e26xJaU.chunk.mjs";import{l as g}from"./activity-D3DGugVa.chunk.mjs";import{c as D,a as pe}from"./GetComments-BMsBPleK.chunk.mjs";const he={name:"NcActionSeparator"},ge={class:"action action-separator action--disabled",role:"separator"};function ye(e,o,i,a,r,s){return n(),h("li",ge)}const fe=te(he,[["render",ye],["__scopeId","data-v-3e2324b7"]]),be={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=["aria-hidden","aria-label"],_e=["fill","width","height"],Ie={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},Ne={key:0};function De(e,o,i,a,r,s){return n(),h("span",V(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon close-icon",role:"img",onClick:o[0]||(o[0]=b=>e.$emit("click",b))}),[(n(),h("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[u("path",Ie,[i.title?(n(),h("title",Ne,y(i.title),1)):N("",!0)])],8,_e))],16,Ce)}const ke=S(be,[["render",De]]);async function we(e,o,i){const a=["",e,o,i].join("/");await D.deleteFile(a)}async function Te(e,o,i,a){const r=["",e,o,i].join("/");return await D.customRequest(r,{method:"PROPPATCH",data:` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/index-DYjiTP4W.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-Df3E_Asm.chunk.mjs'),window.OC.filePath('', '', 'dist/preload-helper-CseRDAJ7.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-Dh4E-ofN.chunk.mjs'),window.OC.filePath('', '', 'dist/fileSize-G68jp3EG.chunk.mjs'),window.OC.filePath('', '', 'dist/public-Cpb8_kIm.chunk.mjs'),window.OC.filePath('', '', 'dist/formatRelative-CRa9J-kT.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-ArrowRight-3plNpBrB.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-DOAqo5-K.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-DwcDrXRM.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-BiE9lNuC.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-Cclh_O_-.chunk.css'),window.OC.filePath('', '', 'dist/autolink-tBB0cdjL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-autolink-B8CEsDGb.chunk.css'),window.OC.filePath('', '', 'dist/colors-Bnsgqd1Q.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-7DgqLTNh.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcActionButton-DrNkZJlL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcActionButton-BQBDvDX2.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-nu2hAc7o.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-Cfr8gsXf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-C_ZSEW-_.chunk.css'),window.OC.filePath('', '', 'dist/emoji-FRq4TQ2p.chunk.mjs'),window.OC.filePath('', '', 'dist/NcRichText-D0KNDwXS.chunk.mjs'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-wO334SEx.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-BAaFbykd.chunk.css'),window.OC.filePath('', '', 'dist/common-NcRichText-DVtX8ulO.chunk.css'),window.OC.filePath('', '', 'dist/index--GjTq3oQ.chunk.mjs'),window.OC.filePath('', '', 'dist/index-Dz7vUkRa.chunk.mjs'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-BP0iTyVP.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Web-B5YBBomo.chunk.css'),window.OC.filePath('', '', 'dist/common-index-CRfKBhKV.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-DdkCG_JC.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/common-index-Bkq_iXjX.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DBjOe6uk.chunk.css')])))=>i.map(i=>d[i]); +import{o as n,f as h,g as u,t as y,h as N,m as V,a as L,_ as v,r as c,a2 as U,a3 as W,c as p,w as m,k as d,F as H,j as _,I as Z,n as w,C as G,b as J}from"./preload-helper-CseRDAJ7.chunk.mjs";import{a as f,c as K}from"./formatRelative-CRa9J-kT.chunk.mjs";import{t as Q}from"./fileSize-G68jp3EG.chunk.mjs";import{d as X,m as A}from"./pinia-BQvrkX0t.chunk.mjs";import{N as Y}from"./NcActionButton-DrNkZJlL.chunk.mjs";import{d as ee}from"./NcModal-BiE9lNuC.chunk.mjs";/* empty css */import{_ as te}from"./createElementId-Dh4E-ofN.chunk.mjs";import{N as oe}from"./NcAvatar-DOAqo5-K.chunk.mjs";import{N as ie,A as se}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{_ as ae}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import{N as re,P as ne}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{N as ce}from"./NcUserBubble-BMel2src.chunk.mjs";import{_ as S,l as me}from"./public-Cpb8_kIm.chunk.mjs";import{c as x,D as de}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{a as I,T as le,u as ue}from"./index-CIl948Sr.chunk.mjs";import{l as g}from"./activity-D3DGugVa.chunk.mjs";import{c as D,a as pe}from"./GetComments-BMsBPleK.chunk.mjs";const he={name:"NcActionSeparator"},ge={class:"action action-separator action--disabled",role:"separator"};function ye(e,o,i,a,r,s){return n(),h("li",ge)}const fe=te(he,[["render",ye],["__scopeId","data-v-3e2324b7"]]),be={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=["aria-hidden","aria-label"],_e=["fill","width","height"],Ie={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},Ne={key:0};function De(e,o,i,a,r,s){return n(),h("span",V(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon close-icon",role:"img",onClick:o[0]||(o[0]=b=>e.$emit("click",b))}),[(n(),h("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[u("path",Ie,[i.title?(n(),h("title",Ne,y(i.title),1)):N("",!0)])],8,_e))],16,Ce)}const ke=S(be,[["render",De]]);async function we(e,o,i){const a=["",e,o,i].join("/");await D.deleteFile(a)}async function Te(e,o,i,a){const r=["",e,o,i].join("/");return await D.customRequest(r,{method:"PROPPATCH",data:` @@ -8,5 +8,5 @@ import{o as n,f as h,g as u,t as y,h as N,m as V,a as L,_ as v,r as c,a2 as U,a3 ${a} - `})}function T(e,o=1){const i=new DOMParser;let a=e;for(let r=0;r({idsInLimbo:[]}),actions:{addId(e){this.idsInLimbo.push(e)},removeId(e){const o=this.idsInLimbo.indexOf(e);o>-1&&this.idsInLimbo.splice(o,1)},checkForId(e){return this.idsInLimbo.includes(e)}}}),ve={props:{id:{type:Number,default:null},message:{type:String,default:""},resourceId:{type:[String,Number],required:!0},resourceType:{type:String,default:"files"}},data(){return{deleted:!1,editing:!1,loading:!1}},computed:{...A(M)},methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(e){this.loading=!0;try{await Te(this.resourceType,this.resourceId,this.id,e),g.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:e}),this.$emit("update:message",e),this.editing=!1}catch(o){I(t("comments","An error occurred while trying to edit the comment")),g.error("An error occurred while trying to edit the comment",{error:o})}finally{this.loading=!1}},onDeleteWithUndo(){this.$emit("delete"),this.deleted=!0,this.deletedCommentLimboStore.addId(this.id);const e=setTimeout(this.onDelete,le);ue(t("comments","Comment deleted"),()=>{clearTimeout(e),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)})},async onDelete(){try{await we(this.resourceType,this.resourceId,this.id),g.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(e){I(t("comments","An error occurred while trying to delete the comment")),g.error("An error occurred while trying to delete the comment",{error:e}),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)}},async onNewComment(e){this.loading=!0;try{const o=await Le(this.resourceType,this.resourceId,e);g.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:o}),this.$emit("new",o),this.$emit("update:message",""),this.localMessage=""}catch(o){I(t("comments","An error occurred while trying to create the comment")),g.error("An error occurred while trying to create the comment",{error:o})}finally{this.loading=!1}}}},Ae=L(()=>v(()=>import("./index-BsUuWzEt.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url)),Se=L(()=>v(()=>import("./index-Lwk3gi9p.chunk.mjs"),__vite__mapDeps([30,26,2,13,1,3,4,5,6,7,8,14,27,22,23,28,10,11,12,29,31,32,33,34,35,36,37,38]),import.meta.url)),xe={name:"Comment",components:{IconArrowRight:se,IconClose:ke,IconTrashCanOutline:de,IconPencilOutline:ne,NcActionButton:Y,NcActions:ee,NcActionSeparator:fe,NcAvatar:oe,NcButton:ie,NcDateTime:ae,NcLoadingIcon:re,NcRichContenteditable:Ae,NcRichText:Se},mixins:[ve],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},userData:{type:Object,default:()=>({})},tag:{type:String,default:"div"}},data(){return{expanded:!1,localMessage:"",submitted:!1}},computed:{...A(M),isOwnComment(){return f().uid===this.actorId},richContent(){const e={};let o=this.localMessage;return Object.keys(this.userData).forEach((i,a)=>{const r=`mention-${a}`,s=new RegExp(`@${i}|@"${i}"`,"g");o=o.replace(s,`{${r}}`),e[r]={component:ce,props:{user:i,displayName:this.userData[i].label,primary:this.userData[i].primary}}}),{mentions:e,message:o}},isEmptyMessage(){return!this.localMessage||this.localMessage.trim()===""},timestamp(){return Date.parse(this.creationDateTime)},isLimbo(){return this.deletedCommentLimboStore.checkForId(this.id)}},watch:{message(e){this.updateLocalMessage(e)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:Q,updateLocalMessage(e){this.localMessage=e.toString(),this.submitted=!1},onSubmit(){if(this.localMessage.trim()!==""){if(this.editor){this.onNewComment(this.localMessage.trim()),this.$nextTick(()=>{this.$refs.editor.$el.focus()});return}this.onEditComment(this.localMessage.trim())}},onExpand(){this.expanded=!0}}},Me={class:"comment__side"},Ee={class:"comment__body"},Oe={class:"comment__header"},Re={class:"comment__author"},$e={key:1,class:"comment_loading icon-loading-small"},je={class:"comment__editor-group"},Pe={class:"comment__submit"},ze={id:"tab-comments__editor-description",class:"comment__editor-description"};function qe(e,o,i,a,r,s){const b=c("NcAvatar"),C=c("IconPencilOutline"),l=c("NcActionButton"),E=c("NcActionSeparator"),O=c("IconTrashCanOutline"),R=c("IconClose"),$=c("NcActions"),j=c("NcDateTime"),P=c("NcRichContenteditable"),z=c("NcLoadingIcon"),q=c("IconArrowRight"),B=c("NcButton"),F=c("NcRichText");return U((n(),p(G(i.tag),{class:w([{"comment--loading":e.loading},"comment"])},{default:m(()=>[u("div",Me,[d(b,{class:"comment__avatar",displayName:i.actorDisplayName,user:i.actorId,size:32},null,8,["displayName","user"])]),u("div",Ee,[u("div",Oe,[u("span",Re,y(i.actorDisplayName),1),s.isOwnComment&&e.id&&!e.loading?(n(),p($,{key:0,class:"comment__actions"},{default:m(()=>[e.editing?(n(),p(l,{key:1,onClick:e.onEditCancel},{icon:m(()=>[d(R,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Cancel edit")),1)]),_:1},8,["onClick"])):(n(),h(H,{key:0},[d(l,{closeAfterClick:"",onClick:e.onEdit},{icon:m(()=>[d(C,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Edit comment")),1)]),_:1},8,["onClick"]),d(E),d(l,{closeAfterClick:"",onClick:e.onDeleteWithUndo},{icon:m(()=>[d(O,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Delete comment")),1)]),_:1},8,["onClick"])],64))]),_:1})):N("",!0),e.id&&e.loading?(n(),h("div",$e)):i.creationDateTime?(n(),p(j,{key:2,class:"comment__timestamp",timestamp:s.timestamp,ignoreSeconds:!0},null,8,["timestamp"])):N("",!0)]),i.editor||e.editing?(n(),h("form",{key:0,class:"comment__editor",onSubmit:o[2]||(o[2]=Z(()=>{},["prevent"]))},[u("div",je,[d(P,{ref:"editor",modelValue:r.localMessage,"onUpdate:modelValue":[o[0]||(o[0]=k=>r.localMessage=k),o[1]||(o[1]=k=>r.submitted=!1)],autoComplete:i.autoComplete,contenteditable:!e.loading,label:i.editor?s.t("comments","New comment"):s.t("comments","Edit comment"),placeholder:s.t("comments","Write a comment …"),userData:i.userData,"aria-describedby":"tab-comments__editor-description",onSubmit:s.onSubmit},null,8,["modelValue","autoComplete","contenteditable","label","placeholder","userData","onSubmit"]),u("div",Pe,[d(B,{variant:"tertiary-no-background",type:"submit","aria-label":s.t("comments","Post comment"),disabled:s.isEmptyMessage,onClick:s.onSubmit},{icon:m(()=>[e.loading?(n(),p(z,{key:0})):(n(),p(q,{key:1,size:20}))]),_:1},8,["aria-label","disabled","onClick"])])]),u("div",ze,y(s.t("comments","@ for mentions, : for emoji, / for smart picker")),1)],32)):(n(),p(F,{key:1,class:w(["comment__message",{"comment__message--expanded":r.expanded}]),text:s.richContent.message,arguments:s.richContent.mentions,useMarkdown:"",onClick:s.onExpand},null,8,["class","text","arguments","onClick"]))])]),_:1},8,["class"])),[[W,!e.deleted&&!s.isLimbo]])}const at=S(xe,[["render",qe],["__scopeId","data-v-767e5a19"]]),rt=J({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data(){return{editorData:{actorDisplayName:f().displayName,actorId:f().uid,key:"editor"},userData:{},currentResourceId:this.resourceId}},methods:{async autoComplete(e,o){const{data:i}=await x.get(K("core/autocomplete/get"),{params:{search:e,itemType:this.resourceType,itemId:this.currentResourceId,sorter:"commenters|share-recipients",limit:me("comments","maxAutoCompleteResults")}});return i.ocs.data.forEach(a=>{this.userData[a.id]=a}),o(Object.values(this.userData))},genMentionsData(e){return Object.values(e).flat().forEach(o=>{this.userData[o.mentionId]={icon:"icon-user",id:o.mentionId,label:o.mentionDisplayName,source:"users",primary:f()?.uid===o.mentionId}}),this.userData}}});export{rt as C,at as a}; -//# sourceMappingURL=CommentView-DnzWMLuu.chunk.mjs.map + `})}function T(e,o=1){const i=new DOMParser;let a=e;for(let r=0;r({idsInLimbo:[]}),actions:{addId(e){this.idsInLimbo.push(e)},removeId(e){const o=this.idsInLimbo.indexOf(e);o>-1&&this.idsInLimbo.splice(o,1)},checkForId(e){return this.idsInLimbo.includes(e)}}}),ve={props:{id:{type:Number,default:null},message:{type:String,default:""},resourceId:{type:[String,Number],required:!0},resourceType:{type:String,default:"files"}},data(){return{deleted:!1,editing:!1,loading:!1}},computed:{...A(M)},methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(e){this.loading=!0;try{await Te(this.resourceType,this.resourceId,this.id,e),g.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:e}),this.$emit("update:message",e),this.editing=!1}catch(o){I(t("comments","An error occurred while trying to edit the comment")),g.error("An error occurred while trying to edit the comment",{error:o})}finally{this.loading=!1}},onDeleteWithUndo(){this.$emit("delete"),this.deleted=!0,this.deletedCommentLimboStore.addId(this.id);const e=setTimeout(this.onDelete,le);ue(t("comments","Comment deleted"),()=>{clearTimeout(e),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)})},async onDelete(){try{await we(this.resourceType,this.resourceId,this.id),g.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(e){I(t("comments","An error occurred while trying to delete the comment")),g.error("An error occurred while trying to delete the comment",{error:e}),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)}},async onNewComment(e){this.loading=!0;try{const o=await Le(this.resourceType,this.resourceId,e);g.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:o}),this.$emit("new",o),this.$emit("update:message",""),this.localMessage=""}catch(o){I(t("comments","An error occurred while trying to create the comment")),g.error("An error occurred while trying to create the comment",{error:o})}finally{this.loading=!1}}}},Ae=L(()=>v(()=>import("./index-DYjiTP4W.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url)),Se=L(()=>v(()=>import("./index--GjTq3oQ.chunk.mjs"),__vite__mapDeps([30,26,2,13,1,3,4,5,6,7,8,14,27,22,23,28,10,11,12,29,31,32,33,34,35,36,37,38]),import.meta.url)),xe={name:"Comment",components:{IconArrowRight:se,IconClose:ke,IconTrashCanOutline:de,IconPencilOutline:ne,NcActionButton:Y,NcActions:ee,NcActionSeparator:fe,NcAvatar:oe,NcButton:ie,NcDateTime:ae,NcLoadingIcon:re,NcRichContenteditable:Ae,NcRichText:Se},mixins:[ve],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},userData:{type:Object,default:()=>({})},tag:{type:String,default:"div"}},data(){return{expanded:!1,localMessage:"",submitted:!1}},computed:{...A(M),isOwnComment(){return f().uid===this.actorId},richContent(){const e={};let o=this.localMessage;return Object.keys(this.userData).forEach((i,a)=>{const r=`mention-${a}`,s=new RegExp(`@${i}|@"${i}"`,"g");o=o.replace(s,`{${r}}`),e[r]={component:ce,props:{user:i,displayName:this.userData[i].label,primary:this.userData[i].primary}}}),{mentions:e,message:o}},isEmptyMessage(){return!this.localMessage||this.localMessage.trim()===""},timestamp(){return Date.parse(this.creationDateTime)},isLimbo(){return this.deletedCommentLimboStore.checkForId(this.id)}},watch:{message(e){this.updateLocalMessage(e)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:Q,updateLocalMessage(e){this.localMessage=e.toString(),this.submitted=!1},onSubmit(){if(this.localMessage.trim()!==""){if(this.editor){this.onNewComment(this.localMessage.trim()),this.$nextTick(()=>{this.$refs.editor.$el.focus()});return}this.onEditComment(this.localMessage.trim())}},onExpand(){this.expanded=!0}}},Me={class:"comment__side"},Ee={class:"comment__body"},Oe={class:"comment__header"},Re={class:"comment__author"},$e={key:1,class:"comment_loading icon-loading-small"},je={class:"comment__editor-group"},Pe={class:"comment__submit"},ze={id:"tab-comments__editor-description",class:"comment__editor-description"};function qe(e,o,i,a,r,s){const b=c("NcAvatar"),C=c("IconPencilOutline"),l=c("NcActionButton"),E=c("NcActionSeparator"),O=c("IconTrashCanOutline"),R=c("IconClose"),$=c("NcActions"),j=c("NcDateTime"),P=c("NcRichContenteditable"),z=c("NcLoadingIcon"),q=c("IconArrowRight"),B=c("NcButton"),F=c("NcRichText");return U((n(),p(G(i.tag),{class:w([{"comment--loading":e.loading},"comment"])},{default:m(()=>[u("div",Me,[d(b,{class:"comment__avatar",displayName:i.actorDisplayName,user:i.actorId,size:32},null,8,["displayName","user"])]),u("div",Ee,[u("div",Oe,[u("span",Re,y(i.actorDisplayName),1),s.isOwnComment&&e.id&&!e.loading?(n(),p($,{key:0,class:"comment__actions"},{default:m(()=>[e.editing?(n(),p(l,{key:1,onClick:e.onEditCancel},{icon:m(()=>[d(R,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Cancel edit")),1)]),_:1},8,["onClick"])):(n(),h(H,{key:0},[d(l,{closeAfterClick:"",onClick:e.onEdit},{icon:m(()=>[d(C,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Edit comment")),1)]),_:1},8,["onClick"]),d(E),d(l,{closeAfterClick:"",onClick:e.onDeleteWithUndo},{icon:m(()=>[d(O,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Delete comment")),1)]),_:1},8,["onClick"])],64))]),_:1})):N("",!0),e.id&&e.loading?(n(),h("div",$e)):i.creationDateTime?(n(),p(j,{key:2,class:"comment__timestamp",timestamp:s.timestamp,ignoreSeconds:!0},null,8,["timestamp"])):N("",!0)]),i.editor||e.editing?(n(),h("form",{key:0,class:"comment__editor",onSubmit:o[2]||(o[2]=Z(()=>{},["prevent"]))},[u("div",je,[d(P,{ref:"editor",modelValue:r.localMessage,"onUpdate:modelValue":[o[0]||(o[0]=k=>r.localMessage=k),o[1]||(o[1]=k=>r.submitted=!1)],autoComplete:i.autoComplete,contenteditable:!e.loading,label:i.editor?s.t("comments","New comment"):s.t("comments","Edit comment"),placeholder:s.t("comments","Write a comment …"),userData:i.userData,"aria-describedby":"tab-comments__editor-description",onSubmit:s.onSubmit},null,8,["modelValue","autoComplete","contenteditable","label","placeholder","userData","onSubmit"]),u("div",Pe,[d(B,{variant:"tertiary-no-background",type:"submit","aria-label":s.t("comments","Post comment"),disabled:s.isEmptyMessage,onClick:s.onSubmit},{icon:m(()=>[e.loading?(n(),p(z,{key:0})):(n(),p(q,{key:1,size:20}))]),_:1},8,["aria-label","disabled","onClick"])])]),u("div",ze,y(s.t("comments","@ for mentions, : for emoji, / for smart picker")),1)],32)):(n(),p(F,{key:1,class:w(["comment__message",{"comment__message--expanded":r.expanded}]),text:s.richContent.message,arguments:s.richContent.mentions,useMarkdown:"",onClick:s.onExpand},null,8,["class","text","arguments","onClick"]))])]),_:1},8,["class"])),[[W,!e.deleted&&!s.isLimbo]])}const at=S(xe,[["render",qe],["__scopeId","data-v-767e5a19"]]),rt=J({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data(){return{editorData:{actorDisplayName:f().displayName,actorId:f().uid,key:"editor"},userData:{},currentResourceId:this.resourceId}},methods:{async autoComplete(e,o){const{data:i}=await x.get(K("core/autocomplete/get"),{params:{search:e,itemType:this.resourceType,itemId:this.currentResourceId,sorter:"commenters|share-recipients",limit:me("comments","maxAutoCompleteResults")}});return i.ocs.data.forEach(a=>{this.userData[a.id]=a}),o(Object.values(this.userData))},genMentionsData(e){return Object.values(e).flat().forEach(o=>{this.userData[o.mentionId]={icon:"icon-user",id:o.mentionId,label:o.mentionDisplayName,source:"users",primary:f()?.uid===o.mentionId}}),this.userData}}});export{rt as C,at as a}; +//# sourceMappingURL=CommentView-C1OxkMFD.chunk.mjs.map diff --git a/dist/CommentView-DnzWMLuu.chunk.mjs.license b/dist/CommentView-C1OxkMFD.chunk.mjs.license similarity index 100% rename from dist/CommentView-DnzWMLuu.chunk.mjs.license rename to dist/CommentView-C1OxkMFD.chunk.mjs.license diff --git a/dist/CommentView-DnzWMLuu.chunk.mjs.map b/dist/CommentView-C1OxkMFD.chunk.mjs.map similarity index 99% rename from dist/CommentView-DnzWMLuu.chunk.mjs.map rename to dist/CommentView-C1OxkMFD.chunk.mjs.map index b98c4eb781007..2016bfec0d55a 100644 --- a/dist/CommentView-DnzWMLuu.chunk.mjs.map +++ b/dist/CommentView-C1OxkMFD.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["_sfc_main","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","NcActionSeparator","_export_sfc","_hoisted_3","_createElementBlock","_mergeProps","$event","_createElementVNode","_openBlock","DeleteComment","resourceType","resourceId","commentId","commentPath","client","EditComment","message","decodeHtmlEntities","value","passes","parser","decoded","i","NewComment","resourcePath","response","axios","getRootPath","getCurrentUser","comment","props","useDeletedCommentLimbo","defineStore","id","index","CommentMixin","mapStores","logger","error","showError","timeOutDelete","TOAST_UNDO_TIMEOUT","showUndo","newComment","NcRichContenteditable","defineAsyncComponent","NcRichText","IconArrowRight","IconClose","IconTrashCanOutline","IconPencilOutline","NcActionButton","NcActions","NcAvatar","NcButton","NcDateTime","NcLoadingIcon","mentions","user","key","regex","NcUserBubble","t","_hoisted_2","_hoisted_4","_hoisted_6","_hoisted_7","_withDirectives","_createBlock","_resolveDynamicComponent","_normalizeClass","_createVNode","_component_NcAvatar","_toDisplayString","_component_NcActions","_component_NcActionButton","_component_IconClose","_createTextVNode","_Fragment","_component_IconPencilOutline","_component_NcActionSeparator","_component_IconTrashCanOutline","_hoisted_5","_component_NcDateTime","_component_NcRichContenteditable","_component_NcButton","_component_NcLoadingIcon","_component_IconArrowRight","_hoisted_8","_component_NcRichText","_vShow","CommentView","defineComponent","search","callback","data","generateOcsUrl","loadState","mention"],"ignoreList":[0,1],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionSeparator.mjs","../node_modules/vue-material-design-icons/Close.vue","../build/frontend/apps/comments/src/services/DeleteComment.ts","../build/frontend/apps/comments/src/services/EditComment.ts","../build/frontend/apps/comments/src/utils/decodeHtmlEntities.ts","../build/frontend/apps/comments/src/services/NewComment.ts","../build/frontend/apps/comments/src/store/deletedCommentLimbo.ts","../build/frontend/apps/comments/src/mixins/CommentMixin.ts","../build/frontend/apps/comments/src/components/Comment.vue","../build/frontend/apps/comments/src/mixins/CommentView.ts"],"sourcesContent":["import '../assets/NcActionSeparator.css';\nimport { openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionSeparator\"\n};\nconst _hoisted_1 = {\n class: \"action action-separator action--disabled\",\n role: \"separator\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n}\nconst NcActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-3e2324b7\"]]);\nexport {\n NcActionSeparator as N\n};\n//# sourceMappingURL=NcActionSeparator.mjs.map\n","\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Delete a comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Edit an existing comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n * @param message the message content\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number, message: string) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param value - the string to decode\n * @param passes - the number of times to decode the string, default is 1\n */\nexport function decodeHtmlEntities(value: string, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getRootPath } from '../utils/davUtils.ts'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.ts'\nimport client from './DavClient.ts'\n\n/**\n * Retrieve the comments list\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param message the message\n * @return The new comment\n */\nexport default async function(resourceType: string, resourceId: number, message: string) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser()!.displayName,\n\t\tactorId: getCurrentUser()!.uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineStore } from 'pinia'\n\nexport const useDeletedCommentLimbo = defineStore('deletedCommentLimbo', {\n\tstate: () => ({\n\t\tidsInLimbo: [],\n\t}),\n\tactions: {\n\t\taddId(id) {\n\t\t\tthis.idsInLimbo.push(id)\n\t\t},\n\n\t\tremoveId(id) {\n\t\t\tconst index = this.idsInLimbo.indexOf(id)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.idsInLimbo.splice(index, 1)\n\t\t\t}\n\t\t},\n\n\t\tcheckForId(id) {\n\t\t\treturn this.idsInLimbo.includes(id)\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport { mapStores } from 'pinia'\nimport logger from '../logger.ts'\nimport DeleteComment from '../services/DeleteComment.ts'\nimport EditComment from '../services/EditComment.ts'\nimport NewComment from '../services/NewComment.ts'\nimport { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapStores(useDeletedCommentLimbo),\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to edit the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.$emit('delete')\n\t\t\tthis.deleted = true\n\t\t\tthis.deletedCommentLimboStore.addId(this.id)\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to delete the comment', { error })\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to create the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tprops: {\n\t\tresourceId: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\teditorData: {\n\t\t\t\tactorDisplayName: getCurrentUser()!.displayName as string,\n\t\t\t\tactorId: getCurrentUser()!.uid as string,\n\t\t\t\tkey: 'editor',\n\t\t\t},\n\t\t\tuserData: {},\n\t\t\tcurrentResourceId: this.resourceId,\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Autocomplete `@mentions`\n\t\t *\n\t\t * @param search the query\n\t\t * @param callback the callback to process the results with\n\t\t */\n\t\tasync autoComplete(search, callback) {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch,\n\t\t\t\t\titemType: this.resourceType,\n\t\t\t\t\titemId: this.currentResourceId,\n\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\tlimit: loadState('comments', 'maxAutoCompleteResults'),\n\t\t\t\t},\n\t\t\t})\n\t\t\t// Save user data so it can be used by the editor to replace mentions\n\t\t\tdata.ocs.data.forEach((user) => {\n\t\t\t\tthis.userData[user.id] = user\n\t\t\t})\n\t\t\treturn callback(Object.values(this.userData))\n\t\t},\n\n\t\t/**\n\t\t * Make sure we have all mentions as Array of objects\n\t\t *\n\t\t * @param mentions the mentions list\n\t\t */\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tgenMentionsData(mentions: any[]): Record {\n\t\t\tObject.values(mentions)\n\t\t\t\t.flat()\n\t\t\t\t.forEach((mention) => {\n\t\t\t\t\tthis.userData[mention.mentionId] = {\n\t\t\t\t\t\t// TODO: support groups\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: mention.mentionId,\n\t\t\t\t\t\tlabel: mention.mentionDisplayName,\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: getCurrentUser()?.uid === mention.mentionId,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\treturn this.userData\n\t\t},\n\t},\n})\n"],"file":"CommentView-DnzWMLuu.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["_sfc_main","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","NcActionSeparator","_export_sfc","_hoisted_3","_createElementBlock","_mergeProps","$event","_createElementVNode","_openBlock","DeleteComment","resourceType","resourceId","commentId","commentPath","client","EditComment","message","decodeHtmlEntities","value","passes","parser","decoded","i","NewComment","resourcePath","response","axios","getRootPath","getCurrentUser","comment","props","useDeletedCommentLimbo","defineStore","id","index","CommentMixin","mapStores","logger","error","showError","timeOutDelete","TOAST_UNDO_TIMEOUT","showUndo","newComment","NcRichContenteditable","defineAsyncComponent","NcRichText","IconArrowRight","IconClose","IconTrashCanOutline","IconPencilOutline","NcActionButton","NcActions","NcAvatar","NcButton","NcDateTime","NcLoadingIcon","mentions","user","key","regex","NcUserBubble","t","_hoisted_2","_hoisted_4","_hoisted_6","_hoisted_7","_withDirectives","_createBlock","_resolveDynamicComponent","_normalizeClass","_createVNode","_component_NcAvatar","_toDisplayString","_component_NcActions","_component_NcActionButton","_component_IconClose","_createTextVNode","_Fragment","_component_IconPencilOutline","_component_NcActionSeparator","_component_IconTrashCanOutline","_hoisted_5","_component_NcDateTime","_component_NcRichContenteditable","_component_NcButton","_component_NcLoadingIcon","_component_IconArrowRight","_hoisted_8","_component_NcRichText","_vShow","CommentView","defineComponent","search","callback","data","generateOcsUrl","loadState","mention"],"ignoreList":[0,1],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionSeparator.mjs","../node_modules/vue-material-design-icons/Close.vue","../build/frontend/apps/comments/src/services/DeleteComment.ts","../build/frontend/apps/comments/src/services/EditComment.ts","../build/frontend/apps/comments/src/utils/decodeHtmlEntities.ts","../build/frontend/apps/comments/src/services/NewComment.ts","../build/frontend/apps/comments/src/store/deletedCommentLimbo.ts","../build/frontend/apps/comments/src/mixins/CommentMixin.ts","../build/frontend/apps/comments/src/components/Comment.vue","../build/frontend/apps/comments/src/mixins/CommentView.ts"],"sourcesContent":["import '../assets/NcActionSeparator.css';\nimport { openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionSeparator\"\n};\nconst _hoisted_1 = {\n class: \"action action-separator action--disabled\",\n role: \"separator\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n}\nconst NcActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-3e2324b7\"]]);\nexport {\n NcActionSeparator as N\n};\n//# sourceMappingURL=NcActionSeparator.mjs.map\n","\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Delete a comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Edit an existing comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n * @param message the message content\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number, message: string) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param value - the string to decode\n * @param passes - the number of times to decode the string, default is 1\n */\nexport function decodeHtmlEntities(value: string, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getRootPath } from '../utils/davUtils.ts'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.ts'\nimport client from './DavClient.ts'\n\n/**\n * Retrieve the comments list\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param message the message\n * @return The new comment\n */\nexport default async function(resourceType: string, resourceId: number, message: string) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser()!.displayName,\n\t\tactorId: getCurrentUser()!.uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineStore } from 'pinia'\n\nexport const useDeletedCommentLimbo = defineStore('deletedCommentLimbo', {\n\tstate: () => ({\n\t\tidsInLimbo: [],\n\t}),\n\tactions: {\n\t\taddId(id) {\n\t\t\tthis.idsInLimbo.push(id)\n\t\t},\n\n\t\tremoveId(id) {\n\t\t\tconst index = this.idsInLimbo.indexOf(id)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.idsInLimbo.splice(index, 1)\n\t\t\t}\n\t\t},\n\n\t\tcheckForId(id) {\n\t\t\treturn this.idsInLimbo.includes(id)\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport { mapStores } from 'pinia'\nimport logger from '../logger.ts'\nimport DeleteComment from '../services/DeleteComment.ts'\nimport EditComment from '../services/EditComment.ts'\nimport NewComment from '../services/NewComment.ts'\nimport { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapStores(useDeletedCommentLimbo),\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to edit the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.$emit('delete')\n\t\t\tthis.deleted = true\n\t\t\tthis.deletedCommentLimboStore.addId(this.id)\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to delete the comment', { error })\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to create the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tprops: {\n\t\tresourceId: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\teditorData: {\n\t\t\t\tactorDisplayName: getCurrentUser()!.displayName as string,\n\t\t\t\tactorId: getCurrentUser()!.uid as string,\n\t\t\t\tkey: 'editor',\n\t\t\t},\n\t\t\tuserData: {},\n\t\t\tcurrentResourceId: this.resourceId,\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Autocomplete `@mentions`\n\t\t *\n\t\t * @param search the query\n\t\t * @param callback the callback to process the results with\n\t\t */\n\t\tasync autoComplete(search, callback) {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch,\n\t\t\t\t\titemType: this.resourceType,\n\t\t\t\t\titemId: this.currentResourceId,\n\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\tlimit: loadState('comments', 'maxAutoCompleteResults'),\n\t\t\t\t},\n\t\t\t})\n\t\t\t// Save user data so it can be used by the editor to replace mentions\n\t\t\tdata.ocs.data.forEach((user) => {\n\t\t\t\tthis.userData[user.id] = user\n\t\t\t})\n\t\t\treturn callback(Object.values(this.userData))\n\t\t},\n\n\t\t/**\n\t\t * Make sure we have all mentions as Array of objects\n\t\t *\n\t\t * @param mentions the mentions list\n\t\t */\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tgenMentionsData(mentions: any[]): Record {\n\t\t\tObject.values(mentions)\n\t\t\t\t.flat()\n\t\t\t\t.forEach((mention) => {\n\t\t\t\t\tthis.userData[mention.mentionId] = {\n\t\t\t\t\t\t// TODO: support groups\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: mention.mentionId,\n\t\t\t\t\t\tlabel: mention.mentionDisplayName,\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: getCurrentUser()?.uid === mention.mentionId,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\treturn this.userData\n\t\t},\n\t},\n})\n"],"file":"CommentView-C1OxkMFD.chunk.mjs"} \ No newline at end of file diff --git a/dist/CommentView-DnzWMLuu.chunk.mjs.map.license b/dist/CommentView-C1OxkMFD.chunk.mjs.map.license similarity index 100% rename from dist/CommentView-DnzWMLuu.chunk.mjs.map.license rename to dist/CommentView-C1OxkMFD.chunk.mjs.map.license diff --git a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs similarity index 79% rename from dist/CredentialsDialog-VJ4RMITj.chunk.mjs rename to dist/CredentialsDialog-Dpk4mqd0.chunk.mjs index a087d68a7b509..e20b289315532 100644 --- a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs +++ b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs @@ -1,2 +1,2 @@ -import{t}from"./fileSize-G68jp3EG.chunk.mjs";import{N as u}from"./index-C34MMVmr.chunk.mjs";import{N as d}from"./NcNoteCard-RF8V1iI7.chunk.mjs";import{N as p}from"./NcPasswordField-BX7X04-n.chunk.mjs";import{_ as c}from"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import{b as g,o as f,c as h,w as x,k as s,u as e,p as n}from"./preload-helper-CseRDAJ7.chunk.mjs";import"./public-Cpb8_kIm.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";import"./ArrowRight-gS7jb_sQ.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";const $=g({__name:"CredentialsDialog",emits:["close"],setup(_){const o=n(""),r=n(""),m=[{label:t("files_external","Confirm"),type:"submit",variant:"primary"}];return(i,a)=>(f(),h(e(u),{buttons:m,class:"external-storage-auth",closeOnClickOutside:"","data-cy-external-storage-auth":"",isForm:"",name:e(t)("files_external","Storage credentials"),outTransition:"",onSubmit:a[2]||(a[2]=l=>i.$emit("close",{login:o.value,password:r.value})),"onUpdate:open":a[3]||(a[3]=l=>i.$emit("close"))},{default:x(()=>[s(e(d),{class:"external-storage-auth__header",text:e(t)("files_external","To access the storage, you need to provide the authentication credentials."),type:"info"},null,8,["text"]),s(e(c),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),autofocus:"",class:"external-storage-auth__login","data-cy-external-storage-auth-dialog-login":"",label:e(t)("files_external","Login"),placeholder:e(t)("files_external","Enter the storage login"),minlength:"2",name:"login",required:""},null,8,["modelValue","label","placeholder"]),s(e(p),{modelValue:r.value,"onUpdate:modelValue":a[1]||(a[1]=l=>r.value=l),class:"external-storage-auth__password","data-cy-external-storage-auth-dialog-password":"",label:e(t)("files_external","Password"),placeholder:e(t)("files_external","Enter the storage password"),name:"password",required:""},null,8,["modelValue","label","placeholder"])]),_:1},8,["name"]))}});export{$ as default}; -//# sourceMappingURL=CredentialsDialog-VJ4RMITj.chunk.mjs.map +import{t}from"./fileSize-G68jp3EG.chunk.mjs";import{N as u}from"./index-BdZYurIK.chunk.mjs";import{N as d}from"./NcNoteCard-BclmmzV9.chunk.mjs";import{N as p}from"./NcPasswordField-j1sClNYM.chunk.mjs";import{_ as c}from"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import{b as g,o as f,c as h,w as x,k as s,u as e,p as n}from"./preload-helper-CseRDAJ7.chunk.mjs";import"./public-Cpb8_kIm.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";import"./ArrowRight-Df3E_Asm.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";const $=g({__name:"CredentialsDialog",emits:["close"],setup(_){const o=n(""),r=n(""),m=[{label:t("files_external","Confirm"),type:"submit",variant:"primary"}];return(i,a)=>(f(),h(e(u),{buttons:m,class:"external-storage-auth",closeOnClickOutside:"","data-cy-external-storage-auth":"",isForm:"",name:e(t)("files_external","Storage credentials"),outTransition:"",onSubmit:a[2]||(a[2]=l=>i.$emit("close",{login:o.value,password:r.value})),"onUpdate:open":a[3]||(a[3]=l=>i.$emit("close"))},{default:x(()=>[s(e(d),{class:"external-storage-auth__header",text:e(t)("files_external","To access the storage, you need to provide the authentication credentials."),type:"info"},null,8,["text"]),s(e(c),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),autofocus:"",class:"external-storage-auth__login","data-cy-external-storage-auth-dialog-login":"",label:e(t)("files_external","Login"),placeholder:e(t)("files_external","Enter the storage login"),minlength:"2",name:"login",required:""},null,8,["modelValue","label","placeholder"]),s(e(p),{modelValue:r.value,"onUpdate:modelValue":a[1]||(a[1]=l=>r.value=l),class:"external-storage-auth__password","data-cy-external-storage-auth-dialog-password":"",label:e(t)("files_external","Password"),placeholder:e(t)("files_external","Enter the storage password"),name:"password",required:""},null,8,["modelValue","label","placeholder"])]),_:1},8,["name"]))}});export{$ as default}; +//# sourceMappingURL=CredentialsDialog-Dpk4mqd0.chunk.mjs.map diff --git a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs.license b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.license similarity index 100% rename from dist/CredentialsDialog-VJ4RMITj.chunk.mjs.license rename to dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.license diff --git a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs.map b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.map similarity index 98% rename from dist/CredentialsDialog-VJ4RMITj.chunk.mjs.map rename to dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.map index 590c46640e9cb..77a2dd05f4ce9 100644 --- a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs.map +++ b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"CredentialsDialog-VJ4RMITj.chunk.mjs","sources":["../build/frontend/apps/files_external/src/views/CredentialsDialog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["login","ref","password","dialogButtons","t","_createBlock","_unref","NcDialog","_cache","$event","$emit","_createVNode","NcNoteCard","NcTextField","NcPasswordField"],"mappings":"swBAiBA,MAAMA,EAAQC,EAAI,EAAE,EACdC,EAAWD,EAAI,EAAE,EAEjBE,EAA0D,CAAC,CAChE,MAAOC,EAAE,iBAAkB,SAAS,EACpC,KAAM,SACN,QAAS,SAAA,CACT,oBAIAC,EAqCWC,EAAAC,CAAA,EAAA,CApCT,QAASJ,EACV,MAAM,wBACN,oBAAA,GACA,gCAAA,GACA,OAAA,GACC,KAAMG,EAAAF,CAAA,EAAC,iBAAA,qBAAA,EACR,cAAA,GACC,SAAMI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEC,EAAAA,MAAK,QAAA,CAAA,MAAYV,EAAA,eAAOE,EAAA,MAAQ,GACxC,+BAAaQ,EAAAA,MAAK,OAAA,EAAA,aAEnB,IAGe,CAHfC,EAGeL,EAAAM,CAAA,EAAA,CAFd,MAAM,gCACL,KAAMN,EAAAF,CAAA,EAAC,iBAAA,4EAAA,EACR,KAAK,MAAA,mBAGNO,EASYL,EAAAO,CAAA,EAAA,YARFb,EAAA,2CAAAA,EAAK,MAAAS,GACd,UAAA,GACA,MAAM,+BACN,6CAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,OAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,yBAAA,EACf,UAAU,IACV,KAAK,QACL,SAAA,EAAA,+CAGDO,EAOYL,EAAAQ,CAAA,EAAA,YANFZ,EAAA,2CAAAA,EAAQ,MAAAO,GACjB,MAAM,kCACN,gDAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,UAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,4BAAA,EACf,KAAK,WACL,SAAA,EAAA"} \ No newline at end of file +{"version":3,"file":"CredentialsDialog-Dpk4mqd0.chunk.mjs","sources":["../build/frontend/apps/files_external/src/views/CredentialsDialog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["login","ref","password","dialogButtons","t","_createBlock","_unref","NcDialog","_cache","$event","$emit","_createVNode","NcNoteCard","NcTextField","NcPasswordField"],"mappings":"swBAiBA,MAAMA,EAAQC,EAAI,EAAE,EACdC,EAAWD,EAAI,EAAE,EAEjBE,EAA0D,CAAC,CAChE,MAAOC,EAAE,iBAAkB,SAAS,EACpC,KAAM,SACN,QAAS,SAAA,CACT,oBAIAC,EAqCWC,EAAAC,CAAA,EAAA,CApCT,QAASJ,EACV,MAAM,wBACN,oBAAA,GACA,gCAAA,GACA,OAAA,GACC,KAAMG,EAAAF,CAAA,EAAC,iBAAA,qBAAA,EACR,cAAA,GACC,SAAMI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEC,EAAAA,MAAK,QAAA,CAAA,MAAYV,EAAA,eAAOE,EAAA,MAAQ,GACxC,+BAAaQ,EAAAA,MAAK,OAAA,EAAA,aAEnB,IAGe,CAHfC,EAGeL,EAAAM,CAAA,EAAA,CAFd,MAAM,gCACL,KAAMN,EAAAF,CAAA,EAAC,iBAAA,4EAAA,EACR,KAAK,MAAA,mBAGNO,EASYL,EAAAO,CAAA,EAAA,YARFb,EAAA,2CAAAA,EAAK,MAAAS,GACd,UAAA,GACA,MAAM,+BACN,6CAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,OAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,yBAAA,EACf,UAAU,IACV,KAAK,QACL,SAAA,EAAA,+CAGDO,EAOYL,EAAAQ,CAAA,EAAA,YANFZ,EAAA,2CAAAA,EAAQ,MAAAO,GACjB,MAAM,kCACN,gDAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,UAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,4BAAA,EACf,KAAK,WACL,SAAA,EAAA"} \ No newline at end of file diff --git a/dist/CredentialsDialog-VJ4RMITj.chunk.mjs.map.license b/dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.map.license similarity index 100% rename from dist/CredentialsDialog-VJ4RMITj.chunk.mjs.map.license rename to dist/CredentialsDialog-Dpk4mqd0.chunk.mjs.map.license diff --git a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs similarity index 62% rename from dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs rename to dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs index 686cce15f4b9f..0abfb308c9be8 100644 --- a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs +++ b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs @@ -1,2 +1,2 @@ -import{b as w,p as h,z as D,o as p,f as y,t as I,u as a,h as N,g as m,k as r,w as u,c as k,m as M,T,F as j,B as q,l as s,D as z}from"./preload-helper-CseRDAJ7.chunk.mjs";import{g as A,h as B,i as F,j as P}from"./index--e26xJaU.chunk.mjs";import{t as n}from"./fileSize-G68jp3EG.chunk.mjs";import{N as f}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{N as g}from"./createElementId-Dh4E-ofN.chunk.mjs";import{c as S,D as E,u as G}from"./DiscoverTypePost-VQp1g1-F.chunk.mjs";import{_ as H}from"./public-Cpb8_kIm.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./NcModal-71nQ0O0g.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./appstore-main.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcContent-DoB90luu.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";import"./NcUploadPicker-BJMAFsMJ.chunk.mjs";import"./index-B7TgNgsG.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./TrayArrowDown-CLFpJyV3.chunk.mjs";import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./NcEmptyContent-DdkCG_JC.chunk.mjs";import"./NcBreadcrumbs-D4M-QnlN.chunk.mjs";import"./NcPasswordField-BX7X04-n.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-Bl5-jpoS.chunk.mjs";import"./index-DsOMad5k.chunk.mjs";import"./zh-TW-BJ8VSONq.chunk.mjs";import"./NcEmojiPicker-UppgRqTk.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-SGcz6ixT.chunk.mjs";/* empty css */import"./NcProfileHoverCard-CFyzDpam.chunk.mjs";import"./index-BsUuWzEt.chunk.mjs";import"./index-Lwk3gi9p.chunk.mjs";import"./NcSelectTags-C6-ZzHjd.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CkjJ6CBQ.chunk.mjs";const J=["aria-roledescription","aria-labelledby"],K=["id"],L={class:"app-discover-carousel__wrapper"},O={class:"app-discover-carousel__button-wrapper"},Q={class:"app-discover-carousel__button-wrapper"},R=["aria-label"],U=w({__name:"DiscoverTypeCarousel",props:{...S,content:{type:Array,required:!0}},setup(d){const t=d,$=G(s(()=>t.headline)),e=h(Math.min(1,t.content.length-1)),c=h(t.content[e.value]),C=s(()=>e.valuee.value>0),l=s(()=>t.id??(Math.random()+1).toString(36).substring(7)),v=s(()=>`${l.value}-h`),b=h("slide-in");return D(()=>e.value,(_,i)=>{_{c.value=t.content[e.value]})}),(_,i)=>(p(),y("section",{"aria-roledescription":a(n)("appstore","Carousel"),"aria-labelledby":v.value?`${v.value}`:void 0},[_.headline?(p(),y("h3",{key:0,id:v.value},I(a($)),9,K)):N("",!0),m("div",L,[m("div",O,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--previous",variant:"tertiary-no-background","aria-label":a(n)("appstore","Previous slide"),disabled:!x.value,onClick:i[0]||(i[0]=o=>e.value-=1)},{icon:u(()=>[r(a(g),{path:a(A)},null,8,["path"])]),_:1},8,["aria-label","disabled"])]),r(T,{name:b.value,mode:"out-in"},{default:u(()=>[(p(),k(E,M(c.value,{key:c.value.id??e.value,"aria-labelledby":`${l.value}-tab-${e.value}`,domId:`${l.value}-tabpanel-${e.value}`,inline:"",role:"tabpanel"}),null,16,["aria-labelledby","domId"]))]),_:1},8,["name"]),m("div",Q,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--next",variant:"tertiary-no-background","aria-label":a(n)("appstore","Next slide"),disabled:!C.value,onClick:i[1]||(i[1]=o=>e.value+=1)},{icon:u(()=>[r(a(g),{path:a(B)},null,8,["path"])]),_:1},8,["aria-label","disabled"])])]),m("div",{class:"app-discover-carousel__tabs",role:"tablist","aria-label":a(n)("appstore","Choose slide to display")},[(p(!0),y(j,null,q(d.content.length,o=>(p(),k(a(f),{id:`${l.value}-tab-${o}`,key:o,"aria-label":a(n)("appstore","{index} of {total}",{index:o,total:d.content.length}),"aria-controls":`${l.value}-tabpanel-${o}`,"aria-selected":`${e.value===o-1}`,role:"tab",variant:"tertiary-no-background",onClick:V=>e.value=o-1},{icon:u(()=>[r(a(g),{path:e.value===o-1?a(F):a(P)},null,8,["path"])]),_:2},1032,["id","aria-label","aria-controls","aria-selected","onClick"]))),128))],8,R)],8,J))}}),Qa=H(U,[["__scopeId","data-v-89f194e4"]]);export{Qa as default}; -//# sourceMappingURL=DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map +import{b as w,p as h,z as D,o as p,f as y,t as I,u as a,h as N,g as m,k as r,w as u,c as k,m as M,T,F as j,B as q,l as s,D as z}from"./preload-helper-CseRDAJ7.chunk.mjs";import{g as A,h as B,i as F,j as P}from"./index-CIl948Sr.chunk.mjs";import{t as n}from"./fileSize-G68jp3EG.chunk.mjs";import{N as f}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{N as g}from"./createElementId-Dh4E-ofN.chunk.mjs";import{c as S,D as E,u as G}from"./DiscoverTypePost-A2Qt0Ncj.chunk.mjs";import{_ as H}from"./public-Cpb8_kIm.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./NcModal-BiE9lNuC.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./formatRelative-CRa9J-kT.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./appstore-main.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./NcContent-DAs3Oz9q.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";import"./NcUploadPicker-cchZ72tr.chunk.mjs";import"./index-Dz7vUkRa.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./TrayArrowDown-CE5R5Ey_.chunk.mjs";import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./NcEmptyContent-DdkCG_JC.chunk.mjs";import"./NcBreadcrumbs-Bkz4spNb.chunk.mjs";import"./NcPasswordField-j1sClNYM.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-qUaYhFss.chunk.mjs";import"./index-DNNJyabc.chunk.mjs";import"./zh-TW-7zF1slI5.chunk.mjs";import"./NcEmojiPicker-DMSYl3Iz.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-D0KNDwXS.chunk.mjs";/* empty css */import"./NcProfileHoverCard-BJs4RYKo.chunk.mjs";import"./index-DYjiTP4W.chunk.mjs";import"./index--GjTq3oQ.chunk.mjs";import"./NcSelectTags-D301iF-P.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-BhGyc-Fl.chunk.mjs";const J=["aria-roledescription","aria-labelledby"],K=["id"],L={class:"app-discover-carousel__wrapper"},O={class:"app-discover-carousel__button-wrapper"},Q={class:"app-discover-carousel__button-wrapper"},R=["aria-label"],U=w({__name:"DiscoverTypeCarousel",props:{...S,content:{type:Array,required:!0}},setup(d){const t=d,$=G(s(()=>t.headline)),e=h(Math.min(1,t.content.length-1)),c=h(t.content[e.value]),C=s(()=>e.valuee.value>0),l=s(()=>t.id??(Math.random()+1).toString(36).substring(7)),v=s(()=>`${l.value}-h`),b=h("slide-in");return D(()=>e.value,(_,i)=>{_{c.value=t.content[e.value]})}),(_,i)=>(p(),y("section",{"aria-roledescription":a(n)("appstore","Carousel"),"aria-labelledby":v.value?`${v.value}`:void 0},[_.headline?(p(),y("h3",{key:0,id:v.value},I(a($)),9,K)):N("",!0),m("div",L,[m("div",O,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--previous",variant:"tertiary-no-background","aria-label":a(n)("appstore","Previous slide"),disabled:!x.value,onClick:i[0]||(i[0]=o=>e.value-=1)},{icon:u(()=>[r(a(g),{path:a(A)},null,8,["path"])]),_:1},8,["aria-label","disabled"])]),r(T,{name:b.value,mode:"out-in"},{default:u(()=>[(p(),k(E,M(c.value,{key:c.value.id??e.value,"aria-labelledby":`${l.value}-tab-${e.value}`,domId:`${l.value}-tabpanel-${e.value}`,inline:"",role:"tabpanel"}),null,16,["aria-labelledby","domId"]))]),_:1},8,["name"]),m("div",Q,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--next",variant:"tertiary-no-background","aria-label":a(n)("appstore","Next slide"),disabled:!C.value,onClick:i[1]||(i[1]=o=>e.value+=1)},{icon:u(()=>[r(a(g),{path:a(B)},null,8,["path"])]),_:1},8,["aria-label","disabled"])])]),m("div",{class:"app-discover-carousel__tabs",role:"tablist","aria-label":a(n)("appstore","Choose slide to display")},[(p(!0),y(j,null,q(d.content.length,o=>(p(),k(a(f),{id:`${l.value}-tab-${o}`,key:o,"aria-label":a(n)("appstore","{index} of {total}",{index:o,total:d.content.length}),"aria-controls":`${l.value}-tabpanel-${o}`,"aria-selected":`${e.value===o-1}`,role:"tab",variant:"tertiary-no-background",onClick:V=>e.value=o-1},{icon:u(()=>[r(a(g),{path:e.value===o-1?a(F):a(P)},null,8,["path"])]),_:2},1032,["id","aria-label","aria-controls","aria-selected","onClick"]))),128))],8,R)],8,J))}}),Qa=H(U,[["__scopeId","data-v-89f194e4"]]);export{Qa as default}; +//# sourceMappingURL=DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map diff --git a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.license b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.license similarity index 100% rename from dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.license rename to dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.license diff --git a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map similarity index 99% rename from dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map rename to dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map index 0a1696eff9d02..7eb986f86825d 100644 --- a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map +++ b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"DiscoverTypeCarousel-BxAvf0m1.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeCarousel.vue"],"sourcesContent":["\n\n\n\n\n\n\n\n"],"names":["props","__props","translatedHeadline","useLocalizedValue","computed","currentIndex","ref","shownElement","hasNext","hasPrevious","internalId","headingId","transitionName","watch","o","n","nextTick","_createElementBlock","_unref","t","headline","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_createVNode","NcButton","NcIconSvgWrapper","mdiChevronLeft","_Transition","_createBlock","DiscoverTypePost","_mergeProps","_hoisted_5","mdiChevronRight","_openBlock","_Fragment","_renderList","index","$event","mdiCircleSlice8","mdiCircleOutline"],"mappings":"mkFA8EA,MAAMA,EAAQC,EAYRC,EAAqBC,EAAkBC,EAAS,IAAMJ,EAAM,QAAQ,CAAC,EAErEK,EAAeC,EAAI,KAAK,IAAI,EAAGN,EAAM,QAAQ,OAAS,CAAC,CAAC,EACxDO,EAAeD,EAAIN,EAAM,QAAQK,EAAa,KAAK,CAAE,EACrDG,EAAUJ,EAAS,IAAMC,EAAa,MAASL,EAAM,QAAQ,OAAS,CAAE,EACxES,EAAcL,EAAS,IAAMC,EAAa,MAAQ,CAAC,EAEnDK,EAAaN,EAAS,IAAMJ,EAAM,KAAO,KAAK,OAAA,EAAW,GAAG,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC,EACrFW,EAAYP,EAAS,IAAM,GAAGM,EAAW,KAAK,IAAI,EAElDE,EAAiBN,EAAI,UAAU,EACrC,OAAAO,EAAM,IAAMR,EAAa,MAAO,CAACS,EAAGC,IAAM,CACrCD,EAAIC,EACPH,EAAe,MAAQ,WAEvBA,EAAe,MAAQ,YAIxBI,EAAS,IAAM,CACdT,EAAa,MAAQP,EAAM,QAAQK,EAAa,KAAK,CACtD,CAAC,CACF,CAAC,cA3GAY,EAyDU,UAAA,CAzDA,uBAAsBC,EAAAC,CAAA,EAAC,WAAA,UAAA,EAA2B,kBAAiBR,EAAA,MAAS,GAAMA,EAAA,KAAS,GAAK,MAAA,GAC/FS,EAAAA,cAAVH,EAEK,KAAA,OAFgB,GAAIN,EAAA,KAAA,IACrBO,EAAAhB,CAAA,CAAkB,EAAA,EAAAmB,CAAA,YAEtBC,EAoCM,MApCNC,EAoCM,CAnCLD,EAWM,MAXNE,EAWM,CAVLC,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,wEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,gBAAA,EACb,UAAWV,EAAA,MACX,uBAAOJ,EAAA,OAAY,EAAA,GACT,OACV,IAA2C,CAA3CoB,EAA2CP,EAAAS,CAAA,EAAA,CAAxB,KAAMT,EAAAU,CAAA,GAAc,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,uCAK1CH,EAQaI,EAAA,CARA,KAAMjB,EAAA,MAAgB,KAAK,QAAA,aACvC,IAMmB,MANnBkB,EAMmBC,EANnBC,EAMmBzB,EAAA,MALE,CACnB,IAAKA,EAAA,MAAa,IAAMF,EAAA,MACxB,kBAAe,GAAKK,EAAA,KAAU,QAAQL,EAAA,KAAY,GAClD,MAAK,GAAKK,EAAA,KAAU,aAAaL,EAAA,KAAY,GAC9C,OAAA,GACA,KAAK,UAAA,4DAGPiB,EAWM,MAXNW,EAWM,CAVLR,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,oEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,YAAA,EACb,UAAWX,EAAA,MACX,uBAAOH,EAAA,OAAY,EAAA,GACT,OACV,IAA4C,CAA5CoB,EAA4CP,EAAAS,CAAA,EAAA,CAAzB,KAAMT,EAAAgB,CAAA,GAAe,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,yCAK5CZ,EAeM,MAAA,CAfD,MAAM,8BAA8B,KAAK,UAAW,aAAYJ,EAAAC,CAAA,EAAC,WAAA,yBAAA,CAAA,IACrEgB,EAAA,EAAA,EAAAlB,EAaWmB,EAAA,KAAAC,EAZMpC,EAAA,QAAQ,OAAjBqC,QADRR,EAaWZ,EAAAQ,CAAA,EAAA,CAXT,GAAE,GAAKhB,EAAA,KAAU,QAAQ4B,CAAK,GAC9B,IAAKA,EACL,aAAYpB,EAAAC,CAAA,EAAC,WAAA,qBAAA,CAAqC,MAAAmB,EAAK,MAASrC,EAAA,QAAQ,MAAA,CAAM,EAC9E,gBAAa,GAAKS,EAAA,KAAU,aAAa4B,CAAK,GAC9C,gBAAa,GAAKjC,EAAA,QAAkBiC,EAAK,CAAA,GAC1C,KAAK,MACL,QAAQ,yBACP,QAAKC,GAAElC,EAAA,MAAeiC,EAAK,CAAA,GACjB,OACV,IAA8F,CAA9Fb,EAA8FP,EAAAS,CAAA,EAAA,CAA3E,KAAMtB,EAAA,QAAkBiC,EAAK,EAAQpB,EAAAsB,CAAA,EAAkBtB,EAAAuB,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"DiscoverTypeCarousel-DXlK4lHA.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeCarousel.vue"],"sourcesContent":["\n\n\n\n\n\n\n\n"],"names":["props","__props","translatedHeadline","useLocalizedValue","computed","currentIndex","ref","shownElement","hasNext","hasPrevious","internalId","headingId","transitionName","watch","o","n","nextTick","_createElementBlock","_unref","t","headline","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_createVNode","NcButton","NcIconSvgWrapper","mdiChevronLeft","_Transition","_createBlock","DiscoverTypePost","_mergeProps","_hoisted_5","mdiChevronRight","_openBlock","_Fragment","_renderList","index","$event","mdiCircleSlice8","mdiCircleOutline"],"mappings":"mkFA8EA,MAAMA,EAAQC,EAYRC,EAAqBC,EAAkBC,EAAS,IAAMJ,EAAM,QAAQ,CAAC,EAErEK,EAAeC,EAAI,KAAK,IAAI,EAAGN,EAAM,QAAQ,OAAS,CAAC,CAAC,EACxDO,EAAeD,EAAIN,EAAM,QAAQK,EAAa,KAAK,CAAE,EACrDG,EAAUJ,EAAS,IAAMC,EAAa,MAASL,EAAM,QAAQ,OAAS,CAAE,EACxES,EAAcL,EAAS,IAAMC,EAAa,MAAQ,CAAC,EAEnDK,EAAaN,EAAS,IAAMJ,EAAM,KAAO,KAAK,OAAA,EAAW,GAAG,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC,EACrFW,EAAYP,EAAS,IAAM,GAAGM,EAAW,KAAK,IAAI,EAElDE,EAAiBN,EAAI,UAAU,EACrC,OAAAO,EAAM,IAAMR,EAAa,MAAO,CAACS,EAAGC,IAAM,CACrCD,EAAIC,EACPH,EAAe,MAAQ,WAEvBA,EAAe,MAAQ,YAIxBI,EAAS,IAAM,CACdT,EAAa,MAAQP,EAAM,QAAQK,EAAa,KAAK,CACtD,CAAC,CACF,CAAC,cA3GAY,EAyDU,UAAA,CAzDA,uBAAsBC,EAAAC,CAAA,EAAC,WAAA,UAAA,EAA2B,kBAAiBR,EAAA,MAAS,GAAMA,EAAA,KAAS,GAAK,MAAA,GAC/FS,EAAAA,cAAVH,EAEK,KAAA,OAFgB,GAAIN,EAAA,KAAA,IACrBO,EAAAhB,CAAA,CAAkB,EAAA,EAAAmB,CAAA,YAEtBC,EAoCM,MApCNC,EAoCM,CAnCLD,EAWM,MAXNE,EAWM,CAVLC,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,wEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,gBAAA,EACb,UAAWV,EAAA,MACX,uBAAOJ,EAAA,OAAY,EAAA,GACT,OACV,IAA2C,CAA3CoB,EAA2CP,EAAAS,CAAA,EAAA,CAAxB,KAAMT,EAAAU,CAAA,GAAc,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,uCAK1CH,EAQaI,EAAA,CARA,KAAMjB,EAAA,MAAgB,KAAK,QAAA,aACvC,IAMmB,MANnBkB,EAMmBC,EANnBC,EAMmBzB,EAAA,MALE,CACnB,IAAKA,EAAA,MAAa,IAAMF,EAAA,MACxB,kBAAe,GAAKK,EAAA,KAAU,QAAQL,EAAA,KAAY,GAClD,MAAK,GAAKK,EAAA,KAAU,aAAaL,EAAA,KAAY,GAC9C,OAAA,GACA,KAAK,UAAA,4DAGPiB,EAWM,MAXNW,EAWM,CAVLR,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,oEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,YAAA,EACb,UAAWX,EAAA,MACX,uBAAOH,EAAA,OAAY,EAAA,GACT,OACV,IAA4C,CAA5CoB,EAA4CP,EAAAS,CAAA,EAAA,CAAzB,KAAMT,EAAAgB,CAAA,GAAe,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,yCAK5CZ,EAeM,MAAA,CAfD,MAAM,8BAA8B,KAAK,UAAW,aAAYJ,EAAAC,CAAA,EAAC,WAAA,yBAAA,CAAA,IACrEgB,EAAA,EAAA,EAAAlB,EAaWmB,EAAA,KAAAC,EAZMpC,EAAA,QAAQ,OAAjBqC,QADRR,EAaWZ,EAAAQ,CAAA,EAAA,CAXT,GAAE,GAAKhB,EAAA,KAAU,QAAQ4B,CAAK,GAC9B,IAAKA,EACL,aAAYpB,EAAAC,CAAA,EAAC,WAAA,qBAAA,CAAqC,MAAAmB,EAAK,MAASrC,EAAA,QAAQ,MAAA,CAAM,EAC9E,gBAAa,GAAKS,EAAA,KAAU,aAAa4B,CAAK,GAC9C,gBAAa,GAAKjC,EAAA,QAAkBiC,EAAK,CAAA,GAC1C,KAAK,MACL,QAAQ,yBACP,QAAKC,GAAElC,EAAA,MAAeiC,EAAK,CAAA,GACjB,OACV,IAA8F,CAA9Fb,EAA8FP,EAAAS,CAAA,EAAA,CAA3E,KAAMtB,EAAA,QAAkBiC,EAAK,EAAQpB,EAAAsB,CAAA,EAAkBtB,EAAAuB,CAAA,CAAA"} \ No newline at end of file diff --git a/dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map.license b/dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map.license similarity index 100% rename from dist/DiscoverTypeCarousel-BxAvf0m1.chunk.mjs.map.license rename to dist/DiscoverTypeCarousel-DXlK4lHA.chunk.mjs.map.license diff --git a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs similarity index 94% rename from dist/DiscoverTypePost-VQp1g1-F.chunk.mjs rename to dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs index dbbbb18db092c..e79d85779b5ae 100644 --- a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs +++ b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs @@ -1,2 +1,2 @@ -import{l as B}from"./index--e26xJaU.chunk.mjs";import{c as D}from"./formatRelative-CRa9J-kT.chunk.mjs";import{u as L,a as W}from"./NcModal-71nQ0O0g.chunk.mjs";import{N as C}from"./createElementId-Dh4E-ofN.chunk.mjs";import{b as F}from"./fileSize-G68jp3EG.chunk.mjs";import{l,b as M,E as G,o as r,f as n,c as d,w as v,C as c,j as H,t as N,u as m,g as S,h as f,F as J,B as K,n as O,p as h}from"./preload-helper-CseRDAJ7.chunk.mjs";import{A as P}from"./appstore-main.mjs";import{_ as Q}from"./public-Cpb8_kIm.chunk.mjs";function k(e){const t=F();return l(()=>e?.value?R(e.value,t):null)}function R(e,t){return e[t]??e[t.split("_")[0]]??e.en??null}const U={type:{type:String,required:!0,validator:e=>typeof e=="string"&&P.includes(e)},id:{type:String,required:!0},date:{type:Number,required:!1,default:void 0},expiryDate:{type:Number,required:!1,default:void 0},headline:{type:Object,required:!1,default:()=>null},link:{type:String,required:!1,default:()=>null}},V=["id"],X=["src","srcset","type"],Y=["src","alt"],Z={class:"app-discover-post__play-icon-wrapper"},$=M({__name:"DiscoverTypePost",props:{...U,text:{type:Object,required:!1,default:()=>null},media:{type:Object,required:!1,default:()=>null},inline:{type:Boolean,required:!1,default:!1},domId:{type:String,required:!1,default:null}},setup(e){const t=e,g=k(l(()=>t.headline)),b=k(l(()=>t.text)),s=k(l(()=>t.media?.content)),p=l(()=>s.value!==null?[s.value.src].flat():void 0),w=l(()=>s.value?.alt??""),i=l(()=>p.value?.[0]?.mime.startsWith("image/")===!0),A=l(()=>!g.value&&!b.value),q=l(()=>s.value?.link??t.link),_=h(!1),E=l(()=>s.value?.link&&_.value),x=h(),{width:I}=L(x),T=l(()=>I.value<600);function y(a){return a.startsWith("/")?a:D("/apps/appstore/api/v1/discover/media?fileName={fileName}",{fileName:a})}const o=h(),z=W(o,{threshold:.3});return G(()=>{if(!i.value&&o.value){const a=o.value;z.value?(a.muted=!0,a.play()):(a.pause(),a.ended&&(a.currentTime=0,_.value=!1))}}),(a,j)=>(r(),n("article",{id:e.domId,ref_key:"container",ref:x,class:O(["app-discover-post",{"app-discover-post--reverse":e.media&&e.media.alignment==="start","app-discover-post--small":T.value}])},[a.headline||e.text?(r(),d(c(a.link?"AppLink":"div"),{key:0,href:a.link,class:"app-discover-post__text"},{default:v(()=>[(r(),d(c(e.inline?"h4":"h3"),null,{default:v(()=>[H(N(m(g)),1)]),_:1})),S("p",null,N(m(b)),1)]),_:1},8,["href"])):f("",!0),p.value?(r(),d(c(q.value?"AppLink":"div"),{key:1,href:q.value,class:O(["app-discover-post__media",{"app-discover-post__media--fullwidth":A.value,"app-discover-post__media--start":e.media?.alignment==="start","app-discover-post__media--end":e.media?.alignment==="end"}])},{default:v(()=>[(r(),d(c(i.value?"picture":"video"),{ref_key:"mediaElement",ref:o,class:"app-discover-post__media-element",muted:!i.value,playsinline:!i.value,preload:!i.value&&"auto",onEnded:j[0]||(j[0]=u=>_.value=!0)},{default:v(()=>[(r(!0),n(J,null,K(p.value,u=>(r(),n("source",{key:u.src,src:i.value?void 0:y(u.src),srcset:i.value?y(u.src):void 0,type:u.mime},null,8,X))),128)),i.value?(r(),n("img",{key:0,src:y(p.value[0].src),alt:w.value},null,8,Y)):f("",!0)]),_:1},40,["muted","playsinline","preload"])),S("div",Z,[!i.value&&E.value?(r(),d(m(C),{key:0,class:"app-discover-post__play-icon",path:m(B),size:92},null,8,["path"])):f("",!0)])]),_:1},8,["href","class"])):f("",!0)],10,V))}}),ee=Q($,[["__scopeId","data-v-e48b0e2c"]]),pe=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{ee as D,pe as a,U as c,k as u}; -//# sourceMappingURL=DiscoverTypePost-VQp1g1-F.chunk.mjs.map +import{l as B}from"./index-CIl948Sr.chunk.mjs";import{c as D}from"./formatRelative-CRa9J-kT.chunk.mjs";import{u as L,a as W}from"./NcModal-BiE9lNuC.chunk.mjs";import{N as C}from"./createElementId-Dh4E-ofN.chunk.mjs";import{b as F}from"./fileSize-G68jp3EG.chunk.mjs";import{l,b as M,E as G,o as r,f as n,c as d,w as v,C as c,j as H,t as N,u as m,g as S,h as f,F as J,B as K,n as O,p as h}from"./preload-helper-CseRDAJ7.chunk.mjs";import{A as P}from"./appstore-main.mjs";import{_ as Q}from"./public-Cpb8_kIm.chunk.mjs";function k(e){const t=F();return l(()=>e?.value?R(e.value,t):null)}function R(e,t){return e[t]??e[t.split("_")[0]]??e.en??null}const U={type:{type:String,required:!0,validator:e=>typeof e=="string"&&P.includes(e)},id:{type:String,required:!0},date:{type:Number,required:!1,default:void 0},expiryDate:{type:Number,required:!1,default:void 0},headline:{type:Object,required:!1,default:()=>null},link:{type:String,required:!1,default:()=>null}},V=["id"],X=["src","srcset","type"],Y=["src","alt"],Z={class:"app-discover-post__play-icon-wrapper"},$=M({__name:"DiscoverTypePost",props:{...U,text:{type:Object,required:!1,default:()=>null},media:{type:Object,required:!1,default:()=>null},inline:{type:Boolean,required:!1,default:!1},domId:{type:String,required:!1,default:null}},setup(e){const t=e,g=k(l(()=>t.headline)),b=k(l(()=>t.text)),s=k(l(()=>t.media?.content)),p=l(()=>s.value!==null?[s.value.src].flat():void 0),w=l(()=>s.value?.alt??""),i=l(()=>p.value?.[0]?.mime.startsWith("image/")===!0),A=l(()=>!g.value&&!b.value),q=l(()=>s.value?.link??t.link),_=h(!1),E=l(()=>s.value?.link&&_.value),x=h(),{width:I}=L(x),T=l(()=>I.value<600);function y(a){return a.startsWith("/")?a:D("/apps/appstore/api/v1/discover/media?fileName={fileName}",{fileName:a})}const o=h(),z=W(o,{threshold:.3});return G(()=>{if(!i.value&&o.value){const a=o.value;z.value?(a.muted=!0,a.play()):(a.pause(),a.ended&&(a.currentTime=0,_.value=!1))}}),(a,j)=>(r(),n("article",{id:e.domId,ref_key:"container",ref:x,class:O(["app-discover-post",{"app-discover-post--reverse":e.media&&e.media.alignment==="start","app-discover-post--small":T.value}])},[a.headline||e.text?(r(),d(c(a.link?"AppLink":"div"),{key:0,href:a.link,class:"app-discover-post__text"},{default:v(()=>[(r(),d(c(e.inline?"h4":"h3"),null,{default:v(()=>[H(N(m(g)),1)]),_:1})),S("p",null,N(m(b)),1)]),_:1},8,["href"])):f("",!0),p.value?(r(),d(c(q.value?"AppLink":"div"),{key:1,href:q.value,class:O(["app-discover-post__media",{"app-discover-post__media--fullwidth":A.value,"app-discover-post__media--start":e.media?.alignment==="start","app-discover-post__media--end":e.media?.alignment==="end"}])},{default:v(()=>[(r(),d(c(i.value?"picture":"video"),{ref_key:"mediaElement",ref:o,class:"app-discover-post__media-element",muted:!i.value,playsinline:!i.value,preload:!i.value&&"auto",onEnded:j[0]||(j[0]=u=>_.value=!0)},{default:v(()=>[(r(!0),n(J,null,K(p.value,u=>(r(),n("source",{key:u.src,src:i.value?void 0:y(u.src),srcset:i.value?y(u.src):void 0,type:u.mime},null,8,X))),128)),i.value?(r(),n("img",{key:0,src:y(p.value[0].src),alt:w.value},null,8,Y)):f("",!0)]),_:1},40,["muted","playsinline","preload"])),S("div",Z,[!i.value&&E.value?(r(),d(m(C),{key:0,class:"app-discover-post__play-icon",path:m(B),size:92},null,8,["path"])):f("",!0)])]),_:1},8,["href","class"])):f("",!0)],10,V))}}),ee=Q($,[["__scopeId","data-v-e48b0e2c"]]),pe=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{ee as D,pe as a,U as c,k as u}; +//# sourceMappingURL=DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map diff --git a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.license b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.license similarity index 100% rename from dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.license rename to dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.license diff --git a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.map b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map similarity index 99% rename from dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.map rename to dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map index 7f6631a647a66..8f4a60db6b4da 100644 --- a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.map +++ b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"DiscoverTypePost-VQp1g1-F.chunk.mjs","sources":["../build/frontend/apps/appstore/src/composables/useGetLocalizedValue.ts","../build/frontend/apps/appstore/src/components/DiscoverType/common.ts","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypePost.vue"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\nimport type { ILocalizedValue } from '../apps-discover.d.ts'\n\nimport { getLanguage } from '@nextcloud/l10n'\nimport { computed } from 'vue'\n\n/**\n * Get the localized value of the dictionary provided\n *\n * @param dict Dictionary\n * @return String or null if invalid dictionary\n */\nexport function useLocalizedValue(dict: Ref | undefined | null>) {\n\t/**\n\t * Language of the current user\n\t */\n\tconst language = getLanguage()\n\n\treturn computed(() => !dict?.value ? null : getLocalizedValue(dict.value as ILocalizedValue, language))\n}\n\n/**\n * Helper to get the localized value for the current users language\n *\n * @param dict The dictionary to get the value from\n * @param language The language to use\n */\nfunction getLocalizedValue(dict: ILocalizedValue, language: string) {\n\treturn dict[language] ?? dict[language.split('_')[0]!] ?? dict.en ?? null\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { PropType } from 'vue'\nimport type { IAppDiscoverElement } from '../../apps-discover.d.ts'\n\nimport { APP_DISCOVER_KNOWN_TYPES } from '../../constants.ts'\n\n/**\n * Common Props for all app discover types\n */\nexport const commonAppDiscoverProps = {\n\ttype: {\n\t\ttype: String as PropType,\n\t\trequired: true,\n\t\tvalidator: (v: unknown) => typeof v === 'string' && APP_DISCOVER_KNOWN_TYPES.includes(v as never),\n\t},\n\n\tid: {\n\t\ttype: String as PropType,\n\t\trequired: true,\n\t},\n\n\tdate: {\n\t\ttype: Number as PropType,\n\t\trequired: false,\n\t\tdefault: undefined,\n\t},\n\n\texpiryDate: {\n\t\ttype: Number as PropType,\n\t\trequired: false,\n\t\tdefault: undefined,\n\t},\n\n\theadline: {\n\t\ttype: Object as PropType,\n\t\trequired: false,\n\t\tdefault: () => null,\n\t},\n\n\tlink: {\n\t\ttype: String as PropType,\n\t\trequired: false,\n\t\tdefault: () => null,\n\t},\n} as const\n","\n\n\n\n\n\n"],"names":["useLocalizedValue","dict","language","getLanguage","computed","getLocalizedValue","commonAppDiscoverProps","v","APP_DISCOVER_KNOWN_TYPES","props","__props","translatedHeadline","translatedText","localizedMedia","mediaSources","mediaAlt","isImage","isFullWidth","mediaLink","hasPlaybackEnded","ref","showPlayVideo","container","containerWidth","useElementSize","isSmallWidth","generatePrivacyUrl","url","generateOcsUrl","mediaElement","mediaIsVisible","useElementVisibility","watchEffect","video","_createElementBlock","headline","_openBlock","_createBlock","_resolveDynamicComponent","link","_unref","_createElementVNode","_Fragment","_renderList","source","_hoisted_4","NcIconSvgWrapper","mdiPlayCircleOutline"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DiscoverTypePost-A2Qt0Ncj.chunk.mjs","sources":["../build/frontend/apps/appstore/src/composables/useGetLocalizedValue.ts","../build/frontend/apps/appstore/src/components/DiscoverType/common.ts","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypePost.vue"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Ref } from 'vue'\nimport type { ILocalizedValue } from '../apps-discover.d.ts'\n\nimport { getLanguage } from '@nextcloud/l10n'\nimport { computed } from 'vue'\n\n/**\n * Get the localized value of the dictionary provided\n *\n * @param dict Dictionary\n * @return String or null if invalid dictionary\n */\nexport function useLocalizedValue(dict: Ref | undefined | null>) {\n\t/**\n\t * Language of the current user\n\t */\n\tconst language = getLanguage()\n\n\treturn computed(() => !dict?.value ? null : getLocalizedValue(dict.value as ILocalizedValue, language))\n}\n\n/**\n * Helper to get the localized value for the current users language\n *\n * @param dict The dictionary to get the value from\n * @param language The language to use\n */\nfunction getLocalizedValue(dict: ILocalizedValue, language: string) {\n\treturn dict[language] ?? dict[language.split('_')[0]!] ?? dict.en ?? null\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport type { PropType } from 'vue'\nimport type { IAppDiscoverElement } from '../../apps-discover.d.ts'\n\nimport { APP_DISCOVER_KNOWN_TYPES } from '../../constants.ts'\n\n/**\n * Common Props for all app discover types\n */\nexport const commonAppDiscoverProps = {\n\ttype: {\n\t\ttype: String as PropType,\n\t\trequired: true,\n\t\tvalidator: (v: unknown) => typeof v === 'string' && APP_DISCOVER_KNOWN_TYPES.includes(v as never),\n\t},\n\n\tid: {\n\t\ttype: String as PropType,\n\t\trequired: true,\n\t},\n\n\tdate: {\n\t\ttype: Number as PropType,\n\t\trequired: false,\n\t\tdefault: undefined,\n\t},\n\n\texpiryDate: {\n\t\ttype: Number as PropType,\n\t\trequired: false,\n\t\tdefault: undefined,\n\t},\n\n\theadline: {\n\t\ttype: Object as PropType,\n\t\trequired: false,\n\t\tdefault: () => null,\n\t},\n\n\tlink: {\n\t\ttype: String as PropType,\n\t\trequired: false,\n\t\tdefault: () => null,\n\t},\n} as const\n","\n\n\n\n\n\n"],"names":["useLocalizedValue","dict","language","getLanguage","computed","getLocalizedValue","commonAppDiscoverProps","v","APP_DISCOVER_KNOWN_TYPES","props","__props","translatedHeadline","translatedText","localizedMedia","mediaSources","mediaAlt","isImage","isFullWidth","mediaLink","hasPlaybackEnded","ref","showPlayVideo","container","containerWidth","useElementSize","isSmallWidth","generatePrivacyUrl","url","generateOcsUrl","mediaElement","mediaIsVisible","useElementVisibility","watchEffect","video","_createElementBlock","headline","_openBlock","_createBlock","_resolveDynamicComponent","link","_unref","_createElementVNode","_Fragment","_renderList","source","_hoisted_4","NcIconSvgWrapper","mdiPlayCircleOutline"],"mappings":"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"} \ No newline at end of file diff --git a/dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.map.license b/dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map.license similarity index 100% rename from dist/DiscoverTypePost-VQp1g1-F.chunk.mjs.map.license rename to dist/DiscoverTypePost-A2Qt0Ncj.chunk.mjs.map.license diff --git a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs similarity index 68% rename from dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs rename to dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs index 46d5f5474e5ca..047e88ae8e0b2 100644 --- a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs +++ b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs @@ -1,2 +1,2 @@ -import{u as x}from"./NcModal-71nQ0O0g.chunk.mjs";import{A}from"./UpdateAllDialog-CKJ1aIOz.chunk.mjs";import{l as B,_ as V}from"./public-Cpb8_kIm.chunk.mjs";import{b as D}from"./formatRelative-CRa9J-kT.chunk.mjs";import{R as j}from"./autolink-e8hCDu5_.chunk.mjs";import{u as E}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{b as w,E as T,o as p,f as l,G as g,m as v,i as I,c as f,u as _,w as $,h,p as k,H as q,k as d,g as c,j as F,t as y,l as u,F as G,B as H,n as L}from"./preload-helper-CseRDAJ7.chunk.mjs";import{u as O,B as R}from"./appstore-main.mjs";import{c as S,D as z,u as C}from"./DiscoverTypePost-VQp1g1-F.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./fileSize-G68jp3EG.chunk.mjs";import"./index--e26xJaU.chunk.mjs";import"./index-C34MMVmr.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./NcActionButton-e8yDlmyF.chunk.mjs";import"./NcUploadPicker-BJMAFsMJ.chunk.mjs";import"./NcContent-DoB90luu.chunk.mjs";import"./index-B7TgNgsG.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./TrayArrowDown-CLFpJyV3.chunk.mjs";import"./NcAvatar-HI1jFdhm.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import"./NcEmptyContent-DdkCG_JC.chunk.mjs";import"./NcBreadcrumbs-D4M-QnlN.chunk.mjs";import"./NcPasswordField-BX7X04-n.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-Bl5-jpoS.chunk.mjs";import"./index-DsOMad5k.chunk.mjs";import"./zh-TW-BJ8VSONq.chunk.mjs";import"./NcEmojiPicker-UppgRqTk.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-SGcz6ixT.chunk.mjs";/* empty css */import"./NcProfileHoverCard-CFyzDpam.chunk.mjs";import"./index-BsUuWzEt.chunk.mjs";import"./index-Lwk3gi9p.chunk.mjs";import"./NcSelectTags-C6-ZzHjd.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-DjSSJ27b.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CkjJ6CBQ.chunk.mjs";const J=w({__name:"AppLink",props:{href:{}},setup(t){const o=t,i=E(),e=Object.fromEntries(B("core","apps").map(a=>[a.app??a.id,a.href])),s=k(),r=k();return T(()=>{const a=o.href.match(/^app:(\/\/)?([^/]+)(\/.+)?$/);if(s.value=void 0,r.value=void 0,a===null){r.value={href:o.href,target:"_blank",rel:"noreferrer noopener"};return}const m=a[2];if(a[3]){r.value={href:D(`/apps/${m}${a[3]}`)};return}if(m in e){r.value={href:e[m]};return}s.value={to:{name:"apps-discover",params:{category:i.params?.category??"discover",id:m}}}}),(a,m)=>r.value?(p(),l("a",g(v({key:0},r.value)),[I(a.$slots,"default")],16)):s.value?(p(),f(_(j),g(v({key:1},s.value)),{default:$(()=>[I(a.$slots,"default")]),_:3},16)):h("",!0)}}),K=["href","title"],M={key:1,class:"app-discover-app"},N={class:"app-discover-app__wrapper"},P={class:"app-discover-app__name"},Q=w({__name:"DiscoverTypeApp",props:{modelValue:{}},setup(t){const o=t,i=O(),e=u(()=>i.getAppById(o.modelValue.appId)),s=u(()=>o.modelValue.appId?`https://apps.nextcloud.com/apps/${o.modelValue.appId}`:"#");return(r,a)=>e.value?(p(),l("article",M,[d(A,{class:"app-discover-app__image",app:e.value},null,8,["app"]),c("div",N,[c("h3",P,[d(J,{href:`app:${e.value.id}`},{default:$(()=>[F(y(e.value.name),1)]),_:1},8,["href"])]),c("p",null,y(e.value.summary),1),d(R,{class:"app-discover-app__score",app:e.value},null,8,["app"])])])):(p(),l("a",{key:0,class:"app-discover-app app-discover-app__skeleton",href:s.value,target:"_blank",title:t.modelValue.appId,rel:"noopener noreferrer"},[...a[0]||(a[0]=[q('',5)])],8,K))}}),U=V(Q,[["__scopeId","data-v-6a756697"]]),W={key:0},X={class:"app-discover-showcase__list"},Y=w({__name:"DiscoverTypeShowcase",props:{...S,content:{type:Array,required:!0}},setup(t){const o=t,i=C(u(()=>o.headline)),e=k(),{width:s}=x(e),r=u(()=>s.value<768),a=u(()=>s.value<512);return(m,Z)=>(p(),l("section",{ref_key:"container",ref:e,class:L(["app-discover-showcase",{"app-discover-showcase--small":r.value,"app-discover-showcase--extra-small":a.value}])},[_(i)?(p(),l("h3",W,y(_(i)),1)):h("",!0),c("ul",X,[(p(!0),l(G,null,H(t.content,(n,b)=>(p(),l("li",{key:"id"in n?n.id:b,class:"app-discover-showcase__item"},[n.type==="post"?(p(),f(z,v({key:0,ref_for:!0},n,{inline:""}),null,16)):n.type==="app"?(p(),f(U,{key:1,modelValue:n},null,8,["modelValue"])):h("",!0)]))),128))])],2))}}),Xa=V(Y,[["__scopeId","data-v-83c1b4dd"]]);export{Xa as default}; -//# sourceMappingURL=DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map +import{u as x}from"./NcModal-BiE9lNuC.chunk.mjs";import{A}from"./UpdateAllDialog-Dygx2ybe.chunk.mjs";import{l as B,_ as V}from"./public-Cpb8_kIm.chunk.mjs";import{b as D}from"./formatRelative-CRa9J-kT.chunk.mjs";import{R as j}from"./autolink-tBB0cdjL.chunk.mjs";import{u as E}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{b as w,E as T,o as p,f as l,G as g,m as v,i as I,c as f,u as _,w as $,h,p as k,H as q,k as d,g as c,j as F,t as y,l as u,F as G,B as H,n as L}from"./preload-helper-CseRDAJ7.chunk.mjs";import{u as O,B as R}from"./appstore-main.mjs";import{c as S,D as z,u as C}from"./DiscoverTypePost-A2Qt0Ncj.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./fileSize-G68jp3EG.chunk.mjs";import"./index-CIl948Sr.chunk.mjs";import"./index-BdZYurIK.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./NcActionButton-DrNkZJlL.chunk.mjs";import"./NcUploadPicker-cchZ72tr.chunk.mjs";import"./NcContent-DAs3Oz9q.chunk.mjs";import"./index-Dz7vUkRa.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./TrayArrowDown-CE5R5Ey_.chunk.mjs";import"./NcAvatar-DOAqo5-K.chunk.mjs";import"./TrashCanOutline-DwcDrXRM.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import"./NcEmptyContent-DdkCG_JC.chunk.mjs";import"./NcBreadcrumbs-Bkz4spNb.chunk.mjs";import"./NcPasswordField-j1sClNYM.chunk.mjs";import"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import"./dav-Dn-NvZjS.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import"./Plus-qUaYhFss.chunk.mjs";import"./index-DNNJyabc.chunk.mjs";import"./zh-TW-7zF1slI5.chunk.mjs";import"./NcEmojiPicker-DMSYl3Iz.chunk.mjs";import"./emoji-FRq4TQ2p.chunk.mjs";import"./NcRichText-D0KNDwXS.chunk.mjs";/* empty css */import"./NcProfileHoverCard-BJs4RYKo.chunk.mjs";import"./index-DYjiTP4W.chunk.mjs";import"./index--GjTq3oQ.chunk.mjs";import"./NcSelectTags-D301iF-P.chunk.mjs";import"./ContentCopy-CENjD2Uc.chunk.mjs";import"./NcUserBubble-BMel2src.chunk.mjs";import"./pinia-BQvrkX0t.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-BhGyc-Fl.chunk.mjs";const J=w({__name:"AppLink",props:{href:{}},setup(t){const o=t,i=E(),e=Object.fromEntries(B("core","apps").map(a=>[a.app??a.id,a.href])),s=k(),r=k();return T(()=>{const a=o.href.match(/^app:(\/\/)?([^/]+)(\/.+)?$/);if(s.value=void 0,r.value=void 0,a===null){r.value={href:o.href,target:"_blank",rel:"noreferrer noopener"};return}const m=a[2];if(a[3]){r.value={href:D(`/apps/${m}${a[3]}`)};return}if(m in e){r.value={href:e[m]};return}s.value={to:{name:"apps-discover",params:{category:i.params?.category??"discover",id:m}}}}),(a,m)=>r.value?(p(),l("a",g(v({key:0},r.value)),[I(a.$slots,"default")],16)):s.value?(p(),f(_(j),g(v({key:1},s.value)),{default:$(()=>[I(a.$slots,"default")]),_:3},16)):h("",!0)}}),K=["href","title"],M={key:1,class:"app-discover-app"},N={class:"app-discover-app__wrapper"},P={class:"app-discover-app__name"},Q=w({__name:"DiscoverTypeApp",props:{modelValue:{}},setup(t){const o=t,i=O(),e=u(()=>i.getAppById(o.modelValue.appId)),s=u(()=>o.modelValue.appId?`https://apps.nextcloud.com/apps/${o.modelValue.appId}`:"#");return(r,a)=>e.value?(p(),l("article",M,[d(A,{class:"app-discover-app__image",app:e.value},null,8,["app"]),c("div",N,[c("h3",P,[d(J,{href:`app:${e.value.id}`},{default:$(()=>[F(y(e.value.name),1)]),_:1},8,["href"])]),c("p",null,y(e.value.summary),1),d(R,{class:"app-discover-app__score",app:e.value},null,8,["app"])])])):(p(),l("a",{key:0,class:"app-discover-app app-discover-app__skeleton",href:s.value,target:"_blank",title:t.modelValue.appId,rel:"noopener noreferrer"},[...a[0]||(a[0]=[q('',5)])],8,K))}}),U=V(Q,[["__scopeId","data-v-6a756697"]]),W={key:0},X={class:"app-discover-showcase__list"},Y=w({__name:"DiscoverTypeShowcase",props:{...S,content:{type:Array,required:!0}},setup(t){const o=t,i=C(u(()=>o.headline)),e=k(),{width:s}=x(e),r=u(()=>s.value<768),a=u(()=>s.value<512);return(m,Z)=>(p(),l("section",{ref_key:"container",ref:e,class:L(["app-discover-showcase",{"app-discover-showcase--small":r.value,"app-discover-showcase--extra-small":a.value}])},[_(i)?(p(),l("h3",W,y(_(i)),1)):h("",!0),c("ul",X,[(p(!0),l(G,null,H(t.content,(n,b)=>(p(),l("li",{key:"id"in n?n.id:b,class:"app-discover-showcase__item"},[n.type==="post"?(p(),f(z,v({key:0,ref_for:!0},n,{inline:""}),null,16)):n.type==="app"?(p(),f(U,{key:1,modelValue:n},null,8,["modelValue"])):h("",!0)]))),128))])],2))}}),Xa=V(Y,[["__scopeId","data-v-83c1b4dd"]]);export{Xa as default}; +//# sourceMappingURL=DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map diff --git a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.license b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.license similarity index 100% rename from dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.license rename to dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.license diff --git a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map similarity index 99% rename from dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map rename to dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map index d709a07edb06a..d0e78d4fcdb33 100644 --- a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map +++ b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"DiscoverTypeShowcase-DutV8pwg.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppLink.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeShowcase.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n"],"names":["props","__props","route","useRoute","knownRoutes","loadState","app","routerProps","ref","linkProps","watchEffect","match","appId","generateUrl","_openBlock","_createElementBlock","_renderSlot","_ctx","_createBlock","_unref","store","useAppsStore","computed","appStoreLink","_hoisted_2","_createVNode","AppImage","_createElementVNode","_hoisted_3","_hoisted_4","AppLink","_createTextVNode","_toDisplayString","BadgeAppScore","translatedHeadline","useLocalizedValue","container","containerWidth","useElementSize","isSmallWidth","isExtraSmallWidth","_Fragment","_renderList","item","index","DiscoverTypePost","_mergeProps","DiscoverTypeApp"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DiscoverTypeShowcase-CfRm2cPO.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppLink.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeShowcase.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n"],"names":["props","__props","route","useRoute","knownRoutes","loadState","app","routerProps","ref","linkProps","watchEffect","match","appId","generateUrl","_openBlock","_createElementBlock","_renderSlot","_ctx","_createBlock","_unref","store","useAppsStore","computed","appStoreLink","_hoisted_2","_createVNode","AppImage","_createElementVNode","_hoisted_3","_hoisted_4","AppLink","_createTextVNode","_toDisplayString","BadgeAppScore","translatedHeadline","useLocalizedValue","container","containerWidth","useElementSize","isSmallWidth","isExtraSmallWidth","_Fragment","_renderList","item","index","DiscoverTypePost","_mergeProps","DiscoverTypeApp"],"mappings":"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"} \ No newline at end of file diff --git a/dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map.license b/dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map.license similarity index 100% rename from dist/DiscoverTypeShowcase-DutV8pwg.chunk.mjs.map.license rename to dist/DiscoverTypeShowcase-CfRm2cPO.chunk.mjs.map.license diff --git a/dist/FilePicker-YuFFlyrq.chunk.mjs b/dist/FilePicker-Z7R9rHQv.chunk.mjs similarity index 97% rename from dist/FilePicker-YuFFlyrq.chunk.mjs rename to dist/FilePicker-Z7R9rHQv.chunk.mjs index 257b0cfe27bc8..d596946c0f560 100644 --- a/dist/FilePicker-YuFFlyrq.chunk.mjs +++ b/dist/FilePicker-Z7R9rHQv.chunk.mjs @@ -1,2 +1,2 @@ -import{r as re,o as s,f as c,c as C,v as Pe,w,i as ne,g as f,n as U,j as q,t as $,m as D,h as z,k as _,I as J,F as M,ae as be,aa as H,E as Ue,a6 as Z,p as L,b as A,z as Fe,P as G,u as d,l as b,af as de,q as ue,s as We,B as Q,x as pe,ag as Te,D as qe,K as Ze,L as Oe,a1 as Se}from"./preload-helper-CseRDAJ7.chunk.mjs";import{u as je,s as Ke,b as me,e as Ge,m as X,a as Je,r as Qe}from"./formatRelative-CRa9J-kT.chunk.mjs";import{N as Xe}from"./index-C34MMVmr.chunk.mjs";import{N as we}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{_ as x,G as h,H as j,a as he,I as Ye,J as et,K as tt,L as it,M as at,N as lt,O as ke,D as rt,d as nt}from"./index--e26xJaU.chunk.mjs";import{v as st,I as ot,e as se,s as ct}from"./index-Bsg0Thwh.chunk.mjs";import{N as O,g as dt}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{N as Ne}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{N as _e,a as Ce,_ as ut}from"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import{S as Le}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ee,c as pt,N as xe}from"./createElementId-Dh4E-ofN.chunk.mjs";import{F as K,P as $e}from"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import{f as ft}from"./fileSize-G68jp3EG.chunk.mjs";import{P as mt,a as ht}from"./NcBreadcrumbs-D4M-QnlN.chunk.mjs";import{c as Ve}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{l as Ie,i as De}from"./public-Cpb8_kIm.chunk.mjs";import{d as ve,t as vt}from"./NcModal-71nQ0O0g.chunk.mjs";import{N as ze}from"./NcActionButton-e8yDlmyF.chunk.mjs";import{N as gt}from"./index-B7TgNgsG.chunk.mjs";import{_ as yt}from"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import{g as bt,h as wt,i as ge,j as kt,r as ye,k as Me}from"./dav-Dn-NvZjS.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./NcPasswordField-BX7X04-n.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const _t={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ct=["aria-hidden","aria-label"],Lt=["fill","width","height"],$t={d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},zt={key:0};function Bt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon chevron-right-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",$t,[e.title?(s(),c("title",zt,$(e.title),1)):z("",!0)])],8,Lt))],16,Ct)}const Pt=ee(_t,[["render",Bt]]),Ft={name:"NcBreadcrumb",components:{NcActions:ve,ChevronRight:Pt,NcButton:O},inheritAttrs:!1,props:{name:{type:String,required:!0},title:{type:String,default:null},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:""},forceIconText:{type:Boolean,default:!1},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1},class:{type:[String,Array,Object],default:""}},emits:["dragenter","dragleave","dropped","update:open"],setup(){const t=pt();return{actionsContainer:`.vue-crumb[data-crumb-id="${t}"]`,crumbId:t}},data(){return{hovering:!1}},computed:{linkAttributes(){return this.to?{to:this.to,...this.$attrs}:this.href?{href:this.href,...this.$attrs}:this.$attrs}},methods:{onOpenChange(t){this.$emit("update:open",t)},dropped(t){return this.disableDrop||(this.$emit("dropped",t,this.to||this.href),this.$parent.$emit("dropped",t,this.to||this.href),this.hovering=!1),!1},dragEnter(t){this.$emit("dragenter",t),!this.disableDrop&&(this.hovering=!0)},dragLeave(t){this.$emit("dragleave",t),!this.disableDrop&&(t.target.contains(t.relatedTarget)||this.$refs.crumb.contains(t.relatedTarget)||(this.hovering=!1))}}},St=["data-crumb-id"];function Nt(t,i,e,a,l,r){const n=re("NcButton"),u=re("NcActions"),p=re("ChevronRight");return s(),c("li",{ref:"crumb",class:U(["vue-crumb",[{"vue-crumb--hovered":l.hovering},t.$props.class]]),"data-crumb-id":a.crumbId,draggable:"false",onDragstart:J(()=>{},["prevent"]),onDrop:i[0]||(i[0]=J((...o)=>r.dropped&&r.dropped(...o),["prevent"])),onDragover:J(()=>{},["prevent"]),onDragenter:i[1]||(i[1]=(...o)=>r.dragEnter&&r.dragEnter(...o)),onDragleave:i[2]||(i[2]=(...o)=>r.dragLeave&&r.dragLeave(...o))},[(e.name||e.icon||t.$slots.icon)&&!t.$slots.default?(s(),C(n,D({key:0,"aria-label":e.icon?e.name:void 0,variant:"tertiary"},r.linkAttributes),Pe({_:2},[t.$slots.icon||e.icon?{name:"icon",fn:w(()=>[ne(t.$slots,"icon",{},()=>[f("span",{class:U([e.icon,"icon"])},null,2)],!0)]),key:"0"}:void 0,!(t.$slots.icon||e.icon)||e.forceIconText?{name:"default",fn:w(()=>[q($(e.name),1)]),key:"1"}:void 0]),1040,["aria-label"])):z("",!0),t.$slots.default?(s(),C(u,{key:1,ref:"actions",container:a.actionsContainer,forceMenu:e.forceMenu,forceName:"",menuName:e.name,open:e.open,title:e.title,variant:"tertiary","onUpdate:open":r.onOpenChange},{icon:w(()=>[ne(t.$slots,"menu-icon",{},void 0,!0)]),default:w(()=>[ne(t.$slots,"default",{},void 0,!0)]),_:3},8,["container","forceMenu","menuName","open","title","onUpdate:open"])):z("",!0),_(p,{class:"vue-crumb__separator",size:20})],42,St)}const Y=ee(Ft,[["render",Nt],["__scopeId","data-v-7cec4a3e"]]),xt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vt=["aria-hidden","aria-label"],It=["fill","width","height"],Dt={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},Mt={key:0};function Rt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Dt,[e.title?(s(),c("title",Mt,$(e.title),1)):z("",!0)])],8,It))],16,Vt)}const Be=ee(xt,[["render",Rt]]),N="vue-crumb",Ht={name:"NcBreadcrumbs",components:{NcActions:ve,NcActionButton:ze,NcActionRouter:Ce,NcActionLink:_e,NcBreadcrumb:Y,IconFolder:Be},props:{rootIcon:{type:String,default:"icon-home"},ariaLabel:{type:String,default:null}},emits:["dropped"],data(){return{hiddenIndices:[],menuBreadcrumbProps:{name:"",forceMenu:!0,disableDrop:!0,open:!1},breadcrumbsRefs:[]}},created(){window.addEventListener("resize",dt(()=>{this.handleWindowResize()},100)),Ke("navigation-toggled",this.delayedResize)},mounted(){this.handleWindowResize()},updated(){this.delayedResize(),this.$nextTick(()=>{this.hideCrumbs()})},beforeUnmount(){window.removeEventListener("resize",this.handleWindowResize),je("navigation-toggled",this.delayedResize)},methods:{closeActions(t){this.$refs.actionsBreadcrumb.$el.contains(t.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},async delayedResize(){await this.$nextTick(),this.handleWindowResize()},handleWindowResize(){if(!this.$refs.container)return;const t=this.breadcrumbsRefs.length,i=[],e=this.$refs.container.offsetWidth;let a=this.getTotalWidth();this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);let l=a-e;l+=l>0?64:0;let r=0;const n=Math.floor(t/2);for(;l>0&&ru-p))||(this.hiddenIndices=i)},arraysEqual(t,i){if(t.length!==i.length)return!1;if(t===i)return!0;if(t===null||i===null)return!1;for(let e=0;et+this.getWidth(i.$el,e===this.breadcrumbsRefs.length-1),0)},getWidth(t,i){if(!t?.classList)return 0;const e=t.classList.contains(`${N}--hidden`);t.style.minWidth="auto",i&&(t.style.maxWidth="210px"),t.classList.remove(`${N}--hidden`);const a=t.offsetWidth;return e&&t.classList.add(`${N}--hidden`),t.style.minWidth="",t.style.maxWidth="",a},preventDefault(t){return t.preventDefault&&t.preventDefault(),!1},dragStart(t){return this.preventDefault(t)},dropped(t,i,e){e||this.$emit("dropped",t,i),this.menuBreadcrumbProps.open=!1;const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);return this.preventDefault(t)},dragOver(t){return this.preventDefault(t)},dragEnter(t,i){if(!i&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.classList&&e.classList.contains(N)){const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);e.classList.add(`${N}--hovered`)}}},dragLeave(t,i){if(!i&&!t.target.contains(t.relatedTarget)&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.contains(t.relatedTarget))return;e.classList&&e.classList.contains(N)&&e.classList.remove(`${N}--hovered`)}},hideCrumbs(){this.breadcrumbsRefs.forEach((t,i)=>{t?.$el?.classList&&(this.hiddenIndices.includes(i)?t.$el.classList.add(`${N}--hidden`):t.$el.classList.remove(`${N}--hidden`))})},isBreadcrumb(t){return t?.type?.name==="NcBreadcrumb"}},render(){let t=[];if(this.$slots.default?.().forEach(l=>{if(this.isBreadcrumb(l)){t.push(l);return}l?.type===M&&l?.children?.forEach?.(r=>{this.isBreadcrumb(r)&&t.push(r)})}),t.length===0)return;t[0]=be(t[0],{icon:this.rootIcon,ref:"breadcrumbs"});const i=[];t=t.map((l,r)=>be(l,{ref:n=>{i[r]=n}}));const e=[...t];this.hiddenIndices.length&&e.splice(Math.round(t.length/2),0,H(Y,{class:"dropdown",...this.menuBreadcrumbProps,"aria-hidden":!0,ref:"actionsBreadcrumb",key:"actions-breadcrumb-1",onDragenter:()=>{this.menuBreadcrumbProps.open=!0},onDragleave:this.closeActions,"onUpdate:open":l=>{this.menuBreadcrumbProps.open=l}},{default:()=>this.hiddenIndices.filter(l=>l<=t.length-1).map(l=>{const r=t[l],{to:n,href:u,disableDrop:p,name:o,...g}=r.props;delete g.ref;let y=ze,v="";u&&(y=_e,v=u),n&&(y=Ce,v=n);const B=H(Be,{size:20});return H(y,{...g,class:N,href:u||null,to:n||null,draggable:!1,onDragstart:this.dragStart,onDrop:V=>this.dropped(V,v,p),onDragover:this.dragOver,onDragenter:V=>this.dragEnter(V,p),onDragleave:V=>this.dragLeave(V,p)},{default:()=>o,icon:()=>B})})}));const a=[H("nav",{"aria-label":this.ariaLabel},[H("ul",{class:"breadcrumb__crumbs"},[e])])];return vt(this.$slots.actions?.())&&a.push(H("div",{class:"breadcrumb__actions",ref:"breadcrumb__actions"},this.$slots.actions?.())),this.breadcrumbsRefs=i,H("div",{class:["breadcrumb",{"breadcrumb--collapsed":this.hiddenIndices.length===t.length-2}],ref:"container"},a)}},At=ee(Ht,[["__scopeId","data-v-5a4d73af"]]),Et=new mt({concurrency:5});function Ut(t){const{resolve:i,promise:e}=Promise.withResolvers();return Et.add(()=>{const a=new Image;return a.onerror=()=>i(!1),a.onload=()=>i(!0),a.src=t,e}),e}function Wt(t,i={}){i={size:32,cropPreview:!1,mimeFallback:!0,...i};try{const e=t.attributes?.previewUrl||me("/core/preview?fileId={fileid}",{fileid:t.fileid});let a;try{a=new URL(e)}catch{a=new URL(e,window.location.origin)}return a.searchParams.set("x",`${i.size}`),a.searchParams.set("y",`${i.size}`),a.searchParams.set("mimeFallback",`${i.mimeFallback}`),a.searchParams.set("a",i.cropPreview===!0?"0":"1"),a.searchParams.set("c",`${t.attributes.etag}`),a}catch{return null}}function Tt(t,i){const e=L(null),a=L(!1);return Ue(()=>{a.value=!1,e.value=Wt(Z(t),Z(i||{})),e.value&&Z(t).type===K.File&&Ut(e.value.href).then(l=>{a.value=l})}),{previewURL:e,previewLoaded:a}}const qt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zt=["aria-hidden","aria-label"],Ot=["fill","width","height"],jt={d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"},Kt={key:0};function Gt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon file-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",jt,[e.title?(s(),c("title",Kt,$(e.title),1)):z("",!0)])],8,Ot))],16,Zt)}const fe=x(qt,[["render",Gt]]),Jt={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qt=["aria-hidden","aria-label"],Xt=["fill","width","height"],Yt={d:"M7,10L12,15L17,10H7Z"},ei={key:0};function ti(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-down-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Yt,[e.title?(s(),c("title",ei,$(e.title),1)):z("",!0)])],8,Xt))],16,Qt)}const oe=x(Jt,[["render",ti]]),ii={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ai=["aria-hidden","aria-label"],li=["fill","width","height"],ri={d:"M7,15L12,10L17,15H7Z"},ni={key:0};function si(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-up-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ri,[e.title?(s(),c("title",ni,$(e.title),1)):z("",!0)])],8,li))],16,ai)}const ce=x(ii,[["render",si]]),oi={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=["aria-hidden","aria-label"],di=["fill","width","height"],ui={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},pi={key:0};function fi(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ui,[e.title?(s(),c("title",pi,$(e.title),1)):z("",!0)])],8,di))],16,ci)}const Re=x(oi,[["render",fi]]),He={"file-picker__file-icon":"_file-picker__file-icon_1aykw_9","file-picker__file-icon--primary":"_file-picker__file-icon--primary_1aykw_22","file-picker__file-icon-overlay":"_file-picker__file-icon-overlay_1aykw_26"},mi=A({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=L(He),{previewURL:a,previewLoaded:l}=Tt(Se(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),r=b(()=>i.node.type===K.File),n=b(()=>{if(i.node.type!==K.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return it;if(i.node.attributes?.["is-tag"])return at;const u=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(u.some(p=>p===Le.Link||p===Le.Email))return lt;if(u.length>0)return ke;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return nt;case"group":return rt;case"shared":return ke}return null});return(u,p)=>(s(),c("div",{style:Oe(d(l)?{backgroundImage:`url(${d(a)})`}:void 0),class:U(e.value["file-picker__file-icon"])},[d(l)?z("",!0):(s(),c(M,{key:0},[r.value?(s(),C(fe,{key:0,size:32})):(s(),c(M,{key:1},[n.value?(s(),C(d(xe),{key:0,class:U(e.value["file-picker__file-icon-overlay"]),inline:"",path:n.value,size:16},null,8,["class","path"])):z("",!0),_(Re,{class:U(e.value["file-picker__file-icon--primary"]),size:32},null,8,["class"])],64))],64))],6))}}),hi=["tabindex","aria-selected","data-filename"],vi={class:"row-name"},gi={class:"file-picker__name-container","data-testid":"row-name"},yi=["title","textContent"],bi=["textContent"],wi={class:"row-size"},ki={class:"row-modified"},_i=A({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:{},cropImagePreviews:{type:Boolean}},emits:["update:selected","enterDirectory"],setup(t,{emit:i}){const e=t,a=i,l=b(()=>e.node.mtime??0),r=b(()=>Qe(e.node.displayname)),n=b(()=>e.node.displayname.slice(0,r.value?-r.value.length:void 0)),u=b(()=>e.node.type===K.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!u.value)),o=b(()=>(e.node.permissions&$e.READ)===$e.READ);function g(){p.value&&a("update:selected",!e.selected)}function y(){u.value?o.value&&a("enterDirectory",e.node):g()}function v(B){B.key==="Enter"&&y()}return(B,V)=>(s(),c("tr",D({tabindex:t.showCheckbox&&!u.value?void 0:0,"aria-selected":p.value?t.selected:void 0,class:["file-picker__row",[{"file-picker__row--selected":t.selected&&!t.showCheckbox,"file-picker__row--not-navigatable":u.value&&!o.value,"file-picker__row--not-pickable":!p.value}]],"data-filename":t.node.basename,"data-testid":"file-list-row"},Ze({click:y,...!t.showCheckbox||u.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),c("td",{key:0,class:"row-checkbox",onClick:J(()=>{},["stop"])},[_(d(Ne),{"aria-label":d(h)("Select the row for {nodename}",{nodename:n.value}),disabled:!p.value,"data-testid":"row-checkbox",modelValue:t.selected,"onUpdate:modelValue":g},null,8,["aria-label","disabled","modelValue"])])):z("",!0),f("td",vi,[f("div",gi,[_(mi,{node:t.node,cropImagePreviews:t.cropImagePreviews},null,8,["node","cropImagePreviews"]),f("div",{class:"file-picker__file-name",title:n.value,textContent:$(n.value)},null,8,yi),f("div",{class:"file-picker__file-extension",textContent:$(r.value)},null,8,bi)])]),f("td",wi,$(d(ft)(t.node.size||0)),1),f("td",ki,[_(d(ut),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,hi))}}),Ci=x(_i,[["__scopeId","data-v-7857e8bd"]]),Li={"aria-hidden":"true",class:"file-picker__row loading-row"},$i={key:0,class:"row-checkbox"},zi={class:"row-name"},Bi={class:"row-wrapper"},Pi=A({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),c("tr",Li,[t.showCheckbox?(s(),c("td",$i,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",zi,[f("div",Bi,[f("span",{class:U(d(He)["file-picker__file-icon"])},null,2),e[1]||(e[1]=f("span",null,null,-1))])]),e[2]||(e[2]=f("td",{class:"row-size"},[f("span")],-1)),e[3]||(e[3]=f("td",{class:"row-modified"},[f("span")],-1))]))}}),Fi=x(Pi,[["__scopeId","data-v-1f96131b"]]);function Ae(){const t=Ie("files","config",null),i=L(t?.show_hidden??!0),e=L(t?.sort_favorites_first??!0),a=L(t?.crop_image_previews??!0);return G(async()=>{if(De())j.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ve.get(me("/apps/files/api/v1/configs"));i.value=l?.data?.show_hidden??!1,e.value=l?.data?.sort_favorites_first??!0,a.value=l?.data?.crop_image_previews??!0}catch(l){j.error("Could not load files settings",{error:l}),he(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:a}}function Si(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=Ie("files","viewConfigs",null),a=L({sortBy:e?.files?.sorting_mode??"basename",order:i(e?.files?.sorting_direction??"asc")}),l=L({sortBy:e?.recent?.sorting_mode??"basename",order:i(e?.recent?.sorting_direction??"asc")}),r=L({sortBy:e?.favorites?.sorting_mode??"basename",order:i(e?.favorites?.sorting_direction??"asc")});G(async()=>{if(De())j.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ve.get(me("/apps/files/api/v1/views"));a.value={sortBy:o?.data?.files?.sorting_mode??"basename",order:i(o?.data?.files?.sorting_direction)},r.value={sortBy:o?.data?.favorites?.sorting_mode??"basename",order:i(o?.data?.favorites?.sorting_direction)},l.value={sortBy:o?.data?.recent?.sorting_mode??"basename",order:i(o?.data?.recent?.sorting_direction)}}catch(o){j.error("Could not load files views",{error:o}),he(h("Could not load files views"))}});const n=b(()=>Z(t||"files")==="files"?a.value:Z(t)==="recent"?l.value:r.value),u=b(()=>n.value.sortBy),p=b(()=>n.value.order);return{filesViewConfig:a,favoritesViewConfig:r,recentViewConfig:l,currentConfig:n,sortBy:u,order:p}}const Ni={key:0,class:"row-checkbox"},xi={class:"hidden-visually"},Vi=["aria-sort"],Ii={class:"header-wrapper"},Di={key:2,style:{width:"44px"}},Mi=["aria-sort"],Ri={key:2,style:{width:"44px"}},Hi=["aria-sort"],Ai={key:2,style:{width:"44px"}},Ei=A({__name:"FileList",props:pe({currentView:{},multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:{},canPick:{type:Function}},{path:{required:!0},pathModifiers:{},selectedFiles:{required:!0},selectedFilesModifiers:{}}),emits:["update:path","update:selectedFiles"],setup(t){const i=ue(t,"path"),e=ue(t,"selectedFiles"),a=t,l=L(),{currentConfig:r}=Si(a.currentView),n=b(()=>l.value??r.value),u=b(()=>n.value.sortBy==="basename"?n.value.order==="none"?void 0:n.value.order:void 0),p=b(()=>n.value.sortBy==="size"?n.value.order==="none"?void 0:n.value.order:void 0),o=b(()=>n.value.sortBy==="mtime"?n.value.order==="none"?void 0:n.value.order:void 0);function g(P){n.value.sortBy===P?n.value.order==="ascending"?l.value={sortBy:n.value.sortBy,order:"descending"}:l.value={sortBy:n.value.sortBy,order:"ascending"}:l.value={sortBy:P,order:"ascending"}}const{sortFavoritesFirst:y,cropImagePreviews:v}=Ae(),B=b(()=>ct(a.files,{sortFoldersFirst:!0,sortFavoritesFirst:y.value,sortingOrder:n.value.order==="descending"?"desc":"asc",sortingMode:n.value.sortBy})),V=b(()=>a.files.filter(P=>a.allowPickDirectory||P.type!==K.Folder)),te=b(()=>!a.loading&&e.value.length>0&&e.value.length>=V.value.length);function W(){e.value.lengthF.path!==P.path):a.multiselect?e.value=[...e.value,P]:e.value=[P]}function ae(P){i.value=P.path}const T=L(4),E=L();{const P=()=>qe(()=>{const F=E.value?.parentElement?.children||[];let S=E.value?.parentElement?.clientHeight||450;for(let R=0;R{window.addEventListener("resize",P),P()}),Te(()=>{window.removeEventListener("resize",P)})}return(P,F)=>(s(),c("div",{ref_key:"fileContainer",ref:E,class:"file-picker__files"},[f("table",null,[f("thead",null,[f("tr",null,[t.multiselect?(s(),c("th",Ni,[f("span",xi,$(d(h)("Select entry")),1),t.multiselect?(s(),C(d(Ne),{key:0,"aria-label":d(h)("Select all entries"),"data-testid":"select-all-checkbox",modelValue:te.value,"onUpdate:modelValue":W},null,8,["aria-label","modelValue"])):z("",!0)])):z("",!0),f("th",{"aria-sort":u.value,class:"row-name"},[f("div",Ii,[F[3]||(F[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(d(O),{"data-test":"file-picker_sort-name",variant:"tertiary",wide:"",onClick:F[0]||(F[0]=S=>g("basename"))},{icon:w(()=>[u.value==="ascending"?(s(),C(ce,{key:0,size:20})):u.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Di))]),default:w(()=>[q(" "+$(d(h)("Name")),1)]),_:1})])],8,Vi),f("th",{"aria-sort":p.value,class:"row-size"},[_(d(O),{variant:"tertiary",wide:"",onClick:F[1]||(F[1]=S=>g("size"))},{icon:w(()=>[p.value==="ascending"?(s(),C(ce,{key:0,size:20})):p.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ri))]),default:w(()=>[q(" "+$(d(h)("Size")),1)]),_:1})],8,Mi),f("th",{"aria-sort":o.value,class:"row-modified"},[_(d(O),{variant:"tertiary",wide:"",onClick:F[2]||(F[2]=S=>g("mtime"))},{icon:w(()=>[o.value==="ascending"?(s(),C(ce,{key:0,size:20})):o.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ai))]),default:w(()=>[q(" "+$(d(h)("Modified")),1)]),_:1})],8,Hi)])]),f("tbody",null,[t.loading?(s(!0),c(M,{key:0},Q(T.value,S=>(s(),C(Fi,{key:S,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),c(M,{key:1},Q(B.value,S=>(s(),C(Ci,{key:S.fileid||S.path,allowPickDirectory:t.allowPickDirectory,showCheckbox:t.multiselect,canPick:(t.multiselect||e.value.length===0||e.value.includes(S))&&(t.canPick===void 0||t.canPick(S)),selected:e.value.includes(S),node:S,cropImagePreviews:d(v),"onUpdate:selected":R=>ie(S),onEnterDirectory:ae},null,8,["allowPickDirectory","showCheckbox","canPick","selected","node","cropImagePreviews","onUpdate:selected"]))),128))])])],512))}}),Ui=x(Ei,[["__scopeId","data-v-412efd5c"]]),Wi={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ti=["aria-hidden","aria-label"],qi=["fill","width","height"],Zi={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Oi={key:0};function ji(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon home-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Zi,[e.title?(s(),c("title",Oi,$(e.title),1)):z("",!0)])],8,qi))],16,Ti)}const Ki=x(Wi,[["render",ji]]),Gi={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ji=["aria-hidden","aria-label"],Qi=["fill","width","height"],Xi={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},Yi={key:0};function ea(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon plus-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Xi,[e.title?(s(),c("title",Yi,$(e.title),1)):z("",!0)])],8,Qi))],16,Ji)}const ta=x(Gi,[["render",ea]]),ia=A({__name:"FilePickerBreadcrumbs",props:pe({showMenu:{type:Boolean}},{path:{required:!0},pathModifiers:{}}),emits:pe(["createNode"],["update:path"]),setup(t,{emit:i}){const e=ue(t,"path"),a=i,l=L(!1),r=L(""),n=We("nameInput");function u(){const g=r.value.trim(),y=n.value?.$el?.querySelector("input");let v="";try{st(g)}catch(B){if(!(B instanceof ot))throw B;switch(B.reason){case se.Character:v=h('"{char}" is not allowed inside a folder name.',{char:B.segment});break;case se.ReservedName:v=h('"{segment}" is a reserved name and not allowed for folder names.',{segment:B.segment});break;case se.Extension:v=h('Folder names must not end with "{extension}".',{extension:B.segment});break;default:v=h("Invalid folder name.")}}return y&&y.setCustomValidity(v),v===""}function p(){const g=r.value.trim();u()&&(l.value=!1,a("createNode",g),r.value="")}const o=b(()=>e.value.split("/").filter(g=>g!=="").map((g,y,v)=>({name:g,path:"/"+v.slice(0,y+1).join("/")})));return(g,y)=>(s(),C(d(At),{class:"file-picker__breadcrumbs"},Pe({default:w(()=>[_(d(Y),{name:d(h)("All files"),title:d(h)("Home"),onClick:y[0]||(y[0]=v=>e.value="/")},{icon:w(()=>[_(Ki,{size:20})]),_:1},8,["name","title"]),(s(!0),c(M,null,Q(o.value,v=>(s(),C(d(Y),{key:v.path,name:v.name,title:v.path,onClick:B=>e.value=v.path},null,8,["name","title","onClick"]))),128))]),_:2},[t.showMenu?{name:"actions",fn:w(()=>[_(d(ve),{open:l.value,"onUpdate:open":y[2]||(y[2]=v=>l.value=v),"aria-label":d(h)("Create directory"),forceMenu:!0,forceName:!0,menuName:d(h)("New"),variant:"secondary",onClose:y[3]||(y[3]=v=>r.value="")},{icon:w(()=>[_(ta,{size:20})]),default:w(()=>[_(d(ht),{ref_key:"nameInput",ref:n,modelValue:r.value,"onUpdate:modelValue":[y[1]||(y[1]=v=>r.value=v),u],label:d(h)("New folder"),placeholder:d(h)("New folder name"),onSubmit:p},{icon:w(()=>[_(Re,{size:20})]),_:1},8,["modelValue","label","placeholder"])]),_:1},8,["open","aria-label","menuName"])]),key:"0"}:void 0]),1024))}}),aa=x(ia,[["__scopeId","data-v-b448b141"]]),la={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ra=["aria-hidden","aria-label"],na=["fill","width","height"],sa={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},oa={key:0};function ca(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon close-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",sa,[e.title?(s(),c("title",oa,$(e.title),1)):z("",!0)])],8,na))],16,ra)}const da=x(la,[["render",ca]]),ua={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pa=["aria-hidden","aria-label"],fa=["fill","width","height"],ma={d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"},ha={key:0};function va(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon magnify-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ma,[e.title?(s(),c("title",ha,$(e.title),1)):z("",!0)])],8,fa))],16,pa)}const ga=x(ua,[["render",va]]);function ya(t){const i=[{id:"files",label:h("All files"),icon:Ye},{id:"recent",label:h("Recent"),icon:et},{id:"favorites",label:h("Favorites"),icon:tt}],e=t.value?i.filter(({id:a})=>a==="files"):i;return{allViews:i,availableViews:e}}const ba={key:0,class:"file-picker__side"},wa=A({__name:"FilePickerNavigation",props:{currentView:{},filterString:{},isCollapsed:{type:Boolean},disabledNavigation:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:i}){const e=t,a=i,{availableViews:l}=ya(L(Je()===null)),r=b(()=>l.filter(u=>u.id===e.currentView)[0]??l[0]),n=u=>a("update:filterString",u.toString());return(u,p)=>(s(),c(M,null,[_(d(yt),{class:"file-picker__filter-input",label:d(h)("Filter file list"),showTrailingButton:!!t.filterString,modelValue:t.filterString,"onUpdate:modelValue":n,onTrailingButtonClick:p[0]||(p[0]=o=>n(""))},{"trailing-button-icon":w(()=>[_(da,{size:16})]),default:w(()=>[_(ga,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),d(l).length>1&&!t.disabledNavigation?(s(),c(M,{key:0},[t.isCollapsed?(s(),C(d(gt),{key:1,"aria-label":d(h)("Current view selector"),clearable:!1,searchable:!1,options:d(l),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=o=>a("update:currentView",o.id))},null,8,["aria-label","options","modelValue"])):(s(),c("ul",ba,[(s(!0),c(M,null,Q(d(l),o=>(s(),c("li",{key:o.id},[_(d(O),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>u.$emit("update:currentView",o.id)},{icon:w(()=>[_(d(xe),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[q(" "+$(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),ka=x(wa,[["__scopeId","data-v-e1c54e23"]]);async function _a({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:a}=await t.search("/",{signal:i,details:!0,data:kt(e)});return a.results.map(l=>ye(l))}async function Ca({client:t,path:i,signal:e}){const a=(await t.getDirectoryContents(X(ge,i),{signal:e,details:!0,includeSelf:!0,data:Me()})).data.map(l=>ye(l));return{contents:a.filter(({path:l})=>l!==i),folder:a.find(({path:l})=>i===l)}}async function La(t,i){const{data:e}=await t.stat(X(ge,i),{details:!0,data:Me()});return ye(e)}function $a(t,i){const e=bt(),a=de([]),l=de(null),r=L(!0);let n;async function u(o){const g=X(i.value,o);await e.createDirectory(X(ge,g));const y=await La(e,g);return a.value=[...a.value,y],y}async function p(){n&&(n.abort(),n=void 0),n=new AbortController,r.value=!0;try{if(t.value==="favorites")a.value=await wt({client:e,path:i.value,signal:n.signal}),l.value=null;else if(t.value==="recent")a.value=await _a({client:e,signal:n.signal}),l.value=null;else{const o=await Ca({client:e,path:i.value,signal:n.signal});l.value=o.folder,a.value=o.contents}}catch(o){if(o instanceof Error&&o.name==="AbortError")return;throw o}finally{n=void 0,r.value=!1}}return Fe([t,i],()=>p()),G(()=>p()),{isLoading:r,files:a,folder:l,loadFiles:p,createDirectory:u}}function za(t){const i=b(()=>t.value.map(e=>e.split("/")));return{isSupportedMimeType:e=>{const a=e.split("/");return i.value.some(([l,r])=>(a[0]===l||l==="*")&&(a[1]===r||r==="*"))}}}const Ba={class:"file-picker__main"},Pa={key:1,class:"file-picker__view"},Fa=A({__name:"FilePicker",props:{buttons:{},name:{},allowPickDirectory:{type:Boolean,default:!1},noMenu:{type:Boolean,default:!1},disabledNavigation:{type:Boolean,default:!1},filterFn:{type:Function,default:void 0},canPickFn:{type:Function,default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!1},path:{default:void 0}},emits:["close"],setup(t,{emit:i}){const e=t,a=i,l=L(!0),r=L("files"),n=L(window?.sessionStorage.getItem("NC.FilePicker.LastPath")||"/"),u=L(""),p=b({get:()=>r.value==="files"?u.value||e.path||n.value:"/",set:k=>{u.value=k}}),o=de([]),g=L(""),{files:y,folder:v,isLoading:B,loadFiles:V,createDirectory:te}=$a(r,p);Fe([u],()=>{e.path===void 0&&u.value&&window.sessionStorage.setItem("NC.FilePicker.LastPath",u.value),o.value=[],g.value=""});let W=!1;const ie=b(()=>{const k=o.value.length===0&&e.allowPickDirectory&&v.value&&(!e.canPickFn||e.canPickFn(v.value))?[v.value]:o.value;return(typeof e.buttons=="function"?e.buttons(k,p.value,r.value):e.buttons).map(m=>({...m,disabled:m.disabled||B.value,callback:()=>{W=!0,ae(m.callback,k)}}))});async function ae(k,m){await k(m),a("close",m),W=!1}const T=b(()=>r.value==="favorites"?h("Favorites"):r.value==="recent"?h("Recent"):""),{isSupportedMimeType:E}=za(Se(e,"mimetypeFilter"));G(()=>V());const{showHiddenFiles:P}=Ae(),F=b(()=>{let k=y.value;return P.value||(k=k.filter(m=>!m.basename.startsWith("."))),e.mimetypeFilter.length>0&&(k=k.filter(m=>m.type==="folder"||m.mime&&E(m.mime))),g.value&&(k=k.filter(m=>m.basename.toLowerCase().includes(g.value.toLowerCase()))),e.filterFn&&(k=k.filter(m=>e.filterFn(m))),k}),S=b(()=>r.value==="files"?h("Upload some content or sync with your devices!"):r.value==="recent"?h("Files and folders you recently modified will show up here."):h("Files and folders you mark as favorite will show up here."));async function R(k){try{const m=await te(k);u.value=m.path,Ge("files:node:created",y.value.filter(I=>I.basename===k)[0])}catch(m){j.warn("Could not create new folder",{name:k,error:m}),he(h("Could not create the new folder"))}}function Ee(k){!k&&!W&&a("close")}return(k,m)=>(s(),C(d(Xe),{open:l.value,"onUpdate:open":[m[6]||(m[6]=I=>l.value=I),Ee],buttons:ie.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:I})=>[_(ka,{currentView:r.value,"onUpdate:currentView":m[0]||(m[0]=le=>r.value=le),filterString:g.value,"onUpdate:filterString":m[1]||(m[1]=le=>g.value=le),isCollapsed:I,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",Ba,[r.value==="files"?(s(),C(aa,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=I=>p.value=I),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),c("div",Pa,[f("h3",null,$(T.value),1)])),d(B)||F.value.length>0?(s(),C(Ui,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=I=>p.value=I),m[5]||(m[5]=I=>r.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=I=>o.value=I),allowPickDirectory:t.allowPickDirectory,currentView:r.value,files:F.value,multiselect:t.multiselect,loading:d(B),name:T.value,canPick:t.canPickFn},null,8,["path","selectedFiles","allowPickDirectory","currentView","files","multiselect","loading","name","canPick"])):g.value?(s(),C(d(we),{key:3,name:d(h)("No matching files"),description:d(h)("No files matching your filter were found.")},{icon:w(()=>[_(fe)]),_:1},8,["name","description"])):(s(),C(d(we),{key:4,name:d(h)("No files in here"),description:S.value},{icon:w(()=>[_(fe)]),_:1},8,["name","description"]))])]),_:1},8,["open","buttons","name"]))}}),il=x(Fa,[["__scopeId","data-v-39182aaf"]]);export{il as default}; -//# sourceMappingURL=FilePicker-YuFFlyrq.chunk.mjs.map +import{r as re,o as s,f as c,c as C,v as Pe,w,i as ne,g as f,n as U,j as q,t as $,m as D,h as z,k as _,I as J,F as M,ae as be,aa as H,E as Ue,a6 as Z,p as L,b as A,z as Fe,P as G,u as d,l as b,af as de,q as ue,s as We,B as Q,x as pe,ag as Te,D as qe,K as Ze,L as Oe,a1 as Se}from"./preload-helper-CseRDAJ7.chunk.mjs";import{u as je,s as Ke,b as me,e as Ge,m as X,a as Je,r as Qe}from"./formatRelative-CRa9J-kT.chunk.mjs";import{N as Xe}from"./index-BdZYurIK.chunk.mjs";import{N as we}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{_ as x,G as h,H as j,a as he,I as Ye,J as et,K as tt,L as it,M as at,N as lt,O as ke,D as rt,d as nt}from"./index-CIl948Sr.chunk.mjs";import{v as st,I as ot,e as se,s as ct}from"./index-Bsg0Thwh.chunk.mjs";import{N as O,g as dt}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{N as Ne}from"./NcCheckboxRadioSwitch-wO334SEx.chunk.mjs";import{N as _e,a as Ce,_ as ut}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import{S as Le}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ee,c as pt,N as xe}from"./createElementId-Dh4E-ofN.chunk.mjs";import{F as K,P as $e}from"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import{f as ft}from"./fileSize-G68jp3EG.chunk.mjs";import{P as mt,a as ht}from"./NcBreadcrumbs-Bkz4spNb.chunk.mjs";import{c as Ve}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{l as Ie,i as De}from"./public-Cpb8_kIm.chunk.mjs";import{d as ve,t as vt}from"./NcModal-BiE9lNuC.chunk.mjs";import{N as ze}from"./NcActionButton-DrNkZJlL.chunk.mjs";import{N as gt}from"./index-Dz7vUkRa.chunk.mjs";import{_ as yt}from"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import{g as bt,h as wt,i as ge,j as kt,r as ye,k as Me}from"./dav-Dn-NvZjS.chunk.mjs";import"./PencilOutline-Cfr8gsXf.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./NcPasswordField-j1sClNYM.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const _t={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ct=["aria-hidden","aria-label"],Lt=["fill","width","height"],$t={d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},zt={key:0};function Bt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon chevron-right-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",$t,[e.title?(s(),c("title",zt,$(e.title),1)):z("",!0)])],8,Lt))],16,Ct)}const Pt=ee(_t,[["render",Bt]]),Ft={name:"NcBreadcrumb",components:{NcActions:ve,ChevronRight:Pt,NcButton:O},inheritAttrs:!1,props:{name:{type:String,required:!0},title:{type:String,default:null},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:""},forceIconText:{type:Boolean,default:!1},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1},class:{type:[String,Array,Object],default:""}},emits:["dragenter","dragleave","dropped","update:open"],setup(){const t=pt();return{actionsContainer:`.vue-crumb[data-crumb-id="${t}"]`,crumbId:t}},data(){return{hovering:!1}},computed:{linkAttributes(){return this.to?{to:this.to,...this.$attrs}:this.href?{href:this.href,...this.$attrs}:this.$attrs}},methods:{onOpenChange(t){this.$emit("update:open",t)},dropped(t){return this.disableDrop||(this.$emit("dropped",t,this.to||this.href),this.$parent.$emit("dropped",t,this.to||this.href),this.hovering=!1),!1},dragEnter(t){this.$emit("dragenter",t),!this.disableDrop&&(this.hovering=!0)},dragLeave(t){this.$emit("dragleave",t),!this.disableDrop&&(t.target.contains(t.relatedTarget)||this.$refs.crumb.contains(t.relatedTarget)||(this.hovering=!1))}}},St=["data-crumb-id"];function Nt(t,i,e,a,l,r){const n=re("NcButton"),u=re("NcActions"),p=re("ChevronRight");return s(),c("li",{ref:"crumb",class:U(["vue-crumb",[{"vue-crumb--hovered":l.hovering},t.$props.class]]),"data-crumb-id":a.crumbId,draggable:"false",onDragstart:J(()=>{},["prevent"]),onDrop:i[0]||(i[0]=J((...o)=>r.dropped&&r.dropped(...o),["prevent"])),onDragover:J(()=>{},["prevent"]),onDragenter:i[1]||(i[1]=(...o)=>r.dragEnter&&r.dragEnter(...o)),onDragleave:i[2]||(i[2]=(...o)=>r.dragLeave&&r.dragLeave(...o))},[(e.name||e.icon||t.$slots.icon)&&!t.$slots.default?(s(),C(n,D({key:0,"aria-label":e.icon?e.name:void 0,variant:"tertiary"},r.linkAttributes),Pe({_:2},[t.$slots.icon||e.icon?{name:"icon",fn:w(()=>[ne(t.$slots,"icon",{},()=>[f("span",{class:U([e.icon,"icon"])},null,2)],!0)]),key:"0"}:void 0,!(t.$slots.icon||e.icon)||e.forceIconText?{name:"default",fn:w(()=>[q($(e.name),1)]),key:"1"}:void 0]),1040,["aria-label"])):z("",!0),t.$slots.default?(s(),C(u,{key:1,ref:"actions",container:a.actionsContainer,forceMenu:e.forceMenu,forceName:"",menuName:e.name,open:e.open,title:e.title,variant:"tertiary","onUpdate:open":r.onOpenChange},{icon:w(()=>[ne(t.$slots,"menu-icon",{},void 0,!0)]),default:w(()=>[ne(t.$slots,"default",{},void 0,!0)]),_:3},8,["container","forceMenu","menuName","open","title","onUpdate:open"])):z("",!0),_(p,{class:"vue-crumb__separator",size:20})],42,St)}const Y=ee(Ft,[["render",Nt],["__scopeId","data-v-7cec4a3e"]]),xt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vt=["aria-hidden","aria-label"],It=["fill","width","height"],Dt={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},Mt={key:0};function Rt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Dt,[e.title?(s(),c("title",Mt,$(e.title),1)):z("",!0)])],8,It))],16,Vt)}const Be=ee(xt,[["render",Rt]]),N="vue-crumb",Ht={name:"NcBreadcrumbs",components:{NcActions:ve,NcActionButton:ze,NcActionRouter:Ce,NcActionLink:_e,NcBreadcrumb:Y,IconFolder:Be},props:{rootIcon:{type:String,default:"icon-home"},ariaLabel:{type:String,default:null}},emits:["dropped"],data(){return{hiddenIndices:[],menuBreadcrumbProps:{name:"",forceMenu:!0,disableDrop:!0,open:!1},breadcrumbsRefs:[]}},created(){window.addEventListener("resize",dt(()=>{this.handleWindowResize()},100)),Ke("navigation-toggled",this.delayedResize)},mounted(){this.handleWindowResize()},updated(){this.delayedResize(),this.$nextTick(()=>{this.hideCrumbs()})},beforeUnmount(){window.removeEventListener("resize",this.handleWindowResize),je("navigation-toggled",this.delayedResize)},methods:{closeActions(t){this.$refs.actionsBreadcrumb.$el.contains(t.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},async delayedResize(){await this.$nextTick(),this.handleWindowResize()},handleWindowResize(){if(!this.$refs.container)return;const t=this.breadcrumbsRefs.length,i=[],e=this.$refs.container.offsetWidth;let a=this.getTotalWidth();this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);let l=a-e;l+=l>0?64:0;let r=0;const n=Math.floor(t/2);for(;l>0&&ru-p))||(this.hiddenIndices=i)},arraysEqual(t,i){if(t.length!==i.length)return!1;if(t===i)return!0;if(t===null||i===null)return!1;for(let e=0;et+this.getWidth(i.$el,e===this.breadcrumbsRefs.length-1),0)},getWidth(t,i){if(!t?.classList)return 0;const e=t.classList.contains(`${N}--hidden`);t.style.minWidth="auto",i&&(t.style.maxWidth="210px"),t.classList.remove(`${N}--hidden`);const a=t.offsetWidth;return e&&t.classList.add(`${N}--hidden`),t.style.minWidth="",t.style.maxWidth="",a},preventDefault(t){return t.preventDefault&&t.preventDefault(),!1},dragStart(t){return this.preventDefault(t)},dropped(t,i,e){e||this.$emit("dropped",t,i),this.menuBreadcrumbProps.open=!1;const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);return this.preventDefault(t)},dragOver(t){return this.preventDefault(t)},dragEnter(t,i){if(!i&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.classList&&e.classList.contains(N)){const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);e.classList.add(`${N}--hovered`)}}},dragLeave(t,i){if(!i&&!t.target.contains(t.relatedTarget)&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.contains(t.relatedTarget))return;e.classList&&e.classList.contains(N)&&e.classList.remove(`${N}--hovered`)}},hideCrumbs(){this.breadcrumbsRefs.forEach((t,i)=>{t?.$el?.classList&&(this.hiddenIndices.includes(i)?t.$el.classList.add(`${N}--hidden`):t.$el.classList.remove(`${N}--hidden`))})},isBreadcrumb(t){return t?.type?.name==="NcBreadcrumb"}},render(){let t=[];if(this.$slots.default?.().forEach(l=>{if(this.isBreadcrumb(l)){t.push(l);return}l?.type===M&&l?.children?.forEach?.(r=>{this.isBreadcrumb(r)&&t.push(r)})}),t.length===0)return;t[0]=be(t[0],{icon:this.rootIcon,ref:"breadcrumbs"});const i=[];t=t.map((l,r)=>be(l,{ref:n=>{i[r]=n}}));const e=[...t];this.hiddenIndices.length&&e.splice(Math.round(t.length/2),0,H(Y,{class:"dropdown",...this.menuBreadcrumbProps,"aria-hidden":!0,ref:"actionsBreadcrumb",key:"actions-breadcrumb-1",onDragenter:()=>{this.menuBreadcrumbProps.open=!0},onDragleave:this.closeActions,"onUpdate:open":l=>{this.menuBreadcrumbProps.open=l}},{default:()=>this.hiddenIndices.filter(l=>l<=t.length-1).map(l=>{const r=t[l],{to:n,href:u,disableDrop:p,name:o,...g}=r.props;delete g.ref;let y=ze,v="";u&&(y=_e,v=u),n&&(y=Ce,v=n);const B=H(Be,{size:20});return H(y,{...g,class:N,href:u||null,to:n||null,draggable:!1,onDragstart:this.dragStart,onDrop:V=>this.dropped(V,v,p),onDragover:this.dragOver,onDragenter:V=>this.dragEnter(V,p),onDragleave:V=>this.dragLeave(V,p)},{default:()=>o,icon:()=>B})})}));const a=[H("nav",{"aria-label":this.ariaLabel},[H("ul",{class:"breadcrumb__crumbs"},[e])])];return vt(this.$slots.actions?.())&&a.push(H("div",{class:"breadcrumb__actions",ref:"breadcrumb__actions"},this.$slots.actions?.())),this.breadcrumbsRefs=i,H("div",{class:["breadcrumb",{"breadcrumb--collapsed":this.hiddenIndices.length===t.length-2}],ref:"container"},a)}},At=ee(Ht,[["__scopeId","data-v-5a4d73af"]]),Et=new mt({concurrency:5});function Ut(t){const{resolve:i,promise:e}=Promise.withResolvers();return Et.add(()=>{const a=new Image;return a.onerror=()=>i(!1),a.onload=()=>i(!0),a.src=t,e}),e}function Wt(t,i={}){i={size:32,cropPreview:!1,mimeFallback:!0,...i};try{const e=t.attributes?.previewUrl||me("/core/preview?fileId={fileid}",{fileid:t.fileid});let a;try{a=new URL(e)}catch{a=new URL(e,window.location.origin)}return a.searchParams.set("x",`${i.size}`),a.searchParams.set("y",`${i.size}`),a.searchParams.set("mimeFallback",`${i.mimeFallback}`),a.searchParams.set("a",i.cropPreview===!0?"0":"1"),a.searchParams.set("c",`${t.attributes.etag}`),a}catch{return null}}function Tt(t,i){const e=L(null),a=L(!1);return Ue(()=>{a.value=!1,e.value=Wt(Z(t),Z(i||{})),e.value&&Z(t).type===K.File&&Ut(e.value.href).then(l=>{a.value=l})}),{previewURL:e,previewLoaded:a}}const qt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zt=["aria-hidden","aria-label"],Ot=["fill","width","height"],jt={d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"},Kt={key:0};function Gt(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon file-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",jt,[e.title?(s(),c("title",Kt,$(e.title),1)):z("",!0)])],8,Ot))],16,Zt)}const fe=x(qt,[["render",Gt]]),Jt={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qt=["aria-hidden","aria-label"],Xt=["fill","width","height"],Yt={d:"M7,10L12,15L17,10H7Z"},ei={key:0};function ti(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-down-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Yt,[e.title?(s(),c("title",ei,$(e.title),1)):z("",!0)])],8,Xt))],16,Qt)}const oe=x(Jt,[["render",ti]]),ii={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ai=["aria-hidden","aria-label"],li=["fill","width","height"],ri={d:"M7,15L12,10L17,15H7Z"},ni={key:0};function si(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-up-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ri,[e.title?(s(),c("title",ni,$(e.title),1)):z("",!0)])],8,li))],16,ai)}const ce=x(ii,[["render",si]]),oi={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=["aria-hidden","aria-label"],di=["fill","width","height"],ui={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},pi={key:0};function fi(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ui,[e.title?(s(),c("title",pi,$(e.title),1)):z("",!0)])],8,di))],16,ci)}const Re=x(oi,[["render",fi]]),He={"file-picker__file-icon":"_file-picker__file-icon_1aykw_9","file-picker__file-icon--primary":"_file-picker__file-icon--primary_1aykw_22","file-picker__file-icon-overlay":"_file-picker__file-icon-overlay_1aykw_26"},mi=A({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=L(He),{previewURL:a,previewLoaded:l}=Tt(Se(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),r=b(()=>i.node.type===K.File),n=b(()=>{if(i.node.type!==K.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return it;if(i.node.attributes?.["is-tag"])return at;const u=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(u.some(p=>p===Le.Link||p===Le.Email))return lt;if(u.length>0)return ke;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return nt;case"group":return rt;case"shared":return ke}return null});return(u,p)=>(s(),c("div",{style:Oe(d(l)?{backgroundImage:`url(${d(a)})`}:void 0),class:U(e.value["file-picker__file-icon"])},[d(l)?z("",!0):(s(),c(M,{key:0},[r.value?(s(),C(fe,{key:0,size:32})):(s(),c(M,{key:1},[n.value?(s(),C(d(xe),{key:0,class:U(e.value["file-picker__file-icon-overlay"]),inline:"",path:n.value,size:16},null,8,["class","path"])):z("",!0),_(Re,{class:U(e.value["file-picker__file-icon--primary"]),size:32},null,8,["class"])],64))],64))],6))}}),hi=["tabindex","aria-selected","data-filename"],vi={class:"row-name"},gi={class:"file-picker__name-container","data-testid":"row-name"},yi=["title","textContent"],bi=["textContent"],wi={class:"row-size"},ki={class:"row-modified"},_i=A({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:{},cropImagePreviews:{type:Boolean}},emits:["update:selected","enterDirectory"],setup(t,{emit:i}){const e=t,a=i,l=b(()=>e.node.mtime??0),r=b(()=>Qe(e.node.displayname)),n=b(()=>e.node.displayname.slice(0,r.value?-r.value.length:void 0)),u=b(()=>e.node.type===K.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!u.value)),o=b(()=>(e.node.permissions&$e.READ)===$e.READ);function g(){p.value&&a("update:selected",!e.selected)}function y(){u.value?o.value&&a("enterDirectory",e.node):g()}function v(B){B.key==="Enter"&&y()}return(B,V)=>(s(),c("tr",D({tabindex:t.showCheckbox&&!u.value?void 0:0,"aria-selected":p.value?t.selected:void 0,class:["file-picker__row",[{"file-picker__row--selected":t.selected&&!t.showCheckbox,"file-picker__row--not-navigatable":u.value&&!o.value,"file-picker__row--not-pickable":!p.value}]],"data-filename":t.node.basename,"data-testid":"file-list-row"},Ze({click:y,...!t.showCheckbox||u.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),c("td",{key:0,class:"row-checkbox",onClick:J(()=>{},["stop"])},[_(d(Ne),{"aria-label":d(h)("Select the row for {nodename}",{nodename:n.value}),disabled:!p.value,"data-testid":"row-checkbox",modelValue:t.selected,"onUpdate:modelValue":g},null,8,["aria-label","disabled","modelValue"])])):z("",!0),f("td",vi,[f("div",gi,[_(mi,{node:t.node,cropImagePreviews:t.cropImagePreviews},null,8,["node","cropImagePreviews"]),f("div",{class:"file-picker__file-name",title:n.value,textContent:$(n.value)},null,8,yi),f("div",{class:"file-picker__file-extension",textContent:$(r.value)},null,8,bi)])]),f("td",wi,$(d(ft)(t.node.size||0)),1),f("td",ki,[_(d(ut),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,hi))}}),Ci=x(_i,[["__scopeId","data-v-7857e8bd"]]),Li={"aria-hidden":"true",class:"file-picker__row loading-row"},$i={key:0,class:"row-checkbox"},zi={class:"row-name"},Bi={class:"row-wrapper"},Pi=A({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),c("tr",Li,[t.showCheckbox?(s(),c("td",$i,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",zi,[f("div",Bi,[f("span",{class:U(d(He)["file-picker__file-icon"])},null,2),e[1]||(e[1]=f("span",null,null,-1))])]),e[2]||(e[2]=f("td",{class:"row-size"},[f("span")],-1)),e[3]||(e[3]=f("td",{class:"row-modified"},[f("span")],-1))]))}}),Fi=x(Pi,[["__scopeId","data-v-1f96131b"]]);function Ae(){const t=Ie("files","config",null),i=L(t?.show_hidden??!0),e=L(t?.sort_favorites_first??!0),a=L(t?.crop_image_previews??!0);return G(async()=>{if(De())j.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ve.get(me("/apps/files/api/v1/configs"));i.value=l?.data?.show_hidden??!1,e.value=l?.data?.sort_favorites_first??!0,a.value=l?.data?.crop_image_previews??!0}catch(l){j.error("Could not load files settings",{error:l}),he(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:a}}function Si(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=Ie("files","viewConfigs",null),a=L({sortBy:e?.files?.sorting_mode??"basename",order:i(e?.files?.sorting_direction??"asc")}),l=L({sortBy:e?.recent?.sorting_mode??"basename",order:i(e?.recent?.sorting_direction??"asc")}),r=L({sortBy:e?.favorites?.sorting_mode??"basename",order:i(e?.favorites?.sorting_direction??"asc")});G(async()=>{if(De())j.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ve.get(me("/apps/files/api/v1/views"));a.value={sortBy:o?.data?.files?.sorting_mode??"basename",order:i(o?.data?.files?.sorting_direction)},r.value={sortBy:o?.data?.favorites?.sorting_mode??"basename",order:i(o?.data?.favorites?.sorting_direction)},l.value={sortBy:o?.data?.recent?.sorting_mode??"basename",order:i(o?.data?.recent?.sorting_direction)}}catch(o){j.error("Could not load files views",{error:o}),he(h("Could not load files views"))}});const n=b(()=>Z(t||"files")==="files"?a.value:Z(t)==="recent"?l.value:r.value),u=b(()=>n.value.sortBy),p=b(()=>n.value.order);return{filesViewConfig:a,favoritesViewConfig:r,recentViewConfig:l,currentConfig:n,sortBy:u,order:p}}const Ni={key:0,class:"row-checkbox"},xi={class:"hidden-visually"},Vi=["aria-sort"],Ii={class:"header-wrapper"},Di={key:2,style:{width:"44px"}},Mi=["aria-sort"],Ri={key:2,style:{width:"44px"}},Hi=["aria-sort"],Ai={key:2,style:{width:"44px"}},Ei=A({__name:"FileList",props:pe({currentView:{},multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:{},canPick:{type:Function}},{path:{required:!0},pathModifiers:{},selectedFiles:{required:!0},selectedFilesModifiers:{}}),emits:["update:path","update:selectedFiles"],setup(t){const i=ue(t,"path"),e=ue(t,"selectedFiles"),a=t,l=L(),{currentConfig:r}=Si(a.currentView),n=b(()=>l.value??r.value),u=b(()=>n.value.sortBy==="basename"?n.value.order==="none"?void 0:n.value.order:void 0),p=b(()=>n.value.sortBy==="size"?n.value.order==="none"?void 0:n.value.order:void 0),o=b(()=>n.value.sortBy==="mtime"?n.value.order==="none"?void 0:n.value.order:void 0);function g(P){n.value.sortBy===P?n.value.order==="ascending"?l.value={sortBy:n.value.sortBy,order:"descending"}:l.value={sortBy:n.value.sortBy,order:"ascending"}:l.value={sortBy:P,order:"ascending"}}const{sortFavoritesFirst:y,cropImagePreviews:v}=Ae(),B=b(()=>ct(a.files,{sortFoldersFirst:!0,sortFavoritesFirst:y.value,sortingOrder:n.value.order==="descending"?"desc":"asc",sortingMode:n.value.sortBy})),V=b(()=>a.files.filter(P=>a.allowPickDirectory||P.type!==K.Folder)),te=b(()=>!a.loading&&e.value.length>0&&e.value.length>=V.value.length);function W(){e.value.lengthF.path!==P.path):a.multiselect?e.value=[...e.value,P]:e.value=[P]}function ae(P){i.value=P.path}const T=L(4),E=L();{const P=()=>qe(()=>{const F=E.value?.parentElement?.children||[];let S=E.value?.parentElement?.clientHeight||450;for(let R=0;R{window.addEventListener("resize",P),P()}),Te(()=>{window.removeEventListener("resize",P)})}return(P,F)=>(s(),c("div",{ref_key:"fileContainer",ref:E,class:"file-picker__files"},[f("table",null,[f("thead",null,[f("tr",null,[t.multiselect?(s(),c("th",Ni,[f("span",xi,$(d(h)("Select entry")),1),t.multiselect?(s(),C(d(Ne),{key:0,"aria-label":d(h)("Select all entries"),"data-testid":"select-all-checkbox",modelValue:te.value,"onUpdate:modelValue":W},null,8,["aria-label","modelValue"])):z("",!0)])):z("",!0),f("th",{"aria-sort":u.value,class:"row-name"},[f("div",Ii,[F[3]||(F[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(d(O),{"data-test":"file-picker_sort-name",variant:"tertiary",wide:"",onClick:F[0]||(F[0]=S=>g("basename"))},{icon:w(()=>[u.value==="ascending"?(s(),C(ce,{key:0,size:20})):u.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Di))]),default:w(()=>[q(" "+$(d(h)("Name")),1)]),_:1})])],8,Vi),f("th",{"aria-sort":p.value,class:"row-size"},[_(d(O),{variant:"tertiary",wide:"",onClick:F[1]||(F[1]=S=>g("size"))},{icon:w(()=>[p.value==="ascending"?(s(),C(ce,{key:0,size:20})):p.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ri))]),default:w(()=>[q(" "+$(d(h)("Size")),1)]),_:1})],8,Mi),f("th",{"aria-sort":o.value,class:"row-modified"},[_(d(O),{variant:"tertiary",wide:"",onClick:F[2]||(F[2]=S=>g("mtime"))},{icon:w(()=>[o.value==="ascending"?(s(),C(ce,{key:0,size:20})):o.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ai))]),default:w(()=>[q(" "+$(d(h)("Modified")),1)]),_:1})],8,Hi)])]),f("tbody",null,[t.loading?(s(!0),c(M,{key:0},Q(T.value,S=>(s(),C(Fi,{key:S,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),c(M,{key:1},Q(B.value,S=>(s(),C(Ci,{key:S.fileid||S.path,allowPickDirectory:t.allowPickDirectory,showCheckbox:t.multiselect,canPick:(t.multiselect||e.value.length===0||e.value.includes(S))&&(t.canPick===void 0||t.canPick(S)),selected:e.value.includes(S),node:S,cropImagePreviews:d(v),"onUpdate:selected":R=>ie(S),onEnterDirectory:ae},null,8,["allowPickDirectory","showCheckbox","canPick","selected","node","cropImagePreviews","onUpdate:selected"]))),128))])])],512))}}),Ui=x(Ei,[["__scopeId","data-v-412efd5c"]]),Wi={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ti=["aria-hidden","aria-label"],qi=["fill","width","height"],Zi={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Oi={key:0};function ji(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon home-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Zi,[e.title?(s(),c("title",Oi,$(e.title),1)):z("",!0)])],8,qi))],16,Ti)}const Ki=x(Wi,[["render",ji]]),Gi={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ji=["aria-hidden","aria-label"],Qi=["fill","width","height"],Xi={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},Yi={key:0};function ea(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon plus-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Xi,[e.title?(s(),c("title",Yi,$(e.title),1)):z("",!0)])],8,Qi))],16,Ji)}const ta=x(Gi,[["render",ea]]),ia=A({__name:"FilePickerBreadcrumbs",props:pe({showMenu:{type:Boolean}},{path:{required:!0},pathModifiers:{}}),emits:pe(["createNode"],["update:path"]),setup(t,{emit:i}){const e=ue(t,"path"),a=i,l=L(!1),r=L(""),n=We("nameInput");function u(){const g=r.value.trim(),y=n.value?.$el?.querySelector("input");let v="";try{st(g)}catch(B){if(!(B instanceof ot))throw B;switch(B.reason){case se.Character:v=h('"{char}" is not allowed inside a folder name.',{char:B.segment});break;case se.ReservedName:v=h('"{segment}" is a reserved name and not allowed for folder names.',{segment:B.segment});break;case se.Extension:v=h('Folder names must not end with "{extension}".',{extension:B.segment});break;default:v=h("Invalid folder name.")}}return y&&y.setCustomValidity(v),v===""}function p(){const g=r.value.trim();u()&&(l.value=!1,a("createNode",g),r.value="")}const o=b(()=>e.value.split("/").filter(g=>g!=="").map((g,y,v)=>({name:g,path:"/"+v.slice(0,y+1).join("/")})));return(g,y)=>(s(),C(d(At),{class:"file-picker__breadcrumbs"},Pe({default:w(()=>[_(d(Y),{name:d(h)("All files"),title:d(h)("Home"),onClick:y[0]||(y[0]=v=>e.value="/")},{icon:w(()=>[_(Ki,{size:20})]),_:1},8,["name","title"]),(s(!0),c(M,null,Q(o.value,v=>(s(),C(d(Y),{key:v.path,name:v.name,title:v.path,onClick:B=>e.value=v.path},null,8,["name","title","onClick"]))),128))]),_:2},[t.showMenu?{name:"actions",fn:w(()=>[_(d(ve),{open:l.value,"onUpdate:open":y[2]||(y[2]=v=>l.value=v),"aria-label":d(h)("Create directory"),forceMenu:!0,forceName:!0,menuName:d(h)("New"),variant:"secondary",onClose:y[3]||(y[3]=v=>r.value="")},{icon:w(()=>[_(ta,{size:20})]),default:w(()=>[_(d(ht),{ref_key:"nameInput",ref:n,modelValue:r.value,"onUpdate:modelValue":[y[1]||(y[1]=v=>r.value=v),u],label:d(h)("New folder"),placeholder:d(h)("New folder name"),onSubmit:p},{icon:w(()=>[_(Re,{size:20})]),_:1},8,["modelValue","label","placeholder"])]),_:1},8,["open","aria-label","menuName"])]),key:"0"}:void 0]),1024))}}),aa=x(ia,[["__scopeId","data-v-b448b141"]]),la={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ra=["aria-hidden","aria-label"],na=["fill","width","height"],sa={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},oa={key:0};function ca(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon close-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",sa,[e.title?(s(),c("title",oa,$(e.title),1)):z("",!0)])],8,na))],16,ra)}const da=x(la,[["render",ca]]),ua={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pa=["aria-hidden","aria-label"],fa=["fill","width","height"],ma={d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"},ha={key:0};function va(t,i,e,a,l,r){return s(),c("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon magnify-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ma,[e.title?(s(),c("title",ha,$(e.title),1)):z("",!0)])],8,fa))],16,pa)}const ga=x(ua,[["render",va]]);function ya(t){const i=[{id:"files",label:h("All files"),icon:Ye},{id:"recent",label:h("Recent"),icon:et},{id:"favorites",label:h("Favorites"),icon:tt}],e=t.value?i.filter(({id:a})=>a==="files"):i;return{allViews:i,availableViews:e}}const ba={key:0,class:"file-picker__side"},wa=A({__name:"FilePickerNavigation",props:{currentView:{},filterString:{},isCollapsed:{type:Boolean},disabledNavigation:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:i}){const e=t,a=i,{availableViews:l}=ya(L(Je()===null)),r=b(()=>l.filter(u=>u.id===e.currentView)[0]??l[0]),n=u=>a("update:filterString",u.toString());return(u,p)=>(s(),c(M,null,[_(d(yt),{class:"file-picker__filter-input",label:d(h)("Filter file list"),showTrailingButton:!!t.filterString,modelValue:t.filterString,"onUpdate:modelValue":n,onTrailingButtonClick:p[0]||(p[0]=o=>n(""))},{"trailing-button-icon":w(()=>[_(da,{size:16})]),default:w(()=>[_(ga,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),d(l).length>1&&!t.disabledNavigation?(s(),c(M,{key:0},[t.isCollapsed?(s(),C(d(gt),{key:1,"aria-label":d(h)("Current view selector"),clearable:!1,searchable:!1,options:d(l),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=o=>a("update:currentView",o.id))},null,8,["aria-label","options","modelValue"])):(s(),c("ul",ba,[(s(!0),c(M,null,Q(d(l),o=>(s(),c("li",{key:o.id},[_(d(O),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>u.$emit("update:currentView",o.id)},{icon:w(()=>[_(d(xe),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[q(" "+$(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),ka=x(wa,[["__scopeId","data-v-e1c54e23"]]);async function _a({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:a}=await t.search("/",{signal:i,details:!0,data:kt(e)});return a.results.map(l=>ye(l))}async function Ca({client:t,path:i,signal:e}){const a=(await t.getDirectoryContents(X(ge,i),{signal:e,details:!0,includeSelf:!0,data:Me()})).data.map(l=>ye(l));return{contents:a.filter(({path:l})=>l!==i),folder:a.find(({path:l})=>i===l)}}async function La(t,i){const{data:e}=await t.stat(X(ge,i),{details:!0,data:Me()});return ye(e)}function $a(t,i){const e=bt(),a=de([]),l=de(null),r=L(!0);let n;async function u(o){const g=X(i.value,o);await e.createDirectory(X(ge,g));const y=await La(e,g);return a.value=[...a.value,y],y}async function p(){n&&(n.abort(),n=void 0),n=new AbortController,r.value=!0;try{if(t.value==="favorites")a.value=await wt({client:e,path:i.value,signal:n.signal}),l.value=null;else if(t.value==="recent")a.value=await _a({client:e,signal:n.signal}),l.value=null;else{const o=await Ca({client:e,path:i.value,signal:n.signal});l.value=o.folder,a.value=o.contents}}catch(o){if(o instanceof Error&&o.name==="AbortError")return;throw o}finally{n=void 0,r.value=!1}}return Fe([t,i],()=>p()),G(()=>p()),{isLoading:r,files:a,folder:l,loadFiles:p,createDirectory:u}}function za(t){const i=b(()=>t.value.map(e=>e.split("/")));return{isSupportedMimeType:e=>{const a=e.split("/");return i.value.some(([l,r])=>(a[0]===l||l==="*")&&(a[1]===r||r==="*"))}}}const Ba={class:"file-picker__main"},Pa={key:1,class:"file-picker__view"},Fa=A({__name:"FilePicker",props:{buttons:{},name:{},allowPickDirectory:{type:Boolean,default:!1},noMenu:{type:Boolean,default:!1},disabledNavigation:{type:Boolean,default:!1},filterFn:{type:Function,default:void 0},canPickFn:{type:Function,default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!1},path:{default:void 0}},emits:["close"],setup(t,{emit:i}){const e=t,a=i,l=L(!0),r=L("files"),n=L(window?.sessionStorage.getItem("NC.FilePicker.LastPath")||"/"),u=L(""),p=b({get:()=>r.value==="files"?u.value||e.path||n.value:"/",set:k=>{u.value=k}}),o=de([]),g=L(""),{files:y,folder:v,isLoading:B,loadFiles:V,createDirectory:te}=$a(r,p);Fe([u],()=>{e.path===void 0&&u.value&&window.sessionStorage.setItem("NC.FilePicker.LastPath",u.value),o.value=[],g.value=""});let W=!1;const ie=b(()=>{const k=o.value.length===0&&e.allowPickDirectory&&v.value&&(!e.canPickFn||e.canPickFn(v.value))?[v.value]:o.value;return(typeof e.buttons=="function"?e.buttons(k,p.value,r.value):e.buttons).map(m=>({...m,disabled:m.disabled||B.value,callback:()=>{W=!0,ae(m.callback,k)}}))});async function ae(k,m){await k(m),a("close",m),W=!1}const T=b(()=>r.value==="favorites"?h("Favorites"):r.value==="recent"?h("Recent"):""),{isSupportedMimeType:E}=za(Se(e,"mimetypeFilter"));G(()=>V());const{showHiddenFiles:P}=Ae(),F=b(()=>{let k=y.value;return P.value||(k=k.filter(m=>!m.basename.startsWith("."))),e.mimetypeFilter.length>0&&(k=k.filter(m=>m.type==="folder"||m.mime&&E(m.mime))),g.value&&(k=k.filter(m=>m.basename.toLowerCase().includes(g.value.toLowerCase()))),e.filterFn&&(k=k.filter(m=>e.filterFn(m))),k}),S=b(()=>r.value==="files"?h("Upload some content or sync with your devices!"):r.value==="recent"?h("Files and folders you recently modified will show up here."):h("Files and folders you mark as favorite will show up here."));async function R(k){try{const m=await te(k);u.value=m.path,Ge("files:node:created",y.value.filter(I=>I.basename===k)[0])}catch(m){j.warn("Could not create new folder",{name:k,error:m}),he(h("Could not create the new folder"))}}function Ee(k){!k&&!W&&a("close")}return(k,m)=>(s(),C(d(Xe),{open:l.value,"onUpdate:open":[m[6]||(m[6]=I=>l.value=I),Ee],buttons:ie.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:I})=>[_(ka,{currentView:r.value,"onUpdate:currentView":m[0]||(m[0]=le=>r.value=le),filterString:g.value,"onUpdate:filterString":m[1]||(m[1]=le=>g.value=le),isCollapsed:I,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",Ba,[r.value==="files"?(s(),C(aa,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=I=>p.value=I),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),c("div",Pa,[f("h3",null,$(T.value),1)])),d(B)||F.value.length>0?(s(),C(Ui,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=I=>p.value=I),m[5]||(m[5]=I=>r.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=I=>o.value=I),allowPickDirectory:t.allowPickDirectory,currentView:r.value,files:F.value,multiselect:t.multiselect,loading:d(B),name:T.value,canPick:t.canPickFn},null,8,["path","selectedFiles","allowPickDirectory","currentView","files","multiselect","loading","name","canPick"])):g.value?(s(),C(d(we),{key:3,name:d(h)("No matching files"),description:d(h)("No files matching your filter were found.")},{icon:w(()=>[_(fe)]),_:1},8,["name","description"])):(s(),C(d(we),{key:4,name:d(h)("No files in here"),description:S.value},{icon:w(()=>[_(fe)]),_:1},8,["name","description"]))])]),_:1},8,["open","buttons","name"]))}}),il=x(Fa,[["__scopeId","data-v-39182aaf"]]);export{il as default}; +//# sourceMappingURL=FilePicker-Z7R9rHQv.chunk.mjs.map diff --git a/dist/FilePicker-YuFFlyrq.chunk.mjs.license b/dist/FilePicker-Z7R9rHQv.chunk.mjs.license similarity index 100% rename from dist/FilePicker-YuFFlyrq.chunk.mjs.license rename to dist/FilePicker-Z7R9rHQv.chunk.mjs.license diff --git a/dist/FilePicker-YuFFlyrq.chunk.mjs.map b/dist/FilePicker-Z7R9rHQv.chunk.mjs.map similarity index 99% rename from dist/FilePicker-YuFFlyrq.chunk.mjs.map rename to dist/FilePicker-Z7R9rHQv.chunk.mjs.map index ad1118fe63bf1..50ce1fbc42219 100644 --- a/dist/FilePicker-YuFFlyrq.chunk.mjs.map +++ b/dist/FilePicker-Z7R9rHQv.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilePicker-YuFFlyrq.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { N as NcActions } from \"./NcActions.mjs\";\nconst _sfc_main$1 = {\n name: \"ChevronRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1$1);\n}\nconst ChevronRight = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nconst _sfc_main = {\n name: \"NcBreadcrumb\",\n components: {\n NcActions,\n ChevronRight,\n NcButton\n },\n inheritAttrs: false,\n props: {\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * Route Location the link should navigate to when clicked on.\n *\n * @see https://v3.router.vuejs.org/api/#to\n */\n to: {\n type: [String, Object],\n default: void 0\n },\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n */\n forceIconText: {\n type: Boolean,\n default: false\n },\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * CSS class to apply to the root element.\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n }\n },\n emits: [\n \"dragenter\",\n \"dragleave\",\n \"dropped\",\n \"update:open\"\n ],\n setup() {\n const crumbId = createElementId();\n return {\n actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n crumbId\n };\n },\n data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * The attributes to pass to `router-link` or `a`\n */\n linkAttributes() {\n if (this.to) {\n return { to: this.to, ...this.$attrs };\n } else if (this.href) {\n return { href: this.href, ...this.$attrs };\n }\n return this.$attrs;\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange(open) {\n this.$emit(\"update:open\", open);\n },\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {object} e The drop event\n * @return {boolean}\n */\n dropped(e) {\n if (this.disableDrop) {\n return false;\n }\n this.$emit(\"dropped\", e, this.to || this.href);\n this.$parent.$emit(\"dropped\", e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n /**\n * Add the hovering state on drag enter\n *\n * @param {DragEvent} e The drag-enter event\n */\n dragEnter(e) {\n this.$emit(\"dragenter\", e);\n if (this.disableDrop) {\n return;\n }\n this.hovering = true;\n },\n /**\n * Remove the hovering state on drag leave\n *\n * @param {DragEvent} e The drag leave event\n */\n dragLeave(e) {\n this.$emit(\"dragleave\", e);\n if (this.disableDrop) {\n return;\n }\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n this.hovering = false;\n }\n }\n};\nconst _hoisted_1 = [\"data-crumb-id\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_ChevronRight = resolveComponent(\"ChevronRight\");\n return openBlock(), createElementBlock(\"li\", {\n ref: \"crumb\",\n class: normalizeClass([\"vue-crumb\", [{ \"vue-crumb--hovered\": $data.hovering }, _ctx.$props.class]]),\n \"data-crumb-id\": $setup.crumbId,\n draggable: \"false\",\n onDragstart: withModifiers(() => {\n }, [\"prevent\"]),\n onDrop: _cache[0] || (_cache[0] = withModifiers((...args) => $options.dropped && $options.dropped(...args), [\"prevent\"])),\n onDragover: withModifiers(() => {\n }, [\"prevent\"]),\n onDragenter: _cache[1] || (_cache[1] = (...args) => $options.dragEnter && $options.dragEnter(...args)),\n onDragleave: _cache[2] || (_cache[2] = (...args) => $options.dragLeave && $options.dragLeave(...args))\n }, [\n ($props.name || $props.icon || _ctx.$slots.icon) && !_ctx.$slots.default ? (openBlock(), createBlock(_component_NcButton, mergeProps({\n key: 0,\n \"aria-label\": $props.icon ? $props.name : void 0,\n variant: \"tertiary\"\n }, $options.linkAttributes), createSlots({ _: 2 }, [\n _ctx.$slots.icon || $props.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass([$props.icon, \"icon\"])\n }, null, 2)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !(_ctx.$slots.icon || $props.icon) || $props.forceIconText ? {\n name: \"default\",\n fn: withCtx(() => [\n createTextVNode(toDisplayString($props.name), 1)\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"aria-label\"])) : createCommentVNode(\"\", true),\n _ctx.$slots.default ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n container: $setup.actionsContainer,\n forceMenu: $props.forceMenu,\n forceName: \"\",\n menuName: $props.name,\n open: $props.open,\n title: $props.title,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onOpenChange\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"container\", \"forceMenu\", \"menuName\", \"open\", \"title\", \"onUpdate:open\"])) : createCommentVNode(\"\", true),\n createVNode(_component_ChevronRight, {\n class: \"vue-crumb__separator\",\n size: 20\n })\n ], 42, _hoisted_1);\n}\nconst NcBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-7cec4a3e\"]]);\nexport {\n NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb.mjs.map\n","import '../assets/NcBreadcrumbs.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb.mjs\";\nconst _sfc_main$1 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n name: \"NcBreadcrumbs\",\n components: {\n NcActions,\n NcActionButton,\n NcActionRouter,\n NcActionLink,\n NcBreadcrumb,\n IconFolder\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: \"icon-home\"\n },\n /**\n * Set the aria-label of the nav element.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n emits: [\"dropped\"],\n data() {\n return {\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a name for this breadcrumb, only the Actions menu\n name: \"\",\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n },\n breadcrumbsRefs: []\n };\n },\n created() {\n window.addEventListener(\"resize\", debounce(() => {\n this.handleWindowResize();\n }, 100));\n subscribe(\"navigation-toggled\", this.delayedResize);\n },\n mounted() {\n this.handleWindowResize();\n },\n updated() {\n this.delayedResize();\n this.$nextTick(() => {\n this.hideCrumbs();\n });\n },\n beforeUnmount() {\n window.removeEventListener(\"resize\", this.handleWindowResize);\n unsubscribe(\"navigation-toggled\", this.delayedResize);\n },\n methods: {\n /**\n * Close the actions menu\n *\n * @param {object} e The event\n */\n closeActions(e) {\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n this.menuBreadcrumbProps.open = false;\n },\n /**\n * Call the resize function after a delay\n */\n async delayedResize() {\n await this.$nextTick();\n this.handleWindowResize();\n },\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize() {\n if (!this.$refs.container) {\n return;\n }\n const nrCrumbs = this.breadcrumbsRefs.length;\n const hiddenIndices = [];\n const availableWidth = this.$refs.container.offsetWidth;\n let totalWidth = this.getTotalWidth();\n if (this.$refs.breadcrumb__actions) {\n totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n }\n let overflow = totalWidth - availableWidth;\n overflow += overflow > 0 ? 64 : 0;\n let i = 0;\n const startIndex = Math.floor(nrCrumbs / 2);\n while (overflow > 0 && i < nrCrumbs - 2) {\n const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n overflow -= this.getWidth(this.breadcrumbsRefs[currentIndex]?.$el, currentIndex === this.breadcrumbsRefs.length - 1);\n hiddenIndices.push(currentIndex);\n i++;\n }\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n this.hiddenIndices = hiddenIndices;\n }\n },\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @return {boolean} Wether the arrays are equal\n */\n arraysEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n } else if (a === b) {\n return true;\n } else if (a === null || b === null) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n },\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @return {number} The total width\n */\n getTotalWidth() {\n return this.breadcrumbsRefs.reduce((width, crumb, index) => width + this.getWidth(crumb.$el, index === this.breadcrumbsRefs.length - 1), 0);\n },\n /**\n * Calculates the width of the provided element\n *\n * @param {object} el The element\n * @param {boolean} isLast Is this the last crumb\n * @return {number} The width\n */\n getWidth(el, isLast) {\n if (!el?.classList) {\n return 0;\n }\n const hide = el.classList.contains(`${crumbClass}--hidden`);\n el.style.minWidth = \"auto\";\n if (isLast) {\n el.style.maxWidth = \"210px\";\n }\n el.classList.remove(`${crumbClass}--hidden`);\n const w = el.offsetWidth;\n if (hide) {\n el.classList.add(`${crumbClass}--hidden`);\n }\n el.style.minWidth = \"\";\n el.style.maxWidth = \"\";\n return w;\n },\n /**\n * Prevents the default of a provided event\n *\n * @param {object} e The event\n * @return {boolean}\n */\n preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n },\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {object} e The event\n * @return {boolean}\n */\n dragStart(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {object} e The drop event\n * @param {string} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @return {boolean}\n */\n dropped(e, path, disabled) {\n if (!disabled) {\n this.$emit(\"dropped\", e, path);\n }\n this.menuBreadcrumbProps.open = false;\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n return this.preventDefault(e);\n },\n /**\n * Handles the drag over event\n *\n * @param {object} e The drag over event\n * @return {boolean}\n */\n dragOver(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles the drag enter event\n *\n * @param {object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.classList && target.classList.contains(crumbClass)) {\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n target.classList.add(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Handles the drag leave event\n *\n * @param {object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.contains(e.relatedTarget)) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.contains(e.relatedTarget)) {\n return;\n }\n if (target.classList && target.classList.contains(crumbClass)) {\n target.classList.remove(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n */\n hideCrumbs() {\n this.breadcrumbsRefs.forEach((crumb, i) => {\n if (crumb?.$el?.classList) {\n if (this.hiddenIndices.includes(i)) {\n crumb.$el.classList.add(`${crumbClass}--hidden`);\n } else {\n crumb.$el.classList.remove(`${crumbClass}--hidden`);\n }\n }\n });\n },\n isBreadcrumb(vnode) {\n return vnode?.type?.name === \"NcBreadcrumb\";\n }\n },\n /**\n * The render function to display the component\n *\n * @return {object|undefined} The created VNode\n */\n render() {\n let breadcrumbs = [];\n this.$slots.default?.().forEach((vnode) => {\n if (this.isBreadcrumb(vnode)) {\n breadcrumbs.push(vnode);\n return;\n }\n if (vnode?.type === Fragment) {\n vnode?.children?.forEach?.((child) => {\n if (this.isBreadcrumb(child)) {\n breadcrumbs.push(child);\n }\n });\n }\n });\n if (breadcrumbs.length === 0) {\n return;\n }\n breadcrumbs[0] = cloneVNode(breadcrumbs[0], {\n icon: this.rootIcon,\n ref: \"breadcrumbs\"\n });\n const breadcrumbsRefs = [];\n breadcrumbs = breadcrumbs.map((crumb, index) => cloneVNode(crumb, {\n ref: (crumb2) => {\n breadcrumbsRefs[index] = crumb2;\n }\n }));\n const crumbs = [...breadcrumbs];\n if (this.hiddenIndices.length) {\n crumbs.splice(\n Math.round(breadcrumbs.length / 2),\n 0,\n // The Actions menu\n // Use a breadcrumb component for the hidden breadcrumbs\n h(NcBreadcrumb, {\n class: \"dropdown\",\n ...this.menuBreadcrumbProps,\n // Hide the dropdown menu from screen-readers,\n // since the crumbs in the menu are still in the list.\n \"aria-hidden\": true,\n // Add a ref to the Actions menu\n ref: \"actionsBreadcrumb\",\n key: \"actions-breadcrumb-1\",\n // Add handlers so the Actions menu opens on hover\n onDragenter: () => {\n this.menuBreadcrumbProps.open = true;\n },\n onDragleave: this.closeActions,\n // Make sure we keep the same open state\n // as the Actions component\n \"onUpdate:open\": (open) => {\n this.menuBreadcrumbProps.open = open;\n }\n // Add all hidden breadcrumbs as ActionRouter or ActionLink\n }, {\n default: () => this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n const crumb = breadcrumbs[index];\n const {\n // Get the parameters from the breadcrumb component props\n to,\n href,\n disableDrop,\n name,\n // Props to forward\n ...propsToForward\n } = crumb.props;\n delete propsToForward.ref;\n let element = NcActionButton;\n let path = \"\";\n if (href) {\n element = NcActionLink;\n path = href;\n }\n if (to) {\n element = NcActionRouter;\n path = to;\n }\n const folderIcon = h(IconFolder, {\n size: 20\n });\n return h(element, {\n ...propsToForward,\n class: crumbClass,\n href: href || null,\n to: to || null,\n // Prevent the breadcrumbs from being draggable\n draggable: false,\n // Add the drag and drop handlers\n onDragstart: this.dragStart,\n onDrop: ($event) => this.dropped($event, path, disableDrop),\n onDragover: this.dragOver,\n onDragenter: ($event) => this.dragEnter($event, disableDrop),\n onDragleave: ($event) => this.dragLeave($event, disableDrop)\n }, {\n default: () => name,\n icon: () => folderIcon\n });\n })\n })\n );\n }\n const wrapper = [h(\"nav\", { \"aria-label\": this.ariaLabel }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n if (isSlotPopulated(this.$slots.actions?.())) {\n wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions?.()));\n }\n this.breadcrumbsRefs = breadcrumbsRefs;\n return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n }\n};\nconst NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-5a4d73af\"]]);\nexport {\n NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs.mjs.map\n","import { FileType } from \"@nextcloud/files\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { ref, watchEffect, toValue } from \"vue\";\nimport PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nfunction getPreviewURL(node, options = {}) {\n options = { size: 32, cropPreview: false, mimeFallback: true, ...options };\n try {\n const previewUrl = node.attributes?.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n let url;\n try {\n url = new URL(previewUrl);\n } catch {\n url = new URL(previewUrl, window.location.origin);\n }\n url.searchParams.set(\"x\", `${options.size}`);\n url.searchParams.set(\"y\", `${options.size}`);\n url.searchParams.set(\"mimeFallback\", `${options.mimeFallback}`);\n url.searchParams.set(\"a\", options.cropPreview === true ? \"0\" : \"1\");\n url.searchParams.set(\"c\", `${node.attributes.etag}`);\n return url;\n } catch {\n return null;\n }\n}\nfunction usePreviewURL(node, options) {\n const previewURL = ref(null);\n const previewLoaded = ref(false);\n watchEffect(() => {\n previewLoaded.value = false;\n previewURL.value = getPreviewURL(toValue(node), toValue(options || {}));\n if (previewURL.value && toValue(node).type === FileType.File) {\n preloadImage(previewURL.value.href).then((success) => {\n previewLoaded.value = success;\n });\n }\n });\n return {\n previewURL,\n previewLoaded\n };\n}\nexport {\n getPreviewURL as g,\n usePreviewURL as u\n};\n//# sourceMappingURL=preview.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, ref, computed, toRef, normalizeClass, normalizeStyle, unref, Fragment, createBlock, createVNode, toHandlers, withModifiers, onMounted, toValue, useModel, onUnmounted, withCtx, createTextVNode, renderList, mergeModels, nextTick, useTemplateRef, createSlots, shallowRef, watch } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcEmptyContent from \"@nextcloud/vue/components/NcEmptyContent\";\nimport { _ as _export_sfc, t, l as logger, s as showError } from \"./index.mjs\";\nimport { FileType, Permission, formatFileSize, sortNodes, validateFilename, InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport NcButton from \"@nextcloud/vue/components/NcButton\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/components/NcCheckboxRadioSwitch\";\nimport { extname, join } from \"@nextcloud/paths\";\nimport NcDateTime from \"@nextcloud/vue/components/NcDateTime\";\nimport { mdiKey, mdiTagOutline, mdiLink, mdiAccountPlus, mdiAccountGroupOutline, mdiNetworkOutline, mdiFolder, mdiClock, mdiStar } from \"@mdi/js\";\nimport { ShareType } from \"@nextcloud/sharing\";\nimport NcIconSvgWrapper from \"@nextcloud/vue/components/NcIconSvgWrapper\";\nimport { u as usePreviewURL } from \"./preview.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { isPublicShare } from \"@nextcloud/sharing/public\";\nimport NcActionInput from \"@nextcloud/vue/components/NcActionInput\";\nimport NcActions from \"@nextcloud/vue/components/NcActions\";\nimport NcBreadcrumb from \"@nextcloud/vue/components/NcBreadcrumb\";\nimport NcBreadcrumbs from \"@nextcloud/vue/components/NcBreadcrumbs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport NcSelect from \"@nextcloud/vue/components/NcSelect\";\nimport NcTextField from \"@nextcloud/vue/components/NcTextField\";\nimport { getRecentSearch, resultToNode, defaultRootPath, getDefaultPropfind, getClient, getFavoriteNodes } from \"@nextcloud/files/dav\";\nconst _sfc_main$e = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$c = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$b = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$a = { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" };\nconst _hoisted_4$a = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon file-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$a, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$a, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$b))\n ], 16, _hoisted_1$c);\n}\nconst IconFile = /* @__PURE__ */ _export_sfc(_sfc_main$e, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$d = {\n name: \"MenuDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$b = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$a = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$9 = { d: \"M7,10L12,15L17,10H7Z\" };\nconst _hoisted_4$9 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$9, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$9, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$a))\n ], 16, _hoisted_1$b);\n}\nconst IconSortDescending = /* @__PURE__ */ _export_sfc(_sfc_main$d, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$c = {\n name: \"MenuUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$a = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$9 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$8 = { d: \"M7,15L12,10L17,15H7Z\" };\nconst _hoisted_4$8 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$8, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$8, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$9))\n ], 16, _hoisted_1$a);\n}\nconst IconSortAscending = /* @__PURE__ */ _export_sfc(_sfc_main$c, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$b = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$9 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$8 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4$7 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$7, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$8))\n ], 16, _hoisted_1$9);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$b, [[\"render\", _sfc_render$4]]);\nconst fileListIconStyles = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1aykw_9\",\n \"file-picker__file-icon--primary\": \"_file-picker__file-icon--primary_1aykw_22\",\n \"file-picker__file-icon-overlay\": \"_file-picker__file-icon-overlay_1aykw_26\"\n};\nconst _sfc_main$a = /* @__PURE__ */ defineComponent({\n __name: \"FilePreview\",\n props: {\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const fileListIconStyles$1 = ref(fileListIconStyles);\n const {\n previewURL,\n previewLoaded\n } = usePreviewURL(toRef(props, \"node\"), computed(() => ({ cropPreview: props.cropImagePreviews })));\n const isFile = computed(() => props.node.type === FileType.File);\n const folderDecorationIcon = computed(() => {\n if (props.node.type !== FileType.Folder) {\n return null;\n }\n if (props.node.attributes?.[\"is-encrypted\"] === 1) {\n return mdiKey;\n }\n if (props.node.attributes?.[\"is-tag\"]) {\n return mdiTagOutline;\n }\n const shareTypes = Object.values(props.node.attributes?.[\"share-types\"] || {}).flat();\n if (shareTypes.some((type) => type === ShareType.Link || type === ShareType.Email)) {\n return mdiLink;\n }\n if (shareTypes.length > 0) {\n return mdiAccountPlus;\n }\n switch (props.node.attributes?.[\"mount-type\"]) {\n case \"external\":\n case \"external-session\":\n return mdiNetworkOutline;\n case \"group\":\n return mdiAccountGroupOutline;\n case \"shared\":\n return mdiAccountPlus;\n }\n return null;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n style: normalizeStyle(unref(previewLoaded) ? { backgroundImage: `url(${unref(previewURL)})` } : void 0),\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon\"])\n }, [\n !unref(previewLoaded) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isFile.value ? (openBlock(), createBlock(IconFile, {\n key: 0,\n size: 32\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n folderDecorationIcon.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon-overlay\"]),\n inline: \"\",\n path: folderDecorationIcon.value,\n size: 16\n }, null, 8, [\"class\", \"path\"])) : createCommentVNode(\"\", true),\n createVNode(IconFolder, {\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon--primary\"]),\n size: 32\n }, null, 8, [\"class\"])\n ], 64))\n ], 64)) : createCommentVNode(\"\", true)\n ], 6);\n };\n }\n});\nconst _hoisted_1$8 = [\"tabindex\", \"aria-selected\", \"data-filename\"];\nconst _hoisted_2$7 = { class: \"row-name\" };\nconst _hoisted_3$6 = {\n class: \"file-picker__name-container\",\n \"data-testid\": \"row-name\"\n};\nconst _hoisted_4$6 = [\"title\", \"textContent\"];\nconst _hoisted_5$1 = [\"textContent\"];\nconst _hoisted_6$1 = { class: \"row-size\" };\nconst _hoisted_7$1 = { class: \"row-modified\" };\nconst _sfc_main$9 = /* @__PURE__ */ defineComponent({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enterDirectory\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const timestamp = computed(() => props.node.mtime ?? 0);\n const fileExtension = computed(() => extname(props.node.displayname));\n const displayName = computed(() => props.node.displayname.slice(0, fileExtension.value ? -fileExtension.value.length : void 0));\n const isDirectory = computed(() => props.node.type === FileType.Folder);\n const isPickable = computed(() => props.canPick && (props.allowPickDirectory || !isDirectory.value));\n const isNavigatable = computed(() => (props.node.permissions & Permission.READ) === Permission.READ);\n function toggleSelected() {\n if (!isPickable.value) {\n return;\n }\n emit2(\"update:selected\", !props.selected);\n }\n function handleClick() {\n if (isDirectory.value) {\n if (isNavigatable.value) {\n emit2(\"enterDirectory\", props.node);\n }\n } else {\n toggleSelected();\n }\n }\n function handleKeyDown(event) {\n if (event.key === \"Enter\") {\n handleClick();\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", mergeProps({\n tabindex: __props.showCheckbox && !isDirectory.value ? void 0 : 0,\n \"aria-selected\": !isPickable.value ? void 0 : __props.selected,\n class: [\"file-picker__row\", [\n {\n \"file-picker__row--selected\": __props.selected && !__props.showCheckbox,\n \"file-picker__row--not-navigatable\": isDirectory.value && !isNavigatable.value,\n \"file-picker__row--not-pickable\": !isPickable.value\n }\n ]],\n \"data-filename\": __props.node.basename,\n \"data-testid\": \"file-list-row\"\n }, toHandlers({\n click: handleClick,\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n ...!__props.showCheckbox || isDirectory.value ? { keydown: handleKeyDown } : {}\n }, true)), [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", {\n key: 0,\n class: \"row-checkbox\",\n onClick: withModifiers(() => {\n }, [\"stop\"])\n }, [\n createVNode(unref(NcCheckboxRadioSwitch), {\n \"aria-label\": unref(t)(\"Select the row for {nodename}\", { nodename: displayName.value }),\n disabled: !isPickable.value,\n \"data-testid\": \"row-checkbox\",\n modelValue: __props.selected,\n \"onUpdate:modelValue\": toggleSelected\n }, null, 8, [\"aria-label\", \"disabled\", \"modelValue\"])\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_2$7, [\n createElementVNode(\"div\", _hoisted_3$6, [\n createVNode(_sfc_main$a, {\n node: __props.node,\n cropImagePreviews: __props.cropImagePreviews\n }, null, 8, [\"node\", \"cropImagePreviews\"]),\n createElementVNode(\"div\", {\n class: \"file-picker__file-name\",\n title: displayName.value,\n textContent: toDisplayString(displayName.value)\n }, null, 8, _hoisted_4$6),\n createElementVNode(\"div\", {\n class: \"file-picker__file-extension\",\n textContent: toDisplayString(fileExtension.value)\n }, null, 8, _hoisted_5$1)\n ])\n ]),\n createElementVNode(\"td\", _hoisted_6$1, toDisplayString(unref(formatFileSize)(__props.node.size || 0)), 1),\n createElementVNode(\"td\", _hoisted_7$1, [\n createVNode(unref(NcDateTime), {\n timestamp: timestamp.value,\n ignoreSeconds: \"\"\n }, null, 8, [\"timestamp\"])\n ])\n ], 16, _hoisted_1$8);\n };\n }\n});\nconst FileListRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [[\"__scopeId\", \"data-v-7857e8bd\"]]);\nconst _hoisted_1$7 = {\n \"aria-hidden\": \"true\",\n class: \"file-picker__row loading-row\"\n};\nconst _hoisted_2$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_3$5 = { class: \"row-name\" };\nconst _hoisted_4$5 = { class: \"row-wrapper\" };\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", _hoisted_1$7, [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", _hoisted_2$6, [..._cache[0] || (_cache[0] = [\n createElementVNode(\"span\", null, null, -1)\n ])])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_3$5, [\n createElementVNode(\"div\", _hoisted_4$5, [\n createElementVNode(\"span\", {\n class: normalizeClass(unref(fileListIconStyles)[\"file-picker__file-icon\"])\n }, null, 2),\n _cache[1] || (_cache[1] = createElementVNode(\"span\", null, null, -1))\n ])\n ]),\n _cache[2] || (_cache[2] = createElementVNode(\"td\", { class: \"row-size\" }, [\n createElementVNode(\"span\")\n ], -1)),\n _cache[3] || (_cache[3] = createElementVNode(\"td\", { class: \"row-modified\" }, [\n createElementVNode(\"span\")\n ], -1))\n ]);\n };\n }\n});\nconst LoadingTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"__scopeId\", \"data-v-1f96131b\"]]);\nfunction useFilesSettings() {\n const filesUserState = loadState(\"files\", \"config\", null);\n const showHiddenFiles = ref(filesUserState?.show_hidden ?? true);\n const sortFavoritesFirst = ref(filesUserState?.sort_favorites_first ?? true);\n const cropImagePreviews = ref(filesUserState?.crop_image_previews ?? true);\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/configs\"));\n showHiddenFiles.value = data?.data?.show_hidden ?? false;\n sortFavoritesFirst.value = data?.data?.sort_favorites_first ?? true;\n cropImagePreviews.value = data?.data?.crop_image_previews ?? true;\n } catch (error) {\n logger.error(\"Could not load files settings\", { error });\n showError(t(\"Could not load files settings\"));\n }\n } else {\n logger.debug(\"Skip loading files settings - currently on public share\");\n }\n });\n return {\n showHiddenFiles,\n sortFavoritesFirst,\n cropImagePreviews\n };\n}\nfunction useFilesViews(currentView) {\n const convertOrder = (order2) => order2 === \"asc\" ? \"ascending\" : order2 === \"desc\" ? \"descending\" : \"none\";\n const filesViewsState = loadState(\"files\", \"viewConfigs\", null);\n const filesViewConfig = ref({\n sortBy: filesViewsState?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.files?.sorting_direction ?? \"asc\")\n });\n const recentViewConfig = ref({\n sortBy: filesViewsState?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.recent?.sorting_direction ?? \"asc\")\n });\n const favoritesViewConfig = ref({\n sortBy: filesViewsState?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.favorites?.sorting_direction ?? \"asc\")\n });\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/views\"));\n filesViewConfig.value = {\n sortBy: data?.data?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.files?.sorting_direction)\n };\n favoritesViewConfig.value = {\n sortBy: data?.data?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.favorites?.sorting_direction)\n };\n recentViewConfig.value = {\n sortBy: data?.data?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.recent?.sorting_direction)\n };\n } catch (error) {\n logger.error(\"Could not load files views\", { error });\n showError(t(\"Could not load files views\"));\n }\n } else {\n logger.debug(\"Skip loading files views - currently on public share\");\n }\n });\n const currentConfig = computed(() => toValue(currentView || \"files\") === \"files\" ? filesViewConfig.value : toValue(currentView) === \"recent\" ? recentViewConfig.value : favoritesViewConfig.value);\n const sortBy = computed(() => currentConfig.value.sortBy);\n const order = computed(() => currentConfig.value.order);\n return {\n filesViewConfig,\n favoritesViewConfig,\n recentViewConfig,\n currentConfig,\n sortBy,\n order\n };\n}\nconst _hoisted_1$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_2$5 = { class: \"hidden-visually\" };\nconst _hoisted_3$4 = [\"aria-sort\"];\nconst _hoisted_4$4 = { class: \"header-wrapper\" };\nconst _hoisted_5 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_6 = [\"aria-sort\"];\nconst _hoisted_7 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_8 = [\"aria-sort\"];\nconst _hoisted_9 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"FileList\",\n props: /* @__PURE__ */ mergeModels({\n currentView: {},\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: {},\n canPick: { type: Function }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {},\n \"selectedFiles\": { required: true },\n \"selectedFilesModifiers\": {}\n }),\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(__props) {\n const path = useModel(__props, \"path\");\n const selectedFiles = useModel(__props, \"selectedFiles\");\n const props = __props;\n const customSortingConfig = ref();\n const { currentConfig: filesAppSorting } = useFilesViews(props.currentView);\n const sortingConfig = computed(() => customSortingConfig.value ?? filesAppSorting.value);\n const sortByName = computed(() => sortingConfig.value.sortBy === \"basename\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortBySize = computed(() => sortingConfig.value.sortBy === \"size\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortByModified = computed(() => sortingConfig.value.sortBy === \"mtime\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n function toggleSorting(sortBy) {\n if (sortingConfig.value.sortBy === sortBy) {\n if (sortingConfig.value.order === \"ascending\") {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"descending\" };\n } else {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"ascending\" };\n }\n } else {\n customSortingConfig.value = { sortBy, order: \"ascending\" };\n }\n }\n const { sortFavoritesFirst, cropImagePreviews } = useFilesSettings();\n const sortedFiles = computed(() => {\n return sortNodes(props.files, {\n sortFoldersFirst: true,\n sortFavoritesFirst: sortFavoritesFirst.value,\n sortingOrder: sortingConfig.value.order === \"descending\" ? \"desc\" : \"asc\",\n sortingMode: sortingConfig.value.sortBy\n });\n });\n const selectableFiles = computed(() => props.files.filter((file) => props.allowPickDirectory || file.type !== FileType.Folder));\n const allSelected = computed(() => !props.loading && selectedFiles.value.length > 0 && selectedFiles.value.length >= selectableFiles.value.length);\n function onSelectAll() {\n if (selectedFiles.value.length < selectableFiles.value.length) {\n selectedFiles.value = [...selectableFiles.value];\n } else {\n selectedFiles.value = [];\n }\n }\n function onNodeSelected(file) {\n if (selectedFiles.value.includes(file)) {\n selectedFiles.value = selectedFiles.value.filter((f) => f.path !== file.path);\n } else {\n if (props.multiselect) {\n selectedFiles.value = [...selectedFiles.value, file];\n } else {\n selectedFiles.value = [file];\n }\n }\n }\n function onChangeDirectory(dir) {\n path.value = dir.path;\n }\n const skeletonNumber = ref(4);\n const fileContainer = ref();\n {\n const resize = () => nextTick(() => {\n const nodes = fileContainer.value?.parentElement?.children || [];\n let height = fileContainer.value?.parentElement?.clientHeight || 450;\n for (let index = 0; index < nodes.length; index++) {\n if (!fileContainer.value?.isSameNode(nodes[index])) {\n height -= nodes[index].clientHeight;\n }\n }\n skeletonNumber.value = Math.max(1, Math.floor((height - 50) / 50));\n });\n onMounted(() => {\n window.addEventListener(\"resize\", resize);\n resize();\n });\n onUnmounted(() => {\n window.removeEventListener(\"resize\", resize);\n });\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"fileContainer\",\n ref: fileContainer,\n class: \"file-picker__files\"\n }, [\n createElementVNode(\"table\", null, [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n __props.multiselect ? (openBlock(), createElementBlock(\"th\", _hoisted_1$6, [\n createElementVNode(\"span\", _hoisted_2$5, toDisplayString(unref(t)(\"Select entry\")), 1),\n __props.multiselect ? (openBlock(), createBlock(unref(NcCheckboxRadioSwitch), {\n key: 0,\n \"aria-label\": unref(t)(\"Select all entries\"),\n \"data-testid\": \"select-all-checkbox\",\n modelValue: allSelected.value,\n \"onUpdate:modelValue\": onSelectAll\n }, null, 8, [\"aria-label\", \"modelValue\"])) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByName.value,\n class: \"row-name\"\n }, [\n createElementVNode(\"div\", _hoisted_4$4, [\n _cache[3] || (_cache[3] = createElementVNode(\"span\", { class: \"file-picker__header-preview\" }, null, -1)),\n createVNode(unref(NcButton), {\n \"data-test\": \"file-picker_sort-name\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => toggleSorting(\"basename\"))\n }, {\n icon: withCtx(() => [\n sortByName.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByName.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_5))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Name\")), 1)\n ]),\n _: 1\n })\n ])\n ], 8, _hoisted_3$4),\n createElementVNode(\"th\", {\n \"aria-sort\": sortBySize.value,\n class: \"row-size\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[1] || (_cache[1] = ($event) => toggleSorting(\"size\"))\n }, {\n icon: withCtx(() => [\n sortBySize.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortBySize.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_7))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Size\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_6),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByModified.value,\n class: \"row-modified\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[2] || (_cache[2] = ($event) => toggleSorting(\"mtime\"))\n }, {\n icon: withCtx(() => [\n sortByModified.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByModified.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_9))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Modified\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_8)\n ])\n ]),\n createElementVNode(\"tbody\", null, [\n __props.loading ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(skeletonNumber.value, (index) => {\n return openBlock(), createBlock(LoadingTableRow, {\n key: index,\n showCheckbox: __props.multiselect\n }, null, 8, [\"showCheckbox\"]);\n }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(sortedFiles.value, (file) => {\n return openBlock(), createBlock(FileListRow, {\n key: file.fileid || file.path,\n allowPickDirectory: __props.allowPickDirectory,\n showCheckbox: __props.multiselect,\n canPick: (__props.multiselect || selectedFiles.value.length === 0 || selectedFiles.value.includes(file)) && (__props.canPick === void 0 || __props.canPick(file)),\n selected: selectedFiles.value.includes(file),\n node: file,\n cropImagePreviews: unref(cropImagePreviews),\n \"onUpdate:selected\": ($event) => onNodeSelected(file),\n onEnterDirectory: onChangeDirectory\n }, null, 8, [\"allowPickDirectory\", \"showCheckbox\", \"canPick\", \"selected\", \"node\", \"cropImagePreviews\", \"onUpdate:selected\"]);\n }), 128))\n ])\n ])\n ], 512);\n };\n }\n});\nconst FileList = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"__scopeId\", \"data-v-412efd5c\"]]);\nconst _sfc_main$6 = {\n name: \"HomeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon home-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst IconHome = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$5 = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon plus-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst IconPlus = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerBreadcrumbs\",\n props: /* @__PURE__ */ mergeModels({\n showMenu: { type: Boolean }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"createNode\"], [\"update:path\"]),\n setup(__props, { emit: __emit }) {\n const path = useModel(__props, \"path\");\n const emit2 = __emit;\n const actionsOpen = ref(false);\n const newNodeName = ref(\"\");\n const nameInput = useTemplateRef(\"nameInput\");\n function validateInput() {\n const name = newNodeName.value.trim();\n const input = nameInput.value?.$el?.querySelector(\"input\");\n let validity = \"\";\n try {\n validateFilename(name);\n } catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n throw error;\n }\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n validity = t('\"{char}\" is not allowed inside a folder name.', { char: error.segment });\n break;\n case InvalidFilenameErrorReason.ReservedName:\n validity = t('\"{segment}\" is a reserved name and not allowed for folder names.', { segment: error.segment });\n break;\n case InvalidFilenameErrorReason.Extension:\n validity = t('Folder names must not end with \"{extension}\".', { extension: error.segment });\n break;\n default:\n validity = t(\"Invalid folder name.\");\n }\n }\n if (input) {\n input.setCustomValidity(validity);\n }\n return validity === \"\";\n }\n function onSubmit() {\n const name = newNodeName.value.trim();\n if (validateInput()) {\n actionsOpen.value = false;\n emit2(\"createNode\", name);\n newNodeName.value = \"\";\n }\n }\n const pathElements = computed(() => path.value.split(\"/\").filter((v) => v !== \"\").map((v, i, elements) => ({\n name: v,\n path: \"/\" + elements.slice(0, i + 1).join(\"/\")\n })));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcBreadcrumbs), { class: \"file-picker__breadcrumbs\" }, createSlots({\n default: withCtx(() => [\n createVNode(unref(NcBreadcrumb), {\n name: unref(t)(\"All files\"),\n title: unref(t)(\"Home\"),\n onClick: _cache[0] || (_cache[0] = ($event) => path.value = \"/\")\n }, {\n icon: withCtx(() => [\n createVNode(IconHome, { size: 20 })\n ]),\n _: 1\n }, 8, [\"name\", \"title\"]),\n (openBlock(true), createElementBlock(Fragment, null, renderList(pathElements.value, (dir) => {\n return openBlock(), createBlock(unref(NcBreadcrumb), {\n key: dir.path,\n name: dir.name,\n title: dir.path,\n onClick: ($event) => path.value = dir.path\n }, null, 8, [\"name\", \"title\", \"onClick\"]);\n }), 128))\n ]),\n _: 2\n }, [\n __props.showMenu ? {\n name: \"actions\",\n fn: withCtx(() => [\n createVNode(unref(NcActions), {\n open: actionsOpen.value,\n \"onUpdate:open\": _cache[2] || (_cache[2] = ($event) => actionsOpen.value = $event),\n \"aria-label\": unref(t)(\"Create directory\"),\n forceMenu: true,\n forceName: true,\n menuName: unref(t)(\"New\"),\n variant: \"secondary\",\n onClose: _cache[3] || (_cache[3] = ($event) => newNodeName.value = \"\")\n }, {\n icon: withCtx(() => [\n createVNode(IconPlus, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionInput), {\n ref_key: \"nameInput\",\n ref: nameInput,\n modelValue: newNodeName.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event) => newNodeName.value = $event),\n validateInput\n ],\n label: unref(t)(\"New folder\"),\n placeholder: unref(t)(\"New folder name\"),\n onSubmit\n }, {\n icon: withCtx(() => [\n createVNode(IconFolder, { size: 20 })\n ]),\n _: 1\n }, 8, [\"modelValue\", \"label\", \"placeholder\"])\n ]),\n _: 1\n }, 8, [\"open\", \"aria-label\", \"menuName\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1024);\n };\n }\n});\nconst FilePickerBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"__scopeId\", \"data-v-b448b141\"]]);\nconst _sfc_main$3 = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$1]]);\nconst _sfc_main$2 = {\n name: \"MagnifyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst IconMagnify = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render]]);\nfunction useViews(isAnonymous) {\n const allViews = [\n {\n id: \"files\",\n label: t(\"All files\"),\n icon: mdiFolder\n },\n {\n id: \"recent\",\n label: t(\"Recent\"),\n icon: mdiClock\n },\n {\n id: \"favorites\",\n label: t(\"Favorites\"),\n icon: mdiStar\n }\n ];\n const availableViews = isAnonymous.value ? allViews.filter(({ id }) => id === \"files\") : allViews;\n return {\n allViews,\n availableViews\n };\n}\nconst _hoisted_1$1 = {\n key: 0,\n class: \"file-picker__side\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: {},\n filterString: {},\n isCollapsed: { type: Boolean },\n disabledNavigation: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const { availableViews } = useViews(ref(getCurrentUser() === null));\n const currentViewObject = computed(() => availableViews.filter((v) => v.id === props.currentView)[0] ?? availableViews[0]);\n const updateFilterValue = (value) => emit2(\"update:filterString\", value.toString());\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createVNode(unref(NcTextField), {\n class: \"file-picker__filter-input\",\n label: unref(t)(\"Filter file list\"),\n showTrailingButton: !!__props.filterString,\n modelValue: __props.filterString,\n \"onUpdate:modelValue\": updateFilterValue,\n onTrailingButtonClick: _cache[0] || (_cache[0] = ($event) => updateFilterValue(\"\"))\n }, {\n \"trailing-button-icon\": withCtx(() => [\n createVNode(IconClose, { size: 16 })\n ]),\n default: withCtx(() => [\n createVNode(IconMagnify, { size: 16 })\n ]),\n _: 1\n }, 8, [\"label\", \"showTrailingButton\", \"modelValue\"]),\n unref(availableViews).length > 1 && !__props.disabledNavigation ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !__props.isCollapsed ? (openBlock(), createElementBlock(\"ul\", _hoisted_1$1, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(availableViews), (view) => {\n return openBlock(), createElementBlock(\"li\", {\n key: view.id\n }, [\n createVNode(unref(NcButton), {\n variant: __props.currentView === view.id ? \"primary\" : \"tertiary\",\n wide: true,\n onClick: ($event) => _ctx.$emit(\"update:currentView\", view.id)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n path: view.icon,\n size: 20\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(view.label), 1)\n ]),\n _: 2\n }, 1032, [\"variant\", \"onClick\"])\n ]);\n }), 128))\n ])) : (openBlock(), createBlock(unref(NcSelect), {\n key: 1,\n \"aria-label\": unref(t)(\"Current view selector\"),\n clearable: false,\n searchable: false,\n options: unref(availableViews),\n modelValue: currentViewObject.value,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event) => emit2(\"update:currentView\", $event.id))\n }, null, 8, [\"aria-label\", \"options\", \"modelValue\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n };\n }\n});\nconst FilePickerNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-e1c54e23\"]]);\nasync function getRecentNodes({ client, signal }) {\n const lastTwoWeek = Math.round(Date.now() / 1e3) - 60 * 60 * 24 * 14;\n const { data } = await client.search(\"/\", {\n signal,\n details: true,\n data: getRecentSearch(lastTwoWeek)\n });\n return data.results.map((result) => resultToNode(result));\n}\nasync function getNodes({ client, path, signal }) {\n const results = await client.getDirectoryContents(join(defaultRootPath, path), {\n signal,\n details: true,\n includeSelf: true,\n data: getDefaultPropfind()\n });\n const nodes = results.data.map((result) => resultToNode(result));\n return {\n contents: nodes.filter(({ path: nodePath }) => nodePath !== path),\n folder: nodes.find(({ path: nodePath }) => path === nodePath)\n };\n}\nasync function getFile(client, path) {\n const { data } = await client.stat(join(defaultRootPath, path), {\n details: true,\n data: getDefaultPropfind()\n });\n return resultToNode(data);\n}\nfunction useDAVFiles(currentView, currentPath) {\n const client = getClient();\n const files = shallowRef([]);\n const folder = shallowRef(null);\n const isLoading = ref(true);\n let abortController;\n async function createDirectory(name) {\n const path = join(currentPath.value, name);\n await client.createDirectory(join(defaultRootPath, path));\n const directory = await getFile(client, path);\n files.value = [...files.value, directory];\n return directory;\n }\n async function loadDAVFiles() {\n if (abortController) {\n abortController.abort();\n abortController = void 0;\n }\n abortController = new AbortController();\n isLoading.value = true;\n try {\n if (currentView.value === \"favorites\") {\n files.value = await getFavoriteNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = null;\n } else if (currentView.value === \"recent\") {\n files.value = await getRecentNodes({ client, signal: abortController.signal });\n folder.value = null;\n } else {\n const content = await getNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = content.folder;\n files.value = content.contents;\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return;\n }\n throw error;\n } finally {\n abortController = void 0;\n isLoading.value = false;\n }\n }\n watch([currentView, currentPath], () => loadDAVFiles());\n onMounted(() => loadDAVFiles());\n return {\n isLoading,\n files,\n folder,\n loadFiles: loadDAVFiles,\n createDirectory\n };\n}\nfunction useMimeFilter(allowedMIMETypes) {\n const splittedTypes = computed(() => allowedMIMETypes.value.map((filter) => filter.split(\"/\")));\n const isSupportedMimeType = (mime) => {\n const mimeTypeArray = mime.split(\"/\");\n return splittedTypes.value.some(([type, subtype]) => (\n // check mime type matches or is wildcard\n (mimeTypeArray[0] === type || type === \"*\") && (mimeTypeArray[1] === subtype || subtype === \"*\")\n ));\n };\n return {\n isSupportedMimeType\n };\n}\nconst _hoisted_1 = { class: \"file-picker__main\" };\nconst _hoisted_2 = {\n key: 1,\n class: \"file-picker__view\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"FilePicker\",\n props: {\n buttons: {},\n name: {},\n allowPickDirectory: { type: Boolean, default: false },\n noMenu: { type: Boolean, default: false },\n disabledNavigation: { type: Boolean, default: false },\n filterFn: { type: Function, default: void 0 },\n canPickFn: { type: Function, default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: false },\n path: { default: void 0 }\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit$1 = __emit;\n const isOpen = ref(true);\n const currentView = ref(\"files\");\n const savedPath = ref(window?.sessionStorage.getItem(\"NC.FilePicker.LastPath\") || \"/\");\n const navigatedPath = ref(\"\");\n const currentPath = computed({\n get: () => {\n return currentView.value === \"files\" ? navigatedPath.value || props.path || savedPath.value : \"/\";\n },\n set: (path) => {\n navigatedPath.value = path;\n }\n });\n const selectedFiles = shallowRef([]);\n const filterString = ref(\"\");\n const {\n files,\n folder: currentFolder,\n isLoading,\n loadFiles,\n createDirectory\n } = useDAVFiles(currentView, currentPath);\n watch([navigatedPath], () => {\n if (props.path === void 0 && navigatedPath.value) {\n window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", navigatedPath.value);\n }\n selectedFiles.value = [];\n filterString.value = \"\";\n });\n let isHandlingCallback = false;\n const dialogButtons = computed(() => {\n const nodes = selectedFiles.value.length === 0 && props.allowPickDirectory && currentFolder.value && (!props.canPickFn || props.canPickFn(currentFolder.value)) ? [currentFolder.value] : selectedFiles.value;\n const buttons = typeof props.buttons === \"function\" ? props.buttons(nodes, currentPath.value, currentView.value) : props.buttons;\n return buttons.map((button) => ({\n ...button,\n disabled: button.disabled || isLoading.value,\n callback: () => {\n isHandlingCallback = true;\n handleButtonClick(button.callback, nodes);\n }\n }));\n });\n async function handleButtonClick(callback, nodes) {\n await callback(nodes);\n emit$1(\"close\", nodes);\n isHandlingCallback = false;\n }\n const viewHeadline = computed(() => currentView.value === \"favorites\" ? t(\"Favorites\") : currentView.value === \"recent\" ? t(\"Recent\") : \"\");\n const { isSupportedMimeType } = useMimeFilter(toRef(props, \"mimetypeFilter\"));\n onMounted(() => loadFiles());\n const { showHiddenFiles } = useFilesSettings();\n const filteredFiles = computed(() => {\n let filtered = files.value;\n if (!showHiddenFiles.value) {\n filtered = filtered.filter((file) => !file.basename.startsWith(\".\"));\n }\n if (props.mimetypeFilter.length > 0) {\n filtered = filtered.filter((file) => file.type === \"folder\" || file.mime && isSupportedMimeType(file.mime));\n }\n if (filterString.value) {\n filtered = filtered.filter((file) => file.basename.toLowerCase().includes(filterString.value.toLowerCase()));\n }\n if (props.filterFn) {\n filtered = filtered.filter((f) => props.filterFn(f));\n }\n return filtered;\n });\n const noFilesDescription = computed(() => {\n if (currentView.value === \"files\") {\n return t(\"Upload some content or sync with your devices!\");\n } else if (currentView.value === \"recent\") {\n return t(\"Files and folders you recently modified will show up here.\");\n } else {\n return t(\"Files and folders you mark as favorite will show up here.\");\n }\n });\n async function onCreateFolder(name) {\n try {\n const folder = await createDirectory(name);\n navigatedPath.value = folder.path;\n emit(\"files:node:created\", files.value.filter((file) => file.basename === name)[0]);\n } catch (error) {\n logger.warn(\"Could not create new folder\", { name, error });\n showError(t(\"Could not create the new folder\"));\n }\n }\n function handleClose(open) {\n if (!open && !isHandlingCallback) {\n emit$1(\"close\");\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n open: isOpen.value,\n \"onUpdate:open\": [\n _cache[6] || (_cache[6] = ($event) => isOpen.value = $event),\n handleClose\n ],\n buttons: dialogButtons.value,\n name: __props.name,\n size: \"large\",\n contentClasses: \"file-picker__content\",\n dialogClasses: \"file-picker\",\n navigationClasses: \"file-picker__navigation\"\n }, {\n navigation: withCtx(({ isCollapsed }) => [\n createVNode(FilePickerNavigation, {\n currentView: currentView.value,\n \"onUpdate:currentView\": _cache[0] || (_cache[0] = ($event) => currentView.value = $event),\n filterString: filterString.value,\n \"onUpdate:filterString\": _cache[1] || (_cache[1] = ($event) => filterString.value = $event),\n isCollapsed,\n disabledNavigation: __props.disabledNavigation\n }, null, 8, [\"currentView\", \"filterString\", \"isCollapsed\", \"disabledNavigation\"])\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n currentView.value === \"files\" ? (openBlock(), createBlock(FilePickerBreadcrumbs, {\n key: 0,\n path: currentPath.value,\n \"onUpdate:path\": _cache[2] || (_cache[2] = ($event) => currentPath.value = $event),\n showMenu: !__props.noMenu,\n onCreateNode: onCreateFolder\n }, null, 8, [\"path\", \"showMenu\"])) : (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n createElementVNode(\"h3\", null, toDisplayString(viewHeadline.value), 1)\n ])),\n unref(isLoading) || filteredFiles.value.length > 0 ? (openBlock(), createBlock(FileList, {\n key: 2,\n path: currentPath.value,\n \"onUpdate:path\": [\n _cache[3] || (_cache[3] = ($event) => currentPath.value = $event),\n _cache[5] || (_cache[5] = ($event) => currentView.value = \"files\")\n ],\n selectedFiles: selectedFiles.value,\n \"onUpdate:selectedFiles\": _cache[4] || (_cache[4] = ($event) => selectedFiles.value = $event),\n allowPickDirectory: __props.allowPickDirectory,\n currentView: currentView.value,\n files: filteredFiles.value,\n multiselect: __props.multiselect,\n loading: unref(isLoading),\n name: viewHeadline.value,\n canPick: __props.canPickFn\n }, null, 8, [\"path\", \"selectedFiles\", \"allowPickDirectory\", \"currentView\", \"files\", \"multiselect\", \"loading\", \"name\", \"canPick\"])) : filterString.value ? (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 3,\n name: unref(t)(\"No matching files\"),\n description: unref(t)(\"No files matching your filter were found.\")\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"])) : (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 4,\n name: unref(t)(\"No files in here\"),\n description: noFilesDescription.value\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"]))\n ])\n ]),\n _: 1\n }, 8, [\"open\", \"buttons\", \"name\"]);\n };\n }\n});\nconst FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-39182aaf\"]]);\nexport {\n FilePicker as default\n};\n//# sourceMappingURL=FilePicker.mjs.map\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","createElementVNode","toDisplayString","createCommentVNode","ChevronRight","_export_sfc","_sfc_main","NcActions","NcButton","crumbId","createElementId","open","e","_hoisted_1","_sfc_render","_component_NcButton","resolveComponent","_component_NcActions","_component_ChevronRight","normalizeClass","withModifiers","args","createBlock","createSlots","withCtx","renderSlot","createTextVNode","createVNode","NcBreadcrumb","IconFolder","crumbClass","NcActionButton","NcActionRouter","NcActionLink","debounce","subscribe","unsubscribe","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","index","el","isLast","hide","w","path","disabled","crumbs","target","vnode","breadcrumbs","Fragment","child","cloneVNode","breadcrumbsRefs","crumb2","h","to","href","disableDrop","name","propsToForward","element","folderIcon","wrapper","isSlotPopulated","NcBreadcrumbs","queue","PQueue","preloadImage","url","resolve","promise","image","getPreviewURL","node","options","previewUrl","generateUrl","usePreviewURL","previewURL","ref","previewLoaded","watchEffect","toValue","FileType","success","_sfc_main$e","_hoisted_1$c","_hoisted_2$b","_hoisted_3$a","_hoisted_4$a","_sfc_render$7","IconFile","_sfc_main$d","_hoisted_1$b","_hoisted_2$a","_hoisted_3$9","_hoisted_4$9","_sfc_render$6","IconSortDescending","_sfc_main$c","_hoisted_1$a","_hoisted_2$9","_hoisted_3$8","_hoisted_4$8","_sfc_render$5","IconSortAscending","_sfc_main$b","_hoisted_1$9","_hoisted_2$8","_hoisted_3$7","_hoisted_4$7","_sfc_render$4","fileListIconStyles","_sfc_main$a","defineComponent","__props","props","fileListIconStyles$1","toRef","computed","isFile","folderDecorationIcon","mdiKey","mdiTagOutline","shareTypes","type","ShareType","mdiLink","mdiAccountPlus","mdiNetworkOutline","mdiAccountGroupOutline","normalizeStyle","unref","NcIconSvgWrapper","_hoisted_1$8","_hoisted_2$7","_hoisted_3$6","_hoisted_4$6","_hoisted_5$1","_hoisted_6$1","_hoisted_7$1","_sfc_main$9","__emit","emit2","timestamp","fileExtension","extname","displayName","isDirectory","isPickable","isNavigatable","Permission","toggleSelected","handleClick","handleKeyDown","event","toHandlers","NcCheckboxRadioSwitch","t","formatFileSize","NcDateTime","FileListRow","_hoisted_1$7","_hoisted_2$6","_hoisted_3$5","_hoisted_4$5","_sfc_main$8","LoadingTableRow","useFilesSettings","filesUserState","loadState","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","onMounted","isPublicShare","logger","data","axios","error","showError","useFilesViews","currentView","convertOrder","order2","filesViewsState","filesViewConfig","recentViewConfig","favoritesViewConfig","currentConfig","sortBy","order","_hoisted_1$6","_hoisted_2$5","_hoisted_3$4","_hoisted_4$4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_sfc_main$7","mergeModels","useModel","selectedFiles","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","sortNodes","selectableFiles","file","allSelected","onSelectAll","onNodeSelected","f","onChangeDirectory","dir","skeletonNumber","fileContainer","resize","nextTick","nodes","height","onUnmounted","renderList","FileList","_sfc_main$6","_hoisted_1$5","_hoisted_2$4","_hoisted_3$3","_hoisted_4$3","_sfc_render$3","IconHome","_sfc_main$5","_hoisted_1$4","_hoisted_2$3","_hoisted_3$2","_hoisted_4$2","_sfc_render$2","IconPlus","_sfc_main$4","actionsOpen","newNodeName","nameInput","useTemplateRef","validateInput","input","validity","validateFilename","InvalidFilenameError","InvalidFilenameErrorReason","onSubmit","pathElements","v","elements","NcActionInput","FilePickerBreadcrumbs","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$1","_hoisted_4$1","IconClose","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","IconMagnify","useViews","isAnonymous","allViews","mdiFolder","mdiClock","mdiStar","availableViews","id","getCurrentUser","currentViewObject","updateFilterValue","value","NcTextField","NcSelect","view","FilePickerNavigation","getRecentNodes","client","signal","lastTwoWeek","getRecentSearch","result","resultToNode","getNodes","join","defaultRootPath","getDefaultPropfind","nodePath","getFile","useDAVFiles","currentPath","getClient","files","shallowRef","folder","isLoading","abortController","createDirectory","directory","loadDAVFiles","getFavoriteNodes","content","watch","useMimeFilter","allowedMIMETypes","splittedTypes","filter","mime","mimeTypeArray","subtype","emit$1","isOpen","savedPath","navigatedPath","filterString","currentFolder","loadFiles","isHandlingCallback","dialogButtons","button","handleButtonClick","callback","viewHeadline","isSupportedMimeType","filteredFiles","filtered","noFilesDescription","onCreateFolder","emit","handleClose","NcDialog","isCollapsed","NcEmptyContent","FilePicker"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"FilePicker-Z7R9rHQv.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { N as NcActions } from \"./NcActions.mjs\";\nconst _sfc_main$1 = {\n name: \"ChevronRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1$1);\n}\nconst ChevronRight = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nconst _sfc_main = {\n name: \"NcBreadcrumb\",\n components: {\n NcActions,\n ChevronRight,\n NcButton\n },\n inheritAttrs: false,\n props: {\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * Route Location the link should navigate to when clicked on.\n *\n * @see https://v3.router.vuejs.org/api/#to\n */\n to: {\n type: [String, Object],\n default: void 0\n },\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n */\n forceIconText: {\n type: Boolean,\n default: false\n },\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * CSS class to apply to the root element.\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n }\n },\n emits: [\n \"dragenter\",\n \"dragleave\",\n \"dropped\",\n \"update:open\"\n ],\n setup() {\n const crumbId = createElementId();\n return {\n actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n crumbId\n };\n },\n data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * The attributes to pass to `router-link` or `a`\n */\n linkAttributes() {\n if (this.to) {\n return { to: this.to, ...this.$attrs };\n } else if (this.href) {\n return { href: this.href, ...this.$attrs };\n }\n return this.$attrs;\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange(open) {\n this.$emit(\"update:open\", open);\n },\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {object} e The drop event\n * @return {boolean}\n */\n dropped(e) {\n if (this.disableDrop) {\n return false;\n }\n this.$emit(\"dropped\", e, this.to || this.href);\n this.$parent.$emit(\"dropped\", e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n /**\n * Add the hovering state on drag enter\n *\n * @param {DragEvent} e The drag-enter event\n */\n dragEnter(e) {\n this.$emit(\"dragenter\", e);\n if (this.disableDrop) {\n return;\n }\n this.hovering = true;\n },\n /**\n * Remove the hovering state on drag leave\n *\n * @param {DragEvent} e The drag leave event\n */\n dragLeave(e) {\n this.$emit(\"dragleave\", e);\n if (this.disableDrop) {\n return;\n }\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n this.hovering = false;\n }\n }\n};\nconst _hoisted_1 = [\"data-crumb-id\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_ChevronRight = resolveComponent(\"ChevronRight\");\n return openBlock(), createElementBlock(\"li\", {\n ref: \"crumb\",\n class: normalizeClass([\"vue-crumb\", [{ \"vue-crumb--hovered\": $data.hovering }, _ctx.$props.class]]),\n \"data-crumb-id\": $setup.crumbId,\n draggable: \"false\",\n onDragstart: withModifiers(() => {\n }, [\"prevent\"]),\n onDrop: _cache[0] || (_cache[0] = withModifiers((...args) => $options.dropped && $options.dropped(...args), [\"prevent\"])),\n onDragover: withModifiers(() => {\n }, [\"prevent\"]),\n onDragenter: _cache[1] || (_cache[1] = (...args) => $options.dragEnter && $options.dragEnter(...args)),\n onDragleave: _cache[2] || (_cache[2] = (...args) => $options.dragLeave && $options.dragLeave(...args))\n }, [\n ($props.name || $props.icon || _ctx.$slots.icon) && !_ctx.$slots.default ? (openBlock(), createBlock(_component_NcButton, mergeProps({\n key: 0,\n \"aria-label\": $props.icon ? $props.name : void 0,\n variant: \"tertiary\"\n }, $options.linkAttributes), createSlots({ _: 2 }, [\n _ctx.$slots.icon || $props.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass([$props.icon, \"icon\"])\n }, null, 2)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !(_ctx.$slots.icon || $props.icon) || $props.forceIconText ? {\n name: \"default\",\n fn: withCtx(() => [\n createTextVNode(toDisplayString($props.name), 1)\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"aria-label\"])) : createCommentVNode(\"\", true),\n _ctx.$slots.default ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n container: $setup.actionsContainer,\n forceMenu: $props.forceMenu,\n forceName: \"\",\n menuName: $props.name,\n open: $props.open,\n title: $props.title,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onOpenChange\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"container\", \"forceMenu\", \"menuName\", \"open\", \"title\", \"onUpdate:open\"])) : createCommentVNode(\"\", true),\n createVNode(_component_ChevronRight, {\n class: \"vue-crumb__separator\",\n size: 20\n })\n ], 42, _hoisted_1);\n}\nconst NcBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-7cec4a3e\"]]);\nexport {\n NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb.mjs.map\n","import '../assets/NcBreadcrumbs.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb.mjs\";\nconst _sfc_main$1 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n name: \"NcBreadcrumbs\",\n components: {\n NcActions,\n NcActionButton,\n NcActionRouter,\n NcActionLink,\n NcBreadcrumb,\n IconFolder\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: \"icon-home\"\n },\n /**\n * Set the aria-label of the nav element.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n emits: [\"dropped\"],\n data() {\n return {\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a name for this breadcrumb, only the Actions menu\n name: \"\",\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n },\n breadcrumbsRefs: []\n };\n },\n created() {\n window.addEventListener(\"resize\", debounce(() => {\n this.handleWindowResize();\n }, 100));\n subscribe(\"navigation-toggled\", this.delayedResize);\n },\n mounted() {\n this.handleWindowResize();\n },\n updated() {\n this.delayedResize();\n this.$nextTick(() => {\n this.hideCrumbs();\n });\n },\n beforeUnmount() {\n window.removeEventListener(\"resize\", this.handleWindowResize);\n unsubscribe(\"navigation-toggled\", this.delayedResize);\n },\n methods: {\n /**\n * Close the actions menu\n *\n * @param {object} e The event\n */\n closeActions(e) {\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n this.menuBreadcrumbProps.open = false;\n },\n /**\n * Call the resize function after a delay\n */\n async delayedResize() {\n await this.$nextTick();\n this.handleWindowResize();\n },\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize() {\n if (!this.$refs.container) {\n return;\n }\n const nrCrumbs = this.breadcrumbsRefs.length;\n const hiddenIndices = [];\n const availableWidth = this.$refs.container.offsetWidth;\n let totalWidth = this.getTotalWidth();\n if (this.$refs.breadcrumb__actions) {\n totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n }\n let overflow = totalWidth - availableWidth;\n overflow += overflow > 0 ? 64 : 0;\n let i = 0;\n const startIndex = Math.floor(nrCrumbs / 2);\n while (overflow > 0 && i < nrCrumbs - 2) {\n const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n overflow -= this.getWidth(this.breadcrumbsRefs[currentIndex]?.$el, currentIndex === this.breadcrumbsRefs.length - 1);\n hiddenIndices.push(currentIndex);\n i++;\n }\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n this.hiddenIndices = hiddenIndices;\n }\n },\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @return {boolean} Wether the arrays are equal\n */\n arraysEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n } else if (a === b) {\n return true;\n } else if (a === null || b === null) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n },\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @return {number} The total width\n */\n getTotalWidth() {\n return this.breadcrumbsRefs.reduce((width, crumb, index) => width + this.getWidth(crumb.$el, index === this.breadcrumbsRefs.length - 1), 0);\n },\n /**\n * Calculates the width of the provided element\n *\n * @param {object} el The element\n * @param {boolean} isLast Is this the last crumb\n * @return {number} The width\n */\n getWidth(el, isLast) {\n if (!el?.classList) {\n return 0;\n }\n const hide = el.classList.contains(`${crumbClass}--hidden`);\n el.style.minWidth = \"auto\";\n if (isLast) {\n el.style.maxWidth = \"210px\";\n }\n el.classList.remove(`${crumbClass}--hidden`);\n const w = el.offsetWidth;\n if (hide) {\n el.classList.add(`${crumbClass}--hidden`);\n }\n el.style.minWidth = \"\";\n el.style.maxWidth = \"\";\n return w;\n },\n /**\n * Prevents the default of a provided event\n *\n * @param {object} e The event\n * @return {boolean}\n */\n preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n },\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {object} e The event\n * @return {boolean}\n */\n dragStart(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {object} e The drop event\n * @param {string} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @return {boolean}\n */\n dropped(e, path, disabled) {\n if (!disabled) {\n this.$emit(\"dropped\", e, path);\n }\n this.menuBreadcrumbProps.open = false;\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n return this.preventDefault(e);\n },\n /**\n * Handles the drag over event\n *\n * @param {object} e The drag over event\n * @return {boolean}\n */\n dragOver(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles the drag enter event\n *\n * @param {object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.classList && target.classList.contains(crumbClass)) {\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n target.classList.add(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Handles the drag leave event\n *\n * @param {object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.contains(e.relatedTarget)) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.contains(e.relatedTarget)) {\n return;\n }\n if (target.classList && target.classList.contains(crumbClass)) {\n target.classList.remove(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n */\n hideCrumbs() {\n this.breadcrumbsRefs.forEach((crumb, i) => {\n if (crumb?.$el?.classList) {\n if (this.hiddenIndices.includes(i)) {\n crumb.$el.classList.add(`${crumbClass}--hidden`);\n } else {\n crumb.$el.classList.remove(`${crumbClass}--hidden`);\n }\n }\n });\n },\n isBreadcrumb(vnode) {\n return vnode?.type?.name === \"NcBreadcrumb\";\n }\n },\n /**\n * The render function to display the component\n *\n * @return {object|undefined} The created VNode\n */\n render() {\n let breadcrumbs = [];\n this.$slots.default?.().forEach((vnode) => {\n if (this.isBreadcrumb(vnode)) {\n breadcrumbs.push(vnode);\n return;\n }\n if (vnode?.type === Fragment) {\n vnode?.children?.forEach?.((child) => {\n if (this.isBreadcrumb(child)) {\n breadcrumbs.push(child);\n }\n });\n }\n });\n if (breadcrumbs.length === 0) {\n return;\n }\n breadcrumbs[0] = cloneVNode(breadcrumbs[0], {\n icon: this.rootIcon,\n ref: \"breadcrumbs\"\n });\n const breadcrumbsRefs = [];\n breadcrumbs = breadcrumbs.map((crumb, index) => cloneVNode(crumb, {\n ref: (crumb2) => {\n breadcrumbsRefs[index] = crumb2;\n }\n }));\n const crumbs = [...breadcrumbs];\n if (this.hiddenIndices.length) {\n crumbs.splice(\n Math.round(breadcrumbs.length / 2),\n 0,\n // The Actions menu\n // Use a breadcrumb component for the hidden breadcrumbs\n h(NcBreadcrumb, {\n class: \"dropdown\",\n ...this.menuBreadcrumbProps,\n // Hide the dropdown menu from screen-readers,\n // since the crumbs in the menu are still in the list.\n \"aria-hidden\": true,\n // Add a ref to the Actions menu\n ref: \"actionsBreadcrumb\",\n key: \"actions-breadcrumb-1\",\n // Add handlers so the Actions menu opens on hover\n onDragenter: () => {\n this.menuBreadcrumbProps.open = true;\n },\n onDragleave: this.closeActions,\n // Make sure we keep the same open state\n // as the Actions component\n \"onUpdate:open\": (open) => {\n this.menuBreadcrumbProps.open = open;\n }\n // Add all hidden breadcrumbs as ActionRouter or ActionLink\n }, {\n default: () => this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n const crumb = breadcrumbs[index];\n const {\n // Get the parameters from the breadcrumb component props\n to,\n href,\n disableDrop,\n name,\n // Props to forward\n ...propsToForward\n } = crumb.props;\n delete propsToForward.ref;\n let element = NcActionButton;\n let path = \"\";\n if (href) {\n element = NcActionLink;\n path = href;\n }\n if (to) {\n element = NcActionRouter;\n path = to;\n }\n const folderIcon = h(IconFolder, {\n size: 20\n });\n return h(element, {\n ...propsToForward,\n class: crumbClass,\n href: href || null,\n to: to || null,\n // Prevent the breadcrumbs from being draggable\n draggable: false,\n // Add the drag and drop handlers\n onDragstart: this.dragStart,\n onDrop: ($event) => this.dropped($event, path, disableDrop),\n onDragover: this.dragOver,\n onDragenter: ($event) => this.dragEnter($event, disableDrop),\n onDragleave: ($event) => this.dragLeave($event, disableDrop)\n }, {\n default: () => name,\n icon: () => folderIcon\n });\n })\n })\n );\n }\n const wrapper = [h(\"nav\", { \"aria-label\": this.ariaLabel }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n if (isSlotPopulated(this.$slots.actions?.())) {\n wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions?.()));\n }\n this.breadcrumbsRefs = breadcrumbsRefs;\n return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n }\n};\nconst NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-5a4d73af\"]]);\nexport {\n NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs.mjs.map\n","import { FileType } from \"@nextcloud/files\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { ref, watchEffect, toValue } from \"vue\";\nimport PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nfunction getPreviewURL(node, options = {}) {\n options = { size: 32, cropPreview: false, mimeFallback: true, ...options };\n try {\n const previewUrl = node.attributes?.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n let url;\n try {\n url = new URL(previewUrl);\n } catch {\n url = new URL(previewUrl, window.location.origin);\n }\n url.searchParams.set(\"x\", `${options.size}`);\n url.searchParams.set(\"y\", `${options.size}`);\n url.searchParams.set(\"mimeFallback\", `${options.mimeFallback}`);\n url.searchParams.set(\"a\", options.cropPreview === true ? \"0\" : \"1\");\n url.searchParams.set(\"c\", `${node.attributes.etag}`);\n return url;\n } catch {\n return null;\n }\n}\nfunction usePreviewURL(node, options) {\n const previewURL = ref(null);\n const previewLoaded = ref(false);\n watchEffect(() => {\n previewLoaded.value = false;\n previewURL.value = getPreviewURL(toValue(node), toValue(options || {}));\n if (previewURL.value && toValue(node).type === FileType.File) {\n preloadImage(previewURL.value.href).then((success) => {\n previewLoaded.value = success;\n });\n }\n });\n return {\n previewURL,\n previewLoaded\n };\n}\nexport {\n getPreviewURL as g,\n usePreviewURL as u\n};\n//# sourceMappingURL=preview.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, ref, computed, toRef, normalizeClass, normalizeStyle, unref, Fragment, createBlock, createVNode, toHandlers, withModifiers, onMounted, toValue, useModel, onUnmounted, withCtx, createTextVNode, renderList, mergeModels, nextTick, useTemplateRef, createSlots, shallowRef, watch } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcEmptyContent from \"@nextcloud/vue/components/NcEmptyContent\";\nimport { _ as _export_sfc, t, l as logger, s as showError } from \"./index.mjs\";\nimport { FileType, Permission, formatFileSize, sortNodes, validateFilename, InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport NcButton from \"@nextcloud/vue/components/NcButton\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/components/NcCheckboxRadioSwitch\";\nimport { extname, join } from \"@nextcloud/paths\";\nimport NcDateTime from \"@nextcloud/vue/components/NcDateTime\";\nimport { mdiKey, mdiTagOutline, mdiLink, mdiAccountPlus, mdiAccountGroupOutline, mdiNetworkOutline, mdiFolder, mdiClock, mdiStar } from \"@mdi/js\";\nimport { ShareType } from \"@nextcloud/sharing\";\nimport NcIconSvgWrapper from \"@nextcloud/vue/components/NcIconSvgWrapper\";\nimport { u as usePreviewURL } from \"./preview.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { isPublicShare } from \"@nextcloud/sharing/public\";\nimport NcActionInput from \"@nextcloud/vue/components/NcActionInput\";\nimport NcActions from \"@nextcloud/vue/components/NcActions\";\nimport NcBreadcrumb from \"@nextcloud/vue/components/NcBreadcrumb\";\nimport NcBreadcrumbs from \"@nextcloud/vue/components/NcBreadcrumbs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport NcSelect from \"@nextcloud/vue/components/NcSelect\";\nimport NcTextField from \"@nextcloud/vue/components/NcTextField\";\nimport { getRecentSearch, resultToNode, defaultRootPath, getDefaultPropfind, getClient, getFavoriteNodes } from \"@nextcloud/files/dav\";\nconst _sfc_main$e = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$c = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$b = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$a = { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" };\nconst _hoisted_4$a = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon file-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$a, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$a, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$b))\n ], 16, _hoisted_1$c);\n}\nconst IconFile = /* @__PURE__ */ _export_sfc(_sfc_main$e, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$d = {\n name: \"MenuDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$b = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$a = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$9 = { d: \"M7,10L12,15L17,10H7Z\" };\nconst _hoisted_4$9 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$9, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$9, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$a))\n ], 16, _hoisted_1$b);\n}\nconst IconSortDescending = /* @__PURE__ */ _export_sfc(_sfc_main$d, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$c = {\n name: \"MenuUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$a = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$9 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$8 = { d: \"M7,15L12,10L17,15H7Z\" };\nconst _hoisted_4$8 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$8, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$8, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$9))\n ], 16, _hoisted_1$a);\n}\nconst IconSortAscending = /* @__PURE__ */ _export_sfc(_sfc_main$c, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$b = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$9 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$8 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4$7 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$7, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$8))\n ], 16, _hoisted_1$9);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$b, [[\"render\", _sfc_render$4]]);\nconst fileListIconStyles = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1aykw_9\",\n \"file-picker__file-icon--primary\": \"_file-picker__file-icon--primary_1aykw_22\",\n \"file-picker__file-icon-overlay\": \"_file-picker__file-icon-overlay_1aykw_26\"\n};\nconst _sfc_main$a = /* @__PURE__ */ defineComponent({\n __name: \"FilePreview\",\n props: {\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const fileListIconStyles$1 = ref(fileListIconStyles);\n const {\n previewURL,\n previewLoaded\n } = usePreviewURL(toRef(props, \"node\"), computed(() => ({ cropPreview: props.cropImagePreviews })));\n const isFile = computed(() => props.node.type === FileType.File);\n const folderDecorationIcon = computed(() => {\n if (props.node.type !== FileType.Folder) {\n return null;\n }\n if (props.node.attributes?.[\"is-encrypted\"] === 1) {\n return mdiKey;\n }\n if (props.node.attributes?.[\"is-tag\"]) {\n return mdiTagOutline;\n }\n const shareTypes = Object.values(props.node.attributes?.[\"share-types\"] || {}).flat();\n if (shareTypes.some((type) => type === ShareType.Link || type === ShareType.Email)) {\n return mdiLink;\n }\n if (shareTypes.length > 0) {\n return mdiAccountPlus;\n }\n switch (props.node.attributes?.[\"mount-type\"]) {\n case \"external\":\n case \"external-session\":\n return mdiNetworkOutline;\n case \"group\":\n return mdiAccountGroupOutline;\n case \"shared\":\n return mdiAccountPlus;\n }\n return null;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n style: normalizeStyle(unref(previewLoaded) ? { backgroundImage: `url(${unref(previewURL)})` } : void 0),\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon\"])\n }, [\n !unref(previewLoaded) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isFile.value ? (openBlock(), createBlock(IconFile, {\n key: 0,\n size: 32\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n folderDecorationIcon.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon-overlay\"]),\n inline: \"\",\n path: folderDecorationIcon.value,\n size: 16\n }, null, 8, [\"class\", \"path\"])) : createCommentVNode(\"\", true),\n createVNode(IconFolder, {\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon--primary\"]),\n size: 32\n }, null, 8, [\"class\"])\n ], 64))\n ], 64)) : createCommentVNode(\"\", true)\n ], 6);\n };\n }\n});\nconst _hoisted_1$8 = [\"tabindex\", \"aria-selected\", \"data-filename\"];\nconst _hoisted_2$7 = { class: \"row-name\" };\nconst _hoisted_3$6 = {\n class: \"file-picker__name-container\",\n \"data-testid\": \"row-name\"\n};\nconst _hoisted_4$6 = [\"title\", \"textContent\"];\nconst _hoisted_5$1 = [\"textContent\"];\nconst _hoisted_6$1 = { class: \"row-size\" };\nconst _hoisted_7$1 = { class: \"row-modified\" };\nconst _sfc_main$9 = /* @__PURE__ */ defineComponent({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enterDirectory\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const timestamp = computed(() => props.node.mtime ?? 0);\n const fileExtension = computed(() => extname(props.node.displayname));\n const displayName = computed(() => props.node.displayname.slice(0, fileExtension.value ? -fileExtension.value.length : void 0));\n const isDirectory = computed(() => props.node.type === FileType.Folder);\n const isPickable = computed(() => props.canPick && (props.allowPickDirectory || !isDirectory.value));\n const isNavigatable = computed(() => (props.node.permissions & Permission.READ) === Permission.READ);\n function toggleSelected() {\n if (!isPickable.value) {\n return;\n }\n emit2(\"update:selected\", !props.selected);\n }\n function handleClick() {\n if (isDirectory.value) {\n if (isNavigatable.value) {\n emit2(\"enterDirectory\", props.node);\n }\n } else {\n toggleSelected();\n }\n }\n function handleKeyDown(event) {\n if (event.key === \"Enter\") {\n handleClick();\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", mergeProps({\n tabindex: __props.showCheckbox && !isDirectory.value ? void 0 : 0,\n \"aria-selected\": !isPickable.value ? void 0 : __props.selected,\n class: [\"file-picker__row\", [\n {\n \"file-picker__row--selected\": __props.selected && !__props.showCheckbox,\n \"file-picker__row--not-navigatable\": isDirectory.value && !isNavigatable.value,\n \"file-picker__row--not-pickable\": !isPickable.value\n }\n ]],\n \"data-filename\": __props.node.basename,\n \"data-testid\": \"file-list-row\"\n }, toHandlers({\n click: handleClick,\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n ...!__props.showCheckbox || isDirectory.value ? { keydown: handleKeyDown } : {}\n }, true)), [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", {\n key: 0,\n class: \"row-checkbox\",\n onClick: withModifiers(() => {\n }, [\"stop\"])\n }, [\n createVNode(unref(NcCheckboxRadioSwitch), {\n \"aria-label\": unref(t)(\"Select the row for {nodename}\", { nodename: displayName.value }),\n disabled: !isPickable.value,\n \"data-testid\": \"row-checkbox\",\n modelValue: __props.selected,\n \"onUpdate:modelValue\": toggleSelected\n }, null, 8, [\"aria-label\", \"disabled\", \"modelValue\"])\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_2$7, [\n createElementVNode(\"div\", _hoisted_3$6, [\n createVNode(_sfc_main$a, {\n node: __props.node,\n cropImagePreviews: __props.cropImagePreviews\n }, null, 8, [\"node\", \"cropImagePreviews\"]),\n createElementVNode(\"div\", {\n class: \"file-picker__file-name\",\n title: displayName.value,\n textContent: toDisplayString(displayName.value)\n }, null, 8, _hoisted_4$6),\n createElementVNode(\"div\", {\n class: \"file-picker__file-extension\",\n textContent: toDisplayString(fileExtension.value)\n }, null, 8, _hoisted_5$1)\n ])\n ]),\n createElementVNode(\"td\", _hoisted_6$1, toDisplayString(unref(formatFileSize)(__props.node.size || 0)), 1),\n createElementVNode(\"td\", _hoisted_7$1, [\n createVNode(unref(NcDateTime), {\n timestamp: timestamp.value,\n ignoreSeconds: \"\"\n }, null, 8, [\"timestamp\"])\n ])\n ], 16, _hoisted_1$8);\n };\n }\n});\nconst FileListRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [[\"__scopeId\", \"data-v-7857e8bd\"]]);\nconst _hoisted_1$7 = {\n \"aria-hidden\": \"true\",\n class: \"file-picker__row loading-row\"\n};\nconst _hoisted_2$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_3$5 = { class: \"row-name\" };\nconst _hoisted_4$5 = { class: \"row-wrapper\" };\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", _hoisted_1$7, [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", _hoisted_2$6, [..._cache[0] || (_cache[0] = [\n createElementVNode(\"span\", null, null, -1)\n ])])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_3$5, [\n createElementVNode(\"div\", _hoisted_4$5, [\n createElementVNode(\"span\", {\n class: normalizeClass(unref(fileListIconStyles)[\"file-picker__file-icon\"])\n }, null, 2),\n _cache[1] || (_cache[1] = createElementVNode(\"span\", null, null, -1))\n ])\n ]),\n _cache[2] || (_cache[2] = createElementVNode(\"td\", { class: \"row-size\" }, [\n createElementVNode(\"span\")\n ], -1)),\n _cache[3] || (_cache[3] = createElementVNode(\"td\", { class: \"row-modified\" }, [\n createElementVNode(\"span\")\n ], -1))\n ]);\n };\n }\n});\nconst LoadingTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"__scopeId\", \"data-v-1f96131b\"]]);\nfunction useFilesSettings() {\n const filesUserState = loadState(\"files\", \"config\", null);\n const showHiddenFiles = ref(filesUserState?.show_hidden ?? true);\n const sortFavoritesFirst = ref(filesUserState?.sort_favorites_first ?? true);\n const cropImagePreviews = ref(filesUserState?.crop_image_previews ?? true);\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/configs\"));\n showHiddenFiles.value = data?.data?.show_hidden ?? false;\n sortFavoritesFirst.value = data?.data?.sort_favorites_first ?? true;\n cropImagePreviews.value = data?.data?.crop_image_previews ?? true;\n } catch (error) {\n logger.error(\"Could not load files settings\", { error });\n showError(t(\"Could not load files settings\"));\n }\n } else {\n logger.debug(\"Skip loading files settings - currently on public share\");\n }\n });\n return {\n showHiddenFiles,\n sortFavoritesFirst,\n cropImagePreviews\n };\n}\nfunction useFilesViews(currentView) {\n const convertOrder = (order2) => order2 === \"asc\" ? \"ascending\" : order2 === \"desc\" ? \"descending\" : \"none\";\n const filesViewsState = loadState(\"files\", \"viewConfigs\", null);\n const filesViewConfig = ref({\n sortBy: filesViewsState?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.files?.sorting_direction ?? \"asc\")\n });\n const recentViewConfig = ref({\n sortBy: filesViewsState?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.recent?.sorting_direction ?? \"asc\")\n });\n const favoritesViewConfig = ref({\n sortBy: filesViewsState?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.favorites?.sorting_direction ?? \"asc\")\n });\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/views\"));\n filesViewConfig.value = {\n sortBy: data?.data?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.files?.sorting_direction)\n };\n favoritesViewConfig.value = {\n sortBy: data?.data?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.favorites?.sorting_direction)\n };\n recentViewConfig.value = {\n sortBy: data?.data?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.recent?.sorting_direction)\n };\n } catch (error) {\n logger.error(\"Could not load files views\", { error });\n showError(t(\"Could not load files views\"));\n }\n } else {\n logger.debug(\"Skip loading files views - currently on public share\");\n }\n });\n const currentConfig = computed(() => toValue(currentView || \"files\") === \"files\" ? filesViewConfig.value : toValue(currentView) === \"recent\" ? recentViewConfig.value : favoritesViewConfig.value);\n const sortBy = computed(() => currentConfig.value.sortBy);\n const order = computed(() => currentConfig.value.order);\n return {\n filesViewConfig,\n favoritesViewConfig,\n recentViewConfig,\n currentConfig,\n sortBy,\n order\n };\n}\nconst _hoisted_1$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_2$5 = { class: \"hidden-visually\" };\nconst _hoisted_3$4 = [\"aria-sort\"];\nconst _hoisted_4$4 = { class: \"header-wrapper\" };\nconst _hoisted_5 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_6 = [\"aria-sort\"];\nconst _hoisted_7 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_8 = [\"aria-sort\"];\nconst _hoisted_9 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"FileList\",\n props: /* @__PURE__ */ mergeModels({\n currentView: {},\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: {},\n canPick: { type: Function }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {},\n \"selectedFiles\": { required: true },\n \"selectedFilesModifiers\": {}\n }),\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(__props) {\n const path = useModel(__props, \"path\");\n const selectedFiles = useModel(__props, \"selectedFiles\");\n const props = __props;\n const customSortingConfig = ref();\n const { currentConfig: filesAppSorting } = useFilesViews(props.currentView);\n const sortingConfig = computed(() => customSortingConfig.value ?? filesAppSorting.value);\n const sortByName = computed(() => sortingConfig.value.sortBy === \"basename\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortBySize = computed(() => sortingConfig.value.sortBy === \"size\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortByModified = computed(() => sortingConfig.value.sortBy === \"mtime\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n function toggleSorting(sortBy) {\n if (sortingConfig.value.sortBy === sortBy) {\n if (sortingConfig.value.order === \"ascending\") {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"descending\" };\n } else {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"ascending\" };\n }\n } else {\n customSortingConfig.value = { sortBy, order: \"ascending\" };\n }\n }\n const { sortFavoritesFirst, cropImagePreviews } = useFilesSettings();\n const sortedFiles = computed(() => {\n return sortNodes(props.files, {\n sortFoldersFirst: true,\n sortFavoritesFirst: sortFavoritesFirst.value,\n sortingOrder: sortingConfig.value.order === \"descending\" ? \"desc\" : \"asc\",\n sortingMode: sortingConfig.value.sortBy\n });\n });\n const selectableFiles = computed(() => props.files.filter((file) => props.allowPickDirectory || file.type !== FileType.Folder));\n const allSelected = computed(() => !props.loading && selectedFiles.value.length > 0 && selectedFiles.value.length >= selectableFiles.value.length);\n function onSelectAll() {\n if (selectedFiles.value.length < selectableFiles.value.length) {\n selectedFiles.value = [...selectableFiles.value];\n } else {\n selectedFiles.value = [];\n }\n }\n function onNodeSelected(file) {\n if (selectedFiles.value.includes(file)) {\n selectedFiles.value = selectedFiles.value.filter((f) => f.path !== file.path);\n } else {\n if (props.multiselect) {\n selectedFiles.value = [...selectedFiles.value, file];\n } else {\n selectedFiles.value = [file];\n }\n }\n }\n function onChangeDirectory(dir) {\n path.value = dir.path;\n }\n const skeletonNumber = ref(4);\n const fileContainer = ref();\n {\n const resize = () => nextTick(() => {\n const nodes = fileContainer.value?.parentElement?.children || [];\n let height = fileContainer.value?.parentElement?.clientHeight || 450;\n for (let index = 0; index < nodes.length; index++) {\n if (!fileContainer.value?.isSameNode(nodes[index])) {\n height -= nodes[index].clientHeight;\n }\n }\n skeletonNumber.value = Math.max(1, Math.floor((height - 50) / 50));\n });\n onMounted(() => {\n window.addEventListener(\"resize\", resize);\n resize();\n });\n onUnmounted(() => {\n window.removeEventListener(\"resize\", resize);\n });\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"fileContainer\",\n ref: fileContainer,\n class: \"file-picker__files\"\n }, [\n createElementVNode(\"table\", null, [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n __props.multiselect ? (openBlock(), createElementBlock(\"th\", _hoisted_1$6, [\n createElementVNode(\"span\", _hoisted_2$5, toDisplayString(unref(t)(\"Select entry\")), 1),\n __props.multiselect ? (openBlock(), createBlock(unref(NcCheckboxRadioSwitch), {\n key: 0,\n \"aria-label\": unref(t)(\"Select all entries\"),\n \"data-testid\": \"select-all-checkbox\",\n modelValue: allSelected.value,\n \"onUpdate:modelValue\": onSelectAll\n }, null, 8, [\"aria-label\", \"modelValue\"])) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByName.value,\n class: \"row-name\"\n }, [\n createElementVNode(\"div\", _hoisted_4$4, [\n _cache[3] || (_cache[3] = createElementVNode(\"span\", { class: \"file-picker__header-preview\" }, null, -1)),\n createVNode(unref(NcButton), {\n \"data-test\": \"file-picker_sort-name\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => toggleSorting(\"basename\"))\n }, {\n icon: withCtx(() => [\n sortByName.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByName.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_5))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Name\")), 1)\n ]),\n _: 1\n })\n ])\n ], 8, _hoisted_3$4),\n createElementVNode(\"th\", {\n \"aria-sort\": sortBySize.value,\n class: \"row-size\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[1] || (_cache[1] = ($event) => toggleSorting(\"size\"))\n }, {\n icon: withCtx(() => [\n sortBySize.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortBySize.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_7))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Size\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_6),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByModified.value,\n class: \"row-modified\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[2] || (_cache[2] = ($event) => toggleSorting(\"mtime\"))\n }, {\n icon: withCtx(() => [\n sortByModified.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByModified.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_9))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Modified\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_8)\n ])\n ]),\n createElementVNode(\"tbody\", null, [\n __props.loading ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(skeletonNumber.value, (index) => {\n return openBlock(), createBlock(LoadingTableRow, {\n key: index,\n showCheckbox: __props.multiselect\n }, null, 8, [\"showCheckbox\"]);\n }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(sortedFiles.value, (file) => {\n return openBlock(), createBlock(FileListRow, {\n key: file.fileid || file.path,\n allowPickDirectory: __props.allowPickDirectory,\n showCheckbox: __props.multiselect,\n canPick: (__props.multiselect || selectedFiles.value.length === 0 || selectedFiles.value.includes(file)) && (__props.canPick === void 0 || __props.canPick(file)),\n selected: selectedFiles.value.includes(file),\n node: file,\n cropImagePreviews: unref(cropImagePreviews),\n \"onUpdate:selected\": ($event) => onNodeSelected(file),\n onEnterDirectory: onChangeDirectory\n }, null, 8, [\"allowPickDirectory\", \"showCheckbox\", \"canPick\", \"selected\", \"node\", \"cropImagePreviews\", \"onUpdate:selected\"]);\n }), 128))\n ])\n ])\n ], 512);\n };\n }\n});\nconst FileList = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"__scopeId\", \"data-v-412efd5c\"]]);\nconst _sfc_main$6 = {\n name: \"HomeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon home-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst IconHome = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$5 = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon plus-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst IconPlus = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerBreadcrumbs\",\n props: /* @__PURE__ */ mergeModels({\n showMenu: { type: Boolean }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"createNode\"], [\"update:path\"]),\n setup(__props, { emit: __emit }) {\n const path = useModel(__props, \"path\");\n const emit2 = __emit;\n const actionsOpen = ref(false);\n const newNodeName = ref(\"\");\n const nameInput = useTemplateRef(\"nameInput\");\n function validateInput() {\n const name = newNodeName.value.trim();\n const input = nameInput.value?.$el?.querySelector(\"input\");\n let validity = \"\";\n try {\n validateFilename(name);\n } catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n throw error;\n }\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n validity = t('\"{char}\" is not allowed inside a folder name.', { char: error.segment });\n break;\n case InvalidFilenameErrorReason.ReservedName:\n validity = t('\"{segment}\" is a reserved name and not allowed for folder names.', { segment: error.segment });\n break;\n case InvalidFilenameErrorReason.Extension:\n validity = t('Folder names must not end with \"{extension}\".', { extension: error.segment });\n break;\n default:\n validity = t(\"Invalid folder name.\");\n }\n }\n if (input) {\n input.setCustomValidity(validity);\n }\n return validity === \"\";\n }\n function onSubmit() {\n const name = newNodeName.value.trim();\n if (validateInput()) {\n actionsOpen.value = false;\n emit2(\"createNode\", name);\n newNodeName.value = \"\";\n }\n }\n const pathElements = computed(() => path.value.split(\"/\").filter((v) => v !== \"\").map((v, i, elements) => ({\n name: v,\n path: \"/\" + elements.slice(0, i + 1).join(\"/\")\n })));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcBreadcrumbs), { class: \"file-picker__breadcrumbs\" }, createSlots({\n default: withCtx(() => [\n createVNode(unref(NcBreadcrumb), {\n name: unref(t)(\"All files\"),\n title: unref(t)(\"Home\"),\n onClick: _cache[0] || (_cache[0] = ($event) => path.value = \"/\")\n }, {\n icon: withCtx(() => [\n createVNode(IconHome, { size: 20 })\n ]),\n _: 1\n }, 8, [\"name\", \"title\"]),\n (openBlock(true), createElementBlock(Fragment, null, renderList(pathElements.value, (dir) => {\n return openBlock(), createBlock(unref(NcBreadcrumb), {\n key: dir.path,\n name: dir.name,\n title: dir.path,\n onClick: ($event) => path.value = dir.path\n }, null, 8, [\"name\", \"title\", \"onClick\"]);\n }), 128))\n ]),\n _: 2\n }, [\n __props.showMenu ? {\n name: \"actions\",\n fn: withCtx(() => [\n createVNode(unref(NcActions), {\n open: actionsOpen.value,\n \"onUpdate:open\": _cache[2] || (_cache[2] = ($event) => actionsOpen.value = $event),\n \"aria-label\": unref(t)(\"Create directory\"),\n forceMenu: true,\n forceName: true,\n menuName: unref(t)(\"New\"),\n variant: \"secondary\",\n onClose: _cache[3] || (_cache[3] = ($event) => newNodeName.value = \"\")\n }, {\n icon: withCtx(() => [\n createVNode(IconPlus, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionInput), {\n ref_key: \"nameInput\",\n ref: nameInput,\n modelValue: newNodeName.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event) => newNodeName.value = $event),\n validateInput\n ],\n label: unref(t)(\"New folder\"),\n placeholder: unref(t)(\"New folder name\"),\n onSubmit\n }, {\n icon: withCtx(() => [\n createVNode(IconFolder, { size: 20 })\n ]),\n _: 1\n }, 8, [\"modelValue\", \"label\", \"placeholder\"])\n ]),\n _: 1\n }, 8, [\"open\", \"aria-label\", \"menuName\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1024);\n };\n }\n});\nconst FilePickerBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"__scopeId\", \"data-v-b448b141\"]]);\nconst _sfc_main$3 = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$1]]);\nconst _sfc_main$2 = {\n name: \"MagnifyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst IconMagnify = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render]]);\nfunction useViews(isAnonymous) {\n const allViews = [\n {\n id: \"files\",\n label: t(\"All files\"),\n icon: mdiFolder\n },\n {\n id: \"recent\",\n label: t(\"Recent\"),\n icon: mdiClock\n },\n {\n id: \"favorites\",\n label: t(\"Favorites\"),\n icon: mdiStar\n }\n ];\n const availableViews = isAnonymous.value ? allViews.filter(({ id }) => id === \"files\") : allViews;\n return {\n allViews,\n availableViews\n };\n}\nconst _hoisted_1$1 = {\n key: 0,\n class: \"file-picker__side\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: {},\n filterString: {},\n isCollapsed: { type: Boolean },\n disabledNavigation: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const { availableViews } = useViews(ref(getCurrentUser() === null));\n const currentViewObject = computed(() => availableViews.filter((v) => v.id === props.currentView)[0] ?? availableViews[0]);\n const updateFilterValue = (value) => emit2(\"update:filterString\", value.toString());\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createVNode(unref(NcTextField), {\n class: \"file-picker__filter-input\",\n label: unref(t)(\"Filter file list\"),\n showTrailingButton: !!__props.filterString,\n modelValue: __props.filterString,\n \"onUpdate:modelValue\": updateFilterValue,\n onTrailingButtonClick: _cache[0] || (_cache[0] = ($event) => updateFilterValue(\"\"))\n }, {\n \"trailing-button-icon\": withCtx(() => [\n createVNode(IconClose, { size: 16 })\n ]),\n default: withCtx(() => [\n createVNode(IconMagnify, { size: 16 })\n ]),\n _: 1\n }, 8, [\"label\", \"showTrailingButton\", \"modelValue\"]),\n unref(availableViews).length > 1 && !__props.disabledNavigation ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !__props.isCollapsed ? (openBlock(), createElementBlock(\"ul\", _hoisted_1$1, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(availableViews), (view) => {\n return openBlock(), createElementBlock(\"li\", {\n key: view.id\n }, [\n createVNode(unref(NcButton), {\n variant: __props.currentView === view.id ? \"primary\" : \"tertiary\",\n wide: true,\n onClick: ($event) => _ctx.$emit(\"update:currentView\", view.id)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n path: view.icon,\n size: 20\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(view.label), 1)\n ]),\n _: 2\n }, 1032, [\"variant\", \"onClick\"])\n ]);\n }), 128))\n ])) : (openBlock(), createBlock(unref(NcSelect), {\n key: 1,\n \"aria-label\": unref(t)(\"Current view selector\"),\n clearable: false,\n searchable: false,\n options: unref(availableViews),\n modelValue: currentViewObject.value,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event) => emit2(\"update:currentView\", $event.id))\n }, null, 8, [\"aria-label\", \"options\", \"modelValue\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n };\n }\n});\nconst FilePickerNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-e1c54e23\"]]);\nasync function getRecentNodes({ client, signal }) {\n const lastTwoWeek = Math.round(Date.now() / 1e3) - 60 * 60 * 24 * 14;\n const { data } = await client.search(\"/\", {\n signal,\n details: true,\n data: getRecentSearch(lastTwoWeek)\n });\n return data.results.map((result) => resultToNode(result));\n}\nasync function getNodes({ client, path, signal }) {\n const results = await client.getDirectoryContents(join(defaultRootPath, path), {\n signal,\n details: true,\n includeSelf: true,\n data: getDefaultPropfind()\n });\n const nodes = results.data.map((result) => resultToNode(result));\n return {\n contents: nodes.filter(({ path: nodePath }) => nodePath !== path),\n folder: nodes.find(({ path: nodePath }) => path === nodePath)\n };\n}\nasync function getFile(client, path) {\n const { data } = await client.stat(join(defaultRootPath, path), {\n details: true,\n data: getDefaultPropfind()\n });\n return resultToNode(data);\n}\nfunction useDAVFiles(currentView, currentPath) {\n const client = getClient();\n const files = shallowRef([]);\n const folder = shallowRef(null);\n const isLoading = ref(true);\n let abortController;\n async function createDirectory(name) {\n const path = join(currentPath.value, name);\n await client.createDirectory(join(defaultRootPath, path));\n const directory = await getFile(client, path);\n files.value = [...files.value, directory];\n return directory;\n }\n async function loadDAVFiles() {\n if (abortController) {\n abortController.abort();\n abortController = void 0;\n }\n abortController = new AbortController();\n isLoading.value = true;\n try {\n if (currentView.value === \"favorites\") {\n files.value = await getFavoriteNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = null;\n } else if (currentView.value === \"recent\") {\n files.value = await getRecentNodes({ client, signal: abortController.signal });\n folder.value = null;\n } else {\n const content = await getNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = content.folder;\n files.value = content.contents;\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return;\n }\n throw error;\n } finally {\n abortController = void 0;\n isLoading.value = false;\n }\n }\n watch([currentView, currentPath], () => loadDAVFiles());\n onMounted(() => loadDAVFiles());\n return {\n isLoading,\n files,\n folder,\n loadFiles: loadDAVFiles,\n createDirectory\n };\n}\nfunction useMimeFilter(allowedMIMETypes) {\n const splittedTypes = computed(() => allowedMIMETypes.value.map((filter) => filter.split(\"/\")));\n const isSupportedMimeType = (mime) => {\n const mimeTypeArray = mime.split(\"/\");\n return splittedTypes.value.some(([type, subtype]) => (\n // check mime type matches or is wildcard\n (mimeTypeArray[0] === type || type === \"*\") && (mimeTypeArray[1] === subtype || subtype === \"*\")\n ));\n };\n return {\n isSupportedMimeType\n };\n}\nconst _hoisted_1 = { class: \"file-picker__main\" };\nconst _hoisted_2 = {\n key: 1,\n class: \"file-picker__view\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"FilePicker\",\n props: {\n buttons: {},\n name: {},\n allowPickDirectory: { type: Boolean, default: false },\n noMenu: { type: Boolean, default: false },\n disabledNavigation: { type: Boolean, default: false },\n filterFn: { type: Function, default: void 0 },\n canPickFn: { type: Function, default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: false },\n path: { default: void 0 }\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit$1 = __emit;\n const isOpen = ref(true);\n const currentView = ref(\"files\");\n const savedPath = ref(window?.sessionStorage.getItem(\"NC.FilePicker.LastPath\") || \"/\");\n const navigatedPath = ref(\"\");\n const currentPath = computed({\n get: () => {\n return currentView.value === \"files\" ? navigatedPath.value || props.path || savedPath.value : \"/\";\n },\n set: (path) => {\n navigatedPath.value = path;\n }\n });\n const selectedFiles = shallowRef([]);\n const filterString = ref(\"\");\n const {\n files,\n folder: currentFolder,\n isLoading,\n loadFiles,\n createDirectory\n } = useDAVFiles(currentView, currentPath);\n watch([navigatedPath], () => {\n if (props.path === void 0 && navigatedPath.value) {\n window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", navigatedPath.value);\n }\n selectedFiles.value = [];\n filterString.value = \"\";\n });\n let isHandlingCallback = false;\n const dialogButtons = computed(() => {\n const nodes = selectedFiles.value.length === 0 && props.allowPickDirectory && currentFolder.value && (!props.canPickFn || props.canPickFn(currentFolder.value)) ? [currentFolder.value] : selectedFiles.value;\n const buttons = typeof props.buttons === \"function\" ? props.buttons(nodes, currentPath.value, currentView.value) : props.buttons;\n return buttons.map((button) => ({\n ...button,\n disabled: button.disabled || isLoading.value,\n callback: () => {\n isHandlingCallback = true;\n handleButtonClick(button.callback, nodes);\n }\n }));\n });\n async function handleButtonClick(callback, nodes) {\n await callback(nodes);\n emit$1(\"close\", nodes);\n isHandlingCallback = false;\n }\n const viewHeadline = computed(() => currentView.value === \"favorites\" ? t(\"Favorites\") : currentView.value === \"recent\" ? t(\"Recent\") : \"\");\n const { isSupportedMimeType } = useMimeFilter(toRef(props, \"mimetypeFilter\"));\n onMounted(() => loadFiles());\n const { showHiddenFiles } = useFilesSettings();\n const filteredFiles = computed(() => {\n let filtered = files.value;\n if (!showHiddenFiles.value) {\n filtered = filtered.filter((file) => !file.basename.startsWith(\".\"));\n }\n if (props.mimetypeFilter.length > 0) {\n filtered = filtered.filter((file) => file.type === \"folder\" || file.mime && isSupportedMimeType(file.mime));\n }\n if (filterString.value) {\n filtered = filtered.filter((file) => file.basename.toLowerCase().includes(filterString.value.toLowerCase()));\n }\n if (props.filterFn) {\n filtered = filtered.filter((f) => props.filterFn(f));\n }\n return filtered;\n });\n const noFilesDescription = computed(() => {\n if (currentView.value === \"files\") {\n return t(\"Upload some content or sync with your devices!\");\n } else if (currentView.value === \"recent\") {\n return t(\"Files and folders you recently modified will show up here.\");\n } else {\n return t(\"Files and folders you mark as favorite will show up here.\");\n }\n });\n async function onCreateFolder(name) {\n try {\n const folder = await createDirectory(name);\n navigatedPath.value = folder.path;\n emit(\"files:node:created\", files.value.filter((file) => file.basename === name)[0]);\n } catch (error) {\n logger.warn(\"Could not create new folder\", { name, error });\n showError(t(\"Could not create the new folder\"));\n }\n }\n function handleClose(open) {\n if (!open && !isHandlingCallback) {\n emit$1(\"close\");\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n open: isOpen.value,\n \"onUpdate:open\": [\n _cache[6] || (_cache[6] = ($event) => isOpen.value = $event),\n handleClose\n ],\n buttons: dialogButtons.value,\n name: __props.name,\n size: \"large\",\n contentClasses: \"file-picker__content\",\n dialogClasses: \"file-picker\",\n navigationClasses: \"file-picker__navigation\"\n }, {\n navigation: withCtx(({ isCollapsed }) => [\n createVNode(FilePickerNavigation, {\n currentView: currentView.value,\n \"onUpdate:currentView\": _cache[0] || (_cache[0] = ($event) => currentView.value = $event),\n filterString: filterString.value,\n \"onUpdate:filterString\": _cache[1] || (_cache[1] = ($event) => filterString.value = $event),\n isCollapsed,\n disabledNavigation: __props.disabledNavigation\n }, null, 8, [\"currentView\", \"filterString\", \"isCollapsed\", \"disabledNavigation\"])\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n currentView.value === \"files\" ? (openBlock(), createBlock(FilePickerBreadcrumbs, {\n key: 0,\n path: currentPath.value,\n \"onUpdate:path\": _cache[2] || (_cache[2] = ($event) => currentPath.value = $event),\n showMenu: !__props.noMenu,\n onCreateNode: onCreateFolder\n }, null, 8, [\"path\", \"showMenu\"])) : (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n createElementVNode(\"h3\", null, toDisplayString(viewHeadline.value), 1)\n ])),\n unref(isLoading) || filteredFiles.value.length > 0 ? (openBlock(), createBlock(FileList, {\n key: 2,\n path: currentPath.value,\n \"onUpdate:path\": [\n _cache[3] || (_cache[3] = ($event) => currentPath.value = $event),\n _cache[5] || (_cache[5] = ($event) => currentView.value = \"files\")\n ],\n selectedFiles: selectedFiles.value,\n \"onUpdate:selectedFiles\": _cache[4] || (_cache[4] = ($event) => selectedFiles.value = $event),\n allowPickDirectory: __props.allowPickDirectory,\n currentView: currentView.value,\n files: filteredFiles.value,\n multiselect: __props.multiselect,\n loading: unref(isLoading),\n name: viewHeadline.value,\n canPick: __props.canPickFn\n }, null, 8, [\"path\", \"selectedFiles\", \"allowPickDirectory\", \"currentView\", \"files\", \"multiselect\", \"loading\", \"name\", \"canPick\"])) : filterString.value ? (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 3,\n name: unref(t)(\"No matching files\"),\n description: unref(t)(\"No files matching your filter were found.\")\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"])) : (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 4,\n name: unref(t)(\"No files in here\"),\n description: noFilesDescription.value\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"]))\n ])\n ]),\n _: 1\n }, 8, [\"open\", \"buttons\", \"name\"]);\n };\n }\n});\nconst FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-39182aaf\"]]);\nexport {\n FilePicker as default\n};\n//# sourceMappingURL=FilePicker.mjs.map\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","createElementVNode","toDisplayString","createCommentVNode","ChevronRight","_export_sfc","_sfc_main","NcActions","NcButton","crumbId","createElementId","open","e","_hoisted_1","_sfc_render","_component_NcButton","resolveComponent","_component_NcActions","_component_ChevronRight","normalizeClass","withModifiers","args","createBlock","createSlots","withCtx","renderSlot","createTextVNode","createVNode","NcBreadcrumb","IconFolder","crumbClass","NcActionButton","NcActionRouter","NcActionLink","debounce","subscribe","unsubscribe","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","index","el","isLast","hide","w","path","disabled","crumbs","target","vnode","breadcrumbs","Fragment","child","cloneVNode","breadcrumbsRefs","crumb2","h","to","href","disableDrop","name","propsToForward","element","folderIcon","wrapper","isSlotPopulated","NcBreadcrumbs","queue","PQueue","preloadImage","url","resolve","promise","image","getPreviewURL","node","options","previewUrl","generateUrl","usePreviewURL","previewURL","ref","previewLoaded","watchEffect","toValue","FileType","success","_sfc_main$e","_hoisted_1$c","_hoisted_2$b","_hoisted_3$a","_hoisted_4$a","_sfc_render$7","IconFile","_sfc_main$d","_hoisted_1$b","_hoisted_2$a","_hoisted_3$9","_hoisted_4$9","_sfc_render$6","IconSortDescending","_sfc_main$c","_hoisted_1$a","_hoisted_2$9","_hoisted_3$8","_hoisted_4$8","_sfc_render$5","IconSortAscending","_sfc_main$b","_hoisted_1$9","_hoisted_2$8","_hoisted_3$7","_hoisted_4$7","_sfc_render$4","fileListIconStyles","_sfc_main$a","defineComponent","__props","props","fileListIconStyles$1","toRef","computed","isFile","folderDecorationIcon","mdiKey","mdiTagOutline","shareTypes","type","ShareType","mdiLink","mdiAccountPlus","mdiNetworkOutline","mdiAccountGroupOutline","normalizeStyle","unref","NcIconSvgWrapper","_hoisted_1$8","_hoisted_2$7","_hoisted_3$6","_hoisted_4$6","_hoisted_5$1","_hoisted_6$1","_hoisted_7$1","_sfc_main$9","__emit","emit2","timestamp","fileExtension","extname","displayName","isDirectory","isPickable","isNavigatable","Permission","toggleSelected","handleClick","handleKeyDown","event","toHandlers","NcCheckboxRadioSwitch","t","formatFileSize","NcDateTime","FileListRow","_hoisted_1$7","_hoisted_2$6","_hoisted_3$5","_hoisted_4$5","_sfc_main$8","LoadingTableRow","useFilesSettings","filesUserState","loadState","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","onMounted","isPublicShare","logger","data","axios","error","showError","useFilesViews","currentView","convertOrder","order2","filesViewsState","filesViewConfig","recentViewConfig","favoritesViewConfig","currentConfig","sortBy","order","_hoisted_1$6","_hoisted_2$5","_hoisted_3$4","_hoisted_4$4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_sfc_main$7","mergeModels","useModel","selectedFiles","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","sortNodes","selectableFiles","file","allSelected","onSelectAll","onNodeSelected","f","onChangeDirectory","dir","skeletonNumber","fileContainer","resize","nextTick","nodes","height","onUnmounted","renderList","FileList","_sfc_main$6","_hoisted_1$5","_hoisted_2$4","_hoisted_3$3","_hoisted_4$3","_sfc_render$3","IconHome","_sfc_main$5","_hoisted_1$4","_hoisted_2$3","_hoisted_3$2","_hoisted_4$2","_sfc_render$2","IconPlus","_sfc_main$4","actionsOpen","newNodeName","nameInput","useTemplateRef","validateInput","input","validity","validateFilename","InvalidFilenameError","InvalidFilenameErrorReason","onSubmit","pathElements","v","elements","NcActionInput","FilePickerBreadcrumbs","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$1","_hoisted_4$1","IconClose","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","IconMagnify","useViews","isAnonymous","allViews","mdiFolder","mdiClock","mdiStar","availableViews","id","getCurrentUser","currentViewObject","updateFilterValue","value","NcTextField","NcSelect","view","FilePickerNavigation","getRecentNodes","client","signal","lastTwoWeek","getRecentSearch","result","resultToNode","getNodes","join","defaultRootPath","getDefaultPropfind","nodePath","getFile","useDAVFiles","currentPath","getClient","files","shallowRef","folder","isLoading","abortController","createDirectory","directory","loadDAVFiles","getFavoriteNodes","content","watch","useMimeFilter","allowedMIMETypes","splittedTypes","filter","mime","mimeTypeArray","subtype","emit$1","isOpen","savedPath","navigatedPath","filterString","currentFolder","loadFiles","isHandlingCallback","dialogButtons","button","handleButtonClick","callback","viewHeadline","isSupportedMimeType","filteredFiles","filtered","noFilesDescription","onCreateFolder","emit","handleClose","NcDialog","isCollapsed","NcEmptyContent","FilePicker"],"mappings":"y4DAMA,MAAMA,GAAc,CAClB,KAAM,mBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAa,CAAC,OAAQ,QAAS,QAAQ,EACvCC,GAAa,CAAE,EAAG,6DAA6D,EAC/EC,GAAa,CAAE,IAAK,CAAC,EAC3B,SAASC,GAAcC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,0CACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQb,GAAY,CACrCK,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAST,GAAYa,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC7I,CAAO,CACP,EAAO,EAAGhB,EAAU,EACpB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMkB,GAA+BC,GAAYpB,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EACnFgB,GAAY,CAChB,KAAM,eACN,WAAY,CACV,UAAAC,GACA,aAAAH,GACA,SAAAI,CACJ,EACE,aAAc,GACd,MAAO,CAIL,KAAM,CACJ,KAAM,OACN,SAAU,EAChB,EAII,MAAO,CACL,KAAM,OACN,QAAS,IACf,EAMI,GAAI,CACF,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,MACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,EACf,EAII,cAAe,CACb,KAAM,QACN,QAAS,EACf,EAII,YAAa,CACX,KAAM,QACN,QAAS,EACf,EAII,UAAW,CACT,KAAM,QACN,QAAS,EACf,EAII,KAAM,CACJ,KAAM,QACN,QAAS,EACf,EAII,MAAO,CACL,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACf,CACA,EACE,MAAO,CACL,YACA,YACA,UACA,aACJ,EACE,OAAQ,CACN,MAAMC,EAAUC,GAAe,EAC/B,MAAO,CACL,iBAAkB,6BAA6BD,CAAO,KACtD,QAAAA,CACN,CACE,EACA,MAAO,CACL,MAAO,CAIL,SAAU,EAChB,CACE,EACA,SAAU,CAIR,gBAAiB,CACf,OAAI,KAAK,GACA,CAAE,GAAI,KAAK,GAAI,GAAG,KAAK,MAAM,EAC3B,KAAK,KACP,CAAE,KAAM,KAAK,KAAM,GAAG,KAAK,MAAM,EAEnC,KAAK,MACd,CACJ,EACE,QAAS,CAOP,aAAaE,EAAM,CACjB,KAAK,MAAM,cAAeA,CAAI,CAChC,EAQA,QAAQC,EAAG,CACT,OAAI,KAAK,cAGT,KAAK,MAAM,UAAWA,EAAG,KAAK,IAAM,KAAK,IAAI,EAC7C,KAAK,QAAQ,MAAM,UAAWA,EAAG,KAAK,IAAM,KAAK,IAAI,EACrD,KAAK,SAAW,IACT,EACT,EAMA,UAAUA,EAAG,CACX,KAAK,MAAM,YAAaA,CAAC,EACrB,CAAA,KAAK,cAGT,KAAK,SAAW,GAClB,EAMA,UAAUA,EAAG,CACX,KAAK,MAAM,YAAaA,CAAC,EACrB,CAAA,KAAK,cAGLA,EAAE,OAAO,SAASA,EAAE,aAAa,GAAK,KAAK,MAAM,MAAM,SAASA,EAAE,aAAa,IAGnF,KAAK,SAAW,IAClB,CACJ,CACA,EACMC,GAAa,CAAC,eAAe,EACnC,SAASC,GAAYvB,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,MAAMmB,EAAsBC,GAAiB,UAAU,EACjDC,EAAuBD,GAAiB,WAAW,EACnDE,EAA0BF,GAAiB,cAAc,EAC/D,OAAOnB,EAAS,EAAIC,EAAmB,KAAM,CAC3C,IAAK,QACL,MAAOqB,EAAe,CAAC,YAAa,CAAC,CAAE,qBAAsBxB,EAAM,QAAQ,EAAIJ,EAAK,OAAO,KAAK,CAAC,CAAC,EAClG,gBAAiBG,EAAO,QACxB,UAAW,QACX,YAAa0B,EAAc,IAAM,CACjC,EAAG,CAAC,SAAS,CAAC,EACd,OAAQ5B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI4B,EAAc,IAAIC,IAASzB,EAAS,SAAWA,EAAS,QAAQ,GAAGyB,CAAI,EAAG,CAAC,SAAS,CAAC,GACvH,WAAYD,EAAc,IAAM,CAChC,EAAG,CAAC,SAAS,CAAC,EACd,YAAa5B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAI6B,IAASzB,EAAS,WAAaA,EAAS,UAAU,GAAGyB,CAAI,GACpG,YAAa7B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAI6B,IAASzB,EAAS,WAAaA,EAAS,UAAU,GAAGyB,CAAI,EACxG,EAAK,EACA5B,EAAO,MAAQA,EAAO,MAAQF,EAAK,OAAO,OAAS,CAACA,EAAK,OAAO,SAAWM,EAAS,EAAIyB,EAAYP,EAAqBhB,EAAW,CACnI,IAAK,EACL,aAAcN,EAAO,KAAOA,EAAO,KAAO,OAC1C,QAAS,UACf,EAAOG,EAAS,cAAc,EAAG2B,GAAY,CAAE,EAAG,GAAK,CACjDhC,EAAK,OAAO,MAAQE,EAAO,KAAO,CAChC,KAAM,OACN,GAAI+B,EAAQ,IAAM,CAChBC,GAAWlC,EAAK,OAAQ,OAAQ,CAAA,EAAI,IAAM,CACxCU,EAAmB,OAAQ,CACzB,MAAOkB,EAAe,CAAC1B,EAAO,KAAM,MAAM,CAAC,CACzD,EAAe,KAAM,CAAC,CACtB,EAAa,EAAI,CACjB,CAAS,EACD,IAAK,GACb,EAAU,OACJ,EAAEF,EAAK,OAAO,MAAQE,EAAO,OAASA,EAAO,cAAgB,CAC3D,KAAM,UACN,GAAI+B,EAAQ,IAAM,CAChBE,EAAgBxB,EAAgBT,EAAO,IAAI,EAAG,CAAC,CACzD,CAAS,EACD,IAAK,GACb,EAAU,MACV,CAAK,EAAG,KAAM,CAAC,YAAY,CAAC,GAAKU,EAAmB,GAAI,EAAI,EACxDZ,EAAK,OAAO,SAAWM,EAAS,EAAIyB,EAAYL,EAAsB,CACpE,IAAK,EACL,IAAK,UACL,UAAWvB,EAAO,iBAClB,UAAWD,EAAO,UAClB,UAAW,GACX,SAAUA,EAAO,KACjB,KAAMA,EAAO,KACb,MAAOA,EAAO,MACd,QAAS,WACT,gBAAiBG,EAAS,YAChC,EAAO,CACD,KAAM4B,EAAQ,IAAM,CAClBC,GAAWlC,EAAK,OAAQ,YAAa,CAAA,EAAI,OAAQ,EAAI,CAC7D,CAAO,EACD,QAASiC,EAAQ,IAAM,CACrBC,GAAWlC,EAAK,OAAQ,UAAW,CAAA,EAAI,OAAQ,EAAI,CAC3D,CAAO,EACD,EAAG,CACT,EAAO,EAAG,CAAC,YAAa,YAAa,WAAY,OAAQ,QAAS,eAAe,CAAC,GAAKY,EAAmB,GAAI,EAAI,EAC9GwB,EAAYT,EAAyB,CACnC,MAAO,uBACP,KAAM,EACZ,CAAK,CACL,EAAK,GAAIL,EAAU,CACnB,CACA,MAAMe,EAA+BvB,GAAYC,GAAW,CAAC,CAAC,SAAUQ,EAAW,EAAG,CAAC,YAAa,iBAAiB,CAAC,CAAC,ECtRjH7B,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACM4B,GAAa,CAAC,cAAe,YAAY,EACzC1B,GAAa,CAAC,OAAQ,QAAS,QAAQ,EACvCC,GAAa,CAAE,EAAG,+FAA+F,EACjHC,GAAa,CAAE,IAAK,CAAC,EAC3B,SAASyB,GAAYvB,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,mCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQb,GAAY,CACrCK,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAST,GAAYa,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC7I,CAAO,CACP,EAAO,EAAGhB,EAAU,EACpB,EAAK,GAAI0B,EAAU,CACnB,CACA,MAAMgB,GAA6BxB,GAAYpB,GAAa,CAAC,CAAC,SAAU6B,EAAW,CAAC,CAAC,EAC/EgB,EAAa,YACbxB,GAAY,CAChB,KAAM,gBACN,WAAY,CACV,UAAAC,GACA,eAAAwB,GACA,eAAAC,GACA,aAAAC,GACA,aAAAL,EACJ,WAAIC,EACJ,EACE,MAAO,CAIL,SAAU,CACR,KAAM,OACN,QAAS,WACf,EAII,UAAW,CACT,KAAM,OACN,QAAS,IACf,CACA,EACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,CAKL,cAAe,CAAA,EAKf,oBAAqB,CAEnB,KAAM,GACN,UAAW,GAEX,YAAa,GAEb,KAAM,EACd,EACM,gBAAiB,CAAA,CACvB,CACE,EACA,SAAU,CACR,OAAO,iBAAiB,SAAUK,GAAS,IAAM,CAC/C,KAAK,mBAAkB,CACzB,EAAG,GAAG,CAAC,EACPC,GAAU,qBAAsB,KAAK,aAAa,CACpD,EACA,SAAU,CACR,KAAK,mBAAkB,CACzB,EACA,SAAU,CACR,KAAK,cAAa,EAClB,KAAK,UAAU,IAAM,CACnB,KAAK,WAAU,CACjB,CAAC,CACH,EACA,eAAgB,CACd,OAAO,oBAAoB,SAAU,KAAK,kBAAkB,EAC5DC,GAAY,qBAAsB,KAAK,aAAa,CACtD,EACA,QAAS,CAMP,aAAaxB,EAAG,CACV,KAAK,MAAM,kBAAkB,IAAI,SAASA,EAAE,aAAa,IAG7D,KAAK,oBAAoB,KAAO,GAClC,EAIA,MAAM,eAAgB,CACpB,MAAM,KAAK,UAAS,EACpB,KAAK,mBAAkB,CACzB,EAKA,oBAAqB,CACnB,GAAI,CAAC,KAAK,MAAM,UACd,OAEF,MAAMyB,EAAW,KAAK,gBAAgB,OAChCC,EAAgB,CAAA,EAChBC,EAAiB,KAAK,MAAM,UAAU,YAC5C,IAAIC,EAAa,KAAK,cAAa,EAC/B,KAAK,MAAM,sBACbA,GAAc,KAAK,MAAM,oBAAoB,aAE/C,IAAIC,EAAWD,EAAaD,EAC5BE,GAAYA,EAAW,EAAI,GAAK,EAChC,IAAIC,EAAI,EACR,MAAMC,EAAa,KAAK,MAAMN,EAAW,CAAC,EAC1C,KAAOI,EAAW,GAAKC,EAAIL,EAAW,GAAG,CACvC,MAAMO,EAAeD,GAAcD,EAAI,EAAIA,EAAI,EAAIA,GAAK,EAAI,KAAK,IAAI,GAAIA,EAAIL,EAAW,CAAC,EACzFI,GAAY,KAAK,SAAS,KAAK,gBAAgBG,CAAY,GAAG,IAAKA,IAAiB,KAAK,gBAAgB,OAAS,CAAC,EACnHN,EAAc,KAAKM,CAAY,EAC/BF,GACF,CACK,KAAK,YAAY,KAAK,cAAeJ,EAAc,KAAK,CAACO,EAAGC,IAAMD,EAAIC,CAAC,CAAC,IAC3E,KAAK,cAAgBR,EAEzB,EASA,YAAYO,EAAGC,EAAG,CAChB,GAAID,EAAE,SAAWC,EAAE,OACjB,MAAO,GACF,GAAID,IAAMC,EACf,MAAO,GACF,GAAID,IAAM,MAAQC,IAAM,KAC7B,MAAO,GAET,QAASJ,EAAI,EAAGA,EAAIG,EAAE,OAAQ,EAAEH,EAC9B,GAAIG,EAAEH,CAAC,IAAMI,EAAEJ,CAAC,EACd,MAAO,GAGX,MAAO,EACT,EAMA,eAAgB,CACd,OAAO,KAAK,gBAAgB,OAAO,CAACK,EAAOC,EAAOC,IAAUF,EAAQ,KAAK,SAASC,EAAM,IAAKC,IAAU,KAAK,gBAAgB,OAAS,CAAC,EAAG,CAAC,CAC5I,EAQA,SAASC,EAAIC,EAAQ,CACnB,GAAI,CAACD,GAAI,UACP,MAAO,GAET,MAAME,EAAOF,EAAG,UAAU,SAAS,GAAGpB,CAAU,UAAU,EAC1DoB,EAAG,MAAM,SAAW,OAChBC,IACFD,EAAG,MAAM,SAAW,SAEtBA,EAAG,UAAU,OAAO,GAAGpB,CAAU,UAAU,EAC3C,MAAMuB,EAAIH,EAAG,YACb,OAAIE,GACFF,EAAG,UAAU,IAAI,GAAGpB,CAAU,UAAU,EAE1CoB,EAAG,MAAM,SAAW,GACpBA,EAAG,MAAM,SAAW,GACbG,CACT,EAOA,eAAezC,EAAG,CAChB,OAAIA,EAAE,gBACJA,EAAE,eAAc,EAEX,EACT,EAQA,UAAUA,EAAG,CACX,OAAO,KAAK,eAAeA,CAAC,CAC9B,EASA,QAAQA,EAAG0C,EAAMC,EAAU,CACpBA,GACH,KAAK,MAAM,UAAW3C,EAAG0C,CAAI,EAE/B,KAAK,oBAAoB,KAAO,GAChC,MAAME,EAAS,SAAS,iBAAiB,IAAI1B,CAAU,EAAE,EACzD,UAAWkB,KAASQ,EAClBR,EAAM,UAAU,OAAO,GAAGlB,CAAU,WAAW,EAEjD,OAAO,KAAK,eAAelB,CAAC,CAC9B,EAOA,SAASA,EAAG,CACV,OAAO,KAAK,eAAeA,CAAC,CAC9B,EAOA,UAAUA,EAAG2C,EAAU,CACrB,GAAI,CAAAA,GAGA3C,EAAE,OAAO,QAAS,CACpB,MAAM6C,EAAS7C,EAAE,OAAO,QAAQ,IAAIkB,CAAU,EAAE,EAChD,GAAI2B,EAAO,WAAaA,EAAO,UAAU,SAAS3B,CAAU,EAAG,CAC7D,MAAM0B,EAAS,SAAS,iBAAiB,IAAI1B,CAAU,EAAE,EACzD,UAAWkB,KAASQ,EAClBR,EAAM,UAAU,OAAO,GAAGlB,CAAU,WAAW,EAEjD2B,EAAO,UAAU,IAAI,GAAG3B,CAAU,WAAW,CAC/C,CACF,CACF,EAOA,UAAUlB,EAAG2C,EAAU,CACrB,GAAI,CAAAA,GAGA,CAAA3C,EAAE,OAAO,SAASA,EAAE,aAAa,GAGjCA,EAAE,OAAO,QAAS,CACpB,MAAM6C,EAAS7C,EAAE,OAAO,QAAQ,IAAIkB,CAAU,EAAE,EAChD,GAAI2B,EAAO,SAAS7C,EAAE,aAAa,EACjC,OAEE6C,EAAO,WAAaA,EAAO,UAAU,SAAS3B,CAAU,GAC1D2B,EAAO,UAAU,OAAO,GAAG3B,CAAU,WAAW,CAEpD,CACF,EAKA,YAAa,CACX,KAAK,gBAAgB,QAAQ,CAACkB,EAAO,IAAM,CACrCA,GAAO,KAAK,YACV,KAAK,cAAc,SAAS,CAAC,EAC/BA,EAAM,IAAI,UAAU,IAAI,GAAGlB,CAAU,UAAU,EAE/CkB,EAAM,IAAI,UAAU,OAAO,GAAGlB,CAAU,UAAU,EAGxD,CAAC,CACH,EACA,aAAa4B,EAAO,CAClB,OAAOA,GAAO,MAAM,OAAS,cAC/B,CACJ,EAME,QAAS,CACP,IAAIC,EAAc,CAAA,EAclB,GAbA,KAAK,OAAO,UAAO,EAAK,QAASD,GAAU,CACzC,GAAI,KAAK,aAAaA,CAAK,EAAG,CAC5BC,EAAY,KAAKD,CAAK,EACtB,MACF,CACIA,GAAO,OAASE,GAClBF,GAAO,UAAU,UAAWG,GAAU,CAChC,KAAK,aAAaA,CAAK,GACzBF,EAAY,KAAKE,CAAK,CAE1B,CAAC,CAEL,CAAC,EACGF,EAAY,SAAW,EACzB,OAEFA,EAAY,CAAC,EAAIG,GAAWH,EAAY,CAAC,EAAG,CAC1C,KAAM,KAAK,SACX,IAAK,aACX,CAAK,EACD,MAAMI,EAAkB,CAAA,EACxBJ,EAAcA,EAAY,IAAI,CAACX,EAAOC,IAAUa,GAAWd,EAAO,CAChE,IAAMgB,GAAW,CACfD,EAAgBd,CAAK,EAAIe,CAC3B,CACN,CAAK,CAAC,EACF,MAAMR,EAAS,CAAC,GAAGG,CAAW,EAC1B,KAAK,cAAc,QACrBH,EAAO,OACL,KAAK,MAAMG,EAAY,OAAS,CAAC,EACjC,EAGAM,EAAErC,EAAc,CACd,MAAO,WACP,GAAG,KAAK,oBAGR,cAAe,GAEf,IAAK,oBACL,IAAK,uBAEL,YAAa,IAAM,CACjB,KAAK,oBAAoB,KAAO,EAClC,EACA,YAAa,KAAK,aAGlB,gBAAkBjB,GAAS,CACzB,KAAK,oBAAoB,KAAOA,CAClC,CAEV,EAAW,CACD,QAAS,IAAM,KAAK,cAAc,OAAQsC,GAAUA,GAASU,EAAY,OAAS,CAAC,EAAE,IAAKV,GAAU,CAClG,MAAMD,EAAQW,EAAYV,CAAK,EACzB,CAEJ,GAAAiB,EACA,KAAAC,EACA,YAAAC,EACA,KAAAC,EAEA,GAAGC,CACjB,EAAgBtB,EAAM,MACV,OAAOsB,EAAe,IACtB,IAAIC,EAAUxC,GACVuB,EAAO,GACPa,IACFI,EAAUtC,GACVqB,EAAOa,GAELD,IACFK,EAAUvC,GACVsB,EAAOY,GAET,MAAMM,EAAaP,EAAEpC,GAAY,CAC/B,KAAM,EACpB,CAAa,EACD,OAAOoC,EAAEM,EAAS,CAChB,GAAGD,EACH,MAAOxC,EACP,KAAMqC,GAAQ,KACd,GAAID,GAAM,KAEV,UAAW,GAEX,YAAa,KAAK,UAClB,OAASlE,GAAW,KAAK,QAAQA,EAAQsD,EAAMc,CAAW,EAC1D,WAAY,KAAK,SACjB,YAAcpE,GAAW,KAAK,UAAUA,EAAQoE,CAAW,EAC3D,YAAcpE,GAAW,KAAK,UAAUA,EAAQoE,CAAW,CACzE,EAAe,CACD,QAAS,IAAMC,EACf,KAAM,IAAMG,CAC1B,CAAa,CACH,CAAC,CACX,CAAS,CACT,EAEI,MAAMC,EAAU,CAACR,EAAE,MAAO,CAAE,aAAc,KAAK,SAAS,EAAI,CAACA,EAAE,KAAM,CAAE,MAAO,oBAAoB,EAAI,CAACT,CAAM,CAAC,CAAC,CAAC,CAAC,EACjH,OAAIkB,GAAgB,KAAK,OAAO,UAAO,CAAI,GACzCD,EAAQ,KAAKR,EAAE,MAAO,CAAE,MAAO,sBAAuB,IAAK,qBAAqB,EAAI,KAAK,OAAO,UAAO,CAAI,CAAC,EAE9G,KAAK,gBAAkBF,EAChBE,EAAE,MAAO,CAAE,MAAO,CAAC,aAAc,CAAE,wBAAyB,KAAK,cAAc,SAAWN,EAAY,OAAS,CAAC,CAAE,EAAG,IAAK,WAAW,EAAIc,CAAO,CACzJ,CACF,EACME,GAAgCtE,GAAYC,GAAW,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,ECnczFsE,GAAQ,IAAIC,GAAO,CAAE,YAAa,CAAC,CAAE,EAC3C,SAASC,GAAaC,EAAK,CACzB,KAAM,CAAE,QAAAC,EAAS,QAAAC,GAAY,QAAQ,cAAa,EAClD,OAAAL,GAAM,IAAI,IAAM,CACd,MAAMM,EAAQ,IAAI,MAClB,OAAAA,EAAM,QAAU,IAAMF,EAAQ,EAAK,EACnCE,EAAM,OAAS,IAAMF,EAAQ,EAAI,EACjCE,EAAM,IAAMH,EACLE,CACT,CAAC,EACMA,CACT,CACA,SAASE,GAAcC,EAAMC,EAAU,GAAI,CACzCA,EAAU,CAAE,KAAM,GAAI,YAAa,GAAO,aAAc,GAAM,GAAGA,CAAO,EACxE,GAAI,CACF,MAAMC,EAAaF,EAAK,YAAY,YAAcG,GAAY,gCAAiC,CAC7F,OAAQH,EAAK,MACnB,CAAK,EACD,IAAIL,EACJ,GAAI,CACFA,EAAM,IAAI,IAAIO,CAAU,CAC1B,MAAQ,CACNP,EAAM,IAAI,IAAIO,EAAY,OAAO,SAAS,MAAM,CAClD,CACA,OAAAP,EAAI,aAAa,IAAI,IAAK,GAAGM,EAAQ,IAAI,EAAE,EAC3CN,EAAI,aAAa,IAAI,IAAK,GAAGM,EAAQ,IAAI,EAAE,EAC3CN,EAAI,aAAa,IAAI,eAAgB,GAAGM,EAAQ,YAAY,EAAE,EAC9DN,EAAI,aAAa,IAAI,IAAKM,EAAQ,cAAgB,GAAO,IAAM,GAAG,EAClEN,EAAI,aAAa,IAAI,IAAK,GAAGK,EAAK,WAAW,IAAI,EAAE,EAC5CL,CACT,MAAQ,CACN,OAAO,IACT,CACF,CACA,SAASS,GAAcJ,EAAMC,EAAS,CACpC,MAAMI,EAAaC,EAAI,IAAI,EACrBC,EAAgBD,EAAI,EAAK,EAC/B,OAAAE,GAAY,IAAM,CAChBD,EAAc,MAAQ,GACtBF,EAAW,MAAQN,GAAcU,EAAQT,CAAI,EAAGS,EAAQR,GAAW,CAAA,CAAE,CAAC,EAClEI,EAAW,OAASI,EAAQT,CAAI,EAAE,OAASU,EAAS,MACtDhB,GAAaW,EAAW,MAAM,IAAI,EAAE,KAAMM,GAAY,CACpDJ,EAAc,MAAQI,CACxB,CAAC,CAEL,CAAC,EACM,CACL,WAAAN,EACA,cAAAE,CACJ,CACA,CC5BA,MAAMK,GAAc,CAClB,KAAM,WACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,uFAAuF,EAC3GC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAc9G,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,iCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQkG,GAAc,CACvC1G,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAASsG,GAAclG,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAG+F,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMK,GAA2BjG,EAAY2F,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EAC/EE,GAAc,CAClB,KAAM,eACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,sBAAsB,EAC1CC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAcrH,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,sCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQyG,GAAc,CACvCjH,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAS6G,GAAczG,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAGsG,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMK,GAAqCxG,EAAYkG,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EACzFE,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,sBAAsB,EAC1CC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAc5H,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,oCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQgH,GAAc,CACvCxH,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAASoH,GAAchH,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAG6G,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMK,GAAoC/G,EAAYyG,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EACxFE,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,+FAA+F,EACnHC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAcnI,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,mCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQuH,GAAc,CACvC/H,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAS2H,GAAcvH,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAGoH,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMzF,GAA6BxB,EAAYgH,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EACjFC,GAAqB,CACzB,yBAA0B,kCAC1B,kCAAmC,4CACnC,iCAAkC,0CACpC,EACMC,GAA8BC,EAAgB,CAClD,OAAQ,cACR,MAAO,CACL,KAAM,CAAA,EACN,kBAAmB,CAAE,KAAM,OAAO,CACtC,EACE,MAAMC,EAAS,CACb,MAAMC,EAAQD,EACRE,EAAuBtC,EAAIiC,EAAkB,EAC7C,CACJ,WAAAlC,EACA,cAAAE,CACN,EAAQH,GAAcyC,GAAMF,EAAO,MAAM,EAAGG,EAAS,KAAO,CAAE,YAAaH,EAAM,iBAAiB,EAAG,CAAC,EAC5FI,EAASD,EAAS,IAAMH,EAAM,KAAK,OAASjC,EAAS,IAAI,EACzDsC,EAAuBF,EAAS,IAAM,CAC1C,GAAIH,EAAM,KAAK,OAASjC,EAAS,OAC/B,OAAO,KAET,GAAIiC,EAAM,KAAK,aAAa,cAAc,IAAM,EAC9C,OAAOM,GAET,GAAIN,EAAM,KAAK,aAAa,QAAQ,EAClC,OAAOO,GAET,MAAMC,EAAa,OAAO,OAAOR,EAAM,KAAK,aAAa,aAAa,GAAK,EAAE,EAAE,KAAI,EACnF,GAAIQ,EAAW,KAAMC,GAASA,IAASC,GAAU,MAAQD,IAASC,GAAU,KAAK,EAC/E,OAAOC,GAET,GAAIH,EAAW,OAAS,EACtB,OAAOI,GAET,OAAQZ,EAAM,KAAK,aAAa,YAAY,EAAC,CAC3C,IAAK,WACL,IAAK,mBACH,OAAOa,GACT,IAAK,QACH,OAAOC,GACT,IAAK,SACH,OAAOF,EACjB,CACM,OAAO,IACT,CAAC,EACD,MAAO,CAACpJ,EAAMC,KACLK,EAAS,EAAIC,EAAmB,MAAO,CAC5C,MAAOgJ,GAAeC,EAAMpD,CAAa,EAAI,CAAE,gBAAiB,OAAOoD,EAAMtD,CAAU,CAAC,GAAG,EAAK,MAAM,EACtG,MAAOtE,EAAe6G,EAAqB,MAAM,wBAAwB,CAAC,CAClF,EAAS,CACAe,EAAMpD,CAAa,EAiBVxF,EAAmB,GAAI,EAAI,GAjBZN,EAAS,EAAIC,EAAmB8D,EAAU,CAAE,IAAK,GAAK,CAC7EuE,EAAO,OAAStI,IAAayB,EAAYgF,GAAU,CACjD,IAAK,EACL,KAAM,EAClB,CAAW,IAAMzG,EAAS,EAAIC,EAAmB8D,EAAU,CAAE,IAAK,GAAK,CAC3DwE,EAAqB,OAASvI,EAAS,EAAIyB,EAAYyH,EAAMC,EAAgB,EAAG,CAC9E,IAAK,EACL,MAAO7H,EAAe6G,EAAqB,MAAM,gCAAgC,CAAC,EAClF,OAAQ,GACR,KAAMI,EAAqB,MAC3B,KAAM,EACpB,EAAe,KAAM,EAAG,CAAC,QAAS,MAAM,CAAC,GAAKjI,EAAmB,GAAI,EAAI,EAC7DwB,EAAYE,GAAY,CACtB,MAAOV,EAAe6G,EAAqB,MAAM,iCAAiC,CAAC,EACnF,KAAM,EACpB,EAAe,KAAM,EAAG,CAAC,OAAO,CAAC,CACjC,EAAa,EAAE,EACf,EAAW,EAAE,EACb,EAAS,CAAC,EAER,CACF,CAAC,EACKiB,GAAe,CAAC,WAAY,gBAAiB,eAAe,EAC5DC,GAAe,CAAE,MAAO,UAAU,EAClCC,GAAe,CACnB,MAAO,8BACP,cAAe,UACjB,EACMC,GAAe,CAAC,QAAS,aAAa,EACtCC,GAAe,CAAC,aAAa,EAC7BC,GAAe,CAAE,MAAO,UAAU,EAClCC,GAAe,CAAE,MAAO,cAAc,EACtCC,GAA8B3B,EAAgB,CAClD,OAAQ,cACR,MAAO,CACL,mBAAoB,CAAE,KAAM,OAAO,EACnC,SAAU,CAAE,KAAM,OAAO,EACzB,aAAc,CAAE,KAAM,OAAO,EAC7B,QAAS,CAAE,KAAM,OAAO,EACxB,KAAM,CAAA,EACN,kBAAmB,CAAE,KAAM,OAAO,CACtC,EACE,MAAO,CAAC,kBAAmB,gBAAgB,EAC3C,MAAMC,EAAS,CAAE,KAAM2B,CAAM,EAAI,CAC/B,MAAM1B,EAAQD,EACR4B,EAAQD,EACRE,EAAYzB,EAAS,IAAMH,EAAM,KAAK,OAAS,CAAC,EAChD6B,EAAgB1B,EAAS,IAAM2B,GAAQ9B,EAAM,KAAK,WAAW,CAAC,EAC9D+B,EAAc5B,EAAS,IAAMH,EAAM,KAAK,YAAY,MAAM,EAAG6B,EAAc,MAAQ,CAACA,EAAc,MAAM,OAAS,MAAM,CAAC,EACxHG,EAAc7B,EAAS,IAAMH,EAAM,KAAK,OAASjC,EAAS,MAAM,EAChEkE,EAAa9B,EAAS,IAAMH,EAAM,UAAYA,EAAM,oBAAsB,CAACgC,EAAY,MAAM,EAC7FE,EAAgB/B,EAAS,KAAOH,EAAM,KAAK,YAAcmC,GAAW,QAAUA,GAAW,IAAI,EACnG,SAASC,GAAiB,CACnBH,EAAW,OAGhBN,EAAM,kBAAmB,CAAC3B,EAAM,QAAQ,CAC1C,CACA,SAASqC,GAAc,CACjBL,EAAY,MACVE,EAAc,OAChBP,EAAM,iBAAkB3B,EAAM,IAAI,EAGpCoC,EAAc,CAElB,CACA,SAASE,EAAcC,EAAO,CACxBA,EAAM,MAAQ,SAChBF,EAAW,CAEf,CACA,MAAO,CAAC7K,EAAMC,KACLK,EAAS,EAAIC,EAAmB,KAAMC,EAAW,CACtD,SAAU+H,EAAQ,cAAgB,CAACiC,EAAY,MAAQ,OAAS,EAChE,gBAAkBC,EAAW,MAAiBlC,EAAQ,SAAjB,OACrC,MAAO,CAAC,mBAAoB,CAC1B,CACE,6BAA8BA,EAAQ,UAAY,CAACA,EAAQ,aAC3D,oCAAqCiC,EAAY,OAAS,CAACE,EAAc,MACzE,iCAAkC,CAACD,EAAW,KAC1D,CACA,CAAS,EACD,gBAAiBlC,EAAQ,KAAK,SAC9B,cAAe,eACvB,EAASyC,GAAW,CACZ,MAAOH,EAEP,GAAG,CAACtC,EAAQ,cAAgBiC,EAAY,MAAQ,CAAE,QAASM,GAAkB,CAAA,CACrF,EAAS,EAAI,CAAC,EAAG,CACTvC,EAAQ,cAAgBjI,IAAaC,EAAmB,KAAM,CAC5D,IAAK,EACL,MAAO,eACP,QAASsB,EAAc,IAAM,CAC7B,EAAG,CAAC,MAAM,CAAC,CACrB,EAAW,CACDO,EAAYoH,EAAMyB,EAAqB,EAAG,CACxC,aAAczB,EAAM0B,CAAC,EAAE,gCAAiC,CAAE,SAAUX,EAAY,MAAO,EACvF,SAAU,CAACE,EAAW,MACtB,cAAe,eACf,WAAYlC,EAAQ,SACpB,sBAAuBqC,CACnC,EAAa,KAAM,EAAG,CAAC,aAAc,WAAY,YAAY,CAAC,CAC9D,CAAS,GAAKhK,EAAmB,GAAI,EAAI,EACjCF,EAAmB,KAAMiJ,GAAc,CACrCjJ,EAAmB,MAAOkJ,GAAc,CACtCxH,EAAYiG,GAAa,CACvB,KAAME,EAAQ,KACd,kBAAmBA,EAAQ,iBACzC,EAAe,KAAM,EAAG,CAAC,OAAQ,mBAAmB,CAAC,EACzC7H,EAAmB,MAAO,CACxB,MAAO,yBACP,MAAO6J,EAAY,MACnB,YAAa5J,EAAgB4J,EAAY,KAAK,CAC5D,EAAe,KAAM,EAAGV,EAAY,EACxBnJ,EAAmB,MAAO,CACxB,MAAO,8BACP,YAAaC,EAAgB0J,EAAc,KAAK,CAC9D,EAAe,KAAM,EAAGP,EAAY,CACpC,CAAW,CACX,CAAS,EACDpJ,EAAmB,KAAMqJ,GAAcpJ,EAAgB6I,EAAM2B,EAAc,EAAE5C,EAAQ,KAAK,MAAQ,CAAC,CAAC,EAAG,CAAC,EACxG7H,EAAmB,KAAMsJ,GAAc,CACrC5H,EAAYoH,EAAM4B,EAAU,EAAG,CAC7B,UAAWhB,EAAU,MACrB,cAAe,EAC3B,EAAa,KAAM,EAAG,CAAC,WAAW,CAAC,CACnC,CAAS,CACT,EAAS,GAAIV,EAAY,EAEvB,CACF,CAAC,EACK2B,GAA8BvK,EAAYmJ,GAAa,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACzFqB,GAAe,CACnB,cAAe,OACf,MAAO,8BACT,EACMC,GAAe,CACnB,IAAK,EACL,MAAO,cACT,EACMC,GAAe,CAAE,MAAO,UAAU,EAClCC,GAAe,CAAE,MAAO,aAAa,EACrCC,GAA8BpD,EAAgB,CAClD,OAAQ,kBACR,MAAO,CACL,aAAc,CAAE,KAAM,OAAO,CACjC,EACE,MAAMC,EAAS,CACb,MAAO,CAACvI,EAAMC,KACLK,EAAS,EAAIC,EAAmB,KAAM+K,GAAc,CACzD/C,EAAQ,cAAgBjI,IAAaC,EAAmB,KAAMgL,GAAc,CAAC,GAAGtL,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACxGS,EAAmB,OAAQ,KAAM,KAAM,EAAE,CACnD,EAAU,CAAC,GAAKE,EAAmB,GAAI,EAAI,EACnCF,EAAmB,KAAM8K,GAAc,CACrC9K,EAAmB,MAAO+K,GAAc,CACtC/K,EAAmB,OAAQ,CACzB,MAAOkB,EAAe4H,EAAMpB,EAAkB,EAAE,wBAAwB,CAAC,CACvF,EAAe,KAAM,CAAC,EACVnI,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIS,EAAmB,OAAQ,KAAM,KAAM,EAAE,EAC/E,CAAW,CACX,CAAS,EACDT,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIS,EAAmB,KAAM,CAAE,MAAO,YAAc,CACxEA,EAAmB,MAAM,CACnC,EAAW,EAAE,GACLT,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIS,EAAmB,KAAM,CAAE,MAAO,gBAAkB,CAC5EA,EAAmB,MAAM,CACnC,EAAW,EAAE,EACb,CAAO,EAEL,CACF,CAAC,EACKiL,GAAkC7K,EAAY4K,GAAa,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACnG,SAASE,IAAmB,CAC1B,MAAMC,EAAiBC,GAAU,QAAS,SAAU,IAAI,EAClDC,EAAkB5F,EAAI0F,GAAgB,aAAe,EAAI,EACzDG,EAAqB7F,EAAI0F,GAAgB,sBAAwB,EAAI,EACrEI,EAAoB9F,EAAI0F,GAAgB,qBAAuB,EAAI,EACzE,OAAAK,EAAU,SAAY,CACpB,GAAKC,GAAa,EAWhBC,EAAO,MAAM,yDAAyD,MAVtE,IAAI,CACF,KAAM,CAAE,KAAAC,CAAI,EAAK,MAAMC,GAAM,IAAItG,GAAY,4BAA4B,CAAC,EAC1E+F,EAAgB,MAAQM,GAAM,MAAM,aAAe,GACnDL,EAAmB,MAAQK,GAAM,MAAM,sBAAwB,GAC/DJ,EAAkB,MAAQI,GAAM,MAAM,qBAAuB,EAC/D,OAASE,EAAO,CACdH,EAAO,MAAM,gCAAiC,CAAE,MAAAG,CAAK,CAAE,EACvDC,GAAUtB,EAAE,+BAA+B,CAAC,CAC9C,CAIJ,CAAC,EACM,CACL,gBAAAa,EACA,mBAAAC,EACA,kBAAAC,CACJ,CACA,CACA,SAASQ,GAAcC,EAAa,CAClC,MAAMC,EAAgBC,GAAWA,IAAW,MAAQ,YAAcA,IAAW,OAAS,aAAe,OAC/FC,EAAkBf,GAAU,QAAS,cAAe,IAAI,EACxDgB,EAAkB3G,EAAI,CAC1B,OAAQ0G,GAAiB,OAAO,cAAgB,WAChD,MAAOF,EAAaE,GAAiB,OAAO,mBAAqB,KAAK,CAC1E,CAAG,EACKE,EAAmB5G,EAAI,CAC3B,OAAQ0G,GAAiB,QAAQ,cAAgB,WACjD,MAAOF,EAAaE,GAAiB,QAAQ,mBAAqB,KAAK,CAC3E,CAAG,EACKG,EAAsB7G,EAAI,CAC9B,OAAQ0G,GAAiB,WAAW,cAAgB,WACpD,MAAOF,EAAaE,GAAiB,WAAW,mBAAqB,KAAK,CAC9E,CAAG,EACDX,EAAU,SAAY,CACpB,GAAKC,GAAa,EAoBhBC,EAAO,MAAM,sDAAsD,UAnB/D,CACF,KAAM,CAAE,KAAAC,CAAI,EAAK,MAAMC,GAAM,IAAItG,GAAY,0BAA0B,CAAC,EACxE8G,EAAgB,MAAQ,CACtB,OAAQT,GAAM,MAAM,OAAO,cAAgB,WAC3C,MAAOM,EAAaN,GAAM,MAAM,OAAO,iBAAiB,CAClE,EACQW,EAAoB,MAAQ,CAC1B,OAAQX,GAAM,MAAM,WAAW,cAAgB,WAC/C,MAAOM,EAAaN,GAAM,MAAM,WAAW,iBAAiB,CACtE,EACQU,EAAiB,MAAQ,CACvB,OAAQV,GAAM,MAAM,QAAQ,cAAgB,WAC5C,MAAOM,EAAaN,GAAM,MAAM,QAAQ,iBAAiB,CACnE,CACM,OAASE,EAAO,CACdH,EAAO,MAAM,6BAA8B,CAAE,MAAAG,CAAK,CAAE,EACpDC,GAAUtB,EAAE,4BAA4B,CAAC,CAC3C,CAIJ,CAAC,EACD,MAAM+B,EAAgBtE,EAAS,IAAMrC,EAAQoG,GAAe,OAAO,IAAM,QAAUI,EAAgB,MAAQxG,EAAQoG,CAAW,IAAM,SAAWK,EAAiB,MAAQC,EAAoB,KAAK,EAC3LE,EAASvE,EAAS,IAAMsE,EAAc,MAAM,MAAM,EAClDE,EAAQxE,EAAS,IAAMsE,EAAc,MAAM,KAAK,EACtD,MAAO,CACL,gBAAAH,EACA,oBAAAE,EACA,iBAAAD,EACA,cAAAE,EACA,OAAAC,EACA,MAAAC,CACJ,CACA,CACA,MAAMC,GAAe,CACnB,IAAK,EACL,MAAO,cACT,EACMC,GAAe,CAAE,MAAO,iBAAiB,EACzCC,GAAe,CAAC,WAAW,EAC3BC,GAAe,CAAE,MAAO,gBAAgB,EACxCC,GAAa,CACjB,IAAK,EACL,MAAO,CAAE,MAAS,MAAM,CAC1B,EACMC,GAAa,CAAC,WAAW,EACzBC,GAAa,CACjB,IAAK,EACL,MAAO,CAAE,MAAS,MAAM,CAC1B,EACMC,GAAa,CAAC,WAAW,EACzBC,GAAa,CACjB,IAAK,EACL,MAAO,CAAE,MAAS,MAAM,CAC1B,EACMC,GAA8BvF,EAAgB,CAClD,OAAQ,WACR,MAAuBwF,GAAY,CACjC,YAAa,CAAA,EACb,YAAa,CAAE,KAAM,OAAO,EAC5B,mBAAoB,CAAE,KAAM,OAAO,EACnC,QAAS,CAAE,KAAM,OAAO,EACxB,MAAO,CAAA,EACP,QAAS,CAAE,KAAM,QAAQ,CAC7B,EAAK,CACD,KAAQ,CAAE,SAAU,EAAI,EACxB,cAAiB,CAAA,EACjB,cAAiB,CAAE,SAAU,EAAI,EACjC,uBAA0B,CAAA,CAC9B,CAAG,EACD,MAAO,CAAC,cAAe,sBAAsB,EAC7C,MAAMvF,EAAS,CACb,MAAMxE,EAAOgK,GAASxF,EAAS,MAAM,EAC/ByF,EAAgBD,GAASxF,EAAS,eAAe,EACjDC,EAAQD,EACR0F,EAAsB9H,EAAG,EACzB,CAAE,cAAe+H,CAAe,EAAKzB,GAAcjE,EAAM,WAAW,EACpE2F,EAAgBxF,EAAS,IAAMsF,EAAoB,OAASC,EAAgB,KAAK,EACjFE,EAAazF,EAAS,IAAMwF,EAAc,MAAM,SAAW,WAAaA,EAAc,MAAM,QAAU,OAAS,OAASA,EAAc,MAAM,MAAQ,MAAM,EAC1JE,EAAa1F,EAAS,IAAMwF,EAAc,MAAM,SAAW,OAASA,EAAc,MAAM,QAAU,OAAS,OAASA,EAAc,MAAM,MAAQ,MAAM,EACtJG,EAAiB3F,EAAS,IAAMwF,EAAc,MAAM,SAAW,QAAUA,EAAc,MAAM,QAAU,OAAS,OAASA,EAAc,MAAM,MAAQ,MAAM,EACjK,SAASI,EAAcrB,EAAQ,CACzBiB,EAAc,MAAM,SAAWjB,EAC7BiB,EAAc,MAAM,QAAU,YAChCF,EAAoB,MAAQ,CAAE,OAAQE,EAAc,MAAM,OAAQ,MAAO,YAAY,EAErFF,EAAoB,MAAQ,CAAE,OAAQE,EAAc,MAAM,OAAQ,MAAO,WAAW,EAGtFF,EAAoB,MAAQ,CAAE,OAAAf,EAAQ,MAAO,WAAW,CAE5D,CACA,KAAM,CAAE,mBAAAlB,EAAoB,kBAAAC,CAAiB,EAAKL,GAAgB,EAC5D4C,EAAc7F,EAAS,IACpB8F,GAAUjG,EAAM,MAAO,CAC5B,iBAAkB,GAClB,mBAAoBwD,EAAmB,MACvC,aAAcmC,EAAc,MAAM,QAAU,aAAe,OAAS,MACpE,YAAaA,EAAc,MAAM,MACzC,CAAO,CACF,EACKO,EAAkB/F,EAAS,IAAMH,EAAM,MAAM,OAAQmG,GAASnG,EAAM,oBAAsBmG,EAAK,OAASpI,EAAS,MAAM,CAAC,EACxHqI,GAAcjG,EAAS,IAAM,CAACH,EAAM,SAAWwF,EAAc,MAAM,OAAS,GAAKA,EAAc,MAAM,QAAUU,EAAgB,MAAM,MAAM,EACjJ,SAASG,GAAc,CACjBb,EAAc,MAAM,OAASU,EAAgB,MAAM,OACrDV,EAAc,MAAQ,CAAC,GAAGU,EAAgB,KAAK,EAE/CV,EAAc,MAAQ,CAAA,CAE1B,CACA,SAASc,GAAeH,EAAM,CACxBX,EAAc,MAAM,SAASW,CAAI,EACnCX,EAAc,MAAQA,EAAc,MAAM,OAAQe,GAAMA,EAAE,OAASJ,EAAK,IAAI,EAExEnG,EAAM,YACRwF,EAAc,MAAQ,CAAC,GAAGA,EAAc,MAAOW,CAAI,EAEnDX,EAAc,MAAQ,CAACW,CAAI,CAGjC,CACA,SAASK,GAAkBC,EAAK,CAC9BlL,EAAK,MAAQkL,EAAI,IACnB,CACA,MAAMC,EAAiB/I,EAAI,CAAC,EACtBgJ,EAAgBhJ,EAAG,EACzB,CACE,MAAMiJ,EAAS,IAAMC,GAAS,IAAM,CAClC,MAAMC,EAAQH,EAAc,OAAO,eAAe,UAAY,CAAA,EAC9D,IAAII,EAASJ,EAAc,OAAO,eAAe,cAAgB,IACjE,QAASzL,EAAQ,EAAGA,EAAQ4L,EAAM,OAAQ5L,IACnCyL,EAAc,OAAO,WAAWG,EAAM5L,CAAK,CAAC,IAC/C6L,GAAUD,EAAM5L,CAAK,EAAE,cAG3BwL,EAAe,MAAQ,KAAK,IAAI,EAAG,KAAK,OAAOK,EAAS,IAAM,EAAE,CAAC,CACnE,CAAC,EACDrD,EAAU,IAAM,CACd,OAAO,iBAAiB,SAAUkD,CAAM,EACxCA,EAAM,CACR,CAAC,EACDI,GAAY,IAAM,CAChB,OAAO,oBAAoB,SAAUJ,CAAM,CAC7C,CAAC,CACH,CACA,MAAO,CAACpP,EAAMC,KACLK,EAAS,EAAIC,EAAmB,MAAO,CAC5C,QAAS,gBACT,IAAK4O,EACL,MAAO,oBACf,EAAS,CACDzO,EAAmB,QAAS,KAAM,CAChCA,EAAmB,QAAS,KAAM,CAChCA,EAAmB,KAAM,KAAM,CAC7B6H,EAAQ,aAAejI,EAAS,EAAIC,EAAmB,KAAM6M,GAAc,CACzE1M,EAAmB,OAAQ2M,GAAc1M,EAAgB6I,EAAM0B,CAAC,EAAE,cAAc,CAAC,EAAG,CAAC,EACrF3C,EAAQ,aAAejI,EAAS,EAAIyB,EAAYyH,EAAMyB,EAAqB,EAAG,CAC5E,IAAK,EACL,aAAczB,EAAM0B,CAAC,EAAE,oBAAoB,EAC3C,cAAe,sBACf,WAAY0D,GAAY,MACxB,sBAAuBC,CACzC,EAAmB,KAAM,EAAG,CAAC,aAAc,YAAY,CAAC,GAAKjO,EAAmB,GAAI,EAAI,CACxF,CAAe,GAAKA,EAAmB,GAAI,EAAI,EACjCF,EAAmB,KAAM,CACvB,YAAa0N,EAAW,MACxB,MAAO,UACvB,EAAiB,CACD1N,EAAmB,MAAO6M,GAAc,CACtCtN,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIS,EAAmB,OAAQ,CAAE,MAAO,6BAA6B,EAAI,KAAM,EAAE,GACvG0B,EAAYoH,EAAMvI,CAAQ,EAAG,CAC3B,YAAa,wBACb,QAAS,WACT,KAAM,GACN,QAAShB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAW8N,EAAc,UAAU,EAC3F,EAAqB,CACD,KAAMtM,EAAQ,IAAM,CAClBmM,EAAW,QAAU,aAAe9N,EAAS,EAAIyB,EAAY8F,GAAmB,CAC9E,IAAK,EACL,KAAM,EAC9B,CAAuB,GAAKuG,EAAW,QAAU,cAAgB9N,EAAS,EAAIyB,EAAYuF,GAAoB,CACtF,IAAK,EACL,KAAM,EAC9B,CAAuB,IAAMhH,EAAS,EAAIC,EAAmB,OAAQiN,EAAU,EAC/E,CAAqB,EACD,QAASvL,EAAQ,IAAM,CACrBE,EAAgB,IAAMxB,EAAgB6I,EAAM0B,CAAC,EAAE,MAAM,CAAC,EAAG,CAAC,CAChF,CAAqB,EACD,EAAG,CACvB,CAAmB,CACnB,CAAiB,CACjB,EAAiB,EAAGoC,EAAY,EAClB5M,EAAmB,KAAM,CACvB,YAAa2N,EAAW,MACxB,MAAO,UACvB,EAAiB,CACDjM,EAAYoH,EAAMvI,CAAQ,EAAG,CAC3B,QAAS,WACT,KAAM,GACN,QAAShB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAW8N,EAAc,MAAM,EACrF,EAAmB,CACD,KAAMtM,EAAQ,IAAM,CAClBoM,EAAW,QAAU,aAAe/N,EAAS,EAAIyB,EAAY8F,GAAmB,CAC9E,IAAK,EACL,KAAM,EAC5B,CAAqB,GAAKwG,EAAW,QAAU,cAAgB/N,EAAS,EAAIyB,EAAYuF,GAAoB,CACtF,IAAK,EACL,KAAM,EAC5B,CAAqB,IAAMhH,EAAS,EAAIC,EAAmB,OAAQmN,EAAU,EAC7E,CAAmB,EACD,QAASzL,EAAQ,IAAM,CACrBE,EAAgB,IAAMxB,EAAgB6I,EAAM0B,CAAC,EAAE,MAAM,CAAC,EAAG,CAAC,CAC9E,CAAmB,EACD,EAAG,CACrB,CAAiB,CACjB,EAAiB,EAAGuC,EAAU,EAChB/M,EAAmB,KAAM,CACvB,YAAa4N,EAAe,MAC5B,MAAO,cACvB,EAAiB,CACDlM,EAAYoH,EAAMvI,CAAQ,EAAG,CAC3B,QAAS,WACT,KAAM,GACN,QAAShB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAW8N,EAAc,OAAO,EACtF,EAAmB,CACD,KAAMtM,EAAQ,IAAM,CAClBqM,EAAe,QAAU,aAAehO,EAAS,EAAIyB,EAAY8F,GAAmB,CAClF,IAAK,EACL,KAAM,EAC5B,CAAqB,GAAKyG,EAAe,QAAU,cAAgBhO,EAAS,EAAIyB,EAAYuF,GAAoB,CAC1F,IAAK,EACL,KAAM,EAC5B,CAAqB,IAAMhH,EAAS,EAAIC,EAAmB,OAAQqN,EAAU,EAC7E,CAAmB,EACD,QAAS3L,EAAQ,IAAM,CACrBE,EAAgB,IAAMxB,EAAgB6I,EAAM0B,CAAC,EAAE,UAAU,CAAC,EAAG,CAAC,CAClF,CAAmB,EACD,EAAG,CACrB,CAAiB,CACjB,EAAiB,EAAGyC,EAAU,CAC9B,CAAa,CACb,CAAW,EACDjN,EAAmB,QAAS,KAAM,CAChC6H,EAAQ,SAAWjI,EAAU,EAAI,EAAGC,EAAmB8D,EAAU,CAAE,IAAK,CAAC,EAAIoL,EAAWP,EAAe,MAAQxL,IACtGpD,EAAS,EAAIyB,EAAY4J,GAAiB,CAC/C,IAAKjI,EACL,aAAc6E,EAAQ,WACtC,EAAiB,KAAM,EAAG,CAAC,cAAc,CAAC,EAC7B,EAAG,GAAG,IAAMjI,EAAU,EAAI,EAAGC,EAAmB8D,EAAU,CAAE,IAAK,CAAC,EAAIoL,EAAWjB,EAAY,MAAQG,IAC7FrO,EAAS,EAAIyB,EAAYsJ,GAAa,CAC3C,IAAKsD,EAAK,QAAUA,EAAK,KACzB,mBAAoBpG,EAAQ,mBAC5B,aAAcA,EAAQ,YACtB,SAAUA,EAAQ,aAAeyF,EAAc,MAAM,SAAW,GAAKA,EAAc,MAAM,SAASW,CAAI,KAAOpG,EAAQ,UAAY,QAAUA,EAAQ,QAAQoG,CAAI,GAC/J,SAAUX,EAAc,MAAM,SAASW,CAAI,EAC3C,KAAMA,EACN,kBAAmBnF,EAAMyC,CAAiB,EAC1C,oBAAsBxL,GAAWqO,GAAeH,CAAI,EACpD,iBAAkBK,EAClC,EAAiB,KAAM,EAAG,CAAC,qBAAsB,eAAgB,UAAW,WAAY,OAAQ,oBAAqB,mBAAmB,CAAC,EAC5H,EAAG,GAAG,EACnB,CAAW,CACX,CAAS,CACT,EAAS,GAAG,EAEV,CACF,CAAC,EACKU,GAA2B5O,EAAY+M,GAAa,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACtF8B,GAAc,CAClB,KAAM,WACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,6CAA6C,EACjEC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAchQ,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,iCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQoP,GAAc,CACvC5P,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAASwP,GAAcpP,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAGiP,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMK,GAA2BnP,EAAY6O,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EAC/EE,GAAc,CAClB,KAAM,WACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,2CAA2C,EAC/DC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAASC,GAAcvQ,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,iCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQ2P,GAAc,CACvCnQ,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAS+P,GAAc3P,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAGwP,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMK,GAA2B1P,EAAYoP,GAAa,CAAC,CAAC,SAAUK,EAAa,CAAC,CAAC,EAC/EE,GAA8BnI,EAAgB,CAClD,OAAQ,wBACR,MAAuBwF,GAAY,CACjC,SAAU,CAAE,KAAM,OAAO,CAC7B,EAAK,CACD,KAAQ,CAAE,SAAU,EAAI,EACxB,cAAiB,CAAA,CACrB,CAAG,EACD,MAAuBA,GAAY,CAAC,YAAY,EAAG,CAAC,aAAa,CAAC,EAClE,MAAMvF,EAAS,CAAE,KAAM2B,CAAM,EAAI,CAC/B,MAAMnG,EAAOgK,GAASxF,EAAS,MAAM,EAC/B4B,EAAQD,EACRwG,EAAcvK,EAAI,EAAK,EACvBwK,EAAcxK,EAAI,EAAE,EACpByK,EAAYC,GAAe,WAAW,EAC5C,SAASC,GAAgB,CACvB,MAAMhM,EAAO6L,EAAY,MAAM,KAAI,EAC7BI,EAAQH,EAAU,OAAO,KAAK,cAAc,OAAO,EACzD,IAAII,EAAW,GACf,GAAI,CACFC,GAAiBnM,CAAI,CACvB,OAASyH,EAAO,CACd,GAAI,EAAEA,aAAiB2E,IACrB,MAAM3E,EAER,OAAQA,EAAM,OAAM,CAClB,KAAK4E,GAA2B,UAC9BH,EAAW9F,EAAE,gDAAiD,CAAE,KAAMqB,EAAM,QAAS,EACrF,MACF,KAAK4E,GAA2B,aAC9BH,EAAW9F,EAAE,mEAAoE,CAAE,QAASqB,EAAM,QAAS,EAC3G,MACF,KAAK4E,GAA2B,UAC9BH,EAAW9F,EAAE,gDAAiD,CAAE,UAAWqB,EAAM,QAAS,EAC1F,MACF,QACEyE,EAAW9F,EAAE,sBAAsB,CAC/C,CACM,CACA,OAAI6F,GACFA,EAAM,kBAAkBC,CAAQ,EAE3BA,IAAa,EACtB,CACA,SAASI,GAAW,CAClB,MAAMtM,EAAO6L,EAAY,MAAM,KAAI,EAC/BG,EAAa,IACfJ,EAAY,MAAQ,GACpBvG,EAAM,aAAcrF,CAAI,EACxB6L,EAAY,MAAQ,GAExB,CACA,MAAMU,EAAe1I,EAAS,IAAM5E,EAAK,MAAM,MAAM,GAAG,EAAE,OAAQuN,GAAMA,IAAM,EAAE,EAAE,IAAI,CAACA,EAAGnO,EAAGoO,KAAc,CACzG,KAAMD,EACN,KAAM,IAAMC,EAAS,MAAM,EAAGpO,EAAI,CAAC,EAAE,KAAK,GAAG,CACnD,EAAM,CAAC,EACH,MAAO,CAACnD,EAAMC,KACLK,EAAS,EAAIyB,EAAYyH,EAAMpE,EAAa,EAAG,CAAE,MAAO,0BAA0B,EAAIpD,GAAY,CACvG,QAASC,EAAQ,IAAM,CACrBG,EAAYoH,EAAMnH,CAAY,EAAG,CAC/B,KAAMmH,EAAM0B,CAAC,EAAE,WAAW,EAC1B,MAAO1B,EAAM0B,CAAC,EAAE,MAAM,EACtB,QAASjL,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWsD,EAAK,MAAQ,IACxE,EAAa,CACD,KAAM9B,EAAQ,IAAM,CAClBG,EAAY6N,GAAU,CAAE,KAAM,EAAE,CAAE,CAChD,CAAa,EACD,EAAG,CACf,EAAa,EAAG,CAAC,OAAQ,OAAO,CAAC,GACtB3P,EAAU,EAAI,EAAGC,EAAmB8D,EAAU,KAAMoL,EAAW4B,EAAa,MAAQpC,IAC5E3O,EAAS,EAAIyB,EAAYyH,EAAMnH,CAAY,EAAG,CACnD,IAAK4M,EAAI,KACT,KAAMA,EAAI,KACV,MAAOA,EAAI,KACX,QAAUxO,GAAWsD,EAAK,MAAQkL,EAAI,IACpD,EAAe,KAAM,EAAG,CAAC,OAAQ,QAAS,SAAS,CAAC,EACzC,EAAG,GAAG,EACjB,CAAS,EACD,EAAG,CACX,EAAS,CACD1G,EAAQ,SAAW,CACjB,KAAM,UACN,GAAItG,EAAQ,IAAM,CAChBG,EAAYoH,EAAMxI,EAAS,EAAG,CAC5B,KAAM0P,EAAY,MAClB,gBAAiBzQ,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWiQ,EAAY,MAAQjQ,GAC3E,aAAc+I,EAAM0B,CAAC,EAAE,kBAAkB,EACzC,UAAW,GACX,UAAW,GACX,SAAU1B,EAAM0B,CAAC,EAAE,KAAK,EACxB,QAAS,YACT,QAASjL,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWkQ,EAAY,MAAQ,GACjF,EAAe,CACD,KAAM1O,EAAQ,IAAM,CAClBG,EAAYoO,GAAU,CAAE,KAAM,EAAE,CAAE,CAClD,CAAe,EACD,QAASvO,EAAQ,IAAM,CACrBG,EAAYoH,EAAMgI,EAAa,EAAG,CAChC,QAAS,YACT,IAAKZ,EACL,WAAYD,EAAY,MACxB,sBAAuB,CACrB1Q,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWkQ,EAAY,MAAQlQ,GAC1DqQ,CACpB,EACkB,MAAOtH,EAAM0B,CAAC,EAAE,YAAY,EAC5B,YAAa1B,EAAM0B,CAAC,EAAE,iBAAiB,EACvC,SAAAkG,CAClB,EAAmB,CACD,KAAMnP,EAAQ,IAAM,CAClBG,EAAYE,GAAY,CAAE,KAAM,EAAE,CAAE,CACxD,CAAmB,EACD,EAAG,CACrB,EAAmB,EAAG,CAAC,aAAc,QAAS,aAAa,CAAC,CAC5D,CAAe,EACD,EAAG,CACjB,EAAe,EAAG,CAAC,OAAQ,aAAc,UAAU,CAAC,CACpD,CAAW,EACD,IAAK,GACf,EAAY,MACZ,CAAO,EAAG,IAAI,EAEZ,CACF,CAAC,EACKmP,GAAwC3Q,EAAY2P,GAAa,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACnGiB,GAAc,CAClB,KAAM,YACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCC,GAAe,CAAE,EAAG,+GAA+G,EACnIC,GAAe,CAAE,IAAK,CAAC,EAC7B,SAAS/R,GAAcC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CACpE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,kCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQmR,GAAc,CACvC3R,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAASuR,GAAcnR,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC/I,CAAO,CACP,EAAO,EAAGgR,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAMI,GAA4BjR,EAAY4Q,GAAa,CAAC,CAAC,SAAU3R,EAAa,CAAC,CAAC,EAChFiS,GAAc,CAClB,KAAM,cACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACMC,GAAe,CAAC,cAAe,YAAY,EAC3CC,GAAe,CAAC,OAAQ,QAAS,QAAQ,EACzCrS,GAAa,CAAE,EAAG,mQAAmQ,EACrRC,GAAa,CAAE,IAAK,CAAC,EAC3B,SAASyB,GAAYvB,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAS,EAAIC,EAAmB,OAAQC,EAAWR,EAAK,OAAQ,CACrE,cAAeE,EAAO,MAAQ,KAAO,OACrC,aAAcA,EAAO,MACrB,MAAO,oCACP,KAAM,MACN,QAASD,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWT,EAAK,MAAM,QAASS,CAAM,EAC7E,CAAG,EAAG,EACDH,EAAS,EAAIC,EAAmB,MAAO,CACtC,KAAML,EAAO,UACb,MAAO,4BACP,MAAOA,EAAO,KACd,OAAQA,EAAO,KACf,QAAS,WACf,EAAO,CACDQ,EAAmB,OAAQb,GAAY,CACrCK,EAAO,OAASI,EAAS,EAAIC,EAAmB,QAAST,GAAYa,EAAgBT,EAAO,KAAK,EAAG,CAAC,GAAKU,EAAmB,GAAI,EAAI,CAC7I,CAAO,CACP,EAAO,EAAGsR,EAAY,EACtB,EAAK,GAAID,EAAY,CACrB,CACA,MAAME,GAA8BrR,EAAYkR,GAAa,CAAC,CAAC,SAAUzQ,EAAW,CAAC,CAAC,EACtF,SAAS6Q,GAASC,EAAa,CAC7B,MAAMC,EAAW,CACf,CACE,GAAI,QACJ,MAAOpH,EAAE,WAAW,EACpB,KAAMqH,EACZ,EACI,CACE,GAAI,SACJ,MAAOrH,EAAE,QAAQ,EACjB,KAAMsH,EACZ,EACI,CACE,GAAI,YACJ,MAAOtH,EAAE,WAAW,EACpB,KAAMuH,EACZ,CACA,EACQC,EAAiBL,EAAY,MAAQC,EAAS,OAAO,CAAC,CAAE,GAAAK,CAAE,IAAOA,IAAO,OAAO,EAAIL,EACzF,MAAO,CACL,SAAAA,EACA,eAAAI,CACJ,CACA,CACA,MAAM/S,GAAe,CACnB,IAAK,EACL,MAAO,mBACT,EACMD,GAA8B4I,EAAgB,CAClD,OAAQ,uBACR,MAAO,CACL,YAAa,CAAA,EACb,aAAc,CAAA,EACd,YAAa,CAAE,KAAM,OAAO,EAC5B,mBAAoB,CAAE,KAAM,OAAO,CACvC,EACE,MAAO,CAAC,qBAAsB,qBAAqB,EACnD,MAAMC,EAAS,CAAE,KAAM2B,CAAM,EAAI,CAC/B,MAAM1B,EAAQD,EACR4B,EAAQD,EACR,CAAE,eAAAwI,CAAc,EAAKN,GAASjM,EAAIyM,GAAc,IAAO,IAAI,CAAC,EAC5DC,EAAoBlK,EAAS,IAAM+J,EAAe,OAAQpB,GAAMA,EAAE,KAAO9I,EAAM,WAAW,EAAE,CAAC,GAAKkK,EAAe,CAAC,CAAC,EACnHI,EAAqBC,GAAU5I,EAAM,sBAAuB4I,EAAM,UAAU,EAClF,MAAO,CAAC/S,EAAMC,KACLK,EAAS,EAAIC,EAAmB8D,EAAU,KAAM,CACrDjC,EAAYoH,EAAMwJ,EAAW,EAAG,CAC9B,MAAO,4BACP,MAAOxJ,EAAM0B,CAAC,EAAE,kBAAkB,EAClC,mBAAoB,CAAC,CAAC3C,EAAQ,aAC9B,WAAYA,EAAQ,aACpB,sBAAuBuK,EACvB,sBAAuB7S,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWqS,EAAkB,EAAE,EAC3F,EAAW,CACD,uBAAwB7Q,EAAQ,IAAM,CACpCG,EAAY2P,GAAW,CAAE,KAAM,EAAE,CAAE,CAC/C,CAAW,EACD,QAAS9P,EAAQ,IAAM,CACrBG,EAAY+P,GAAa,CAAE,KAAM,EAAE,CAAE,CACjD,CAAW,EACD,EAAG,CACb,EAAW,EAAG,CAAC,QAAS,qBAAsB,YAAY,CAAC,EACnD3I,EAAMkJ,CAAc,EAAE,OAAS,GAAK,CAACnK,EAAQ,oBAAsBjI,EAAS,EAAIC,EAAmB8D,EAAU,CAAE,IAAK,CAAC,EAAI,CACtHkE,EAAQ,aAuBFjI,EAAS,EAAIyB,EAAYyH,EAAMyJ,EAAQ,EAAG,CAC/C,IAAK,EACL,aAAczJ,EAAM0B,CAAC,EAAE,uBAAuB,EAC9C,UAAW,GACX,WAAY,GACZ,QAAS1B,EAAMkJ,CAAc,EAC7B,WAAYG,EAAkB,MAC9B,sBAAuB5S,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAW0J,EAAM,qBAAsB1J,EAAO,EAAE,EAC9G,EAAa,KAAM,EAAG,CAAC,aAAc,UAAW,YAAY,CAAC,IA/B3BH,EAAS,EAAIC,EAAmB,KAAMZ,GAAc,EACzEW,EAAU,EAAI,EAAGC,EAAmB8D,EAAU,KAAMoL,EAAWjG,EAAMkJ,CAAc,EAAIQ,IAC/E5S,EAAS,EAAIC,EAAmB,KAAM,CAC3C,IAAK2S,EAAK,EAC1B,EAAiB,CACD9Q,EAAYoH,EAAMvI,CAAQ,EAAG,CAC3B,QAASsH,EAAQ,cAAgB2K,EAAK,GAAK,UAAY,WACvD,KAAM,GACN,QAAUzS,GAAWT,EAAK,MAAM,qBAAsBkT,EAAK,EAAE,CAC/E,EAAmB,CACD,KAAMjR,EAAQ,IAAM,CAClBG,EAAYoH,EAAMC,EAAgB,EAAG,CACnC,KAAMyJ,EAAK,KACX,KAAM,EAC5B,EAAuB,KAAM,EAAG,CAAC,MAAM,CAAC,CACxC,CAAmB,EACD,QAASjR,EAAQ,IAAM,CACrBE,EAAgB,IAAMxB,EAAgBuS,EAAK,KAAK,EAAG,CAAC,CACxE,CAAmB,EACD,EAAG,CACrB,EAAmB,KAAM,CAAC,UAAW,SAAS,CAAC,CAC/C,CAAe,EACF,EAAG,GAAG,EACnB,CAAW,EASX,EAAW,EAAE,GAAKtS,EAAmB,GAAI,EAAI,CAC7C,EAAS,EAAE,EAET,CACF,CAAC,EACKuS,GAAuCrS,EAAYpB,GAAa,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC,EACxG,eAAe0T,GAAe,CAAE,OAAAC,EAAQ,OAAAC,GAAU,CAChD,MAAMC,EAAc,KAAK,MAAM,KAAK,MAAQ,GAAG,EAAI,QAC7C,CAAE,KAAAlH,CAAI,EAAK,MAAMgH,EAAO,OAAO,IAAK,CACxC,OAAAC,EACA,QAAS,GACT,KAAME,GAAgBD,CAAW,CACrC,CAAG,EACD,OAAOlH,EAAK,QAAQ,IAAKoH,GAAWC,GAAaD,CAAM,CAAC,CAC1D,CACA,eAAeE,GAAS,CAAE,OAAAN,EAAQ,KAAAtP,EAAM,OAAAuP,CAAM,EAAI,CAOhD,MAAMhE,GANU,MAAM+D,EAAO,qBAAqBO,EAAKC,GAAiB9P,CAAI,EAAG,CAC7E,OAAAuP,EACA,QAAS,GACT,YAAa,GACb,KAAMQ,GAAkB,CAC5B,CAAG,GACqB,KAAK,IAAKL,GAAWC,GAAaD,CAAM,CAAC,EAC/D,MAAO,CACL,SAAUnE,EAAM,OAAO,CAAC,CAAE,KAAMyE,CAAQ,IAAOA,IAAahQ,CAAI,EAChE,OAAQuL,EAAM,KAAK,CAAC,CAAE,KAAMyE,CAAQ,IAAOhQ,IAASgQ,CAAQ,CAChE,CACA,CACA,eAAeC,GAAQX,EAAQtP,EAAM,CACnC,KAAM,CAAE,KAAAsI,CAAI,EAAK,MAAMgH,EAAO,KAAKO,EAAKC,GAAiB9P,CAAI,EAAG,CAC9D,QAAS,GACT,KAAM+P,GAAkB,CAC5B,CAAG,EACD,OAAOJ,GAAarH,CAAI,CAC1B,CACA,SAAS4H,GAAYvH,EAAawH,EAAa,CAC7C,MAAMb,EAASc,GAAS,EAClBC,EAAQC,GAAW,EAAE,EACrBC,EAASD,GAAW,IAAI,EACxBE,EAAYpO,EAAI,EAAI,EAC1B,IAAIqO,EACJ,eAAeC,EAAgB3P,EAAM,CACnC,MAAMf,EAAO6P,EAAKM,EAAY,MAAOpP,CAAI,EACzC,MAAMuO,EAAO,gBAAgBO,EAAKC,GAAiB9P,CAAI,CAAC,EACxD,MAAM2Q,EAAY,MAAMV,GAAQX,EAAQtP,CAAI,EAC5C,OAAAqQ,EAAM,MAAQ,CAAC,GAAGA,EAAM,MAAOM,CAAS,EACjCA,CACT,CACA,eAAeC,GAAe,CACxBH,IACFA,EAAgB,MAAK,EACrBA,EAAkB,QAEpBA,EAAkB,IAAI,gBACtBD,EAAU,MAAQ,GAClB,GAAI,CACF,GAAI7H,EAAY,QAAU,YACxB0H,EAAM,MAAQ,MAAMQ,GAAiB,CAAE,OAAAvB,EAAQ,KAAMa,EAAY,MAAO,OAAQM,EAAgB,MAAM,CAAE,EACxGF,EAAO,MAAQ,aACN5H,EAAY,QAAU,SAC/B0H,EAAM,MAAQ,MAAMhB,GAAe,CAAE,OAAAC,EAAQ,OAAQmB,EAAgB,OAAQ,EAC7EF,EAAO,MAAQ,SACV,CACL,MAAMO,EAAU,MAAMlB,GAAS,CAAE,OAAAN,EAAQ,KAAMa,EAAY,MAAO,OAAQM,EAAgB,MAAM,CAAE,EAClGF,EAAO,MAAQO,EAAQ,OACvBT,EAAM,MAAQS,EAAQ,QACxB,CACF,OAAStI,EAAO,CACd,GAAIA,aAAiB,OAASA,EAAM,OAAS,aAC3C,OAEF,MAAMA,CACR,QAAA,CACEiI,EAAkB,OAClBD,EAAU,MAAQ,EACpB,CACF,CACA,OAAAO,GAAM,CAACpI,EAAawH,CAAW,EAAG,IAAMS,EAAY,CAAE,EACtDzI,EAAU,IAAMyI,GAAc,EACvB,CACL,UAAAJ,EACA,MAAAH,EACA,OAAAE,EACA,UAAWK,EACX,gBAAAF,CACJ,CACA,CACA,SAASM,GAAcC,EAAkB,CACvC,MAAMC,EAAgBtM,EAAS,IAAMqM,EAAiB,MAAM,IAAKE,GAAWA,EAAO,MAAM,GAAG,CAAC,CAAC,EAQ9F,MAAO,CACL,oBAR2BC,GAAS,CACpC,MAAMC,EAAgBD,EAAK,MAAM,GAAG,EACpC,OAAOF,EAAc,MAAM,KAAK,CAAC,CAAChM,EAAMoM,CAAO,KAE5CD,EAAc,CAAC,IAAMnM,GAAQA,IAAS,OAASmM,EAAc,CAAC,IAAMC,GAAWA,IAAY,IAC7F,CACH,CAGF,CACA,CACA,MAAM/T,GAAa,CAAE,MAAO,mBAAmB,EACzC1B,GAAa,CACjB,IAAK,EACL,MAAO,mBACT,EACMmB,GAA4BuH,EAAgB,CAChD,OAAQ,aACR,MAAO,CACL,QAAS,CAAA,EACT,KAAM,CAAA,EACN,mBAAoB,CAAE,KAAM,QAAS,QAAS,EAAK,EACnD,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAK,EACvC,mBAAoB,CAAE,KAAM,QAAS,QAAS,EAAK,EACnD,SAAU,CAAE,KAAM,SAAU,QAAS,MAAM,EAC3C,UAAW,CAAE,KAAM,SAAU,QAAS,MAAM,EAC5C,eAAgB,CAAE,QAAS,IAAM,EAAE,EACnC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAK,EAC5C,KAAM,CAAE,QAAS,MAAM,CAC3B,EACE,MAAO,CAAC,OAAO,EACf,MAAMC,EAAS,CAAE,KAAM2B,CAAM,EAAI,CAC/B,MAAM1B,EAAQD,EACR+M,EAASpL,EACTqL,EAASpP,EAAI,EAAI,EACjBuG,EAAcvG,EAAI,OAAO,EACzBqP,EAAYrP,EAAI,QAAQ,eAAe,QAAQ,wBAAwB,GAAK,GAAG,EAC/EsP,EAAgBtP,EAAI,EAAE,EACtB+N,EAAcvL,EAAS,CAC3B,IAAK,IACI+D,EAAY,QAAU,QAAU+I,EAAc,OAASjN,EAAM,MAAQgN,EAAU,MAAQ,IAEhG,IAAMzR,GAAS,CACb0R,EAAc,MAAQ1R,CACxB,CACN,CAAK,EACKiK,EAAgBqG,GAAW,EAAE,EAC7BqB,EAAevP,EAAI,EAAE,EACrB,CACJ,MAAAiO,EACA,OAAQuB,EACR,UAAApB,EACA,UAAAqB,EACA,gBAAAnB,EACN,EAAQR,GAAYvH,EAAawH,CAAW,EACxCY,GAAM,CAACW,CAAa,EAAG,IAAM,CACvBjN,EAAM,OAAS,QAAUiN,EAAc,OACzC,OAAO,eAAe,QAAQ,yBAA0BA,EAAc,KAAK,EAE7EzH,EAAc,MAAQ,CAAA,EACtB0H,EAAa,MAAQ,EACvB,CAAC,EACD,IAAIG,EAAqB,GACzB,MAAMC,GAAgBnN,EAAS,IAAM,CACnC,MAAM2G,EAAQtB,EAAc,MAAM,SAAW,GAAKxF,EAAM,oBAAsBmN,EAAc,QAAU,CAACnN,EAAM,WAAaA,EAAM,UAAUmN,EAAc,KAAK,GAAK,CAACA,EAAc,KAAK,EAAI3H,EAAc,MAExM,OADgB,OAAOxF,EAAM,SAAY,WAAaA,EAAM,QAAQ8G,EAAO4E,EAAY,MAAOxH,EAAY,KAAK,EAAIlE,EAAM,SAC1G,IAAKuN,IAAY,CAC9B,GAAGA,EACH,SAAUA,EAAO,UAAYxB,EAAU,MACvC,SAAU,IAAM,CACdsB,EAAqB,GACrBG,GAAkBD,EAAO,SAAUzG,CAAK,CAC1C,CACR,EAAQ,CACJ,CAAC,EACD,eAAe0G,GAAkBC,EAAU3G,EAAO,CAChD,MAAM2G,EAAS3G,CAAK,EACpBgG,EAAO,QAAShG,CAAK,EACrBuG,EAAqB,EACvB,CACA,MAAMK,EAAevN,EAAS,IAAM+D,EAAY,QAAU,YAAcxB,EAAE,WAAW,EAAIwB,EAAY,QAAU,SAAWxB,EAAE,QAAQ,EAAI,EAAE,EACpI,CAAE,oBAAAiL,CAAmB,EAAKpB,GAAcrM,GAAMF,EAAO,gBAAgB,CAAC,EAC5E0D,EAAU,IAAM0J,GAAW,EAC3B,KAAM,CAAE,gBAAA7J,CAAe,EAAKH,GAAgB,EACtCwK,EAAgBzN,EAAS,IAAM,CACnC,IAAI0N,EAAWjC,EAAM,MACrB,OAAKrI,EAAgB,QACnBsK,EAAWA,EAAS,OAAQ1H,GAAS,CAACA,EAAK,SAAS,WAAW,GAAG,CAAC,GAEjEnG,EAAM,eAAe,OAAS,IAChC6N,EAAWA,EAAS,OAAQ1H,GAASA,EAAK,OAAS,UAAYA,EAAK,MAAQwH,EAAoBxH,EAAK,IAAI,CAAC,GAExG+G,EAAa,QACfW,EAAWA,EAAS,OAAQ1H,GAASA,EAAK,SAAS,YAAW,EAAG,SAAS+G,EAAa,MAAM,YAAW,CAAE,CAAC,GAEzGlN,EAAM,WACR6N,EAAWA,EAAS,OAAQtH,GAAMvG,EAAM,SAASuG,CAAC,CAAC,GAE9CsH,CACT,CAAC,EACKC,EAAqB3N,EAAS,IAC9B+D,EAAY,QAAU,QACjBxB,EAAE,gDAAgD,EAChDwB,EAAY,QAAU,SACxBxB,EAAE,4DAA4D,EAE9DA,EAAE,2DAA2D,CAEvE,EACD,eAAeqL,EAAezR,EAAM,CAClC,GAAI,CACF,MAAMwP,EAAS,MAAMG,GAAgB3P,CAAI,EACzC2Q,EAAc,MAAQnB,EAAO,KAC7BkC,GAAK,qBAAsBpC,EAAM,MAAM,OAAQzF,GAASA,EAAK,WAAa7J,CAAI,EAAE,CAAC,CAAC,CACpF,OAASyH,EAAO,CACdH,EAAO,KAAK,8BAA+B,CAAE,KAAAtH,EAAM,MAAAyH,CAAK,CAAE,EAC1DC,GAAUtB,EAAE,iCAAiC,CAAC,CAChD,CACF,CACA,SAASuL,GAAYrV,EAAM,CACrB,CAACA,GAAQ,CAACyU,GACZP,EAAO,OAAO,CAElB,CACA,MAAO,CAACtV,EAAMC,KACLK,EAAS,EAAIyB,EAAYyH,EAAMkN,EAAQ,EAAG,CAC/C,KAAMnB,EAAO,MACb,gBAAiB,CACftV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAW8U,EAAO,MAAQ9U,GACrDgW,EACV,EACQ,QAASX,GAAc,MACvB,KAAMvN,EAAQ,KACd,KAAM,QACN,eAAgB,uBAChB,cAAe,cACf,kBAAmB,yBAC3B,EAAS,CACD,WAAYtG,EAAQ,CAAC,CAAE,YAAA0U,KAAkB,CACvCvU,EAAY+Q,GAAsB,CAChC,YAAazG,EAAY,MACzB,uBAAwBzM,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,IAAWiM,EAAY,MAAQjM,IAClF,aAAciV,EAAa,MAC3B,wBAAyBzV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,IAAWiV,EAAa,MAAQjV,IACpF,YAAAkW,EACA,mBAAoBpO,EAAQ,kBACxC,EAAa,KAAM,EAAG,CAAC,cAAe,eAAgB,cAAe,oBAAoB,CAAC,CAC1F,CAAS,EACD,QAAStG,EAAQ,IAAM,CACrBvB,EAAmB,MAAOY,GAAY,CACpCoL,EAAY,QAAU,SAAWpM,EAAS,EAAIyB,EAAY0P,GAAuB,CAC/E,IAAK,EACL,KAAMyC,EAAY,MAClB,gBAAiBjU,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWyT,EAAY,MAAQzT,GAC3E,SAAU,CAAC8H,EAAQ,OACnB,aAAcgO,CAC5B,EAAe,KAAM,EAAG,CAAC,OAAQ,UAAU,CAAC,IAAMjW,IAAaC,EAAmB,MAAOX,GAAY,CACvFc,EAAmB,KAAM,KAAMC,EAAgBuV,EAAa,KAAK,EAAG,CAAC,CACnF,CAAa,GACD1M,EAAM+K,CAAS,GAAK6B,EAAc,MAAM,OAAS,GAAK9V,EAAS,EAAIyB,EAAY2N,GAAU,CACvF,IAAK,EACL,KAAMwE,EAAY,MAClB,gBAAiB,CACfjU,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWyT,EAAY,MAAQzT,GAC1DR,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWiM,EAAY,MAAQ,QAC1E,EACc,cAAesB,EAAc,MAC7B,yBAA0B/N,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKQ,GAAWuN,EAAc,MAAQvN,GACtF,mBAAoB8H,EAAQ,mBAC5B,YAAamE,EAAY,MACzB,MAAO0J,EAAc,MACrB,YAAa7N,EAAQ,YACrB,QAASiB,EAAM+K,CAAS,EACxB,KAAM2B,EAAa,MACnB,QAAS3N,EAAQ,SAC/B,EAAe,KAAM,EAAG,CAAC,OAAQ,gBAAiB,qBAAsB,cAAe,QAAS,cAAe,UAAW,OAAQ,SAAS,CAAC,GAAKmN,EAAa,OAASpV,EAAS,EAAIyB,EAAYyH,EAAMoN,EAAc,EAAG,CACzM,IAAK,EACL,KAAMpN,EAAM0B,CAAC,EAAE,mBAAmB,EAClC,YAAa1B,EAAM0B,CAAC,EAAE,2CAA2C,CAC/E,EAAe,CACD,KAAMjJ,EAAQ,IAAM,CAClBG,EAAY2E,EAAQ,CACpC,CAAe,EACD,EAAG,CACjB,EAAe,EAAG,CAAC,OAAQ,aAAa,CAAC,IAAMzG,EAAS,EAAIyB,EAAYyH,EAAMoN,EAAc,EAAG,CACjF,IAAK,EACL,KAAMpN,EAAM0B,CAAC,EAAE,kBAAkB,EACjC,YAAaoL,EAAmB,KAC9C,EAAe,CACD,KAAMrU,EAAQ,IAAM,CAClBG,EAAY2E,EAAQ,CACpC,CAAe,EACD,EAAG,CACjB,EAAe,EAAG,CAAC,OAAQ,aAAa,CAAC,EACzC,CAAW,CACX,CAAS,EACD,EAAG,CACX,EAAS,EAAG,CAAC,OAAQ,UAAW,MAAM,CAAC,EAErC,CACF,CAAC,EACK8P,GAA6B/V,EAAYC,GAAW,CAAC,CAAC,YAAa,iBAAiB,CAAC,CAAC","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/dist/FilePicker-YuFFlyrq.chunk.mjs.map.license b/dist/FilePicker-Z7R9rHQv.chunk.mjs.map.license similarity index 100% rename from dist/FilePicker-YuFFlyrq.chunk.mjs.map.license rename to dist/FilePicker-Z7R9rHQv.chunk.mjs.map.license diff --git a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs similarity index 95% rename from dist/FilesSidebarTab-rOGJFlNv.chunk.mjs rename to dist/FilesSidebarTab-2nDMcGde.chunk.mjs index 5ea9cf2b75f72..548fc202a1d16 100644 --- a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs +++ b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs @@ -1,4 +1,4 @@ -import{a as H}from"./index--e26xJaU.chunk.mjs";import{t as y}from"./fileSize-G68jp3EG.chunk.mjs";import{v as M}from"./NcAvatar-HI1jFdhm.chunk.mjs";import{N}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{N as S}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{_ as f}from"./public-Cpb8_kIm.chunk.mjs";import{o as s,f as r,g as I,t as p,h as d,m as h,r as c,ad as z,a2 as O,k as m,F as C,c as _,w as g,B,j as F,n as L,b as $,l as q}from"./preload-helper-CseRDAJ7.chunk.mjs";import{C as P,a as b}from"./CommentView-DnzWMLuu.chunk.mjs";import{l as v}from"./activity-D3DGugVa.chunk.mjs";import{c as j,g as U,D as w}from"./GetComments-BMsBPleK.chunk.mjs";const E={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=["aria-hidden","aria-label"],G=["fill","width","height"],J={d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"},K={key:0};function Q(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon alert-circle-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",J,[e.title?(s(),r("title",K,p(e.title),1)):d("",!0)])],8,G))],16,Z)}const W=f(E,[["render",Q]]),X={name:"MessageReplyTextOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Y=["aria-hidden","aria-label"],ee=["fill","width","height"],te={d:"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z"},oe={key:0};function se(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon message-reply-text-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",te,[e.title?(s(),r("title",oe,p(e.title),1)):d("",!0)])],8,ee))],16,Y)}const re=f(X,[["render",se]]),ie={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=["aria-hidden","aria-label"],ae=["fill","width","height"],le={d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"},ce={key:0};function me(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon refresh-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",le,[e.title?(s(),r("title",ce,p(e.title),1)):d("",!0)])],8,ae))],16,ne)}const de=f(ie,[["render",me]]);function ue(t,o,e){const a=["",t,o].join("/"),i=e.toUTCString();return j.customRequest(a,{method:"PROPPATCH",data:` +import{a as H}from"./index-CIl948Sr.chunk.mjs";import{t as y}from"./fileSize-G68jp3EG.chunk.mjs";import{v as M}from"./NcAvatar-DOAqo5-K.chunk.mjs";import{N}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{N as S}from"./NcEmptyContent-DdkCG_JC.chunk.mjs";import{_ as f}from"./public-Cpb8_kIm.chunk.mjs";import{o as s,f as r,g as I,t as p,h as d,m as h,r as c,ad as z,a2 as O,k as m,F as C,c as _,w as g,B,j as F,n as L,b as $,l as q}from"./preload-helper-CseRDAJ7.chunk.mjs";import{C as P,a as b}from"./CommentView-C1OxkMFD.chunk.mjs";import{l as v}from"./activity-D3DGugVa.chunk.mjs";import{c as j,g as U,D as w}from"./GetComments-BMsBPleK.chunk.mjs";const E={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=["aria-hidden","aria-label"],G=["fill","width","height"],J={d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"},K={key:0};function Q(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon alert-circle-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",J,[e.title?(s(),r("title",K,p(e.title),1)):d("",!0)])],8,G))],16,Z)}const W=f(E,[["render",Q]]),X={name:"MessageReplyTextOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Y=["aria-hidden","aria-label"],ee=["fill","width","height"],te={d:"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z"},oe={key:0};function se(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon message-reply-text-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",te,[e.title?(s(),r("title",oe,p(e.title),1)):d("",!0)])],8,ee))],16,Y)}const re=f(X,[["render",se]]),ie={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=["aria-hidden","aria-label"],ae=["fill","width","height"],le={d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"},ce={key:0};function me(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon refresh-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",le,[e.title?(s(),r("title",ce,p(e.title),1)):d("",!0)])],8,ae))],16,ne)}const de=f(ie,[["render",me]]);function ue(t,o,e){const a=["",t,o].join("/"),i=e.toUTCString();return j.customRequest(a,{method:"PROPPATCH",data:` @@ -8,4 +8,4 @@ import{a as H}from"./index--e26xJaU.chunk.mjs";import{t as y}from"./fileSize-G68 `})}function pe(t){const o=new AbortController,e=o.signal;return{request:async function(a,i){return await t(a,{signal:e,...i})},abort:()=>o.abort()}}const he={name:"CommentsApp",components:{Comment:b,NcEmptyContent:S,NcButton:N,IconRefresh:de,IconMessageReplyTextOutline:re,IconAlertCircleOutline:W},directives:{elementVisibility:M},mixins:[P],expose:["update"],data(){return{error:"",loading:!1,done:!1,offset:0,comments:[],cancelRequest:()=>{},Comment:b,userData:{}}},computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&this.offset===0}},watch:{resourceId(){this.currentResourceId=this.resourceId}},methods:{t:y,async onVisibilityChange(t){if(t)try{await ue(this.resourceType,this.currentResourceId,new Date)}catch(o){H(o.message||y("comments","Failed to mark comments as read"))}},async update(t){this.currentResourceId=t,this.resetState(),await this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:t,abort:o}=pe(U);this.cancelRequest=o;const{data:e}=await t({resourceType:this.resourceType,resourceId:this.currentResourceId},{offset:this.offset})||{data:[]};this.logger.debug(`Processed ${e.length} comments`,{comments:e}),e.lengthe.props.id===t);o>-1?this.comments.splice(o,1):v.error("Could not find the deleted comment in the list",{id:t})},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}},ge={key:1},fe={key:2,class:"comments__info icon-loading"},ye={key:3,class:"comments__info"};function Ce(t,o,e,a,i,n){const l=c("Comment"),V=c("IconMessageReplyTextOutline"),k=c("NcEmptyContent"),R=c("IconAlertCircleOutline"),A=c("IconRefresh"),T=c("NcButton"),x=z("element-visibility");return O((s(),r("div",{class:L(["comments",{"icon-loading":n.isFirstLoading}])},[m(l,h(t.editorData,{editor:"",autoComplete:t.autoComplete,resourceType:t.resourceType,userData:i.userData,resourceId:t.currentResourceId,class:"comments__writer",onNew:n.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"]),n.isFirstLoading?d("",!0):(s(),r(C,{key:0},[!n.hasComments&&i.done?(s(),_(k,{key:0,class:"comments__empty",name:n.t("comments","No comments yet, start the conversation!")},{icon:g(()=>[m(V)]),_:1},8,["name"])):(s(),r("ul",ge,[(s(!0),r(C,null,B(i.comments,u=>(s(),_(l,h({key:u.props.id,modelValue:u.props.message,"onUpdate:modelValue":D=>u.props.message=D,tag:"li"},{ref_for:!0},u.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,resourceId:t.currentResourceId,userData:t.genMentionsData(u.props.mentions),class:"comments__list",onDelete:n.onDelete}),null,16,["modelValue","onUpdate:modelValue","autoComplete","resourceType","resourceId","userData","onDelete"]))),128))])),i.loading&&!n.isFirstLoading?(s(),r("div",fe)):n.hasComments&&i.done?(s(),r("div",ye,p(n.t("comments","No more messages")),1)):i.error?(s(),r(C,{key:4},[m(k,{class:"comments__error",name:i.error},{icon:g(()=>[m(R)]),_:1},8,["name"]),m(T,{class:"comments__retry",onClick:n.getComments},{icon:g(()=>[m(A)]),default:g(()=>[F(" "+p(n.t("comments","Retry")),1)]),_:1},8,["onClick"])],64)):d("",!0)],64))],2)),[[x,n.onVisibilityChange]])}const _e=f(he,[["render",Ce],["__scopeId","data-v-2295a278"]]),Ie=$({__name:"FilesSidebarTab",props:{node:{},active:{type:Boolean},folder:{},view:{}},setup(t){const o=t,e=q(()=>o.node?.fileid);return(a,i)=>e.value!==void 0?(s(),_(_e,{key:e.value,resourceId:e.value,resourceType:"files"},null,8,["resourceId"])):d("",!0)}}),He=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{_e as C,He as F}; -//# sourceMappingURL=FilesSidebarTab-rOGJFlNv.chunk.mjs.map +//# sourceMappingURL=FilesSidebarTab-2nDMcGde.chunk.mjs.map diff --git a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.license b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs.license similarity index 100% rename from dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.license rename to dist/FilesSidebarTab-2nDMcGde.chunk.mjs.license diff --git a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.map b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs.map similarity index 99% rename from dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.map rename to dist/FilesSidebarTab-2nDMcGde.chunk.mjs.map index 7554abde016e2..3369e8a9f4c3f 100644 --- a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.map +++ b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesSidebarTab-rOGJFlNv.chunk.mjs","sources":["../node_modules/vue-material-design-icons/AlertCircleOutline.vue","../node_modules/vue-material-design-icons/MessageReplyTextOutline.vue","../node_modules/vue-material-design-icons/Refresh.vue","../build/frontend/apps/comments/src/services/ReadComments.ts","../build/frontend/apps/comments/src/utils/cancelableRequest.ts","../build/frontend/apps/comments/src/views/CommentsApp.vue","../build/frontend/apps/comments/src/views/FilesSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Response } from 'webdav'\n\nimport client from './DavClient.ts'\n\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport function markCommentsAsRead(\n\tresourceType: string,\n\tresourceId: number,\n\tdate: Date,\n): Promise {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst readMarker = date.toUTCString()\n\n\treturn client.customRequest(resourcePath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param request the axios promise request\n * @return\n */\nfunction cancelableRequest(request: (url: string, options?: Record) => Promise) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param url the url to send the request to\n\t * @param [options] optional config for the request\n\t */\n\tconst fetch = async function(url: string, options?: Record) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\t{ signal, ...options },\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","markCommentsAsRead","resourceType","resourceId","date","resourcePath","readMarker","client","cancelableRequest","request","controller","signal","url","options","Comment","NcEmptyContent","NcButton","IconRefresh","IconMessageReplyTextOutline","IconAlertCircleOutline","elementVisibility","CommentView","t","isVisible","e","showError","abort","getComments","comments","DEFAULT_LIMIT","comment","error","logger","id","index","_normalizeClass","$options","_createVNode","_component_Comment","$data","_Fragment","_createBlock","_component_NcEmptyContent","_component_IconMessageReplyTextOutline","_hoisted_1","_renderList","_hoisted_2","_toDisplayString","_component_IconAlertCircleOutline","_component_NcButton","_component_IconRefresh","_createTextVNode","props","__props","computed","CommentsApp"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"FilesSidebarTab-2nDMcGde.chunk.mjs","sources":["../node_modules/vue-material-design-icons/AlertCircleOutline.vue","../node_modules/vue-material-design-icons/MessageReplyTextOutline.vue","../node_modules/vue-material-design-icons/Refresh.vue","../build/frontend/apps/comments/src/services/ReadComments.ts","../build/frontend/apps/comments/src/utils/cancelableRequest.ts","../build/frontend/apps/comments/src/views/CommentsApp.vue","../build/frontend/apps/comments/src/views/FilesSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Response } from 'webdav'\n\nimport client from './DavClient.ts'\n\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport function markCommentsAsRead(\n\tresourceType: string,\n\tresourceId: number,\n\tdate: Date,\n): Promise {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst readMarker = date.toUTCString()\n\n\treturn client.customRequest(resourcePath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param request the axios promise request\n * @return\n */\nfunction cancelableRequest(request: (url: string, options?: Record) => Promise) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param url the url to send the request to\n\t * @param [options] optional config for the request\n\t */\n\tconst fetch = async function(url: string, options?: Record) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\t{ signal, ...options },\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","markCommentsAsRead","resourceType","resourceId","date","resourcePath","readMarker","client","cancelableRequest","request","controller","signal","url","options","Comment","NcEmptyContent","NcButton","IconRefresh","IconMessageReplyTextOutline","IconAlertCircleOutline","elementVisibility","CommentView","t","isVisible","e","showError","abort","getComments","comments","DEFAULT_LIMIT","comment","error","logger","id","index","_normalizeClass","$options","_createVNode","_component_Comment","$data","_Fragment","_createBlock","_component_NcEmptyContent","_component_IconMessageReplyTextOutline","_hoisted_1","_renderList","_hoisted_2","_toDisplayString","_component_IconAlertCircleOutline","_component_NcButton","_component_IconRefresh","_createTextVNode","props","__props","computed","CommentsApp"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.map.license b/dist/FilesSidebarTab-2nDMcGde.chunk.mjs.map.license similarity index 100% rename from dist/FilesSidebarTab-rOGJFlNv.chunk.mjs.map.license rename to dist/FilesSidebarTab-2nDMcGde.chunk.mjs.map.license diff --git a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs similarity index 95% rename from dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs rename to dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs index 9a5f522bc9856..391afb150908c 100644 --- a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs +++ b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs @@ -1,4 +1,4 @@ -import{o as j,a as Y}from"./index--e26xJaU.chunk.mjs";import{a as B,l as te,g as se,b as J,f as oe,i as ne,m as re,e as N}from"./formatRelative-CRa9J-kT.chunk.mjs";import{t as d,f as ae,c as P}from"./fileSize-G68jp3EG.chunk.mjs";import{w as le,j as ce}from"./NcModal-71nQ0O0g.chunk.mjs";import{P as de,N as ue}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{P as Z}from"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import{_ as D,l as ve}from"./public-Cpb8_kIm.chunk.mjs";import{N as I}from"./NcActionButton-e8yDlmyF.chunk.mjs";import{N as me,_ as pe}from"./NcDateTime.vue_vue_type_script_setup_true_lang-D7UTvan1.chunk.mjs";import{N as fe}from"./NcAvatar-HI1jFdhm.chunk.mjs";import{D as he,N as ge,s as be}from"./TrayArrowDown-CLFpJyV3.chunk.mjs";import{o as r,f as m,g as C,t as _,h as y,m as Q,b as O,p as $,c as H,w as h,u,j as E,k as S,l as g,D as G,s as ye,E as X,i as M,L as ee,z as we,F as _e,B as Ce}from"./preload-helper-CseRDAJ7.chunk.mjs";import{D as ke,c as Ve}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{N as Se}from"./index-C34MMVmr.chunk.mjs";import{_ as He}from"./NcTextField.vue_vue_type_script_setup_true_lang-BoUgCzeW.chunk.mjs";import{g as ze}from"./dav-Dn-NvZjS.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./ArrowRight-gS7jb_sQ.chunk.mjs";import"./NcNoteCard-RF8V1iI7.chunk.mjs";import"./autolink-e8hCDu5_.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-bqRVJR4A.chunk.mjs";import"./Web-B-Jofi4I.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const Le={name:"BackupRestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=["aria-hidden","aria-label"],$e=["fill","width","height"],xe={d:"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z"},De={key:0};function Ee(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon backup-restore-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",xe,[i.title?(r(),m("title",De,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=D(Le,[["render",Ee]]),Ne={name:"FileCompareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ie=["aria-hidden","aria-label"],Me=["fill","width","height"],Be={d:"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z"},Pe={key:0};function Oe(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon file-compare-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Be,[i.title?(r(),m("title",Pe,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=D(Ne,[["render",Oe]]),Fe={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ue=["aria-hidden","aria-label"],qe=["fill","width","height"],Ke={d:"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8"},We={key:0};function je(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon image-off-outline-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Ke,[i.title?(r(),m("title",We,_(i.title),1)):y("",!0)])],8,qe))],16,Ue)}const Ye=D(Fe,[["render",je]]),Ze={key:0,class:"version__image"},Je=["src"],Ge={key:2,class:"version__image"},Qe={class:"version__info"},Xe=["title"],ei={key:1,class:"version__info","data-cy-files-version-author-name":""},ii={key:0},ti=["title"],si={class:"version__info version__info__subline"},oi=O({__name:"VersionEntry",props:{version:{},node:{},isCurrent:{type:Boolean},isFirstVersion:{type:Boolean},loadPreview:{type:Boolean},canView:{type:Boolean},canCompare:{type:Boolean}},emits:["click","compare","restore","delete","labelUpdateRequest"],setup(e,{emit:t}){const i=e,l=t,c=$(!1),n=$(!1),a=$(ve("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>ae(i.version.size)),f=g(()=>{const p=i.version.label??"";return i.isCurrent?p===""?d("files_versions","Current version"):`${p} (${d("files_versions","Current version")})`:i.isFirstVersion&&p===""?d("files_versions","Initial version"):p}),w=g(()=>!i.version.author||!i.version.authorName?"":i.version.author===B()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),o=g(()=>new Date(i.version.mtime).toLocaleString([P(),P().split("-")[0]],{timeStyle:"long",dateStyle:"long"})),V=g(()=>i.isCurrent?i.node.source:te()+i.version.url),A=g(()=>a.value.files.version_labeling===!0),z=g(()=>a.value.files.version_deletion===!0),F=g(()=>b(i.node,Z.DELETE)),T=g(()=>b(i.node,Z.UPDATE)),U=g(()=>!((i.node.permissions&Z.READ)===0||i.node.attributes["mount-type"]==="shared"&&i.node.attributes["share-attributes"]&&(JSON.parse(i.node.attributes["share-attributes"]).find(p=>p.scope==="permissions"&&p.key==="download")||{})?.value===!1));function q(){l("labelUpdateRequest")}function K(){l("restore",i.version)}async function W(){await G(),await G(),l("delete",i.version)}function s(p){i.canView&&p.preventDefault(),l("click",i.version)}function v(){if(!i.canView)throw new Error("Cannot compare version of this file");l("compare",i.version)}function b(p,L){return(p.permissions&L)!==0}return(p,L)=>(r(),H(u(ge),{class:"version",forceDisplayActions:!0,"actions-aria-label":u(d)("files_versions","Actions for version from {versionHumanExplicitDate}",{versionHumanExplicitDate:o.value}),"data-files-versions-version":e.version.fileVersion,href:V.value,onClick:s},{icon:h(()=>[e.loadPreview||c.value?e.version.previewUrl&&!n.value?(r(),m("img",{key:1,src:e.version.previewUrl,alt:"",decoding:"async",fetchpriority:"low",loading:"lazy",class:"version__image",onLoad:L[0]||(L[0]=ie=>c.value=!0),onError:L[1]||(L[1]=ie=>n.value=!0)},null,40,Je)):(r(),m("div",Ge,[S(Ye,{size:20})])):(r(),m("div",Ze))]),name:h(()=>[C("div",Qe,[f.value?(r(),m("div",{key:0,class:"version__info__label","data-cy-files-version-label":"",title:f.value},_(f.value),9,Xe)):y("",!0),w.value?(r(),m("div",ei,[f.value?(r(),m("span",ii,"•")):y("",!0),S(u(fe),{class:"avatar",user:e.version.author??void 0,size:20,disableMenu:"",disableTooltip:"",hideStatus:""},null,8,["user"]),C("div",{class:"version__info__author_name",title:w.value},_(w.value),9,ti)])):y("",!0)])]),subname:h(()=>[C("div",si,[S(u(pe),{class:"version__info__date",relativeTime:"short",timestamp:e.version.mtime},null,8,["timestamp"]),L[2]||(L[2]=C("span",null,"•",-1)),C("span",null,_(k.value),1)])]),actions:h(()=>[A.value&&T.value?(r(),H(u(I),{key:0,"data-cy-files-versions-version-action":"label",closeAfterClick:!0,onClick:q},{icon:h(()=>[S(de,{size:22})]),default:h(()=>[E(" "+_(e.version.label===""?u(d)("files_versions","Name this version"):u(d)("files_versions","Edit version name")),1)]),_:1})):y("",!0),!e.isCurrent&&e.canView&&e.canCompare?(r(),H(u(I),{key:1,"data-cy-files-versions-version-action":"compare",closeAfterClick:!0,onClick:v},{icon:h(()=>[S(Re,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Compare to current version")),1)]),_:1})):y("",!0),!e.isCurrent&&T.value?(r(),H(u(I),{key:2,"data-cy-files-versions-version-action":"restore",closeAfterClick:!0,onClick:K},{icon:h(()=>[S(Te,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),U.value?(r(),H(u(me),{key:3,"data-cy-files-versions-version-action":"download",href:V.value,closeAfterClick:!0,download:V.value},{icon:h(()=>[S(he,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&F.value?(r(),H(u(I),{key:4,"data-cy-files-versions-version-action":"delete",closeAfterClick:!0,onClick:W},{icon:h(()=>[S(ke,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=D(oi,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=O({__name:"VersionLabelDialog",props:{open:{type:Boolean,default:!1},label:{type:String,default:""}},emits:["update:open","update:label"],setup(e,{emit:t}){const i=e,l=t,c=ye("labelInput"),n=$(""),a=g(()=>{const f=[];return i.label.trim()===""?f.push({label:d("files_versions","Cancel")}):f.push({label:d("files_versions","Remove version name"),type:"reset",variant:"error",callback:()=>{k("")}}),[...f,{label:d("files_versions","Save version name"),icon:be,type:"submit",variant:"primary"}]});X(()=>{n.value=i.label??""}),X(()=>{i.open&&G(()=>c.value?.focus()),n.value=i.label});function k(f){l("update:label",f)}return(f,w)=>(r(),H(u(Se),{buttons:a.value,contentClasses:"version-label-modal",isForm:"",open:e.open,size:"normal",name:u(d)("files_versions","Name this version"),"onUpdate:open":w[1]||(w[1]=o=>f.$emit("update:open",o)),onSubmit:w[2]||(w[2]=o=>k(n.value))},{default:h(()=>[S(u(He),{ref_key:"labelInput",ref:c,modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=o=>n.value=o),class:"version-label-modal__input",label:u(d)("files_versions","Version name"),placeholder:u(d)("files_versions","Version name")},null,8,["modelValue","label","placeholder"]),C("p",ri,_(u(d)("files_versions","Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.")),1)]),_:1},8,["buttons","open","name"]))}}),li=D(ai,[["__scopeId","data-v-0955585b"]]),x=se().setApp("files_version").detectUser().build(),ci=O({name:"VirtualScrolling",props:{sections:{type:Array,required:!0},containerElement:{type:HTMLElement,default:null},useWindow:{type:Boolean,default:!1},headerHeight:{type:Number,default:75},renderDistance:{type:Number,default:.5},bottomBufferRatio:{type:Number,default:2},scrollToKey:{type:String,default:""}},emits:["needContent"],data(){return{scrollPosition:0,containerHeight:0,rowsContainerHeight:0,resizeObserver:null}},computed:{visibleSections(){x.debug("[VirtualScrolling] Computing visible section",{sections:this.sections});const e=this.containerHeight,t=this.scrollPosition,i=t+e;let l=0,c=0;const n=this.sections.map(o=>(c+=this.headerHeight,{...o,rows:o.rows.reduce((V,A)=>{l=c,c+=A.height;let z=0;return ci&&(z=(l-i)/e),z>this.renderDistance?V:[...V,{...A,distance:z}]},[])})).filter(o=>o.rows.length>0),a=n.flatMap(({rows:o})=>o).flatMap(({items:o})=>o),k=this._rowIdToKeyMap;a.forEach(o=>o.key=k[o.id]);const f=a.map(({key:o})=>o).filter(o=>o!==void 0),w=Object.values(k).filter(o=>!f.includes(o));return a.filter(({key:o})=>o===void 0).forEach(o=>o.key=w.pop()??Math.random().toString(36).substr(2)),this._rowIdToKeyMap=a.reduce((o,{id:V,key:A})=>({...o,[`${V}`]:A}),{}),n},totalHeight(){return this.sections.map(e=>this.headerHeight+e.height).reduce((e,t)=>e+t,0)+0},paddingTop(){if(this.visibleSections.length===0)return 0;let e=0;for(const t of this.sections){if(t.key!==this.visibleSections[0].rows[0].sectionKey){e+=this.headerHeight+t.height;continue}for(const i of t.rows){if(i.key===this.visibleSections[0].rows[0].key)return e;e+=i.height}e+=this.headerHeight}return e},rowsContainerStyle(){return{height:`${this.totalHeight}px`,paddingTop:`${this.paddingTop}px`}},isNearBottom(){const e=this.containerHeight*this.bottomBufferRatio;return this.scrollPosition+this.containerHeight>=this.totalHeight-e},container(){return x.debug("[VirtualScrolling] Computing container"),this.containerElement!==null?this.containerElement:this.useWindow?window:this.$refs.container}},watch:{isNearBottom(e){x.debug("[VirtualScrolling] isNearBottom changed",{value:e}),e&&this.$emit("needContent")},visibleSections(){this.isNearBottom&&this.$emit("needContent")},scrollToKey(e){let t=0;for(const i of this.sections){if(i.key!==e){t+=this.headerHeight+i.height;continue}break}x.debug("[VirtualScrolling] Scrolling to",{currentRowTopDistanceFromTop:t}),this.container.scrollTo({top:t,behavior:"smooth"})}},beforeCreate(){this._rowIdToKeyMap={}},mounted(){this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const i=t.contentRect;t.target===this.container&&(this.containerHeight=i.height),t.target.classList.contains("vs-rows-container")&&(this.rowsContainerHeight=i.height)}}),this.useWindow?(window.addEventListener("resize",this.updateContainerSize,{passive:!0}),this.containerHeight=window.innerHeight):this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.$refs.rowsContainer),this.container.addEventListener("scroll",this.updateScrollPosition,{passive:!0})},beforeUnmount(){this.useWindow&&window.removeEventListener("resize",this.updateContainerSize),this.resizeObserver?.disconnect(),this.container.removeEventListener("scroll",this.updateScrollPosition)},methods:{updateScrollPosition(){this._onScrollHandle??=requestAnimationFrame(()=>{this._onScrollHandle=null,this.useWindow?this.scrollPosition=this.container.scrollY:this.scrollPosition=this.container.scrollTop})},updateContainerSize(){this.containerHeight=window.innerHeight}}}),di={key:0,ref:"container",class:"vs-container"};function ui(e,t,i,l,c,n){return!e.useWindow&&e.containerElement===null?(r(),m("div",di,[C("div",{ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4)],512)):(r(),m("div",{key:1,ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4))}const vi=D(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` +import{o as j,a as Y}from"./index-CIl948Sr.chunk.mjs";import{a as B,l as te,g as se,b as J,f as oe,i as ne,m as re,e as N}from"./formatRelative-CRa9J-kT.chunk.mjs";import{t as d,f as ae,c as P}from"./fileSize-G68jp3EG.chunk.mjs";import{w as le,j as ce}from"./NcModal-BiE9lNuC.chunk.mjs";import{P as de,N as ue}from"./PencilOutline-Cfr8gsXf.chunk.mjs";import{P as Z}from"./externalStorageUtils-D5mNQ-cb.chunk.mjs";import{_ as D,l as ve}from"./public-Cpb8_kIm.chunk.mjs";import{N as I}from"./NcActionButton-DrNkZJlL.chunk.mjs";import{N as me,_ as pe}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BQ460eQa.chunk.mjs";import{N as fe}from"./NcAvatar-DOAqo5-K.chunk.mjs";import{D as he,N as ge,s as be}from"./TrayArrowDown-CE5R5Ey_.chunk.mjs";import{o as r,f as m,g as C,t as _,h as y,m as Q,b as O,p as $,c as H,w as h,u,j as E,k as S,l as g,D as G,s as ye,E as X,i as M,L as ee,z as we,F as _e,B as Ce}from"./preload-helper-CseRDAJ7.chunk.mjs";import{D as ke,c as Ve}from"./TrashCanOutline-DwcDrXRM.chunk.mjs";import{N as Se}from"./index-BdZYurIK.chunk.mjs";import{_ as He}from"./NcTextField.vue_vue_type_script_setup_true_lang-_vI8otN7.chunk.mjs";import{g as ze}from"./dav-Dn-NvZjS.chunk.mjs";import"./createElementId-Dh4E-ofN.chunk.mjs";import"./ArrowRight-Df3E_Asm.chunk.mjs";import"./NcNoteCard-BclmmzV9.chunk.mjs";import"./autolink-tBB0cdjL.chunk.mjs";import"./colors-Bnsgqd1Q.chunk.mjs";import"./NcUserStatusIcon-7DgqLTNh.chunk.mjs";import"./Web-BP0iTyVP.chunk.mjs";import"./index-DWUoveEY.chunk.mjs";const Le={name:"BackupRestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=["aria-hidden","aria-label"],$e=["fill","width","height"],xe={d:"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z"},De={key:0};function Ee(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon backup-restore-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",xe,[i.title?(r(),m("title",De,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=D(Le,[["render",Ee]]),Ne={name:"FileCompareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ie=["aria-hidden","aria-label"],Me=["fill","width","height"],Be={d:"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z"},Pe={key:0};function Oe(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon file-compare-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Be,[i.title?(r(),m("title",Pe,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=D(Ne,[["render",Oe]]),Fe={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ue=["aria-hidden","aria-label"],qe=["fill","width","height"],Ke={d:"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8"},We={key:0};function je(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon image-off-outline-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Ke,[i.title?(r(),m("title",We,_(i.title),1)):y("",!0)])],8,qe))],16,Ue)}const Ye=D(Fe,[["render",je]]),Ze={key:0,class:"version__image"},Je=["src"],Ge={key:2,class:"version__image"},Qe={class:"version__info"},Xe=["title"],ei={key:1,class:"version__info","data-cy-files-version-author-name":""},ii={key:0},ti=["title"],si={class:"version__info version__info__subline"},oi=O({__name:"VersionEntry",props:{version:{},node:{},isCurrent:{type:Boolean},isFirstVersion:{type:Boolean},loadPreview:{type:Boolean},canView:{type:Boolean},canCompare:{type:Boolean}},emits:["click","compare","restore","delete","labelUpdateRequest"],setup(e,{emit:t}){const i=e,l=t,c=$(!1),n=$(!1),a=$(ve("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>ae(i.version.size)),f=g(()=>{const p=i.version.label??"";return i.isCurrent?p===""?d("files_versions","Current version"):`${p} (${d("files_versions","Current version")})`:i.isFirstVersion&&p===""?d("files_versions","Initial version"):p}),w=g(()=>!i.version.author||!i.version.authorName?"":i.version.author===B()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),o=g(()=>new Date(i.version.mtime).toLocaleString([P(),P().split("-")[0]],{timeStyle:"long",dateStyle:"long"})),V=g(()=>i.isCurrent?i.node.source:te()+i.version.url),A=g(()=>a.value.files.version_labeling===!0),z=g(()=>a.value.files.version_deletion===!0),F=g(()=>b(i.node,Z.DELETE)),T=g(()=>b(i.node,Z.UPDATE)),U=g(()=>!((i.node.permissions&Z.READ)===0||i.node.attributes["mount-type"]==="shared"&&i.node.attributes["share-attributes"]&&(JSON.parse(i.node.attributes["share-attributes"]).find(p=>p.scope==="permissions"&&p.key==="download")||{})?.value===!1));function q(){l("labelUpdateRequest")}function K(){l("restore",i.version)}async function W(){await G(),await G(),l("delete",i.version)}function s(p){i.canView&&p.preventDefault(),l("click",i.version)}function v(){if(!i.canView)throw new Error("Cannot compare version of this file");l("compare",i.version)}function b(p,L){return(p.permissions&L)!==0}return(p,L)=>(r(),H(u(ge),{class:"version",forceDisplayActions:!0,"actions-aria-label":u(d)("files_versions","Actions for version from {versionHumanExplicitDate}",{versionHumanExplicitDate:o.value}),"data-files-versions-version":e.version.fileVersion,href:V.value,onClick:s},{icon:h(()=>[e.loadPreview||c.value?e.version.previewUrl&&!n.value?(r(),m("img",{key:1,src:e.version.previewUrl,alt:"",decoding:"async",fetchpriority:"low",loading:"lazy",class:"version__image",onLoad:L[0]||(L[0]=ie=>c.value=!0),onError:L[1]||(L[1]=ie=>n.value=!0)},null,40,Je)):(r(),m("div",Ge,[S(Ye,{size:20})])):(r(),m("div",Ze))]),name:h(()=>[C("div",Qe,[f.value?(r(),m("div",{key:0,class:"version__info__label","data-cy-files-version-label":"",title:f.value},_(f.value),9,Xe)):y("",!0),w.value?(r(),m("div",ei,[f.value?(r(),m("span",ii,"•")):y("",!0),S(u(fe),{class:"avatar",user:e.version.author??void 0,size:20,disableMenu:"",disableTooltip:"",hideStatus:""},null,8,["user"]),C("div",{class:"version__info__author_name",title:w.value},_(w.value),9,ti)])):y("",!0)])]),subname:h(()=>[C("div",si,[S(u(pe),{class:"version__info__date",relativeTime:"short",timestamp:e.version.mtime},null,8,["timestamp"]),L[2]||(L[2]=C("span",null,"•",-1)),C("span",null,_(k.value),1)])]),actions:h(()=>[A.value&&T.value?(r(),H(u(I),{key:0,"data-cy-files-versions-version-action":"label",closeAfterClick:!0,onClick:q},{icon:h(()=>[S(de,{size:22})]),default:h(()=>[E(" "+_(e.version.label===""?u(d)("files_versions","Name this version"):u(d)("files_versions","Edit version name")),1)]),_:1})):y("",!0),!e.isCurrent&&e.canView&&e.canCompare?(r(),H(u(I),{key:1,"data-cy-files-versions-version-action":"compare",closeAfterClick:!0,onClick:v},{icon:h(()=>[S(Re,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Compare to current version")),1)]),_:1})):y("",!0),!e.isCurrent&&T.value?(r(),H(u(I),{key:2,"data-cy-files-versions-version-action":"restore",closeAfterClick:!0,onClick:K},{icon:h(()=>[S(Te,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),U.value?(r(),H(u(me),{key:3,"data-cy-files-versions-version-action":"download",href:V.value,closeAfterClick:!0,download:V.value},{icon:h(()=>[S(he,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&F.value?(r(),H(u(I),{key:4,"data-cy-files-versions-version-action":"delete",closeAfterClick:!0,onClick:W},{icon:h(()=>[S(ke,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=D(oi,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=O({__name:"VersionLabelDialog",props:{open:{type:Boolean,default:!1},label:{type:String,default:""}},emits:["update:open","update:label"],setup(e,{emit:t}){const i=e,l=t,c=ye("labelInput"),n=$(""),a=g(()=>{const f=[];return i.label.trim()===""?f.push({label:d("files_versions","Cancel")}):f.push({label:d("files_versions","Remove version name"),type:"reset",variant:"error",callback:()=>{k("")}}),[...f,{label:d("files_versions","Save version name"),icon:be,type:"submit",variant:"primary"}]});X(()=>{n.value=i.label??""}),X(()=>{i.open&&G(()=>c.value?.focus()),n.value=i.label});function k(f){l("update:label",f)}return(f,w)=>(r(),H(u(Se),{buttons:a.value,contentClasses:"version-label-modal",isForm:"",open:e.open,size:"normal",name:u(d)("files_versions","Name this version"),"onUpdate:open":w[1]||(w[1]=o=>f.$emit("update:open",o)),onSubmit:w[2]||(w[2]=o=>k(n.value))},{default:h(()=>[S(u(He),{ref_key:"labelInput",ref:c,modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=o=>n.value=o),class:"version-label-modal__input",label:u(d)("files_versions","Version name"),placeholder:u(d)("files_versions","Version name")},null,8,["modelValue","label","placeholder"]),C("p",ri,_(u(d)("files_versions","Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.")),1)]),_:1},8,["buttons","open","name"]))}}),li=D(ai,[["__scopeId","data-v-0955585b"]]),x=se().setApp("files_version").detectUser().build(),ci=O({name:"VirtualScrolling",props:{sections:{type:Array,required:!0},containerElement:{type:HTMLElement,default:null},useWindow:{type:Boolean,default:!1},headerHeight:{type:Number,default:75},renderDistance:{type:Number,default:.5},bottomBufferRatio:{type:Number,default:2},scrollToKey:{type:String,default:""}},emits:["needContent"],data(){return{scrollPosition:0,containerHeight:0,rowsContainerHeight:0,resizeObserver:null}},computed:{visibleSections(){x.debug("[VirtualScrolling] Computing visible section",{sections:this.sections});const e=this.containerHeight,t=this.scrollPosition,i=t+e;let l=0,c=0;const n=this.sections.map(o=>(c+=this.headerHeight,{...o,rows:o.rows.reduce((V,A)=>{l=c,c+=A.height;let z=0;return ci&&(z=(l-i)/e),z>this.renderDistance?V:[...V,{...A,distance:z}]},[])})).filter(o=>o.rows.length>0),a=n.flatMap(({rows:o})=>o).flatMap(({items:o})=>o),k=this._rowIdToKeyMap;a.forEach(o=>o.key=k[o.id]);const f=a.map(({key:o})=>o).filter(o=>o!==void 0),w=Object.values(k).filter(o=>!f.includes(o));return a.filter(({key:o})=>o===void 0).forEach(o=>o.key=w.pop()??Math.random().toString(36).substr(2)),this._rowIdToKeyMap=a.reduce((o,{id:V,key:A})=>({...o,[`${V}`]:A}),{}),n},totalHeight(){return this.sections.map(e=>this.headerHeight+e.height).reduce((e,t)=>e+t,0)+0},paddingTop(){if(this.visibleSections.length===0)return 0;let e=0;for(const t of this.sections){if(t.key!==this.visibleSections[0].rows[0].sectionKey){e+=this.headerHeight+t.height;continue}for(const i of t.rows){if(i.key===this.visibleSections[0].rows[0].key)return e;e+=i.height}e+=this.headerHeight}return e},rowsContainerStyle(){return{height:`${this.totalHeight}px`,paddingTop:`${this.paddingTop}px`}},isNearBottom(){const e=this.containerHeight*this.bottomBufferRatio;return this.scrollPosition+this.containerHeight>=this.totalHeight-e},container(){return x.debug("[VirtualScrolling] Computing container"),this.containerElement!==null?this.containerElement:this.useWindow?window:this.$refs.container}},watch:{isNearBottom(e){x.debug("[VirtualScrolling] isNearBottom changed",{value:e}),e&&this.$emit("needContent")},visibleSections(){this.isNearBottom&&this.$emit("needContent")},scrollToKey(e){let t=0;for(const i of this.sections){if(i.key!==e){t+=this.headerHeight+i.height;continue}break}x.debug("[VirtualScrolling] Scrolling to",{currentRowTopDistanceFromTop:t}),this.container.scrollTo({top:t,behavior:"smooth"})}},beforeCreate(){this._rowIdToKeyMap={}},mounted(){this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const i=t.contentRect;t.target===this.container&&(this.containerHeight=i.height),t.target.classList.contains("vs-rows-container")&&(this.rowsContainerHeight=i.height)}}),this.useWindow?(window.addEventListener("resize",this.updateContainerSize,{passive:!0}),this.containerHeight=window.innerHeight):this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.$refs.rowsContainer),this.container.addEventListener("scroll",this.updateScrollPosition,{passive:!0})},beforeUnmount(){this.useWindow&&window.removeEventListener("resize",this.updateContainerSize),this.resizeObserver?.disconnect(),this.container.removeEventListener("scroll",this.updateScrollPosition)},methods:{updateScrollPosition(){this._onScrollHandle??=requestAnimationFrame(()=>{this._onScrollHandle=null,this.useWindow?this.scrollPosition=this.container.scrollY:this.scrollPosition=this.container.scrollTop})},updateContainerSize(){this.containerHeight=window.innerHeight}}}),di={key:0,ref:"container",class:"vs-container"};function ui(e,t,i,l,c,n){return!e.useWindow&&e.containerElement===null?(r(),m("div",di,[C("div",{ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4)],512)):(r(),m("div",{key:1,ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4))}const vi=D(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` `})}async function bi(e){await R.deleteFile(e.filename)}const yi={key:0,class:"versions-tab__container"},wi=["aria-label"],Ki=O({__name:"FilesVersionsSidebarTab",props:{active:{type:Boolean},node:{},folder:{},view:{}},setup(e){const t=e,i=ce(),l=$([]),c=$(!1),n=$(!1),a=$(null),k=g(()=>Math.floor(new Date(t.node?.mtime?.getTime()??0).getTime()/1e3)*1e3),f=g(()=>[...l.value].sort((s,v)=>t.node?s.mtime===t.node.mtime?.getTime()?-1:v.mtime===t.node.mtime?.getTime()?1:v.mtime-s.mtime:0)),w=g(()=>[{key:"versions",rows:f.value.map(s=>({key:s.mtime.toString(),height:68,sectionKey:"versions",items:[{id:s.mtime.toString(),version:s}]})),height:68*f.value.length}]),o=g(()=>l.value.map(s=>s.mtime).reduce((s,v)=>Math.min(s,v))),V=g(()=>t.node?window.OCA.Viewer?.mimetypes?.includes(t.node?.mime):!1),A=g(()=>!i.value&&window.OCA.Viewer?.mimetypesCompare?.includes(t.node?.mime));we(()=>t.node.id,z,{immediate:!0}),le(k,z,{debounce:600});async function z(){try{c.value=!0,l.value=await pi(t.node)}finally{c.value=!1}}async function F(s){if(!t.node)return;const v=t.node.clone();v.attributes.etag=s.etag,v.size=s.size,v.mtime=new Date(s.mtime);const b={preventDefault:!1,node:v,version:s};if(N("files_versions:restore:requested",b),!b.preventDefault)try{await fi(s),s.label?j(d("files_versions",`${s.label} restored`)):s.mtime===o.value?j(d("files_versions","Initial version restored")):j(d("files_versions","Version restored")),N("files:node:updated",v),N("files_versions:restore:restored",{node:v,version:s})}catch{Y(d("files_versions","Could not restore version")),N("files_versions:restore:failed",s)}}function T(s){n.value=!0,a.value=s}async function U(s){if(a.value===null)throw new Error("editedVersion should be set at that point");const v=a.value.label;a.value.label=s,n.value=!1;try{await gi(a.value,s),a.value=null}catch(b){a.value.label=v,Y(d("files_versions","Could not set version label")),x.error("Could not set version label",{exception:b})}}async function q(s){const v=l.value.indexOf(s);l.value.splice(v,1);try{await bi(s)}catch{l.value.push(s),Y(d("files_versions","Could not delete version"))}}function K(s){if(t.node!==null){if(s.mtime===t.node?.mtime?.getTime()){window.OCA.Viewer.open({path:t.node.path});return}window.OCA.Viewer.open({fileInfo:{...s,filename:s.filename,previewUrl:void 0},enableSidebar:!1})}}function W(s){const v=l.value.map(b=>({...b,previewUrl:void 0}));window.OCA.Viewer.compare({fileid:t.node.fileid,filename:t.node.path,basename:t.node.basename,source:t.node.source,mime:t.node.mime,hasPreview:t.node.attributes?.["has-preview"]??!1},v.find(b=>b.source===s.source))}return(s,v)=>e.node?(r(),m("div",yi,[S(vi,{sections:w.value,headerHeight:0},{default:h(({visibleSections:b})=>[C("ul",{"aria-label":u(d)("files_versions","File versions"),"data-files-versions-versions-list":""},[b.length===1?(r(!0),m(_e,{key:0},Ce(b[0].rows,p=>(r(),H(ni,{key:p.items[0].version.mtime,canView:V.value,canCompare:A.value,loadPreview:e.active,version:p.items[0].version,node:e.node,isCurrent:p.items[0].version.mtime===k.value,isFirstVersion:p.items[0].version.mtime===o.value,onClick:K,onCompare:W,onRestore:F,onLabelUpdateRequest:L=>T(p.items[0].version),onDelete:q},null,8,["canView","canCompare","loadPreview","version","node","isCurrent","isFirstVersion","onLabelUpdateRequest"]))),128)):y("",!0)],8,wi)]),loader:h(()=>[c.value?(r(),H(u(ue),{key:0,class:"files-list-viewer__loader"})):y("",!0)]),_:1},8,["sections"]),a.value?(r(),H(li,{key:0,open:n.value,"onUpdate:open":v[0]||(v[0]=b=>n.value=b),label:a.value.label,"onUpdate:label":U},null,8,["open","label"])):y("",!0)])):y("",!0)}});export{Ki as default}; -//# sourceMappingURL=FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map +//# sourceMappingURL=FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map diff --git a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.license b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.license similarity index 100% rename from dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.license rename to dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.license diff --git a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map similarity index 99% rename from dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map rename to dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map index 51674b94d5746..73fcda4e2c64e 100644 --- a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map +++ b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\t// server timestamps are seconds-based, we have to nullify the milliseconds\n\tconst nodeNormalizedMtime = Math.floor((node.mtime?.getTime() ?? 0) / 1000) * 1000\n\n\tlet previewUrl: string\n\tif (mtime === nodeNormalizedMtime) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.id,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.id!,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","nodeNormalizedMtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","watch","loadVersions","watchDebounced","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\t// server timestamps are seconds-based, we have to nullify the milliseconds\n\tconst nodeNormalizedMtime = Math.floor((node.mtime?.getTime() ?? 0) / 1000) * 1000\n\n\tlet previewUrl: string\n\tif (mtime === nodeNormalizedMtime) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.id,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.id!,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","nodeNormalizedMtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","watch","loadVersions","watchDebounced","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map.license b/dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map.license similarity index 100% rename from dist/FilesVersionsSidebarTab-BYvzlyHE.chunk.mjs.map.license rename to dist/FilesVersionsSidebarTab-DNpBuPAs.chunk.mjs.map.license diff --git a/dist/NcActionButton-e8yDlmyF.chunk.mjs b/dist/NcActionButton-DrNkZJlL.chunk.mjs similarity index 95% rename from dist/NcActionButton-e8yDlmyF.chunk.mjs rename to dist/NcActionButton-DrNkZJlL.chunk.mjs index d6859e684c07d..4b24b56ab9459 100644 --- a/dist/NcActionButton-e8yDlmyF.chunk.mjs +++ b/dist/NcActionButton-DrNkZJlL.chunk.mjs @@ -1,2 +1,2 @@ -import{k as m,n as b}from"./ArrowRight-gS7jb_sQ.chunk.mjs";import{_ as y,N as k}from"./createElementId-Dh4E-ofN.chunk.mjs";import{b as f,c as g}from"./NcModal-71nQ0O0g.chunk.mjs";import{r as x,o as i,f as n,g as l,i as C,L as _,n as d,t as s,h as o,c as h,m as v}from"./preload-helper-CseRDAJ7.chunk.mjs";const V={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},S={mixins:[V],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:f}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(t){this.$emit("click",t),this.closeAfterClick&&this.closeMenu(!1)}}},I={name:"NcActionButton",components:{NcIconSvgWrapper:k},mixins:[S],inject:{isInSemanticMenu:{from:g,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:t=>["button","checkbox","radio","reset","submit"].includes(t)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:b,mdiChevronRight:m}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const t={};return this.isInSemanticMenu?(t.role="menuitem",this.type==="radio"?(t.role="menuitemradio",t["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(t.role="menuitemcheckbox",t["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(t["aria-pressed"]=this.modelValue?"true":"false"),t}},methods:{handleClick(t){this.onClick(t),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},T=["role"],M=["aria-label","disabled","title","type"],$={class:"action-button__longtext-wrapper"},A={key:0,class:"action-button__name"},L=["textContent"],B={key:2,class:"action-button__text"},N=["textContent"],U={key:2,class:"action-button__pressed-icon material-design-icon"};function w(t,c,a,u,R,e){const r=x("NcIconSvgWrapper");return i(),n("li",{class:d(["action",{"action--disabled":a.disabled}]),role:e.isInSemanticMenu&&"presentation"},[l("button",v({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":e.isChecked,focusable:e.isFocusable}],disabled:a.disabled,title:t.title,type:e.nativeType},e.buttonAttributes,{onClick:c[0]||(c[0]=(...p)=>e.handleClick&&e.handleClick(...p))}),[C(t.$slots,"icon",{},()=>[l("span",{class:d([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:_({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),l("span",$,[t.name?(i(),n("strong",A,s(t.name),1)):o("",!0),t.isLongText?(i(),n("span",{key:1,class:"action-button__longtext",textContent:s(t.text)},null,8,L)):(i(),n("span",B,s(t.text),1)),a.description?(i(),n("span",{key:3,class:"action-button__description",textContent:s(a.description)},null,8,N)):o("",!0)]),a.isMenu?(i(),h(r,{key:0,class:"action-button__menu-icon",directional:"",path:u.mdiChevronRight},null,8,["path"])):e.isChecked?(i(),h(r,{key:1,path:u.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):e.isChecked===!1?(i(),n("span",U)):o("",!0),o("",!0)],16,M)],10,T)}const H=y(I,[["render",w],["__scopeId","data-v-6c2daf4e"]]);export{S as A,H as N,V as a}; -//# sourceMappingURL=NcActionButton-e8yDlmyF.chunk.mjs.map +import{k as m,n as b}from"./ArrowRight-Df3E_Asm.chunk.mjs";import{_ as y,N as k}from"./createElementId-Dh4E-ofN.chunk.mjs";import{b as f,c as g}from"./NcModal-BiE9lNuC.chunk.mjs";import{r as x,o as i,f as n,g as l,i as C,L as _,n as d,t as s,h as o,c as h,m as v}from"./preload-helper-CseRDAJ7.chunk.mjs";const V={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},S={mixins:[V],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:f}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(t){this.$emit("click",t),this.closeAfterClick&&this.closeMenu(!1)}}},I={name:"NcActionButton",components:{NcIconSvgWrapper:k},mixins:[S],inject:{isInSemanticMenu:{from:g,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:t=>["button","checkbox","radio","reset","submit"].includes(t)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:b,mdiChevronRight:m}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const t={};return this.isInSemanticMenu?(t.role="menuitem",this.type==="radio"?(t.role="menuitemradio",t["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(t.role="menuitemcheckbox",t["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(t["aria-pressed"]=this.modelValue?"true":"false"),t}},methods:{handleClick(t){this.onClick(t),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},T=["role"],M=["aria-label","disabled","title","type"],$={class:"action-button__longtext-wrapper"},A={key:0,class:"action-button__name"},L=["textContent"],B={key:2,class:"action-button__text"},N=["textContent"],U={key:2,class:"action-button__pressed-icon material-design-icon"};function w(t,c,a,u,R,e){const r=x("NcIconSvgWrapper");return i(),n("li",{class:d(["action",{"action--disabled":a.disabled}]),role:e.isInSemanticMenu&&"presentation"},[l("button",v({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":e.isChecked,focusable:e.isFocusable}],disabled:a.disabled,title:t.title,type:e.nativeType},e.buttonAttributes,{onClick:c[0]||(c[0]=(...p)=>e.handleClick&&e.handleClick(...p))}),[C(t.$slots,"icon",{},()=>[l("span",{class:d([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:_({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),l("span",$,[t.name?(i(),n("strong",A,s(t.name),1)):o("",!0),t.isLongText?(i(),n("span",{key:1,class:"action-button__longtext",textContent:s(t.text)},null,8,L)):(i(),n("span",B,s(t.text),1)),a.description?(i(),n("span",{key:3,class:"action-button__description",textContent:s(a.description)},null,8,N)):o("",!0)]),a.isMenu?(i(),h(r,{key:0,class:"action-button__menu-icon",directional:"",path:u.mdiChevronRight},null,8,["path"])):e.isChecked?(i(),h(r,{key:1,path:u.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):e.isChecked===!1?(i(),n("span",U)):o("",!0),o("",!0)],16,M)],10,T)}const H=y(I,[["render",w],["__scopeId","data-v-6c2daf4e"]]);export{S as A,H as N,V as a}; +//# sourceMappingURL=NcActionButton-DrNkZJlL.chunk.mjs.map diff --git a/dist/NcActionButton-e8yDlmyF.chunk.mjs.license b/dist/NcActionButton-DrNkZJlL.chunk.mjs.license similarity index 100% rename from dist/NcActionButton-e8yDlmyF.chunk.mjs.license rename to dist/NcActionButton-DrNkZJlL.chunk.mjs.license diff --git a/dist/NcActionButton-e8yDlmyF.chunk.mjs.map b/dist/NcActionButton-DrNkZJlL.chunk.mjs.map similarity index 99% rename from dist/NcActionButton-e8yDlmyF.chunk.mjs.map rename to dist/NcActionButton-DrNkZJlL.chunk.mjs.map index fbf26be44905b..d5a25332c63d6 100644 --- a/dist/NcActionButton-e8yDlmyF.chunk.mjs.map +++ b/dist/NcActionButton-DrNkZJlL.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcActionButton-e8yDlmyF.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/actionGlobal.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton.mjs"],"sourcesContent":["const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default?.()[0].children?.trim?.() || \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal.mjs.map\n","import { warn } from \"vue\";\nimport { N as NC_ACTIONS_CLOSE_MENU } from \"./useNcActions.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal.mjs\";\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n inject: {\n closeMenu: {\n from: NC_ACTIONS_CLOSE_MENU\n }\n },\n emits: [\n \"click\"\n ],\n created() {\n if (\"ariaHidden\" in this.$attrs) {\n warn(\"[NcAction*]: Do not set the ariaHidden attribute as the root element will inherit the incorrect aria-hidden.\");\n }\n },\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n this.closeMenu(false);\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText.mjs.map\n","import '../assets/NcActionButton.css';\nimport { c as mdiChevronRight, d as mdiCheck } from \"./mdi.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { A as ActionTextMixin } from \"./actionText.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, normalizeStyle, toDisplayString, createCommentVNode, createBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of ``\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"update:modelValue\"],\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the