6 lines
21 KiB
JavaScript
6 lines
21 KiB
JavaScript
import{C as e,Ct as t,E as n,Mt as r,Q as i,Qt as a,W as o,X as s,Y as c,_ as l,c as u,dt as d,en as f,ft as p,g as m,h,m as g,tn as _,v,vt as y,w as b}from"./vendor/json-editor-vue-ddj4xtqm.js";import"./vendor/shiki-kunkft64.js";import{$ as x,Gn as S,Gt as C,Ht as w,Mt as T,T as E,Ut as D,Wt as O,X as k,Xt as A,_ as j,an as M,c as N,in as P,j as F,k as I,on as L,ot as R,pt as z,q as B,qn as ee,s as V,sn as H,tn as U,v as te,y as W}from"#entry";import{t as G}from"./ndropdown-ef0253xr.js";import"./client-cbmkjf3j.js";import"./ncode-block-j2hcqwrp.js";import{t as K}from"./ndrawer-lh0r2gbb.js";import{t as q}from"./composables-g8w9dpc0.js";import{t as J}from"./ncheckbox-f4a8016e.js";import{t as ne}from"./filepath-item-osqp88cx.js";import{t as Y}from"./nnavbar-fdsyxwr6.js";import"./nicon-title-hrj2h1mn.js";import{t as re}from"./nsection-block-kp1wt3o4.js";import{t as X}from"./code-snippets-cgl6wpax.js";var ie={key:0,"h-full":``,"w-full":``,flex:``,"items-center":``,"justify-center":``},ae={for:`drop-zone-input`,"text-3xl":``,hover:`text-green cursor-pointer`,"transition-all":``},oe={key:1,relative:``,"h-full":``,"w-full":``,grid:`~ rows-[max-content_1fr_max-content]`},se={grid:`~ cols-minmax-8rem gap-8`,"overflow-auto":``,p6:``},ce={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,rounded:``,"rounded-t-lg":``,"bg-active":``,"object-cover":``,class:`aspect-1/1`,border:`~ base`},le=[`src`],ue={flex:`~ gap1`,"items-center":``},de={flex:`~ gap-2`,"items-center":``,"justify-center":``,p8:``},fe=n({__name:`AssetDropZone`,props:{modelValue:{type:Boolean,required:!0},folder:{type:String,required:!0}},setup(n){let s=n,f=L(s,`modelValue`),g=t(),_=t([]);function y(e){g.value=e.target,f.value=!0}function x(e){e.target===g.value&&(f.value=!1)}function S(e){e.preventDefault()}function C(e){e.preventDefault(),T(e.dataTransfer.files)}function T(e){let t=Array.from(e||[]);if(t.length){let e=[],n=_.value.map(e=>e.name);for(let r of t)if(n.includes(r.name)){let t=1,[i,a]=r.name.split(`.`);for(;n.includes(`${i} (${t}).${a}`);)t++;let o=`${i}-${t}.${a}`,s=new Blob([r],{type:r.type}),c=new File([s],o,{lastModified:Date.now()});e.push(c),n.push(o)}else r.type===``&&k({message:`Folders are not supported yet`,icon:`carbon:face-dissatisfied`,classes:`text-orange`}),e.push(r);_.value=[..._.value,...e]}}async function E(){if(D.value||O.value)return;W(`assets:upload`);let e=[];for(let t of _.value){let n=new FileReader;n.readAsDataURL(t);let r=(await new Promise(e=>{n.onload=()=>e(n.result)})).split(`;base64,`).pop();e.push({path:t.name,encoding:`base64`,content:r})}await w.writeStaticAssets(await B(),[...e],s.folder).then(()=>{R(),k({message:`Files uploaded successfully!`,icon:`i-carbon:checkmark`})}).catch(e=>{R(),k({message:`Error uploading files: ${e?.message??`unknown`}`,icon:`i-carbon-warning`,classes:`text-red`})}),f.value=!1}function A(e){_.value?.splice(e,1)}function j(e){return URL.createObjectURL(e)}function M(e,t){let[n,r]=e.name.split(`.`),i=t.replace(/\.\w+$/,``),a=`${i}.${r}`;return i.length===0?(alert(`File name must be at least 1 characters long`),n):(Object.defineProperty(e,`name`,{value:a,writable:!1}),_.value.splice(_.value.indexOf(e),1,e),e)}function P(){_.value=[]}function R(){f.value=!1,P()}return U(`dragenter`,y),U(`dragleave`,x),U(`dragover`,S),U(`drop`,C),(t,n)=>{let s=I,g=F,y=N,x=i(`tooltip`);return o(),v(`div`,{fixed:``,"bottom-0":``,"left-13":``,"right-0":``,"top-0":``,"z-10":``,"backdrop-blur-20":``,"transition-all":``,class:a(r(f)?`opacity-100 visible`:`opacity-0 invisible`)},[p(b(s,{icon:`carbon-close`,title:`Close`,absolute:``,"right-5":``,"top-5":``,"z-20":``,"text-xl":``,border:!1,onClick:R},null,512),[[x,`Close`,void 0,{"bottom-end":!0}]]),_.value?.length?(o(),v(`div`,oe,[n[4]||=h(`div`,{px6:``,py6:``},[h(`h1`,{"text-2xl":``},` Upload `),h(`p`,{"text-sm":``,op50:``},` Drag and drop files to upload `)],-1),h(`div`,se,[(o(!0),v(u,null,c(_.value,(e,t)=>(o(),v(`div`,{key:e.name,flex:`~ col gap-2`,relative:``,"h-50":``,"w-40":``,"items-center":``},[h(`div`,ce,[h(`img`,{"h-full":``,"w-full":``,"rounded-t-lg":``,"object-cover":``,src:j(e)},null,8,le)]),h(`div`,ue,[b(y,{n:`xs`,"h-full":``,"flex-auto":``,"model-value":e.name,"onUpdate:modelValue":t=>M(e,t.target.value)},null,8,[`model-value`,`onUpdate:modelValue`]),b(s,{n:`red`,icon:`carbon-trash-can`,"h-full":``,"flex-none":``,title:`Remove file`,onClick:e=>A(t)},null,8,[`onClick`])])]))),128))]),h(`div`,de,[_.value.length?(o(),m(s,{key:0,n:`red`,onClick:P},{default:d(()=>[b(g,{icon:`carbon-clean`}),n[2]||=e(` Clear `,-1)]),_:1})):l(``,!0),b(s,{disabled:!_.value.length,n:`primary solid`,onClick:E},{default:d(()=>[b(g,{icon:`carbon-cloud-upload`}),n[3]||=e(` Upload `,-1)]),_:1},8,[`disabled`])])])):(o(),v(`div`,ie,[h(`label`,ae,[b(g,{icon:`carbon-cloud-upload`,"mr-2":``}),n[1]||=e(` Drop files here or click to select `,-1)]),h(`input`,{id:`drop-zone-input`,type:`file`,multiple:``,hidden:``,onChange:n[0]||=e=>T(e.target.files)},null,32)]))],2)}}}),pe=Object.assign(fe,{__name:`AssetDropZone`}),me=n({__name:`AssetFontPreview`,props:{asset:{}},setup(e){let t=e,n=g(()=>`devtools-assets-${T(t.asset)}`);return P(g(()=>`
|
|
@font-face {
|
|
font-family: '${n.value}';
|
|
src: url('${t.asset.publicPath}');
|
|
}
|
|
`)),(e,t)=>(o(),v(`div`,{"of-hidden":``,style:f({fontFamily:`'${n.value}'`})},` Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz `,4))}}),he=Object.assign(me,{__name:`AssetFontPreview`}),ge={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,"bg-active":``,"object-cover":``,p1:``},_e=[`src`],ve={key:2,"i-carbon-document":``,"text-3xl":``,op20:``},ye={key:3,"w-full":``,"self-start":``,p4:``},be=[`textContent`],xe={key:4},Se=[`src`,`autoplay`,`controls`],Ce={key:5},we={key:0,"i-carbon-volume-up":``,"text-3xl":``,op20:``},Te=[`src`],Ee={key:6,"i-carbon-help":``,"text-3xl":``,op20:``},De=n({__name:`AssetPreview`,props:{asset:{},textContent:{},detail:{type:Boolean}},setup(e){return(t,n)=>{let r=he;return o(),v(`div`,ge,[e.asset.type===`image`?(o(),v(`img`,{key:0,src:e.asset.publicPath},null,8,_e)):e.asset.type===`font`?(o(),m(r,{key:e.asset.publicPath,asset:e.asset,"self-stretch":``,p2:``,"text-2xl":``},null,8,[`asset`])):e.asset.type===`text`&&!e.textContent?(o(),v(`div`,ve)):e.asset.type===`text`&&e.textContent?(o(),v(`div`,ye,[h(`pre`,{"max-h-10rem":``,"of-hidden":``,"text-xs":``,"font-mono":``,textContent:_(e.textContent)},null,8,be)])):e.asset.type===`video`?(o(),v(`div`,xe,[h(`video`,{src:e.asset.publicPath,autoplay:e.detail,controls:e.detail},null,8,Se)])):e.asset.type===`audio`?(o(),v(`div`,Ce,[e.detail?(o(),v(`audio`,{key:1,src:e.asset.publicPath,controls:``},null,8,Te)):(o(),v(`div`,we))])):(o(),v(`div`,Ee))])}}}),Z=Object.assign(De,{__name:`AssetPreview`}),Oe={relative:``,flex:`~ col gap-1`,hover:`bg-active`,"items-center":``,"of-hidden":``,rounded:``,p2:``},ke={"w-full":``,"of-hidden":``,truncate:``,"ws-nowrap":``,"text-center":``,"text-xs":``},Ae=n({__name:`AssetGridItem`,props:{asset:{},folder:{}},setup(e){let t=e,n=g(()=>t.folder&&t.asset.path.startsWith(t.folder)?t.asset.path.slice(t.folder.length):t.asset.path);return(t,r)=>{let i=F,a=Z;return o(),v(`button`,Oe,[e.asset.layer?(o(),m(i,{key:0,icon:`i-carbon-layers`,absolute:``,"right-4":``,"top-4":``,"bg-primary":``})):l(``,!0),b(a,{"h-30":``,"w-30":``,rounded:``,border:`~ base`,asset:e.asset},null,8,[`asset`]),h(`div`,ke,_(n.value),1)])}}}),je=Object.assign(Ae,{__name:`AssetGridItem`}),Me=n({__name:`AssetListItem`,props:{item:{},index:{default:0},modelValue:{}},setup(n,{emit:i}){let d=n,p=L(d,`modelValue`,i,{passive:!0}),b=g(()=>d.item?.children?.length),x=t(!0),S=g(()=>b.value?`i-carbon-folder`:d.item.type===`image`?`i-carbon-image`:d.item.type===`video`?`i-carbon-video`:d.item.type===`audio`?`i-carbon-volume-up`:d.item.type===`font`?`i-carbon-text-small-caps`:d.item.type===`text`?`i-carbon-document`:d.item.type===`json`?`i-carbon-json`:`i-carbon-document-blank`);return(t,i)=>{let d=F,g=Q;return o(),v(`div`,null,[h(`button`,{flex:`~ gap-2`,"w-full":``,"items-center":``,hover:`bg-active`,px4:``,py1:``,style:f({paddingLeft:`calc(1rem + ${n.index*1.5}em)`}),class:a({"bg-active":!b.value&&r(p)?.filePath===n.item?.filePath}),border:`b base`,onClick:i[0]||=e=>b.value?x.value=!x.value:p.value=n.item},[h(`div`,{class:a(S.value)},null,2),h(`span`,{class:a({"flex items-center":b.value}),"flex-auto":``,"text-start":``,"text-sm":``,"font-mono":``},[e(_(n.item.path)+` `,1),n.item.layer?(o(),m(d,{key:0,icon:`i-carbon-layers`,"bg-primary":``})):l(``,!0)],2),b.value?(o(),m(d,{key:0,icon:`carbon:chevron-right`,"transform-rotate":x.value?90:0,transition:``},null,8,[`transform-rotate`])):l(``,!0)],6),x.value?s(t.$slots,`default`,{key:0},()=>[(o(!0),v(u,null,c(n.item?.children,e=>(o(),m(g,{key:e.filepath,modelValue:r(p),"onUpdate:modelValue":i[1]||=e=>y(p)?p.value=e:null,item:e,index:n.index+1},null,8,[`modelValue`,`item`,`index`]))),128))]):l(``,!0)])}}}),Q=Object.assign(Me,{__name:`AssetListItem`}),Ne={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Pe={flex:`~`,"items-center":``,"justify-center":``},Fe={"max-w-full":``,"w-full":``,"table-fixed":``},Ie={flex:`~ gap-1`,"w-full":``,"items-center":``},Le={flex:`~ gap-1`,"w-full":``,"items-center":``,"of-hidden":``},Re={"flex-auto":``,"of-hidden":``,truncate:``,"ws-pre":``,"font-mono":``},ze={capitalize:``},Be={key:0},Ve={op70:``},He={flex:`~ gap2 wrap`},Ue={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},We={flex:`~ gap2 wrap justify-center`},Ge={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},Ke={flex:`~ gap2 wrap justify-center`},qe={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Je={flex:``,"justify-end":``,"gap-4":``},$=n({__name:`AssetDetails`,props:{modelValue:{}},setup(n,{emit:a}){let s=L(n,`modelValue`,a,{passive:!0}),c=C(async()=>{if(s.value.type===`image`)return w.getImageMeta(await B(),s.value.filePath)}),f=t(!1),y=t(),x=t(0),T=C(async()=>{if(s.value.type!==`text`)return;x.value;let e=await w.getTextAssetContent(await B(),s.value.filePath);return y.value=e,e});async function D(){if(T.value!==y.value)try{await w.writeStaticAssets(await B(),[{path:s.value.path,content:y.value,override:!0}],``),f.value=!1,x.value++,k({message:`Updated`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),k({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let O=R(),A=g(()=>(O.value?._installedModules||[]).some(e=>e.meta?.name===`@nuxt/image`||e.meta?.name===`@nuxt/image-edge`||e.meta?.name===`@nuxt/image-nightly`)),P=g(()=>{let e=[];if(s.value.type===`image`){let t=c.value?.width?`\n width="${c.value.width}"\n height="${c.value.height}" `:` `;return e.push({lang:`vue-html`,code:`<img${t}\n src="${s.value.publicPath}"\n/>`,name:`Plain Image`}),A.value&&e.push({lang:`vue-html`,code:`<NuxtImg${t}\n src="${s.value.publicPath}"\n/>`,name:`Nuxt Img`,docs:`https://image.nuxt.com/usage/nuxt-img`},{lang:`vue-html`,code:`<NuxtPicture${t}\n src="${s.value.publicPath}"\n/>`,name:`Nuxt Picture`,docs:`https://image.nuxt.com/usage/nuxt-picture`}),e}return e.push({lang:`html`,code:`<a download href="${s.value.publicPath}">\n Download ${s.value.path.split(`/`).slice(-1)[0]}\n</a>`,name:`Download link`}),e}),F=j(),z=te(),V=M(()=>s.value.mtime),H=g(()=>{let e=s.value.size;return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}),U=g(()=>{if(!c.value?.width||!c.value?.height)return``;let e=(t,n)=>n?e(n,t%n):t,t=e(c.value.width,c.value.height);return t>3?`${c.value.width/t}:${c.value.height/t}`:``}),W=g(()=>[`image`,`text`,`video`,`audio`,`font`].includes(s.value.type)),G=t(!1);async function K(){try{await w.deleteStaticAsset(await B(),s.value.filePath),s.value=void 0,G.value=!1,k({message:`Asset deleted`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),k({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let q=t(!1),J=t(``);async function Y(){let e=s.value.filePath.split(`/`),t=e.slice(-1)[0]?.split(`.`).slice(0,-1).join(`.`);if(!J.value||J.value===t)return k({message:`Please enter a new name`,icon:`i-carbon-warning`,classes:`text-orange`});try{let t=e.slice(-1)[0]?.split(`.`).slice(-1)[0],n=`${e.slice(0,-1).join(`/`)}/${J.value}.${t}`;await w.renameStaticAsset(await B(),s.value.filePath,n),s.value=void 0,q.value=!1,k({message:`Asset renamed`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),k({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}return(t,n)=>{let a=Z,g=ne,x=I,C=X,w=E,O=N,k=i(`tooltip`);return o(),v(u,null,[h(`div`,Ne,[W.value?(o(),v(u,{key:0},[n[13]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Preview `),h(`div`,{"x-divider":``})],-1),h(`div`,Pe,[b(a,{detail:``,"max-h-80":``,"min-h-20":``,"min-w-20":``,"w-auto":``,rounded:``,border:`~ base`,asset:r(s),"text-content":r(T)},null,8,[`asset`,`text-content`])])],64)):l(``,!0),n[25]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Details `),h(`div`,{"x-divider":``})],-1),h(`table`,Fe,[h(`tbody`,null,[h(`tr`,null,[n[14]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Filepath `,-1),h(`td`,null,[h(`div`,Ie,[b(g,{filepath:r(s).filePath,"text-left":``},null,8,[`filepath`]),p(b(x,{"flex-none":``,title:`Open in Editor`,icon:`carbon-launch`,border:!1,onClick:n[0]||=e=>r(z)(r(s).filePath)},null,512),[[k,`Open in Editor`]])])])]),h(`tr`,null,[n[15]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Public Path `,-1),h(`td`,null,[h(`div`,Le,[h(`div`,Re,_(r(s).publicPath),1),p(b(x,{"flex-none":``,title:`Copy public path`,icon:`carbon-copy`,border:!1,onClick:n[1]||=e=>r(F)(r(s).publicPath,`assets-public-path`)},null,512),[[k,`Copy public path`]]),p(b(x,{"flex-none":``,to:r(s).publicPath,icon:`carbon-launch`,target:`_blank`,border:!1,title:`Open in browser`},null,8,[`to`]),[[k,`Open in browser`]])])])]),h(`tr`,null,[n[16]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Type `,-1),h(`td`,ze,_(r(s).type),1)]),r(c)?.width?(o(),v(u,{key:0},[h(`tr`,null,[n[17]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Image Size `,-1),h(`td`,null,_(r(c).width)+` x `+_(r(c).height),1)]),U.value?(o(),v(`tr`,Be,[n[18]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Aspect Ratio `,-1),h(`td`,null,_(U.value),1)])):l(``,!0)],64)):l(``,!0),h(`tr`,null,[n[19]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` File size `,-1),h(`td`,null,_(H.value),1)]),h(`tr`,null,[n[20]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Last modified `,-1),h(`td`,null,[e(_(new Date(r(s).mtime).toLocaleString())+` `,1),h(`span`,Ve,`(`+_(r(V))+`)`,1)])])])]),n[26]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Actions `),h(`div`,{"x-divider":``})],-1),h(`div`,He,[b(x,{to:r(s).publicPath,download:``,target:`_blank`,icon:`carbon-download`,n:`green`},{default:d(()=>[...n[21]||=[e(` Download `,-1)]]),_:1},8,[`to`]),r(s).type===`text`?(o(),m(x,{key:0,icon:`carbon-edit`,n:`cyan`,onClick:n[2]||=e=>f.value=!f.value},{default:d(()=>[...n[22]||=[e(` Edit `,-1)]]),_:1})):l(``,!0),b(x,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:n[3]||=e=>q.value=!q.value},{default:d(()=>[...n[23]||=[e(` Rename `,-1)]]),_:1}),b(x,{icon:`carbon-delete`,n:`red`,onClick:n[4]||=e=>G.value=!G.value},{default:d(()=>[...n[24]||=[e(` Delete `,-1)]]),_:1})]),n[27]||=h(`div`,{"flex-auto":``},null,-1),P.value.length?(o(),m(C,{key:1,border:`t base`,"mx--4":``,"mb--4":``,"code-snippets":P.value},null,8,[`code-snippets`])):l(``,!0)]),b(w,{modelValue:G.value,"onUpdate:modelValue":n[6]||=e=>G.value=e},{default:d(()=>[h(`div`,Ue,[n[30]||=h(`span`,null,` Are you sure you want to delete this asset? `,-1),h(`div`,We,[b(x,{icon:`carbon-close`,onClick:n[5]||=e=>G.value=!1},{default:d(()=>[...n[28]||=[e(` Cancel `,-1)]]),_:1}),b(x,{icon:`carbon-delete`,n:`red`,onClick:K},{default:d(()=>[...n[29]||=[e(` Delete `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),b(w,{modelValue:q.value,"onUpdate:modelValue":n[9]||=e=>q.value=e},{default:d(()=>[h(`div`,Ge,[b(O,{modelValue:J.value,"onUpdate:modelValue":n[7]||=e=>J.value=e,placeholder:`New name`,n:`blue`},null,8,[`modelValue`]),h(`div`,Ke,[b(x,{icon:`carbon-close`,onClick:n[8]||=e=>q.value=!1},{default:d(()=>[...n[31]||=[e(` Cancel `,-1)]]),_:1}),b(x,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:Y},{default:d(()=>[...n[32]||=[e(` Rename `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),r(s).type===`text`?(o(),m(w,{key:0,modelValue:f.value,"onUpdate:modelValue":n[12]||=e=>f.value=e},{default:d(()=>[h(`div`,qe,[p(h(`textarea`,{"onUpdate:modelValue":n[10]||=e=>y.value=e,placeholder:`Item value...`,class:`h-lg w-xl of-auto rounded-lg p-4 text-sm font-mono outline-none`,onKeydown:ee(D,[`enter`])},null,544),[[S,y.value]]),h(`div`,Je,[b(x,{icon:`carbon-close`,onClick:n[11]||=e=>f.value=!1},{default:d(()=>[...n[33]||=[e(` Cancel `,-1)]]),_:1}),b(x,{icon:`carbon:save`,n:`primary`,onClick:D},{default:d(()=>[...n[34]||=[e(` save `,-1)]]),_:1})])])]),_:1},8,[`modelValue`])):l(``,!0)],64)}}}),Ye=Object.assign($,{__name:`AssetDetails`}),Xe={"h-full":``,"of-auto":``},Ze={"flex-none":``,flex:`~ gap2 items-center`,"text-lg":``},Qe={flex:`~ items-center justify-center`,absolute:``,"bottom--1":``,"right--1":``,"h-4":``,"w-4":``,"rounded-full":``,"bg-primary:30":``,"text-8px":``},$e={flex:`~ col`,"w-30":``,"of-auto":``},et={"text-xs":``,op75:``},tt={op50:``},nt={key:0},rt={"mt--4":``,px2:``,grid:`~ cols-minmax-8rem`},it={key:1,p2:``,grid:`~ cols-minmax-8rem`},at={key:1},ot=n({__name:`assets`,setup(e){let n=z(),a=t(!1),s=t(``),f=g(()=>new V(n.value||[],{keys:[`path`]})),y=H(()=>{let e=[];for(let t of n.value||[]){let n=t.path.split(`.`).pop();n&&!e.find(e=>e.name===n)&&e.push({name:n,value:!0})}return e}),S=g(()=>(s.value?f.value.search(s.value).map(e=>e.item):n.value||[]).filter(e=>{let t=e.path.split(`.`).pop();return!t||y.some(e=>e.name===t&&e.value)})),C=g(()=>{let e={};for(let t of S.value){let n=`${t.path.split(`/`).slice(0,-1).join(`/`)}/`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))}),w=g(()=>{let e={path:`public`,children:[]},t=(e,n,r)=>{let[i,...a]=n,o=e.children.find(e=>e.path===i);o||(o={...r,path:i,children:[]},e.children.push(o)),a.length>1?t(o,a,r):a.length===1&&o.children.push({...r,path:a[0]})};return S.value.forEach(n=>{t(e,n.path.split(`/`).filter(e=>e!==``),n)}),e.children}),T=t(),{view:E}=x(`assets`);function D(){E.value=E.value===`list`?`grid`:`list`}A(`Escape`,()=>{T.value=void 0});let O=t();return(e,t)=>{let f=I,g=J,x=G,k=Y,A=pe,j=je,M=re,N=Q,P=Ye,F=K,L=i(`tooltip`);return o(),v(`div`,Xe,[b(k,{ref_key:`navbar`,ref:O,search:s.value,"onUpdate:search":t[1]||=e=>s.value=e,pb2:``},{actions:d(()=>[h(`div`,Ze,[p(b(f,{icon:`carbon:cloud-upload`,title:`File Upload`,border:!1,onClick:t[0]||=e=>a.value=!a.value},null,512),[[L,`File Upload`,void 0,{"bottom-end":!0}]]),r(y).length?(o(),m(x,{key:0,direction:`end`,n:`sm primary`},{trigger:d(({click:e})=>[p(b(f,{icon:`carbon-filter`,border:!1,title:`Filter`,p3:``,"text-lg":``,onClick:t=>e()},null,8,[`onClick`]),[[L,`Filter`,void 0,{"bottom-end":!0}]]),h(`span`,Qe,_(r(y).length),1)]),default:d(()=>[h(`div`,$e,[(o(!0),v(u,null,c(r(y),e=>(o(),m(g,{key:e.name,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,flex:`~ gap-2`,rounded:``,px2:``,py2:``},{default:d(()=>[h(`span`,et,_(e.name),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),_:1})):l(``,!0),p(b(f,{"text-lg":``,border:!1,icon:r(E)===`grid`?`i-carbon-list`:`i-carbon-grid`,title:`Toggle view`,onClick:D},null,8,[`icon`]),[[L,`Toggle View`,void 0,{"bottom-end":!0}]])])]),default:d(()=>[h(`div`,tt,[s.value?(o(),v(`span`,nt,_(S.value.length)+` matched · `,1)):l(``,!0),h(`span`,null,_(r(n)?.length)+` assets in total`,1)])]),_:1},8,[`search`]),b(A,{modelValue:a.value,"onUpdate:modelValue":t[2]||=e=>a.value=e,folder:`/`},null,8,[`modelValue`]),r(E)===`grid`?(o(),v(u,{key:0},[C.value.length>1?(o(!0),v(u,{key:0},c(C.value,([e,t])=>(o(),m(M,{key:e,text:e,description:`${t.length} items`,open:t.length<=r(50),padding:!1},{default:d(()=>[h(`div`,rt,[(o(!0),v(u,null,c(t,t=>(o(),m(j,{key:t.path,asset:t,folder:e,onClick:e=>T.value=t},null,8,[`asset`,`folder`,`onClick`]))),128))])]),_:2},1032,[`text`,`description`,`open`]))),128)):(o(),v(`div`,it,[(o(!0),v(u,null,c(S.value,e=>(o(),m(j,{key:e.path,asset:e,onClick:t=>T.value=e},null,8,[`asset`,`onClick`]))),128))]))],64)):(o(),v(`div`,at,[(o(!0),v(u,null,c(w.value,(e,n)=>(o(),m(N,{key:n,modelValue:T.value,"onUpdate:modelValue":t[3]||=e=>T.value=e,item:e},null,8,[`modelValue`,`item`]))),128))])),b(F,{"model-value":!!T.value,"auto-close":``,"w-120":``,top:O.value,onClose:t[5]||=e=>T.value=void 0},{default:d(()=>[T.value?(o(),m(P,{key:0,modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e},null,8,[`modelValue`])):l(``,!0)]),_:1},8,[`model-value`,`top`])])}}});export{ot as default}; |